nur-sery/nur_src/base.php

79 lines
3.4 KiB
PHP

<?php
namespace nur;
use nur\b\values\IValueState;
/**
* Class base: méthodes générales de base
*/
class base {
static final function z($value): bool { return SV::z($value); }
static final function nz($value): bool { return SV::nz($value); }
static final function n($value): bool { return SV::n($value); }
static final function nn($value): bool { return SV::nn($value); }
static final function t($value): bool { return SV::t($value); }
static final function f($value): bool { return SV::f($value); }
static final function vf($value) { return SV::vf($value); }
static final function vn($value) { return SV::vn($value); }
static final function firstv(...$values) { return SV::firstv(...$values); }
static final function t2($value): bool { return SV::pt($value); }
static final function f2($value): bool { return SV::pf($value); }
/** retourner $value si elle est vraie selon les règles de PHP, false sinon */
static final function vf2($value) {
return $value?: false;
}
/** retourner $value si elle est vraie selon les règles de PHP, null sinon */
static final function vn2($value) {
return $value?: null;
}
static final function firstv2(...$values) { return SV::firstpv(...$values); }
static final function compare($a, $b): int { return SV::compare($a, $b); }
static final function set_nn(&$dest, $value) { return SV::set_nn($dest, $value); }
static final function set_nz(&$dest, $value) { return SV::set_nz($dest, $value); }
static final function update_n(&$dest, $value) { return SV::update_n($dest, $value); }
static final function update_z(&$dest, $value) { return SV::update_z($dest, $value); }
/**
* vérifier si $value est assimilée indéfinie, c'est à dire si elle vaut false
* ou si c'est une instance de {@link IValueState} dont la méthode isUndef()
* retourne true
*/
static final function is_undef($value): bool {
if ($value instanceof IValueState) return $value->isUndef();
else return $value === false;
}
/**
* vérifier si $value est assimilée nulle, c'est à dire si elle vaut null
* ou si c'est une instance de {@link IValueState} dont la méthode isNull()
* retourne true
*/
static final function is_null($value): bool {
if ($value instanceof IValueState) return $value->isNull();
else return $value === null;
}
/**
* vérifier si $value est assimilée valuée, c'est à dire si elle ne vaut ni
* false ni null, ou si c'est une instance de {@link IValueState} dont aucune
* des méthodes isUndef() et isNull() ne retournent true
*/
static final function is_value($value): bool {
if ($value instanceof IValueState) {
return !$value->isUndef() && !$value->isNull();
} else {
return $value !== false && $value !== null;
}
}
static final function check_bool($value): ?bool { return SV::check_bool($value); }
static final function check_int($value): ?int { return SV::check_int($value); }
static final function check_string($value): ?string { return SV::check_string($value); }
static final function check_array($value): ?array { return SV::check_array($value); }
static final function check_key($value, ?string $prefix=null, bool $throw_exception=true): array { return SV::check_key($value, $prefix, $throw_exception); }
static final function check_bsa($value, ?string $prefix=null, bool $throw_exception=true): array { return SV::check_bsa($value, $prefix, $throw_exception); }
}