/** * @return array */ public static function getInternalDirectives() { if (!self::$internalDirectives) { self::$internalDirectives = ['include' => new self(['name' => 'include', 'description' => 'Directs the executor to include this field or fragment only when the `if` argument is true.', 'locations' => [self::LOCATION_FIELD, self::LOCATION_FRAGMENT_SPREAD, self::LOCATION_INLINE_FRAGMENT], 'args' => [new FieldArgument(['name' => 'if', 'type' => Type::nonNull(Type::boolean()), 'description' => 'Included when true.'])]]), 'skip' => new self(['name' => 'skip', 'description' => 'Directs the executor to skip this field or fragment when the `if` argument is true.', 'locations' => [self::LOCATION_FIELD, self::LOCATION_FRAGMENT_SPREAD, self::LOCATION_INLINE_FRAGMENT], 'args' => [new FieldArgument(['name' => 'if', 'type' => Type::nonNull(Type::boolean()), 'description' => 'Skipped when true'])]]), 'deprecated' => new self(['name' => 'deprecated', 'description' => 'Marks an element of a GraphQL schema as no longer supported.', 'locations' => [self::LOCATION_FIELD_DEFINITION, self::LOCATION_ENUM_VALUE], 'args' => [new FieldArgument(['name' => 'reason', 'type' => Type::string(), 'description' => 'Explains why this element was deprecated, usually also including a ' . 'suggestion for how to access supported similar data. Formatted ' . 'in [Markdown](https://daringfireball.net/projects/markdown/).', 'defaultValue' => self::DEFAULT_DEPRECATION_REASON])]])]; } return self::$internalDirectives; }
/** * String tests */ public function testString() { $this->assertSame('1', Type::string(1)); $this->assertSame('1.2', Type::string(1.2)); $this->assertSame('0.2', Type::string(0.2)); $this->assertSame('1', Type::string('1')); $this->assertSame('rstrst1', Type::string('rstrst1')); $this->assertFalse(Type::isString(1)); $this->assertTrue(Type::isString('1')); $this->assertFalse(Type::isString(1.2)); $this->assertFalse(Type::isString([])); }
/** * @param array $values * @param string $key * @param string $default * @param bool $htmlSpecialChars * @return string */ public static function str(array $values, $key, $default = '', $htmlSpecialChars = true) { if (isset($values[$key])) { $value = Type::string($values[$key]); return $htmlSpecialChars ? htmlspecialchars($value) : $value; } return $default; }
/** * Input fields for mutation. * * @return array */ protected function inputFields() { return ['id' => ['name' => 'id', 'type' => Type::nonNull(Type::string())], 'name' => ['name' => 'name', 'type' => Type::nonNull(Type::string())]]; }
/** * Available query arguments. * * @return array */ public function args() { return ['id' => ['type' => Type::nonNull(Type::string())]]; }