modifs.mineures sans commentaires
This commit is contained in:
parent
4d238cc44e
commit
80fab7e636
98
src/schema/ConsolidatedResult.php
Normal file
98
src/schema/ConsolidatedResult.php
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<?php
|
||||||
|
namespace nulib\schema;
|
||||||
|
|
||||||
|
use nulib\ValueException;
|
||||||
|
|
||||||
|
class ConsolidatedResult extends Result {
|
||||||
|
function addMissingMessage(Wrapper $wrapper): void {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = false;
|
||||||
|
$this->available = false;
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = false;
|
||||||
|
$this->messageKey = "missing";
|
||||||
|
$result = $wrapper->getResult();
|
||||||
|
$resultException = $result->exception;
|
||||||
|
$resultMessage = $result->message;
|
||||||
|
if ($resultException !== null) {
|
||||||
|
$tmessage = ValueException::get_message($resultException);
|
||||||
|
if ($tmessage) {
|
||||||
|
if ($resultMessage !== null) $resultMessage .= ": ";
|
||||||
|
$resultMessage .= $tmessage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$message = $this->message;
|
||||||
|
if ($message) $message .= "\n";
|
||||||
|
$message .= $resultMessage;
|
||||||
|
$this->message = $message;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addUnavailableMessage(Wrapper $wrapper): void {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = true;
|
||||||
|
$this->available = false;
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = false;
|
||||||
|
$this->messageKey = "unavailable";
|
||||||
|
$result = $wrapper->getResult();
|
||||||
|
$resultException = $result->exception;
|
||||||
|
$resultMessage = $result->message;
|
||||||
|
if ($resultException !== null) {
|
||||||
|
$tmessage = ValueException::get_message($resultException);
|
||||||
|
if ($tmessage) {
|
||||||
|
if ($resultMessage !== null) $resultMessage .= ": ";
|
||||||
|
$resultMessage .= $tmessage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$message = $this->message;
|
||||||
|
if ($message) $message .= "\n";
|
||||||
|
$message .= $resultMessage;
|
||||||
|
$this->message = $message;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addNullMessage(Wrapper $wrapper): void {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = true;
|
||||||
|
$this->available = true;
|
||||||
|
$this->null = true;
|
||||||
|
$this->valid = false;
|
||||||
|
$this->messageKey = "null";
|
||||||
|
$result = $wrapper->getResult();
|
||||||
|
$resultException = $result->exception;
|
||||||
|
$resultMessage = $result->message;
|
||||||
|
if ($resultException !== null) {
|
||||||
|
$tmessage = ValueException::get_message($resultException);
|
||||||
|
if ($tmessage) {
|
||||||
|
if ($resultMessage !== null) $resultMessage .= ": ";
|
||||||
|
$resultMessage .= $tmessage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$message = $this->message;
|
||||||
|
if ($message) $message .= "\n";
|
||||||
|
$message .= $resultMessage;
|
||||||
|
$this->message = $message;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addInvalidMessage(Wrapper $wrapper): void {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = true;
|
||||||
|
$this->available = true;
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = false;
|
||||||
|
$this->messageKey = "invalid";
|
||||||
|
$result = $wrapper->getResult();
|
||||||
|
$resultException = $result->exception;
|
||||||
|
$resultMessage = $result->message;
|
||||||
|
if ($resultException !== null) {
|
||||||
|
$tmessage = ValueException::get_message($resultException);
|
||||||
|
if ($tmessage) {
|
||||||
|
if ($resultMessage !== null) $resultMessage .= ": ";
|
||||||
|
$resultMessage .= $tmessage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$message = $this->message;
|
||||||
|
if ($message) $message .= "\n";
|
||||||
|
$message .= $resultMessage;
|
||||||
|
$this->message = $message;
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace nulib\schema;
|
namespace nulib\schema;
|
||||||
|
|
||||||
use IteratorAggregate;
|
use nulib\cl;
|
||||||
|
use nulib\ref\schema\ref_analyze;
|
||||||
|
use nulib\ref\schema\ref_schema;
|
||||||
|
use nulib\ValueException;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -22,39 +25,135 @@ use Throwable;
|
|||||||
* disponible, null sinon. ce champ est utilisé comme optimisation si la valeur
|
* disponible, null sinon. ce champ est utilisé comme optimisation si la valeur
|
||||||
* normalisée a déjà été calculée
|
* normalisée a déjà été calculée
|
||||||
*/
|
*/
|
||||||
abstract class Result implements IteratorAggregate {
|
class Result {
|
||||||
const KEYS = [
|
|
||||||
"resultAvailable",
|
|
||||||
"present", "available", "null", "valid", "normalized",
|
|
||||||
"messageKey", "message", "exception",
|
|
||||||
"origValue", "normalizedValue",
|
|
||||||
];
|
|
||||||
|
|
||||||
function __construct() {
|
function __construct() {
|
||||||
$this->reset();
|
$this->reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public bool $resultAvailable;
|
||||||
* Obtenir la liste des clés valides pour les valeurs accessibles via cet
|
public bool $present;
|
||||||
* objet
|
public bool $available;
|
||||||
*/
|
public bool $null;
|
||||||
abstract function getKeys(): array;
|
public bool $valid;
|
||||||
|
public bool $normalized;
|
||||||
/**
|
public ?string $messageKey;
|
||||||
* sélectionner le résultat associé à la clé spécifiée
|
public ?string $message;
|
||||||
*
|
public ?Throwable $exception;
|
||||||
* @param string|int|null $key
|
public ?string $origValue;
|
||||||
* @return Result $this
|
public $normalizedValue;
|
||||||
*/
|
|
||||||
abstract function select($key): Result;
|
|
||||||
|
|
||||||
function getIterator() {
|
|
||||||
foreach ($this->getKeys() as $key) {
|
|
||||||
yield $key => $this->select($key);
|
|
||||||
}
|
|
||||||
$this->select(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** réinitialiser tous les objets résultats accessibles via cet objet */
|
/** réinitialiser tous les objets résultats accessibles via cet objet */
|
||||||
abstract function reset(): void;
|
function reset(): void {
|
||||||
|
$this->resultAvailable = false;
|
||||||
|
$this->present = false;
|
||||||
|
$this->available = false;
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = false;
|
||||||
|
$this->normalized = false;
|
||||||
|
$this->messageKey = null;
|
||||||
|
$this->message = null;
|
||||||
|
$this->exception = null;
|
||||||
|
$this->origValue = null;
|
||||||
|
$this->normalizedValue = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getMessage(string $key, Schema $schema): string {
|
||||||
|
$message = cl::get($schema->messages, $key);
|
||||||
|
if ($message !== null) return $message;
|
||||||
|
return cl::get(ref_schema::MESSAGES, $key);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setMissing( Schema $schema): int {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = false;
|
||||||
|
$this->available = false;
|
||||||
|
if (!$schema->required) {
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = true;
|
||||||
|
$this->normalized = true;
|
||||||
|
return ref_analyze::NORMALIZED;
|
||||||
|
} else {
|
||||||
|
$this->messageKey = $messageKey = "missing";
|
||||||
|
$this->message = $this->getMessage($messageKey, $schema);
|
||||||
|
return ref_analyze::MISSING;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setUnavailable( Schema $schema): int {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = true;
|
||||||
|
$this->available = false;
|
||||||
|
if (!$schema->required) {
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = true;
|
||||||
|
$this->normalized = true;
|
||||||
|
return ref_analyze::NORMALIZED;
|
||||||
|
} else {
|
||||||
|
$this->messageKey = $messageKey = "unavailable";
|
||||||
|
$this->message = $this->getMessage($messageKey, $schema);
|
||||||
|
return ref_analyze::UNAVAILABLE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setNull( Schema $schema): int {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = true;
|
||||||
|
$this->available = true;
|
||||||
|
$this->null = true;
|
||||||
|
if ($schema->nullable) {
|
||||||
|
$this->valid = true;
|
||||||
|
$this->normalized = true;
|
||||||
|
return ref_analyze::NORMALIZED;
|
||||||
|
} else {
|
||||||
|
$this->messageKey = $messageKey = "null";
|
||||||
|
$this->message = $this->getMessage($messageKey, $schema);
|
||||||
|
return ref_analyze::NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setInvalid($value, Schema $schema, ?Throwable $exception=null): int {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = true;
|
||||||
|
$this->available = true;
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = false;
|
||||||
|
$this->origValue = $value;
|
||||||
|
$this->messageKey = $messageKey = "invalid";
|
||||||
|
$message = $this->getMessage($messageKey, $schema);
|
||||||
|
if ($exception !== null) {
|
||||||
|
$tmessage = ValueException::get_message($exception);
|
||||||
|
if ($tmessage) $message = $tmessage;
|
||||||
|
}
|
||||||
|
$this->message = $message;
|
||||||
|
$this->exception = $exception;
|
||||||
|
return ref_analyze::INVALID;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setValid($normalizedValue=null): int {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = true;
|
||||||
|
$this->available = true;
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = true;
|
||||||
|
$this->normalizedValue = $normalizedValue;
|
||||||
|
return ref_analyze::VALID;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setNormalized(): int {
|
||||||
|
$this->resultAvailable = true;
|
||||||
|
$this->present = true;
|
||||||
|
$this->available = true;
|
||||||
|
$this->null = false;
|
||||||
|
$this->valid = true;
|
||||||
|
$this->normalized = true;
|
||||||
|
return ref_analyze::NORMALIZED;
|
||||||
|
}
|
||||||
|
|
||||||
|
function throw(bool $throw): void {
|
||||||
|
if ($throw) {
|
||||||
|
$exception = $this->exception;
|
||||||
|
if ($exception !== null) throw $exception;
|
||||||
|
else throw new ValueException($this->message);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
# nulib\schema
|
# nulib\schema
|
||||||
|
|
||||||
* pour AssocResult, les clés suivantes sont supportées:
|
|
||||||
* false pour la clé courante
|
|
||||||
* null pour un résultat aggrégé
|
|
||||||
* "" pour le résultat du tableau
|
|
||||||
* $key pour le résultat de la clé correspondante
|
|
||||||
|
|
||||||
* rajouter l'attribut "size" pour spécifier la taille maximale des valeurs
|
* rajouter l'attribut "size" pour spécifier la taille maximale des valeurs
|
||||||
* cela pourrait servir pour générer automatiquement des tables SQL
|
* cela pourrait servir pour générer automatiquement des tables SQL
|
||||||
* ou pour modéliser un schéma FSV
|
* ou pour modéliser un schéma FSV
|
||||||
|
@ -4,12 +4,9 @@ namespace nulib\schema;
|
|||||||
use ArrayAccess;
|
use ArrayAccess;
|
||||||
use IteratorAggregate;
|
use IteratorAggregate;
|
||||||
use nulib\php\func;
|
use nulib\php\func;
|
||||||
use nulib\schema\_assoc\AssocWrapper;
|
|
||||||
use nulib\schema\_list\ListWrapper;
|
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarWrapper;
|
|
||||||
use nulib\schema\input\Input;
|
use nulib\schema\input\Input;
|
||||||
use nulib\schema\types\IType;
|
use nulib\schema\types\IType;
|
||||||
|
use nulib\ValueException;
|
||||||
|
|
||||||
abstract class Wrapper implements ArrayAccess, IteratorAggregate {
|
abstract class Wrapper implements ArrayAccess, IteratorAggregate {
|
||||||
protected WrapperContext $context;
|
protected WrapperContext $context;
|
||||||
@ -77,13 +74,8 @@ abstract class Wrapper implements ArrayAccess, IteratorAggregate {
|
|||||||
/** normaliser la valeur */
|
/** normaliser la valeur */
|
||||||
abstract static function _normalize(WrapperContext $context, Wrapper $wrapper, ?array $params): bool;
|
abstract static function _normalize(WrapperContext $context, Wrapper $wrapper, ?array $params): bool;
|
||||||
|
|
||||||
protected function checkResult(): void {
|
protected function getConsolidatedResult(): Result {
|
||||||
$context = $this->context;
|
return $this->context->result;
|
||||||
/** @var ScalarResult $result */
|
|
||||||
$result = $context->result;
|
|
||||||
if (!$result->valid) {
|
|
||||||
$result->throw($params["throw"] ?? $context->throw);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function normalize(?array $params=null): bool {
|
function normalize(?array $params=null): bool {
|
||||||
@ -101,7 +93,11 @@ abstract class Wrapper implements ArrayAccess, IteratorAggregate {
|
|||||||
$modified = false;
|
$modified = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->checkResult();
|
$result = $this->getConsolidatedResult();
|
||||||
|
if (!$result->valid) {
|
||||||
|
$result->throw($params["throw"] ?? $context->throw);
|
||||||
|
}
|
||||||
|
|
||||||
return $modified;
|
return $modified;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,6 +110,12 @@ abstract class Wrapper implements ArrayAccess, IteratorAggregate {
|
|||||||
/**
|
/**
|
||||||
* sélectionner le wrapper associé à la clé spécifiée
|
* sélectionner le wrapper associé à la clé spécifiée
|
||||||
*
|
*
|
||||||
|
* $key peut valoir:
|
||||||
|
* - false pour la clé courante (ne pas changer la sélection)
|
||||||
|
* - null ou "" le wrapper de la valeur principale
|
||||||
|
* - ou toute autre valeur présente dans {@link getKeys()} pour les valeurs
|
||||||
|
* accessible via cet objet
|
||||||
|
*
|
||||||
* @param string|int|null $key
|
* @param string|int|null $key
|
||||||
* @return Wrapper $this
|
* @return Wrapper $this
|
||||||
*/
|
*/
|
||||||
@ -123,7 +125,7 @@ abstract class Wrapper implements ArrayAccess, IteratorAggregate {
|
|||||||
foreach ($this->getKeys() as $key) {
|
foreach ($this->getKeys() as $key) {
|
||||||
yield $key => $this->select($key);
|
yield $key => $this->select($key);
|
||||||
}
|
}
|
||||||
$this->select(null);
|
$this->select();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -131,9 +133,18 @@ abstract class Wrapper implements ArrayAccess, IteratorAggregate {
|
|||||||
*
|
*
|
||||||
* cette fonction doit être appelée après {@link set()} ou {@link unset()} et
|
* cette fonction doit être appelée après {@link set()} ou {@link unset()} et
|
||||||
* après que le wrapper aie été sélectionné avec {@link select()}
|
* après que le wrapper aie été sélectionné avec {@link select()}
|
||||||
|
*
|
||||||
|
* $key peut valoir:
|
||||||
|
* - false pour la clé sélectionnée avec {@link select()}
|
||||||
|
* - null pour le résultat consolidé
|
||||||
|
* - "" pour le résultat de l'analyse de la valeur principale
|
||||||
|
* - ou toute autre valeur présente dans {@link getKeys()} pour le résultat
|
||||||
|
* de l'analyse des valeurs correspondantes
|
||||||
*/
|
*/
|
||||||
function getResult($key=false): Result {
|
function getResult($key=false): Result {
|
||||||
return $this->context->result;
|
if ($key === false || $key === "") return $this->context->result;
|
||||||
|
if ($key === null) return $this->getConsolidatedResult();
|
||||||
|
throw ValueException::invalid_key($key);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** retourner true si la valeur existe */
|
/** retourner true si la valeur existe */
|
||||||
|
@ -3,14 +3,14 @@ namespace nulib\schema\_assoc;
|
|||||||
|
|
||||||
use nulib\cl;
|
use nulib\cl;
|
||||||
use nulib\ref\schema\ref_analyze;
|
use nulib\ref\schema\ref_analyze;
|
||||||
use nulib\ValueException;
|
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarWrapper;
|
use nulib\schema\_scalar\ScalarWrapper;
|
||||||
|
use nulib\schema\ConsolidatedResult;
|
||||||
use nulib\schema\input\Input;
|
use nulib\schema\input\Input;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\types\IType;
|
use nulib\schema\types\IType;
|
||||||
use nulib\schema\Wrapper;
|
use nulib\schema\Wrapper;
|
||||||
use nulib\schema\WrapperContext;
|
use nulib\schema\WrapperContext;
|
||||||
|
use nulib\ValueException;
|
||||||
|
|
||||||
class AssocWrapper extends Wrapper {
|
class AssocWrapper extends Wrapper {
|
||||||
function __construct(AssocSchema $schema, &$value=null, $valueKey=null, ?array $params=null) {
|
function __construct(AssocSchema $schema, &$value=null, $valueKey=null, ?array $params=null) {
|
||||||
@ -31,7 +31,7 @@ class AssocWrapper extends Wrapper {
|
|||||||
$arrayDummy = null;
|
$arrayDummy = null;
|
||||||
$context->arrayWrapper = new ScalarWrapper($schema, $arrayDummy, null, $paramsNoThrow, $context);
|
$context->arrayWrapper = new ScalarWrapper($schema, $arrayDummy, null, $paramsNoThrow, $context);
|
||||||
|
|
||||||
$context->assocResult = new ScalarResult();#XX AssocResult
|
$context->consolidatedResult = new ConsolidatedResult();
|
||||||
|
|
||||||
if ($value !== null) {
|
if ($value !== null) {
|
||||||
# n'initialiser que si $value n'est pas null
|
# n'initialiser que si $value n'est pas null
|
||||||
@ -101,10 +101,9 @@ class AssocWrapper extends Wrapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$what = ScalarWrapper::_analyze($context, $wrapper, $params);
|
$what = ScalarWrapper::_analyze($context, $wrapper, $params);
|
||||||
/** @var ScalarResult $result */
|
|
||||||
if (!$context->result->valid) return $what;
|
if (!$context->result->valid) return $what;
|
||||||
|
|
||||||
$result = $context->assocResult;
|
$result = $context->consolidatedResult;
|
||||||
$result->setValid();
|
$result->setValid();
|
||||||
foreach ($context->keyWrappers as $keyWrapper) {
|
foreach ($context->keyWrappers as $keyWrapper) {
|
||||||
$keyWrapper->analyze($params);
|
$keyWrapper->analyze($params);
|
||||||
@ -159,17 +158,12 @@ class AssocWrapper extends Wrapper {
|
|||||||
return $modified;
|
return $modified;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function checkResult(): void {
|
protected function getConsolidatedResult(): Result {
|
||||||
$context = $this->context;
|
return $this->context->consolidatedResult;
|
||||||
/** @var ScalarResult $result */
|
|
||||||
$result = $context->assocResult;
|
|
||||||
if (!$result->valid) {
|
|
||||||
$result->throw($params["throw"] ?? $context->throw);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getResult($key=false): Result {
|
function getResult($key=false): Result {
|
||||||
if ($key === null) return $this->context->assocResult;
|
if ($key === null) return $this->getConsolidatedResult();
|
||||||
if ($key === false) $key = $this->context->selectedKey;
|
if ($key === false) $key = $this->context->selectedKey;
|
||||||
return $this->_getWrapper($key)->getResult();
|
return $this->_getWrapper($key)->getResult();
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,8 @@
|
|||||||
namespace nulib\schema\_assoc;
|
namespace nulib\schema\_assoc;
|
||||||
|
|
||||||
use nulib\ref\schema\ref_schema;
|
use nulib\ref\schema\ref_schema;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarWrapper;
|
use nulib\schema\_scalar\ScalarWrapper;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\ConsolidatedResult;
|
||||||
use nulib\schema\Wrapper;
|
use nulib\schema\Wrapper;
|
||||||
use nulib\schema\WrapperContext;
|
use nulib\schema\WrapperContext;
|
||||||
|
|
||||||
@ -31,12 +30,9 @@ class AssocWrapperContext extends WrapperContext {
|
|||||||
/** @var Wrapper[] */
|
/** @var Wrapper[] */
|
||||||
public array $keyWrappers;
|
public array $keyWrappers;
|
||||||
|
|
||||||
/**
|
|
||||||
* @var ScalarResult résultat consolidé de l'analyse du tableau et de ses
|
|
||||||
* composants
|
|
||||||
*/
|
|
||||||
public ScalarResult $assocResult;
|
|
||||||
|
|
||||||
/** @var string|int|null clé sélectionnée */
|
/** @var string|int|null clé sélectionnée */
|
||||||
public $selectedKey = null;
|
public $selectedKey = null;
|
||||||
|
|
||||||
|
/** résultat consolidé de l'analyse du tableau et de ses composants */
|
||||||
|
public ConsolidatedResult $consolidatedResult;
|
||||||
}
|
}
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace nulib\schema\_list;
|
|
||||||
|
|
||||||
use nulib\ValueException;
|
|
||||||
use nulib\schema\Result;
|
|
||||||
|
|
||||||
class ListResult extends Result {
|
|
||||||
function __construct(Result $arrayResult, array &$keyResults) {
|
|
||||||
$this->arrayResult = $arrayResult;
|
|
||||||
$this->keyResults =& $keyResults;
|
|
||||||
$this->result =& $this->arrayResult;
|
|
||||||
parent::__construct();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Result $arrayResult;
|
|
||||||
|
|
||||||
/** @var Result[] */
|
|
||||||
protected array $keyResults;
|
|
||||||
|
|
||||||
function getKeys(): array {
|
|
||||||
return array_keys($this->keyResults);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Result $result;
|
|
||||||
|
|
||||||
function select($key): Result {
|
|
||||||
if ($key === null) {
|
|
||||||
$this->result =& $this->arrayResult;
|
|
||||||
} elseif (array_key_exists($key, $this->keyResults)) {
|
|
||||||
$this->result =& $this->keyResults[$key];
|
|
||||||
} else {
|
|
||||||
throw ValueException::invalid_key($key);
|
|
||||||
}
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
function reset(): void {
|
|
||||||
$this->arrayResult->reset();
|
|
||||||
foreach ($this->keyResults as $result) {
|
|
||||||
$result->reset();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function __get(string $name) {
|
|
||||||
return $this->result[$name];
|
|
||||||
}
|
|
||||||
|
|
||||||
function __set(string $name, $value): void {
|
|
||||||
$this->result[$name] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,239 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace nulib\schema\_scalar;
|
|
||||||
|
|
||||||
use nulib\cl;
|
|
||||||
use nulib\ref\schema\ref_analyze;
|
|
||||||
use nulib\ref\schema\ref_schema;
|
|
||||||
use nulib\ValueException;
|
|
||||||
use nulib\schema\Result;
|
|
||||||
use nulib\schema\Schema;
|
|
||||||
use nulib\schema\Wrapper;
|
|
||||||
use Throwable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class ScalarResult: résultat de l'analyse ou de la normalisation d'une valeur
|
|
||||||
*/
|
|
||||||
class ScalarResult extends Result {
|
|
||||||
function getKeys(): array {
|
|
||||||
return ScalarSchema::KEYS;
|
|
||||||
}
|
|
||||||
|
|
||||||
function select($key): Result {
|
|
||||||
if ($key !== null) throw ValueException::invalid_key($key);
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected array $result;
|
|
||||||
|
|
||||||
function reset(): void {
|
|
||||||
$this->result = array_merge(
|
|
||||||
array_fill_keys(static::KEYS, null), [
|
|
||||||
"resultAvailable" => false,
|
|
||||||
"present" => false,
|
|
||||||
"available" => false,
|
|
||||||
"null" => false,
|
|
||||||
"valid" => false,
|
|
||||||
"normalized" => false,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
function __get(string $name) {
|
|
||||||
return $this->result[$name];
|
|
||||||
}
|
|
||||||
|
|
||||||
function __set(string $name, $value): void {
|
|
||||||
$this->result[$name] = $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function getMessage(string $key, Schema $schema): string {
|
|
||||||
$message = cl::get($schema->messages, $key);
|
|
||||||
if ($message !== null) return $message;
|
|
||||||
return cl::get(ref_schema::MESSAGES, $key);
|
|
||||||
}
|
|
||||||
|
|
||||||
function setMissing( Schema $schema): int {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = false;
|
|
||||||
$this->available = false;
|
|
||||||
if (!$schema->required) {
|
|
||||||
$this->null = false;
|
|
||||||
$this->valid = true;
|
|
||||||
$this->normalized = true;
|
|
||||||
return ref_analyze::NORMALIZED;
|
|
||||||
} else {
|
|
||||||
$this->messageKey = $messageKey = "missing";
|
|
||||||
$this->message = $this->getMessage($messageKey, $schema);
|
|
||||||
return ref_analyze::MISSING;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function addMissingMessage(Wrapper $wrapper): void {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = false;
|
|
||||||
$this->available = false;
|
|
||||||
$this->null = false;
|
|
||||||
$this->valid = false;
|
|
||||||
$this->messageKey = "missing";
|
|
||||||
$result = $wrapper->getResult();
|
|
||||||
$resultException = $result->exception;
|
|
||||||
$resultMessage = $result->message;
|
|
||||||
if ($resultException !== null) {
|
|
||||||
$tmessage = ValueException::get_message($resultException);
|
|
||||||
if ($tmessage) {
|
|
||||||
if ($resultMessage !== null) $resultMessage .= ": ";
|
|
||||||
$resultMessage .= $tmessage;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$message = $this->message;
|
|
||||||
if ($message) $message .= "\n";
|
|
||||||
$message .= $resultMessage;
|
|
||||||
$this->message = $message;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setUnavailable( Schema $schema): int {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = true;
|
|
||||||
$this->available = false;
|
|
||||||
if (!$schema->required) {
|
|
||||||
$this->null = false;
|
|
||||||
$this->valid = true;
|
|
||||||
$this->normalized = true;
|
|
||||||
return ref_analyze::NORMALIZED;
|
|
||||||
} else {
|
|
||||||
$this->messageKey = $messageKey = "unavailable";
|
|
||||||
$this->message = $this->getMessage($messageKey, $schema);
|
|
||||||
return ref_analyze::UNAVAILABLE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function addUnavailableMessage(Wrapper $wrapper): void {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = true;
|
|
||||||
$this->available = false;
|
|
||||||
$this->null = false;
|
|
||||||
$this->valid = false;
|
|
||||||
$this->messageKey = "unavailable";
|
|
||||||
$result = $wrapper->getResult();
|
|
||||||
$resultException = $result->exception;
|
|
||||||
$resultMessage = $result->message;
|
|
||||||
if ($resultException !== null) {
|
|
||||||
$tmessage = ValueException::get_message($resultException);
|
|
||||||
if ($tmessage) {
|
|
||||||
if ($resultMessage !== null) $resultMessage .= ": ";
|
|
||||||
$resultMessage .= $tmessage;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$message = $this->message;
|
|
||||||
if ($message) $message .= "\n";
|
|
||||||
$message .= $resultMessage;
|
|
||||||
$this->message = $message;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setNull( Schema $schema): int {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = true;
|
|
||||||
$this->available = true;
|
|
||||||
$this->null = true;
|
|
||||||
if ($schema->nullable) {
|
|
||||||
$this->valid = true;
|
|
||||||
$this->normalized = true;
|
|
||||||
return ref_analyze::NORMALIZED;
|
|
||||||
} else {
|
|
||||||
$this->messageKey = $messageKey = "null";
|
|
||||||
$this->message = $this->getMessage($messageKey, $schema);
|
|
||||||
return ref_analyze::NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function addNullMessage(Wrapper $wrapper): void {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = true;
|
|
||||||
$this->available = true;
|
|
||||||
$this->null = true;
|
|
||||||
$this->valid = false;
|
|
||||||
$this->messageKey = "null";
|
|
||||||
$result = $wrapper->getResult();
|
|
||||||
$resultException = $result->exception;
|
|
||||||
$resultMessage = $result->message;
|
|
||||||
if ($resultException !== null) {
|
|
||||||
$tmessage = ValueException::get_message($resultException);
|
|
||||||
if ($tmessage) {
|
|
||||||
if ($resultMessage !== null) $resultMessage .= ": ";
|
|
||||||
$resultMessage .= $tmessage;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$message = $this->message;
|
|
||||||
if ($message) $message .= "\n";
|
|
||||||
$message .= $resultMessage;
|
|
||||||
$this->message = $message;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setInvalid($value, Schema $schema, ?Throwable $exception=null): int {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = true;
|
|
||||||
$this->available = true;
|
|
||||||
$this->null = false;
|
|
||||||
$this->valid = false;
|
|
||||||
$this->origValue = $value;
|
|
||||||
$this->messageKey = $messageKey = "invalid";
|
|
||||||
$message = $this->getMessage($messageKey, $schema);
|
|
||||||
if ($exception !== null) {
|
|
||||||
$tmessage = ValueException::get_message($exception);
|
|
||||||
if ($tmessage) $message = $tmessage;
|
|
||||||
}
|
|
||||||
$this->message = $message;
|
|
||||||
$this->exception = $exception;
|
|
||||||
return ref_analyze::INVALID;
|
|
||||||
}
|
|
||||||
|
|
||||||
function addInvalidMessage(Wrapper $wrapper): void {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = true;
|
|
||||||
$this->available = true;
|
|
||||||
$this->null = false;
|
|
||||||
$this->valid = false;
|
|
||||||
$this->messageKey = "invalid";
|
|
||||||
$result = $wrapper->getResult();
|
|
||||||
$resultException = $result->exception;
|
|
||||||
$resultMessage = $result->message;
|
|
||||||
if ($resultException !== null) {
|
|
||||||
$tmessage = ValueException::get_message($resultException);
|
|
||||||
if ($tmessage) {
|
|
||||||
if ($resultMessage !== null) $resultMessage .= ": ";
|
|
||||||
$resultMessage .= $tmessage;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$message = $this->message;
|
|
||||||
if ($message) $message .= "\n";
|
|
||||||
$message .= $resultMessage;
|
|
||||||
$this->message = $message;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setValid($normalizedValue=null): int {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = true;
|
|
||||||
$this->available = true;
|
|
||||||
$this->null = false;
|
|
||||||
$this->valid = true;
|
|
||||||
$this->normalizedValue = $normalizedValue;
|
|
||||||
return ref_analyze::VALID;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setNormalized(): int {
|
|
||||||
$this->resultAvailable = true;
|
|
||||||
$this->present = true;
|
|
||||||
$this->available = true;
|
|
||||||
$this->null = false;
|
|
||||||
$this->valid = true;
|
|
||||||
$this->normalized = true;
|
|
||||||
return ref_analyze::NORMALIZED;
|
|
||||||
}
|
|
||||||
|
|
||||||
function throw(bool $throw): void {
|
|
||||||
if ($throw) {
|
|
||||||
$exception = $this->exception;
|
|
||||||
if ($exception !== null) throw $exception;
|
|
||||||
else throw new ValueException($this->message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -64,14 +64,14 @@ class ScalarSchema extends Schema {
|
|||||||
$this->definition = $definition;
|
$this->definition = $definition;
|
||||||
}
|
}
|
||||||
|
|
||||||
const KEYS = [null];
|
const KEYS = [];
|
||||||
|
|
||||||
function getKeys(): array {
|
function getKeys(): array {
|
||||||
return self::KEYS;
|
return self::KEYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSchema($key=false): Schema {
|
function getSchema($key=false): Schema {
|
||||||
if ($key === null || $key === false) return $this;
|
if ($key === false || $key === null || $key === "") return $this;
|
||||||
throw ValueException::invalid_key($key);
|
throw ValueException::invalid_key($key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,25 +3,25 @@ namespace nulib\schema\_scalar;
|
|||||||
|
|
||||||
use nulib\php\func;
|
use nulib\php\func;
|
||||||
use nulib\ref\schema\ref_analyze;
|
use nulib\ref\schema\ref_analyze;
|
||||||
use nulib\ValueException;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
use nulib\schema\types;
|
use nulib\schema\types;
|
||||||
use nulib\schema\types\IType;
|
use nulib\schema\types\IType;
|
||||||
use nulib\schema\Wrapper;
|
use nulib\schema\Wrapper;
|
||||||
use nulib\schema\WrapperContext;
|
use nulib\schema\WrapperContext;
|
||||||
|
use nulib\ValueException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class ScalarWrapper
|
* Class ScalarWrapper
|
||||||
*
|
*
|
||||||
* @method ScalarWrapper reset(&$value, $valueKey=null, ?array $params=null)
|
* @method ScalarWrapper reset(&$value, $valueKey=null, ?array $params=null)
|
||||||
* @method ScalarResult getResult($key=false)
|
|
||||||
* @method self set($value, ?array $params=null, $key=false)
|
* @method self set($value, ?array $params=null, $key=false)
|
||||||
* @method self unset(?array $params=null, $key=false)
|
* @method self unset(?array $params=null, $key=false)
|
||||||
*/
|
*/
|
||||||
class ScalarWrapper extends Wrapper {
|
class ScalarWrapper extends Wrapper {
|
||||||
function __construct(Schema $schema, &$value=null, $valueKey=null, ?array $params=null, ?WrapperContext $context=null) {
|
function __construct(Schema $schema, &$value=null, $valueKey=null, ?array $params=null, ?WrapperContext $context=null) {
|
||||||
if ($context === null) $context = new WrapperContext($schema, null, null, $params);
|
if ($context === null) $context = new WrapperContext($schema, null, null, $params);
|
||||||
$context->result = new ScalarResult();
|
$context->result = new Result();
|
||||||
$this->context = $context;
|
$this->context = $context;
|
||||||
|
|
||||||
if ($value !== null) {
|
if ($value !== null) {
|
||||||
@ -51,7 +51,6 @@ class ScalarWrapper extends Wrapper {
|
|||||||
$schema = $context->schema;
|
$schema = $context->schema;
|
||||||
$input = $context->input;
|
$input = $context->input;
|
||||||
$valueKey = $context->valueKey;
|
$valueKey = $context->valueKey;
|
||||||
/** @var ScalarResult $result */
|
|
||||||
$result = $context->result;
|
$result = $context->result;
|
||||||
|
|
||||||
$default = $schema->default;
|
$default = $schema->default;
|
||||||
@ -155,7 +154,6 @@ class ScalarWrapper extends Wrapper {
|
|||||||
$schema = $context->schema;
|
$schema = $context->schema;
|
||||||
$input = $context->input;
|
$input = $context->input;
|
||||||
$valueKey = $context->valueKey;
|
$valueKey = $context->valueKey;
|
||||||
/** @var ScalarResult $result */
|
|
||||||
$result = $context->result;
|
$result = $context->result;
|
||||||
|
|
||||||
/** @var func $analyzerFunc */
|
/** @var func $analyzerFunc */
|
||||||
@ -204,7 +202,6 @@ class ScalarWrapper extends Wrapper {
|
|||||||
$schema = $context->schema;
|
$schema = $context->schema;
|
||||||
$input = $context->input;
|
$input = $context->input;
|
||||||
$valueKey = $context->valueKey;
|
$valueKey = $context->valueKey;
|
||||||
/** @var ScalarResult $result */
|
|
||||||
$result = $context->result;
|
$result = $context->result;
|
||||||
|
|
||||||
$normalize = false;
|
$normalize = false;
|
||||||
|
@ -3,7 +3,6 @@ namespace nulib\schema\types;
|
|||||||
|
|
||||||
use nulib\cl;
|
use nulib\cl;
|
||||||
use nulib\ValueException;
|
use nulib\ValueException;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
@ -50,7 +49,6 @@ class tarray extends _tstring {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -4,7 +4,6 @@ namespace nulib\schema\types;
|
|||||||
use nulib\cl;
|
use nulib\cl;
|
||||||
use nulib\ValueException;
|
use nulib\ValueException;
|
||||||
use nur\prop;
|
use nur\prop;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\input\Input;
|
use nulib\schema\input\Input;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
@ -99,7 +98,6 @@ class tbool extends _tformatable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace nulib\schema\types;
|
namespace nulib\schema\types;
|
||||||
|
|
||||||
use nulib\php\content\c;
|
use nulib\php\content\c;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
@ -37,7 +36,6 @@ abstract class tcontent extends _tunion {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace nulib\schema\types;
|
namespace nulib\schema\types;
|
||||||
|
|
||||||
use nulib\ValueException;
|
use nulib\ValueException;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
@ -44,7 +43,6 @@ class tfloat extends _tformatable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -4,7 +4,6 @@ namespace nulib\schema\types;
|
|||||||
use Exception;
|
use Exception;
|
||||||
use nulib\php\func;
|
use nulib\php\func;
|
||||||
use nulib\ValueException;
|
use nulib\ValueException;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
@ -44,7 +43,6 @@ class tfunc extends _tsimple {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace nulib\schema\types;
|
namespace nulib\schema\types;
|
||||||
|
|
||||||
use nulib\ValueException;
|
use nulib\ValueException;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\input\Input;
|
use nulib\schema\input\Input;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
@ -38,7 +37,6 @@ class tgeneric extends _tsimple {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace nulib\schema\types;
|
namespace nulib\schema\types;
|
||||||
|
|
||||||
use nulib\ValueException;
|
use nulib\ValueException;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
@ -46,7 +45,6 @@ class tint extends _tformatable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace nulib\schema\types;
|
namespace nulib\schema\types;
|
||||||
|
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
@ -37,7 +36,6 @@ class tkey extends _tunion {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace nulib\schema\types;
|
namespace nulib\schema\types;
|
||||||
|
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\input\Input;
|
use nulib\schema\input\Input;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
@ -41,7 +40,6 @@ class tmixed extends _tsimple {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace nulib\schema\types;
|
namespace nulib\schema\types;
|
||||||
|
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
@ -42,7 +41,6 @@ class tpkey extends _tunion {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace nulib\schema\types;
|
namespace nulib\schema\types;
|
||||||
|
|
||||||
use nulib\str;
|
use nulib\str;
|
||||||
use nulib\schema\_scalar\ScalarResult;
|
|
||||||
use nulib\schema\_scalar\ScalarSchema;
|
use nulib\schema\_scalar\ScalarSchema;
|
||||||
use nulib\schema\Result;
|
use nulib\schema\Result;
|
||||||
use nulib\schema\Schema;
|
use nulib\schema\Schema;
|
||||||
@ -45,7 +44,6 @@ class trawstring extends _tstring {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ScalarResult $result
|
|
||||||
* @var ScalarSchema $schema
|
* @var ScalarSchema $schema
|
||||||
*/
|
*/
|
||||||
function normalize(&$value, Result $result, Schema $schema): bool {
|
function normalize(&$value, Result $result, Schema $schema): bool {
|
||||||
|
Loading…
Reference in New Issue
Block a user