AST
2 months ago
BlockString.php
2 months ago
DirectiveLocation.php
2 months ago
Lexer.php
2 months ago
Parser.php
2 months ago
Printer.php
2 months ago
Source.php
2 months ago
SourceLocation.php
2 months ago
Token.php
2 months ago
Visitor.php
2 months ago
VisitorOperation.php
2 months ago
VisitorRemoveNode.php
2 months ago
VisitorSkipNode.php
2 months ago
VisitorStop.php
2 months ago
DirectiveLocation.php
63 lines
| 1 | <?php declare(strict_types=1); |
| 2 | |
| 3 | namespace Automattic\WooCommerce\Vendor\GraphQL\Language; |
| 4 | |
| 5 | /** |
| 6 | * Enumeration of available directive locations. |
| 7 | */ |
| 8 | class DirectiveLocation |
| 9 | { |
| 10 | public const QUERY = 'QUERY'; |
| 11 | public const MUTATION = 'MUTATION'; |
| 12 | public const SUBSCRIPTION = 'SUBSCRIPTION'; |
| 13 | public const FIELD = 'FIELD'; |
| 14 | public const FRAGMENT_DEFINITION = 'FRAGMENT_DEFINITION'; |
| 15 | public const FRAGMENT_SPREAD = 'FRAGMENT_SPREAD'; |
| 16 | public const INLINE_FRAGMENT = 'INLINE_FRAGMENT'; |
| 17 | public const VARIABLE_DEFINITION = 'VARIABLE_DEFINITION'; |
| 18 | |
| 19 | public const EXECUTABLE_LOCATIONS = [ |
| 20 | self::QUERY => self::QUERY, |
| 21 | self::MUTATION => self::MUTATION, |
| 22 | self::SUBSCRIPTION => self::SUBSCRIPTION, |
| 23 | self::FIELD => self::FIELD, |
| 24 | self::FRAGMENT_DEFINITION => self::FRAGMENT_DEFINITION, |
| 25 | self::FRAGMENT_SPREAD => self::FRAGMENT_SPREAD, |
| 26 | self::INLINE_FRAGMENT => self::INLINE_FRAGMENT, |
| 27 | self::VARIABLE_DEFINITION => self::VARIABLE_DEFINITION, |
| 28 | ]; |
| 29 | |
| 30 | public const SCHEMA = 'SCHEMA'; |
| 31 | public const SCALAR = 'SCALAR'; |
| 32 | public const OBJECT = 'OBJECT'; |
| 33 | public const FIELD_DEFINITION = 'FIELD_DEFINITION'; |
| 34 | public const ARGUMENT_DEFINITION = 'ARGUMENT_DEFINITION'; |
| 35 | public const IFACE = 'INTERFACE'; |
| 36 | public const UNION = 'UNION'; |
| 37 | public const ENUM = 'ENUM'; |
| 38 | public const ENUM_VALUE = 'ENUM_VALUE'; |
| 39 | public const INPUT_OBJECT = 'INPUT_OBJECT'; |
| 40 | public const INPUT_FIELD_DEFINITION = 'INPUT_FIELD_DEFINITION'; |
| 41 | |
| 42 | public const TYPE_SYSTEM_LOCATIONS = [ |
| 43 | self::SCHEMA => self::SCHEMA, |
| 44 | self::SCALAR => self::SCALAR, |
| 45 | self::OBJECT => self::OBJECT, |
| 46 | self::FIELD_DEFINITION => self::FIELD_DEFINITION, |
| 47 | self::ARGUMENT_DEFINITION => self::ARGUMENT_DEFINITION, |
| 48 | self::IFACE => self::IFACE, |
| 49 | self::UNION => self::UNION, |
| 50 | self::ENUM => self::ENUM, |
| 51 | self::ENUM_VALUE => self::ENUM_VALUE, |
| 52 | self::INPUT_OBJECT => self::INPUT_OBJECT, |
| 53 | self::INPUT_FIELD_DEFINITION => self::INPUT_FIELD_DEFINITION, |
| 54 | ]; |
| 55 | |
| 56 | public const LOCATIONS = self::EXECUTABLE_LOCATIONS + self::TYPE_SYSTEM_LOCATIONS; |
| 57 | |
| 58 | public static function has(string $name): bool |
| 59 | { |
| 60 | return isset(self::LOCATIONS[$name]); |
| 61 | } |
| 62 | } |
| 63 |