Skip to content

Commit 4a35769

Browse files
committed
Attempt
1 parent 9153497 commit 4a35769

File tree

3 files changed

+67
-70
lines changed

3 files changed

+67
-70
lines changed

src/language/_kinds.ts

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/** Name */
2+
export const NAME = 'Name' as const;
3+
4+
/** Document */
5+
export const DOCUMENT = 'Document' as const;
6+
export const OPERATION_DEFINITION = 'OperationDefinition' as const;
7+
export const VARIABLE_DEFINITION = 'VariableDefinition' as const;
8+
export const SELECTION_SET = 'SelectionSet' as const;
9+
export const FIELD = 'Field' as const;
10+
export const ARGUMENT = 'Argument' as const;
11+
export const FRAGMENT_ARGUMENT = 'FragmentArgument' as const;
12+
13+
/** Fragments */
14+
export const FRAGMENT_SPREAD = 'FragmentSpread' as const;
15+
export const INLINE_FRAGMENT = 'InlineFragment' as const;
16+
export const FRAGMENT_DEFINITION = 'FragmentDefinition' as const;
17+
18+
/** Values */
19+
export const VARIABLE = 'Variable' as const;
20+
export const INT = 'IntValue' as const;
21+
export const FLOAT = 'FloatValue' as const;
22+
export const STRING = 'StringValue' as const;
23+
export const BOOLEAN = 'BooleanValue' as const;
24+
export const NULL = 'NullValue' as const;
25+
export const ENUM = 'EnumValue' as const;
26+
export const LIST = 'ListValue' as const;
27+
export const OBJECT = 'ObjectValue' as const;
28+
export const OBJECT_FIELD = 'ObjectField' as const;
29+
30+
/** Directives */
31+
export const DIRECTIVE = 'Directive' as const;
32+
33+
/** Types */
34+
export const NAMED_TYPE = 'NamedType' as const;
35+
export const LIST_TYPE = 'ListType' as const;
36+
export const NON_NULL_TYPE = 'NonNullType' as const;
37+
38+
/** Type System Definitions */
39+
export const SCHEMA_DEFINITION = 'SchemaDefinition' as const;
40+
export const OPERATION_TYPE_DEFINITION = 'OperationTypeDefinition' as const;
41+
42+
/** Type Definitions */
43+
export const SCALAR_TYPE_DEFINITION = 'ScalarTypeDefinition' as const;
44+
export const OBJECT_TYPE_DEFINITION = 'ObjectTypeDefinition' as const;
45+
export const FIELD_DEFINITION = 'FieldDefinition' as const;
46+
export const INPUT_VALUE_DEFINITION = 'InputValueDefinition' as const;
47+
export const INTERFACE_TYPE_DEFINITION = 'InterfaceTypeDefinition' as const;
48+
export const UNION_TYPE_DEFINITION = 'UnionTypeDefinition' as const;
49+
export const ENUM_TYPE_DEFINITION = 'EnumTypeDefinition' as const;
50+
export const ENUM_VALUE_DEFINITION = 'EnumValueDefinition' as const;
51+
export const INPUT_OBJECT_TYPE_DEFINITION = 'InputObjectTypeDefinition' as const;
52+
53+
/** Directive Definitions */
54+
export const DIRECTIVE_DEFINITION = 'DirectiveDefinition' as const;
55+
56+
/** Type System Extensions */
57+
export const SCHEMA_EXTENSION = 'SchemaExtension' as const;
58+
59+
/** Type Extensions */
60+
export const SCALAR_TYPE_EXTENSION = 'ScalarTypeExtension' as const;
61+
export const OBJECT_TYPE_EXTENSION = 'ObjectTypeExtension' as const;
62+
export const INTERFACE_TYPE_EXTENSION = 'InterfaceTypeExtension' as const;
63+
export const UNION_TYPE_EXTENSION = 'UnionTypeExtension' as const;
64+
export const ENUM_TYPE_EXTENSION = 'EnumTypeExtension' as const;
65+
export const INPUT_OBJECT_TYPE_EXTENSION = 'InputObjectTypeExtension' as const;

src/language/kinds.ts

Lines changed: 1 addition & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,4 @@
11
/**
22
* The set of allowed kind values for AST nodes.
33
*/
4-
export const Kind = {
5-
/** Name */
6-
NAME: 'Name' as const,
7-
8-
/** Document */
9-
DOCUMENT: 'Document' as const,
10-
OPERATION_DEFINITION: 'OperationDefinition' as const,
11-
VARIABLE_DEFINITION: 'VariableDefinition' as const,
12-
SELECTION_SET: 'SelectionSet' as const,
13-
FIELD: 'Field' as const,
14-
ARGUMENT: 'Argument' as const,
15-
FRAGMENT_ARGUMENT: 'FragmentArgument' as const,
16-
17-
/** Fragments */
18-
FRAGMENT_SPREAD: 'FragmentSpread' as const,
19-
INLINE_FRAGMENT: 'InlineFragment' as const,
20-
FRAGMENT_DEFINITION: 'FragmentDefinition' as const,
21-
22-
/** Values */
23-
VARIABLE: 'Variable' as const,
24-
INT: 'IntValue' as const,
25-
FLOAT: 'FloatValue' as const,
26-
STRING: 'StringValue' as const,
27-
BOOLEAN: 'BooleanValue' as const,
28-
NULL: 'NullValue' as const,
29-
ENUM: 'EnumValue' as const,
30-
LIST: 'ListValue' as const,
31-
OBJECT: 'ObjectValue' as const,
32-
OBJECT_FIELD: 'ObjectField' as const,
33-
34-
/** Directives */
35-
DIRECTIVE: 'Directive' as const,
36-
37-
/** Types */
38-
NAMED_TYPE: 'NamedType' as const,
39-
LIST_TYPE: 'ListType' as const,
40-
NON_NULL_TYPE: 'NonNullType' as const,
41-
42-
/** Type System Definitions */
43-
SCHEMA_DEFINITION: 'SchemaDefinition' as const,
44-
OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition' as const,
45-
46-
/** Type Definitions */
47-
SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition' as const,
48-
OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition' as const,
49-
FIELD_DEFINITION: 'FieldDefinition' as const,
50-
INPUT_VALUE_DEFINITION: 'InputValueDefinition' as const,
51-
INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition' as const,
52-
UNION_TYPE_DEFINITION: 'UnionTypeDefinition' as const,
53-
ENUM_TYPE_DEFINITION: 'EnumTypeDefinition' as const,
54-
ENUM_VALUE_DEFINITION: 'EnumValueDefinition' as const,
55-
INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition' as const,
56-
57-
/** Directive Definitions */
58-
DIRECTIVE_DEFINITION: 'DirectiveDefinition' as const,
59-
60-
/** Type System Extensions */
61-
SCHEMA_EXTENSION: 'SchemaExtension' as const,
62-
63-
/** Type Extensions */
64-
SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension' as const,
65-
OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension' as const,
66-
INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension' as const,
67-
UNION_TYPE_EXTENSION: 'UnionTypeExtension' as const,
68-
ENUM_TYPE_EXTENSION: 'EnumTypeExtension' as const,
69-
INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension' as const,
70-
};
71-
// eslint-disable-next-line @typescript-eslint/no-redeclare
72-
export type Kind = (typeof Kind)[keyof typeof Kind];
4+
export * as Kind from './_kinds.js'

src/validation/rules/PossibleTypeExtensionsRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ const defKindToExtKind = {
9898
[Kind.INPUT_OBJECT_TYPE_DEFINITION]: Kind.INPUT_OBJECT_TYPE_EXTENSION,
9999
} as const;
100100

101-
function typeToExtKind(type: GraphQLNamedType): Kind {
101+
function typeToExtKind(type: GraphQLNamedType): keyof typeof Kind {
102102
if (isScalarType(type)) {
103103
return Kind.SCALAR_TYPE_EXTENSION;
104104
}

0 commit comments

Comments
 (0)