nur-sery/src/schema/values/IValue.php

30 lines
822 B
PHP

<?php
namespace nur\sery\schema\values;
use nur\sery\schema\types\IType;
interface IValue {
/** retourner true si cette valeur est scalaire */
function isScalar(?ScalarValue &$scalar=null): bool;
/** retourner true cette valeur est un tableau séquentiel */
function isSeq(?SeqValue &$seq=null): bool;
/** retourner true cette valeur est un tableau associatif */
function isAssoc(?AssocValue &$assoc=null): bool;
function reset(&$value, $key=null, bool $verifix=true): void;
/** retourner true si la valeur existe */
function exists(): bool;
/** retourner true si la valeur est valide */
function isValid(): bool;
/** retourner true si la valeur est dans sa forme normalisée */
function isNormalized();
/** retourner le type associé à cette valeur */
function getType(): IType;
}