GraphQL\Type\Definition\Config::validate PHP Method

validate() public static method

public static validate ( array $config, array $definition )
$config array
$definition array
    public static function validate(array $config, array $definition)
    {
        if (self::$enableValidation) {
            $name = isset($config['name']) ? $config['name'] : '(Unnamed Type)';
            self::validateMap($name, $config, $definition);
        }
    }

Usage Example

Example #1
0
 public function __construct($config)
 {
     if (!isset($config['name'])) {
         $config['name'] = $this->tryInferName();
     }
     Config::validate($config, ['name' => Config::NAME | Config::REQUIRED, 'values' => Config::arrayOf(['name' => Config::NAME | Config::REQUIRED, 'value' => Config::ANY, 'deprecationReason' => Config::STRING, 'description' => Config::STRING], Config::KEY_AS_NAME | Config::MAYBE_NAME), 'description' => Config::STRING]);
     $this->name = $config['name'];
     $this->description = isset($config['description']) ? $config['description'] : null;
     $this->values = [];
     if (!empty($config['values'])) {
         foreach ($config['values'] as $name => $value) {
             if (!is_array($value)) {
                 if (is_string($name)) {
                     $value = ['name' => $name, 'value' => $value];
                 } else {
                     if (is_int($name) && is_string($value)) {
                         $value = ['name' => $value, 'value' => $value];
                     }
                 }
             }
             // value will be equal to name only if 'value'  is not set in definition
             $this->values[] = new EnumValueDefinition($value + ['name' => $name, 'value' => $name]);
         }
     }
 }
All Usage Examples Of GraphQL\Type\Definition\Config::validate