modifs.mineures sans commentaires
This commit is contained in:
		
							parent
							
								
									ad739c5e44
								
							
						
					
					
						commit
						b299fc8139
					
				@ -1,13 +1,6 @@
 | 
				
			|||||||
<?php
 | 
					<?php
 | 
				
			||||||
namespace nur\sery\schema;
 | 
					namespace nur\sery\schema;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use nur\sery\schema\input\Input;
 | 
					 | 
				
			||||||
use nur\sery\schema\values\AssocValue;
 | 
					 | 
				
			||||||
use nur\sery\schema\values\IValue;
 | 
					 | 
				
			||||||
use nur\sery\schema\values\ScalarValue;
 | 
					 | 
				
			||||||
use nur\sery\schema\values\ListValue;
 | 
					 | 
				
			||||||
use nulib\StateException;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class OldSchema {
 | 
					class OldSchema {
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * @var bool true si toutes les clés du schéma doivent exister, avec leur
 | 
					   * @var bool true si toutes les clés du schéma doivent exister, avec leur
 | 
				
			||||||
@ -26,38 +19,4 @@ class OldSchema {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  function ensureSchema(&$value, $key=null, ?array $params=null): void {
 | 
					  function ensureSchema(&$value, $key=null, ?array $params=null): void {
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					 | 
				
			||||||
  /** retourner true si la valeur est scalaire */
 | 
					 | 
				
			||||||
  function getScalar(&$value, $key=null, ?ScalarValue &$scalar=null): bool {
 | 
					 | 
				
			||||||
    if (!$this->isScalar()) return false;
 | 
					 | 
				
			||||||
    if ($value instanceof Input) $input = $value;
 | 
					 | 
				
			||||||
    else $input = new Input($value);
 | 
					 | 
				
			||||||
    $scalar = new ScalarValue($input, $this->schema, $key);
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /** retourner true la valeur est un tableau séquentiel */
 | 
					 | 
				
			||||||
  function getList(&$value, $key=null, ?ListValue &$list=null): bool {
 | 
					 | 
				
			||||||
    if (!$this->isSeq()) return false;
 | 
					 | 
				
			||||||
    if ($value instanceof Input) $input = $value;
 | 
					 | 
				
			||||||
    else $input = new Input($value);
 | 
					 | 
				
			||||||
    $list = new ListValue($input, $this->schema, $key);
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /** retourner true la valeur est un tableau associatif */
 | 
					 | 
				
			||||||
  function getAssoc(&$value, $key=null, ?AssocValue &$assoc=null): bool {
 | 
					 | 
				
			||||||
    if (!$this->isAssoc()) return false;
 | 
					 | 
				
			||||||
    if ($value instanceof Input) $input = $value;
 | 
					 | 
				
			||||||
    else $input = new Input($value);
 | 
					 | 
				
			||||||
    $assoc = new AssocValue($input, $this->schema, $key);
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  function getValue(&$value, $key=null): IValue {
 | 
					 | 
				
			||||||
    if ($this->getScalar($value, $key, $scalar)) return $scalar;
 | 
					 | 
				
			||||||
    elseif ($this->getList($value, $key, $seq)) return $seq;
 | 
					 | 
				
			||||||
    elseif ($this->getAssoc($value, $key, $assoc)) return $assoc;
 | 
					 | 
				
			||||||
    else throw StateException::unexpected_state();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user