public function __construct(array $config) { Config::validate($config, ['name' => Config::STRING | Config::REQUIRED, 'fields' => Config::arrayOf(['name' => Config::STRING | Config::REQUIRED, 'type' => Config::INPUT_TYPE | Config::REQUIRED, 'defaultValue' => Config::ANY, 'description' => Config::STRING], Config::KEY_AS_NAME), 'description' => Config::STRING]); if (!empty($config['fields'])) { foreach ($config['fields'] as $name => $field) { $this->_fields[$name] = new InputObjectField($field + ['name' => $name]); } } $this->name = $config['name']; $this->description = isset($config['description']) ? $config['description'] : null; }
public static function getDefinition() { return self::$def ?: (self::$def = ['name' => Config::STRING | Config::REQUIRED, 'type' => Config::OUTPUT_TYPE | Config::REQUIRED, 'args' => Config::arrayOf(['name' => Config::STRING | Config::REQUIRED, 'type' => Config::INPUT_TYPE | Config::REQUIRED, 'defaultValue' => Config::ANY], Config::KEY_AS_NAME), 'resolve' => Config::CALLBACK, 'description' => Config::STRING, 'deprecationReason' => Config::STRING]); }