45 lines
1.3 KiB
PHP
45 lines
1.3 KiB
PHP
<?php
|
|
namespace nur\sery\wip\schema;
|
|
|
|
use nur\sery\wip\schema\input\Input;
|
|
use nur\sery\wip\schema\types\IType;
|
|
|
|
class WrapperContext {
|
|
function __construct(Schema $schema, ?Input $input, $valueKey, ?array $params) {
|
|
$this->resetParams($params);
|
|
$this->schema = $schema;
|
|
if ($input !== null) $this->input = $input;
|
|
$this->valueKey = $valueKey;
|
|
}
|
|
|
|
public ?array $params;
|
|
public bool $analyze, $analyzed = false;
|
|
public bool $normalize, $normalized = false;
|
|
public ?bool $throw;
|
|
|
|
function resetParams(?array $params): void {
|
|
$this->params = $params;
|
|
$this->analyze = $params["analyze"] ?? true;
|
|
$this->normalize = $params["normalize"] ?? true;
|
|
$this->throw = $params["throw"] ?? true;
|
|
}
|
|
|
|
/** schéma de la valeur */
|
|
public Schema $schema;
|
|
/** source et destination de la valeur */
|
|
public Input $input;
|
|
/** @var string|int|null clé de la valeur dans le tableau destination */
|
|
public $valueKey;
|
|
/** @var mixed */
|
|
public $origValue = null;
|
|
/** @var mixed */
|
|
public $value = null;
|
|
|
|
/** @var string|int|null clé sélectionnée */
|
|
public $selectedKey = null;
|
|
/** type de la valeur de la clé sélectionnée après analyse */
|
|
public ?IType $type = null;
|
|
/** résultat de l'analyse de la valeur de la clé sélectionnée */
|
|
public ?Result $result = null;
|
|
}
|