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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user