39 lines
1.2 KiB
PHP
39 lines
1.2 KiB
PHP
<?php
|
|
namespace nulib\schema\_assoc;
|
|
|
|
use nulib\ref\schema\ref_schema;
|
|
use nulib\schema\_scalar\ScalarWrapper;
|
|
use nulib\schema\ConsolidatedResult;
|
|
use nulib\schema\Wrapper;
|
|
use nulib\schema\WrapperContext;
|
|
|
|
class AssocWrapperContext extends WrapperContext {
|
|
|
|
public bool $ensureArray;
|
|
public bool $ensureAssoc;
|
|
public bool $ensureKeys;
|
|
public bool $ensureOrder;
|
|
|
|
public function resetParams(?array $params): void {
|
|
parent::resetParams($params);
|
|
$this->ensureArray = $params["ensure_array"] ?? ref_schema::ASSOC_PARAMS_SCHEMA["ensure_array"][1];
|
|
$this->ensureAssoc = $params["ensure_assoc"] ?? ref_schema::ASSOC_PARAMS_SCHEMA["ensure_assoc"][1];
|
|
$this->ensureKeys = $params["ensure_keys"] ?? ref_schema::ASSOC_PARAMS_SCHEMA["ensure_keys"][1];
|
|
$this->ensureOrder = $params["ensure_order"] ?? ref_schema::ASSOC_PARAMS_SCHEMA["ensure_order"][1];
|
|
}
|
|
|
|
public ?ScalarWrapper $arrayWrapper = null;
|
|
|
|
/** liste des clés valides */
|
|
public array $keys;
|
|
|
|
/** @var Wrapper[] */
|
|
public array $keyWrappers;
|
|
|
|
/** @var string|int|null clé sélectionnée */
|
|
public $selectedKey = null;
|
|
|
|
/** résultat consolidé de l'analyse du tableau et de ses composants */
|
|
public ConsolidatedResult $consolidatedResult;
|
|
}
|