modifs.mineures sans commentaires
This commit is contained in:
parent
bb311708d7
commit
91e6c0dcd2
@ -5,6 +5,7 @@ use IteratorAggregate;
|
||||
use nur\sery\wip\schema\_assoc\AssocResult;
|
||||
use nur\sery\wip\schema\_list\ListResult;
|
||||
use nur\sery\wip\schema\_scalar\ScalarResult;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* Class Result: résultat de l'analyse ou de la normalisation d'une valeur
|
||||
@ -17,6 +18,8 @@ use nur\sery\wip\schema\_scalar\ScalarResult;
|
||||
* @property bool $normalized si la valeur est valide, est-elle normalisée?
|
||||
* @property string|null $messageKey clé de message si la valeur n'est pas valide
|
||||
* @property string|null $message message si la valeur n'est pas valide
|
||||
* @property Throwable|null $exception l'exception qui a fait échouer la
|
||||
* validation le cas échéant
|
||||
* @property string|null $origValue valeur originale avant extraction et analyse
|
||||
* @property mixed|null $normalizedValue la valeur normalisée si elle est
|
||||
* disponible, null sinon. ce champ est utilisé comme optimisation si la valeur
|
||||
@ -26,7 +29,7 @@ abstract class Result implements IteratorAggregate {
|
||||
const KEYS = [
|
||||
"resultAvailable",
|
||||
"present", "available", "null", "valid", "normalized",
|
||||
"messageKey", "message",
|
||||
"messageKey", "message", "exception",
|
||||
"origValue", "normalizedValue",
|
||||
];
|
||||
|
||||
|
@ -100,7 +100,7 @@ class ScalarResult extends Result {
|
||||
}
|
||||
}
|
||||
|
||||
function setInvalid($value, ScalarSchema $schema, ?Throwable $t=null): int {
|
||||
function setInvalid($value, ScalarSchema $schema, ?Throwable $exception=null): int {
|
||||
$this->resultAvailable = true;
|
||||
$this->present = true;
|
||||
$this->available = true;
|
||||
@ -109,11 +109,12 @@ class ScalarResult extends Result {
|
||||
$this->origValue = $value;
|
||||
$this->messageKey = $messageKey = "invalid";
|
||||
$message = $this->getMessage($messageKey, $schema);
|
||||
if ($t !== null) {
|
||||
$tmessage = ValueException::get_message($t);
|
||||
if ($exception !== null) {
|
||||
$tmessage = ValueException::get_message($exception);
|
||||
if ($tmessage) $message = $tmessage;
|
||||
}
|
||||
$this->message = $message;
|
||||
$this->exception = $exception;
|
||||
return ref_analyze::INVALID;
|
||||
}
|
||||
|
||||
@ -138,6 +139,10 @@ class ScalarResult extends Result {
|
||||
}
|
||||
|
||||
function throw(bool $throw): void {
|
||||
if ($throw) throw new ValueException($this->message);
|
||||
if ($throw) {
|
||||
$exception = $this->exception;
|
||||
if ($exception !== null) throw $exception;
|
||||
else throw new ValueException($this->message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user