@graphitation/supermassive 3.15.3 → 3.16.1-canary.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintcache +1 -1
- package/CHANGELOG.md +1 -9
- package/lib/executeWithoutSchema.d.ts.map +1 -1
- package/lib/executeWithoutSchema.js +41 -0
- package/lib/executeWithoutSchema.js.map +2 -2
- package/lib/executeWithoutSchema.mjs +41 -0
- package/lib/executeWithoutSchema.mjs.map +2 -2
- package/lib/schema/definition.d.ts +54 -19
- package/lib/schema/definition.d.ts.map +1 -1
- package/lib/schema/definition.js +127 -18
- package/lib/schema/definition.js.map +3 -3
- package/lib/schema/definition.mjs +109 -16
- package/lib/schema/definition.mjs.map +2 -2
- package/lib/schema/directives.d.ts.map +1 -1
- package/lib/schema/directives.js +9 -4
- package/lib/schema/directives.js.map +2 -2
- package/lib/schema/directives.mjs +10 -5
- package/lib/schema/directives.mjs.map +2 -2
- package/lib/utilities/decodeASTSchema.d.ts.map +1 -1
- package/lib/utilities/decodeASTSchema.js +185 -33
- package/lib/utilities/decodeASTSchema.js.map +2 -2
- package/lib/utilities/decodeASTSchema.mjs +196 -36
- package/lib/utilities/decodeASTSchema.mjs.map +2 -2
- package/lib/utilities/encodeASTSchema.d.ts +5 -1
- package/lib/utilities/encodeASTSchema.d.ts.map +1 -1
- package/lib/utilities/encodeASTSchema.js +171 -38
- package/lib/utilities/encodeASTSchema.js.map +2 -2
- package/lib/utilities/encodeASTSchema.mjs +171 -38
- package/lib/utilities/encodeASTSchema.mjs.map +2 -2
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.js +1 -1
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.js.map +2 -2
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.mjs +2 -2
- package/lib/utilities/extractMinimalViableSchemaForRequestDocument.mjs.map +2 -2
- package/lib/utilities/mergeSchemaDefinitions.d.ts +6 -2
- package/lib/utilities/mergeSchemaDefinitions.d.ts.map +1 -1
- package/lib/utilities/mergeSchemaDefinitions.js +86 -5
- package/lib/utilities/mergeSchemaDefinitions.js.map +3 -3
- package/lib/utilities/mergeSchemaDefinitions.mjs +96 -7
- package/lib/utilities/mergeSchemaDefinitions.mjs.map +3 -3
- package/lib/utilities/subtractSchemaDefinitions.js +4 -4
- package/lib/utilities/subtractSchemaDefinitions.js.map +2 -2
- package/lib/utilities/subtractSchemaDefinitions.mjs +5 -5
- package/lib/utilities/subtractSchemaDefinitions.mjs.map +2 -2
- package/lib/values.js +2 -2
- package/lib/values.js.map +2 -2
- package/lib/values.mjs +4 -4
- package/lib/values.mjs.map +2 -2
- package/package.json +1 -1
|
@@ -32,98 +32,196 @@ function decodeASTSchema(encodedSchemaFragments) {
|
|
|
32
32
|
}
|
|
33
33
|
const definitions = [];
|
|
34
34
|
const types = encodedSchemaFragments[0].types;
|
|
35
|
-
const
|
|
35
|
+
const directiveDefinitions = encodedSchemaFragments[0].directives;
|
|
36
36
|
for (const typeName in types) {
|
|
37
37
|
const tuple = types[typeName];
|
|
38
38
|
if ((0, import_definition.isScalarTypeDefinition)(tuple)) {
|
|
39
|
-
definitions.push(
|
|
39
|
+
definitions.push(
|
|
40
|
+
decodeScalarType(typeName, tuple, types, directiveDefinitions)
|
|
41
|
+
);
|
|
40
42
|
} else if ((0, import_definition.isEnumTypeDefinition)(tuple)) {
|
|
41
|
-
definitions.push(
|
|
43
|
+
definitions.push(
|
|
44
|
+
decodeEnumType(typeName, tuple, types, directiveDefinitions)
|
|
45
|
+
);
|
|
42
46
|
} else if ((0, import_definition.isObjectTypeDefinition)(tuple)) {
|
|
43
|
-
definitions.push(
|
|
47
|
+
definitions.push(
|
|
48
|
+
decodeObjectType(typeName, tuple, types, directiveDefinitions)
|
|
49
|
+
);
|
|
44
50
|
} else if ((0, import_definition.isInterfaceTypeDefinition)(tuple)) {
|
|
45
|
-
definitions.push(
|
|
51
|
+
definitions.push(
|
|
52
|
+
decodeInterfaceType(typeName, tuple, types, directiveDefinitions)
|
|
53
|
+
);
|
|
46
54
|
} else if ((0, import_definition.isUnionTypeDefinition)(tuple)) {
|
|
47
|
-
definitions.push(
|
|
55
|
+
definitions.push(
|
|
56
|
+
decodeUnionType(typeName, tuple, types, directiveDefinitions)
|
|
57
|
+
);
|
|
48
58
|
} else if ((0, import_definition.isInputObjectTypeDefinition)(tuple)) {
|
|
49
|
-
definitions.push(
|
|
59
|
+
definitions.push(
|
|
60
|
+
decodeInputObjectType(typeName, tuple, types, directiveDefinitions)
|
|
61
|
+
);
|
|
50
62
|
}
|
|
51
63
|
}
|
|
52
|
-
for (const
|
|
53
|
-
definitions.push(
|
|
64
|
+
for (const directiveDefinition of directiveDefinitions != null ? directiveDefinitions : []) {
|
|
65
|
+
definitions.push(decodeDirectiveDefinition(directiveDefinition, types));
|
|
54
66
|
}
|
|
55
67
|
return { kind: import_graphql.Kind.DOCUMENT, definitions };
|
|
56
68
|
}
|
|
57
69
|
function nameNode(value) {
|
|
58
70
|
return { kind: import_graphql.Kind.NAME, value };
|
|
59
71
|
}
|
|
60
|
-
function decodeScalarType(typeName) {
|
|
72
|
+
function decodeScalarType(typeName, tuple, types, directiveDefinitions) {
|
|
73
|
+
const { directives: metadataDirectives, description: metadataDescription } = (0, import_definition.getScalarTypeMetadata)(tuple) || {};
|
|
74
|
+
const decodedDescription = decodeDescription(metadataDescription);
|
|
75
|
+
const decodedDirectives = decodeDirective(
|
|
76
|
+
metadataDirectives,
|
|
77
|
+
types,
|
|
78
|
+
directiveDefinitions
|
|
79
|
+
);
|
|
61
80
|
return {
|
|
62
81
|
kind: import_graphql.Kind.SCALAR_TYPE_DEFINITION,
|
|
63
|
-
name: nameNode(typeName)
|
|
82
|
+
name: nameNode(typeName),
|
|
83
|
+
...decodedDirectives && { directives: decodedDirectives },
|
|
84
|
+
...decodedDescription && { description: decodedDescription }
|
|
64
85
|
};
|
|
65
86
|
}
|
|
66
|
-
function decodeEnumType(typeName, tuple) {
|
|
87
|
+
function decodeEnumType(typeName, tuple, types, directiveDefinitions) {
|
|
88
|
+
const {
|
|
89
|
+
directives: metadataDirectives,
|
|
90
|
+
description: metadataDescription,
|
|
91
|
+
values
|
|
92
|
+
} = (0, import_definition.getEnumMetadata)(tuple) || {};
|
|
93
|
+
const decodedDescription = decodeDescription(metadataDescription);
|
|
94
|
+
const decodedDirectives = decodeDirective(
|
|
95
|
+
metadataDirectives,
|
|
96
|
+
types,
|
|
97
|
+
directiveDefinitions
|
|
98
|
+
);
|
|
67
99
|
return {
|
|
68
100
|
kind: import_graphql.Kind.ENUM_TYPE_DEFINITION,
|
|
69
101
|
name: nameNode(typeName),
|
|
70
|
-
values: (0, import_definition.getEnumValues)(tuple).map((value) =>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
102
|
+
values: (0, import_definition.getEnumValues)(tuple).map((value) => {
|
|
103
|
+
const valueMetadata = values == null ? void 0 : values[value];
|
|
104
|
+
const decodedValueDescription = decodeDescription(
|
|
105
|
+
valueMetadata == null ? void 0 : valueMetadata.description
|
|
106
|
+
);
|
|
107
|
+
const decodedValueDirectives = decodeDirective(
|
|
108
|
+
valueMetadata == null ? void 0 : valueMetadata.directives,
|
|
109
|
+
types,
|
|
110
|
+
directiveDefinitions
|
|
111
|
+
);
|
|
112
|
+
return {
|
|
113
|
+
kind: import_graphql.Kind.ENUM_VALUE_DEFINITION,
|
|
114
|
+
name: nameNode(value),
|
|
115
|
+
...decodedValueDirectives && { directives: decodedValueDirectives },
|
|
116
|
+
...decodedValueDescription && {
|
|
117
|
+
description: decodedValueDescription
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}),
|
|
121
|
+
...decodedDirectives && { directives: decodedDirectives },
|
|
122
|
+
...decodedDescription && { description: decodedDescription }
|
|
74
123
|
};
|
|
75
124
|
}
|
|
76
|
-
function decodeObjectType(typeName, tuple, types) {
|
|
125
|
+
function decodeObjectType(typeName, tuple, types, directiveDefinitions) {
|
|
77
126
|
var _a;
|
|
127
|
+
const { directives: metadataDirectives, description: metadataDescription } = (0, import_definition.getObjectTypeMetadata)(tuple) || {};
|
|
128
|
+
const decodedDescription = decodeDescription(metadataDescription);
|
|
129
|
+
const decodedDirectives = decodeDirective(
|
|
130
|
+
metadataDirectives,
|
|
131
|
+
types,
|
|
132
|
+
directiveDefinitions
|
|
133
|
+
);
|
|
78
134
|
return {
|
|
79
135
|
kind: import_graphql.Kind.OBJECT_TYPE_DEFINITION,
|
|
80
136
|
name: nameNode(typeName),
|
|
81
|
-
fields: decodeFields(
|
|
137
|
+
fields: decodeFields(
|
|
138
|
+
(_a = (0, import_definition.getObjectFields)(tuple)) != null ? _a : {},
|
|
139
|
+
types,
|
|
140
|
+
directiveDefinitions
|
|
141
|
+
),
|
|
82
142
|
interfaces: (0, import_definition.getObjectTypeInterfaces)(tuple).map((name) => ({
|
|
83
143
|
kind: import_graphql.Kind.NAMED_TYPE,
|
|
84
144
|
name: nameNode(name)
|
|
85
|
-
}))
|
|
145
|
+
})),
|
|
146
|
+
...decodedDirectives && { directives: decodedDirectives },
|
|
147
|
+
...decodedDescription && { description: decodedDescription }
|
|
86
148
|
};
|
|
87
149
|
}
|
|
88
|
-
function decodeInterfaceType(typeName, tuple, types) {
|
|
150
|
+
function decodeInterfaceType(typeName, tuple, types, directiveDefinitions) {
|
|
151
|
+
const { directives: metadataDirectives, description: metadataDescription } = (0, import_definition.getInterfaceTypeMetadata)(tuple) || {};
|
|
152
|
+
const decodedDescription = decodeDescription(metadataDescription);
|
|
153
|
+
const decodedDirectives = decodeDirective(
|
|
154
|
+
metadataDirectives,
|
|
155
|
+
types,
|
|
156
|
+
directiveDefinitions
|
|
157
|
+
);
|
|
89
158
|
return {
|
|
90
159
|
kind: import_graphql.Kind.INTERFACE_TYPE_DEFINITION,
|
|
91
160
|
name: nameNode(typeName),
|
|
92
|
-
fields: decodeFields((0, import_definition.getFields)(tuple), types),
|
|
161
|
+
fields: decodeFields((0, import_definition.getFields)(tuple), types, directiveDefinitions),
|
|
93
162
|
interfaces: (0, import_definition.getInterfaceTypeInterfaces)(tuple).map((name) => ({
|
|
94
163
|
kind: import_graphql.Kind.NAMED_TYPE,
|
|
95
164
|
name: nameNode(name)
|
|
96
|
-
}))
|
|
165
|
+
})),
|
|
166
|
+
...decodedDirectives && { directives: decodedDirectives },
|
|
167
|
+
...decodedDescription && { description: decodedDescription }
|
|
97
168
|
};
|
|
98
169
|
}
|
|
99
|
-
function decodeUnionType(typeName, tuple) {
|
|
170
|
+
function decodeUnionType(typeName, tuple, types, directiveDefinitions) {
|
|
171
|
+
const { directives: metadataDirectives, description: metadataDescription } = (0, import_definition.getUnionTypeMetadata)(tuple) || {};
|
|
172
|
+
const decodedDescription = decodeDescription(metadataDescription);
|
|
173
|
+
const decodedDirectives = decodeDirective(
|
|
174
|
+
metadataDirectives,
|
|
175
|
+
types,
|
|
176
|
+
directiveDefinitions
|
|
177
|
+
);
|
|
100
178
|
return {
|
|
101
179
|
kind: import_graphql.Kind.UNION_TYPE_DEFINITION,
|
|
102
180
|
name: nameNode(typeName),
|
|
103
181
|
types: (0, import_definition.getUnionTypeMembers)(tuple).map((name) => ({
|
|
104
182
|
kind: import_graphql.Kind.NAMED_TYPE,
|
|
105
183
|
name: nameNode(name)
|
|
106
|
-
}))
|
|
184
|
+
})),
|
|
185
|
+
...decodedDirectives && { directives: decodedDirectives },
|
|
186
|
+
...decodedDescription && { description: decodedDescription }
|
|
107
187
|
};
|
|
108
188
|
}
|
|
109
|
-
function decodeInputObjectType(typeName, tuple, types) {
|
|
189
|
+
function decodeInputObjectType(typeName, tuple, types, directiveDefinitions) {
|
|
190
|
+
const { directives: metadataDirectives, description: metadataDescription } = (0, import_definition.getInputTypeMetadata)(tuple) || {};
|
|
191
|
+
const decodedDescription = decodeDescription(metadataDescription);
|
|
192
|
+
const decodedDirectives = decodeDirective(
|
|
193
|
+
metadataDirectives,
|
|
194
|
+
types,
|
|
195
|
+
directiveDefinitions
|
|
196
|
+
);
|
|
110
197
|
return {
|
|
111
198
|
kind: import_graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION,
|
|
112
199
|
name: nameNode(typeName),
|
|
113
200
|
fields: Object.entries((0, import_definition.getInputObjectFields)(tuple)).map(
|
|
114
201
|
([name, value]) => decodeInputValue(name, value, types)
|
|
115
|
-
)
|
|
202
|
+
),
|
|
203
|
+
...decodedDirectives && { directives: decodedDirectives },
|
|
204
|
+
...decodedDescription && { description: decodedDescription }
|
|
116
205
|
};
|
|
117
206
|
}
|
|
118
|
-
function decodeFields(fields, types) {
|
|
207
|
+
function decodeFields(fields, types, directiveDefinitions) {
|
|
119
208
|
return Object.entries(fields).map(([name, value]) => {
|
|
120
209
|
var _a;
|
|
121
210
|
const type = decodeTypeReference((0, import_definition.getFieldTypeReference)(value));
|
|
211
|
+
const { directives: metadataDirectives, description: metadataDescription } = (0, import_definition.getFieldMetadata)(value) || {};
|
|
212
|
+
const decodedDescription = decodeDescription(metadataDescription);
|
|
213
|
+
const decodedDirectives = decodeDirective(
|
|
214
|
+
metadataDirectives,
|
|
215
|
+
types,
|
|
216
|
+
directiveDefinitions
|
|
217
|
+
);
|
|
122
218
|
return {
|
|
123
219
|
kind: import_graphql.Kind.FIELD_DEFINITION,
|
|
124
220
|
name: nameNode(name),
|
|
125
221
|
type,
|
|
126
|
-
arguments: decodeArguments((_a = (0, import_definition.getFieldArgs)(value)) != null ? _a : {}, types)
|
|
222
|
+
arguments: decodeArguments((_a = (0, import_definition.getFieldArgs)(value)) != null ? _a : {}, types),
|
|
223
|
+
...decodedDirectives && { directives: decodedDirectives },
|
|
224
|
+
...decodedDescription && { description: decodedDescription }
|
|
127
225
|
};
|
|
128
226
|
});
|
|
129
227
|
}
|
|
@@ -227,10 +325,11 @@ function decodeTypeReference(ref) {
|
|
|
227
325
|
name: nameNode((0, import_reference.typeNameFromReference)(ref))
|
|
228
326
|
};
|
|
229
327
|
}
|
|
230
|
-
function
|
|
231
|
-
const name = (0, import_definition.
|
|
328
|
+
function decodeDirectiveDefinition(tuple, types) {
|
|
329
|
+
const name = (0, import_definition.getDirectiveDefinitionName)(tuple);
|
|
232
330
|
const args = (0, import_definition.getDirectiveDefinitionArgs)(tuple);
|
|
233
|
-
const locations = (0, import_definition.
|
|
331
|
+
const locations = (0, import_definition.getDirectiveDefinitionLocations)(tuple);
|
|
332
|
+
const { repeatable, description } = (0, import_definition.getDirectiveDefinitionMetadata)(tuple) || {};
|
|
234
333
|
return {
|
|
235
334
|
kind: import_graphql.Kind.DIRECTIVE_DEFINITION,
|
|
236
335
|
name: nameNode(name),
|
|
@@ -239,7 +338,60 @@ function decodeDirective(tuple, types) {
|
|
|
239
338
|
kind: import_graphql.Kind.NAME,
|
|
240
339
|
value: (0, import_definition.decodeDirectiveLocation)(loc)
|
|
241
340
|
})),
|
|
242
|
-
|
|
243
|
-
repeatable:
|
|
341
|
+
description: decodeDescription(description),
|
|
342
|
+
repeatable: Boolean(repeatable)
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
function decodeDirective(directiveTuples, types, directiveDefinitions) {
|
|
346
|
+
if (!directiveTuples || !directiveDefinitions) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
return directiveTuples.map(([directiveName, args]) => {
|
|
350
|
+
var _a, _b;
|
|
351
|
+
const directiveTuple = directiveDefinitions == null ? void 0 : directiveDefinitions.find(
|
|
352
|
+
(directiveDefinition) => (0, import_definition.getDirectiveDefinitionName)(directiveDefinition) === directiveName
|
|
353
|
+
);
|
|
354
|
+
(0, import_invariant.invariant)(
|
|
355
|
+
directiveTuple !== void 0,
|
|
356
|
+
`Could not find directive definition for "${directiveName}"`
|
|
357
|
+
);
|
|
358
|
+
const argumentDefinitions = (0, import_definition.getDirectiveDefinitionArgs)(directiveTuple);
|
|
359
|
+
const repeatable = Boolean(
|
|
360
|
+
(_a = (0, import_definition.getDirectiveDefinitionMetadata)(directiveTuple)) == null ? void 0 : _a.repeatable
|
|
361
|
+
);
|
|
362
|
+
return {
|
|
363
|
+
kind: import_graphql.Kind.DIRECTIVE,
|
|
364
|
+
name: nameNode(directiveName),
|
|
365
|
+
...repeatable && { repeatable },
|
|
366
|
+
arguments: args && argumentDefinitions ? (_b = Object.entries(args)) == null ? void 0 : _b.map(([argName, argValue]) => {
|
|
367
|
+
(0, import_invariant.invariant)(
|
|
368
|
+
argumentDefinitions[argName] !== void 0,
|
|
369
|
+
`Could not find directive argument definition "${argName}"for "${directiveName}" directive`
|
|
370
|
+
);
|
|
371
|
+
const inputValueTypeRef = (0, import_definition.getInputValueTypeReference)(
|
|
372
|
+
argumentDefinitions[argName]
|
|
373
|
+
);
|
|
374
|
+
return {
|
|
375
|
+
kind: import_graphql.Kind.ARGUMENT,
|
|
376
|
+
name: nameNode(argName),
|
|
377
|
+
value: valueToConstValueNode(
|
|
378
|
+
argValue,
|
|
379
|
+
inputValueTypeRef,
|
|
380
|
+
types
|
|
381
|
+
)
|
|
382
|
+
};
|
|
383
|
+
}) : []
|
|
384
|
+
};
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
function decodeDescription(description) {
|
|
388
|
+
if (!description) {
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
const { value, block } = description;
|
|
392
|
+
return {
|
|
393
|
+
kind: "StringValue",
|
|
394
|
+
value,
|
|
395
|
+
block
|
|
244
396
|
};
|
|
245
397
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utilities/decodeASTSchema.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n DirectiveDefinitionNode,\n DocumentNode,\n EnumTypeDefinitionNode,\n FieldDefinitionNode,\n InputObjectTypeDefinitionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n Kind,\n ListTypeNode,\n NamedTypeNode,\n NameNode,\n NonNullTypeNode,\n ObjectTypeDefinitionNode,\n ScalarTypeDefinitionNode,\n UnionTypeDefinitionNode,\n} from \"graphql\";\nimport {\n DirectiveDefinitionTuple,\n SchemaDefinitions,\n EnumTypeDefinitionTuple,\n FieldDefinition,\n InputObjectTypeDefinitionTuple,\n InputValueDefinition,\n InterfaceTypeDefinitionTuple,\n ObjectTypeDefinitionTuple,\n TypeDefinitionsRecord,\n UnionTypeDefinitionTuple,\n isScalarTypeDefinition,\n isEnumTypeDefinition,\n isObjectTypeDefinition,\n isInterfaceTypeDefinition,\n isUnionTypeDefinition,\n isInputObjectTypeDefinition,\n getEnumValues,\n getObjectFields,\n getObjectTypeInterfaces,\n getFields,\n getInterfaceTypeInterfaces,\n getUnionTypeMembers,\n getInputObjectFields,\n getFieldTypeReference,\n getFieldArgs,\n getInputValueTypeReference,\n getInputDefaultValue,\n getDirectiveName,\n getDirectiveDefinitionArgs,\n getDirectiveLocations,\n decodeDirectiveLocation,\n} from \"../schema/definition\";\nimport {\n inspectTypeReference,\n isListType,\n isNonNullType,\n typeNameFromReference,\n TypeReference,\n unwrap,\n} from \"../schema/reference\";\nimport { invariant } from \"../jsutils/invariant\";\nimport { ValueNode as ConstValueNode } from \"graphql/language/ast\"; // TODO: use ConstValueNode in graphql@17\nimport { inspect } from \"../jsutils/inspect\";\n\n/**\n * Converts encoded schema to standard AST representation of the same schema\n */\nexport function decodeASTSchema(\n encodedSchemaFragments: SchemaDefinitions[],\n): DocumentNode {\n if (encodedSchemaFragments.length !== 1) {\n // TODO:\n throw new Error(\"decodeSchema does not support decoding extensions yet\");\n }\n const definitions = [];\n const types = encodedSchemaFragments[0].types;\n const directives = encodedSchemaFragments[0].directives;\n\n for (const typeName in types) {\n const tuple = types[typeName];\n if (isScalarTypeDefinition(tuple)) {\n definitions.push(decodeScalarType(typeName));\n } else if (isEnumTypeDefinition(tuple)) {\n definitions.push(decodeEnumType(typeName, tuple));\n } else if (isObjectTypeDefinition(tuple)) {\n definitions.push(decodeObjectType(typeName, tuple, types));\n } else if (isInterfaceTypeDefinition(tuple)) {\n definitions.push(decodeInterfaceType(typeName, tuple, types));\n } else if (isUnionTypeDefinition(tuple)) {\n definitions.push(decodeUnionType(typeName, tuple));\n } else if (isInputObjectTypeDefinition(tuple)) {\n definitions.push(decodeInputObjectType(typeName, tuple, types));\n }\n }\n\n for (const directive of directives ?? []) {\n definitions.push(decodeDirective(directive, types));\n }\n\n return { kind: Kind.DOCUMENT, definitions };\n}\n\nfunction nameNode(value: string): NameNode {\n return { kind: Kind.NAME, value };\n}\n\nfunction decodeScalarType(typeName: string): ScalarTypeDefinitionNode {\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n name: nameNode(typeName),\n };\n}\n\nfunction decodeEnumType(\n typeName: string,\n tuple: EnumTypeDefinitionTuple,\n): EnumTypeDefinitionNode {\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n name: nameNode(typeName),\n values: getEnumValues(tuple).map((value) => ({\n kind: Kind.ENUM_VALUE_DEFINITION,\n name: nameNode(value),\n })),\n };\n}\n\nfunction decodeObjectType(\n typeName: string,\n tuple: ObjectTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n): ObjectTypeDefinitionNode {\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n name: nameNode(typeName),\n fields: decodeFields(getObjectFields(tuple) ?? {}, types),\n interfaces: getObjectTypeInterfaces(tuple).map((name) => ({\n kind: Kind.NAMED_TYPE,\n name: nameNode(name),\n })),\n };\n}\n\nfunction decodeInterfaceType(\n typeName: string,\n tuple: InterfaceTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n): InterfaceTypeDefinitionNode {\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n name: nameNode(typeName),\n fields: decodeFields(getFields(tuple), types),\n interfaces: getInterfaceTypeInterfaces(tuple).map((name) => ({\n kind: Kind.NAMED_TYPE,\n name: nameNode(name),\n })),\n };\n}\n\nfunction decodeUnionType(\n typeName: string,\n tuple: UnionTypeDefinitionTuple,\n): UnionTypeDefinitionNode {\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n name: nameNode(typeName),\n types: getUnionTypeMembers(tuple).map((name) => ({\n kind: Kind.NAMED_TYPE,\n name: nameNode(name),\n })),\n };\n}\n\nfunction decodeInputObjectType(\n typeName: string,\n tuple: InputObjectTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n): InputObjectTypeDefinitionNode {\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n name: nameNode(typeName),\n fields: Object.entries(getInputObjectFields(tuple)).map(([name, value]) =>\n decodeInputValue(name, value, types),\n ),\n };\n}\n\nfunction decodeFields(\n fields: Record<string, FieldDefinition>,\n types: TypeDefinitionsRecord,\n): FieldDefinitionNode[] {\n return Object.entries(fields).map(([name, value]) => {\n const type = decodeTypeReference(getFieldTypeReference(value));\n return {\n kind: Kind.FIELD_DEFINITION,\n name: nameNode(name),\n type,\n arguments: decodeArguments(getFieldArgs(value) ?? {}, types),\n };\n });\n}\n\nfunction decodeInputValue(\n name: string,\n value: InputValueDefinition,\n types: TypeDefinitionsRecord,\n): InputValueDefinitionNode {\n const inputValueTypeRef = getInputValueTypeReference(value);\n const type = decodeTypeReference(inputValueTypeRef);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n name: nameNode(name),\n type,\n defaultValue: Array.isArray(value)\n ? (valueToConstValueNode(\n getInputDefaultValue(value),\n inputValueTypeRef,\n types,\n ) as any) // Note: \"any\" is necessary here for graphql15/graphql17 cross-compatibility\n : undefined,\n };\n}\n\nfunction valueToConstValueNode(\n jsValue: unknown,\n typeRef: TypeReference,\n types: TypeDefinitionsRecord,\n): ConstValueNode {\n const typeName = typeNameFromReference(typeRef);\n if (typeof jsValue === \"string\") {\n return typeName === \"String\"\n ? { kind: Kind.STRING, value: jsValue }\n : { kind: Kind.ENUM, value: jsValue };\n }\n if (jsValue === null) {\n invariant(!isNonNullType(typeRef), \"Expecting nullable type\");\n return { kind: Kind.NULL };\n }\n if (Number.isInteger(jsValue)) {\n return { kind: Kind.INT, value: String(jsValue) };\n }\n if (typeof jsValue === \"boolean\") {\n return { kind: Kind.BOOLEAN, value: jsValue };\n }\n if (typeof jsValue === \"number\") {\n return { kind: Kind.FLOAT, value: String(jsValue) };\n }\n if (Array.isArray(jsValue)) {\n invariant(isListType(typeRef), \"Expecting list type\");\n return {\n kind: Kind.LIST,\n values: jsValue.map((item) =>\n valueToConstValueNode(item, unwrap(typeRef), types),\n ),\n };\n }\n if (typeof jsValue === \"object\") {\n const typeDef = types[typeName];\n invariant(\n Array.isArray(typeDef) && isInputObjectTypeDefinition(typeDef),\n `Expecting input object type for ${typeName}, got ${typeDef?.[0]}`,\n );\n const fields = getInputObjectFields(typeDef);\n return {\n kind: Kind.OBJECT,\n fields: Object.entries(jsValue).map(([name, value]) => {\n const fieldDef = fields[name];\n const fieldTypeRef = getInputValueTypeReference(fieldDef);\n invariant(\n fieldTypeRef !== undefined,\n `Could not find field definition for ${typeName}.${name}`,\n );\n return {\n kind: Kind.OBJECT_FIELD,\n name: nameNode(name),\n value: valueToConstValueNode(value, fieldTypeRef, types),\n };\n }),\n };\n }\n invariant(\n false,\n `Unexpected value for type ${inspectTypeReference(typeRef)}: ${inspect(\n jsValue,\n )}`,\n );\n}\n\nfunction decodeArguments(\n args: Record<string, InputValueDefinition>,\n types: TypeDefinitionsRecord,\n): InputValueDefinitionNode[] {\n return Object.entries(args).map(([name, value]) =>\n decodeInputValue(name, value, types),\n );\n}\n\nfunction decodeTypeReference(\n ref: TypeReference,\n): NamedTypeNode | ListTypeNode | NonNullTypeNode {\n if (isListType(ref)) {\n return {\n kind: Kind.LIST_TYPE,\n type: decodeTypeReference(unwrap(ref)),\n };\n }\n if (isNonNullType(ref)) {\n const unwrappedType = decodeTypeReference(unwrap(ref));\n invariant(\n unwrappedType.kind !== Kind.NON_NULL_TYPE,\n \"Non-null modifier cannot be nested\",\n );\n return {\n kind: Kind.NON_NULL_TYPE,\n type: unwrappedType,\n };\n }\n return {\n kind: Kind.NAMED_TYPE,\n name: nameNode(typeNameFromReference(ref)),\n };\n}\n\nfunction decodeDirective(\n tuple: DirectiveDefinitionTuple,\n types: TypeDefinitionsRecord,\n): DirectiveDefinitionNode {\n const name = getDirectiveName(tuple);\n const args = getDirectiveDefinitionArgs(tuple);\n const locations = getDirectiveLocations(tuple);\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n name: nameNode(name),\n arguments: args ? decodeArguments(args, types) : [],\n locations: locations.map((loc) => ({\n kind: Kind.NAME,\n value: decodeDirectiveLocation(loc),\n })),\n // TODO? repeatable are irrelevant for execution\n repeatable: false,\n };\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAgBO;AACP,
|
|
4
|
+
"sourcesContent": ["import {\n DirectiveDefinitionNode,\n DocumentNode,\n EnumTypeDefinitionNode,\n FieldDefinitionNode,\n InputObjectTypeDefinitionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n Kind,\n ListTypeNode,\n NamedTypeNode,\n NameNode,\n NonNullTypeNode,\n ObjectTypeDefinitionNode,\n ScalarTypeDefinitionNode,\n UnionTypeDefinitionNode,\n} from \"graphql\";\nimport {\n DirectiveDefinitionTuple,\n SchemaDefinitions,\n EnumTypeDefinitionTuple,\n FieldDefinition,\n InputObjectTypeDefinitionTuple,\n InputValueDefinition,\n InterfaceTypeDefinitionTuple,\n ObjectTypeDefinitionTuple,\n TypeDefinitionsRecord,\n UnionTypeDefinitionTuple,\n isScalarTypeDefinition,\n isEnumTypeDefinition,\n isObjectTypeDefinition,\n isInterfaceTypeDefinition,\n isUnionTypeDefinition,\n isInputObjectTypeDefinition,\n getEnumValues,\n getObjectFields,\n getObjectTypeInterfaces,\n getFields,\n getInterfaceTypeInterfaces,\n getUnionTypeMembers,\n getInputObjectFields,\n getFieldTypeReference,\n getFieldArgs,\n getInputValueTypeReference,\n getInputDefaultValue,\n getDirectiveDefinitionName,\n getDirectiveDefinitionArgs,\n getDirectiveDefinitionLocations,\n decodeDirectiveLocation,\n getObjectTypeMetadata,\n getInterfaceTypeMetadata,\n getEnumMetadata,\n getUnionTypeMetadata,\n ScalarTypeDefinitionTuple,\n getScalarTypeMetadata,\n getInputTypeMetadata,\n DirectiveTuple,\n getDirectiveDefinitionMetadata,\n getFieldMetadata,\n Description,\n} from \"../schema/definition\";\nimport {\n inspectTypeReference,\n isListType,\n isNonNullType,\n typeNameFromReference,\n TypeReference,\n unwrap,\n} from \"../schema/reference\";\nimport { invariant } from \"../jsutils/invariant\";\nimport {\n ValueNode as ConstValueNode,\n DirectiveNode,\n StringValueNode,\n} from \"graphql/language/ast\"; // TODO: use ConstValueNode in graphql@17\nimport { inspect } from \"../jsutils/inspect\";\n\n/**\n * Converts encoded schema to standard AST representation of the same schema\n */\nexport function decodeASTSchema(\n encodedSchemaFragments: SchemaDefinitions[],\n): DocumentNode {\n if (encodedSchemaFragments.length !== 1) {\n // TODO:\n throw new Error(\"decodeSchema does not support decoding extensions yet\");\n }\n const definitions = [];\n const types = encodedSchemaFragments[0].types;\n const directiveDefinitions = encodedSchemaFragments[0].directives;\n\n for (const typeName in types) {\n const tuple = types[typeName];\n if (isScalarTypeDefinition(tuple)) {\n definitions.push(\n decodeScalarType(typeName, tuple, types, directiveDefinitions),\n );\n } else if (isEnumTypeDefinition(tuple)) {\n definitions.push(\n decodeEnumType(typeName, tuple, types, directiveDefinitions),\n );\n } else if (isObjectTypeDefinition(tuple)) {\n definitions.push(\n decodeObjectType(typeName, tuple, types, directiveDefinitions),\n );\n } else if (isInterfaceTypeDefinition(tuple)) {\n definitions.push(\n decodeInterfaceType(typeName, tuple, types, directiveDefinitions),\n );\n } else if (isUnionTypeDefinition(tuple)) {\n definitions.push(\n decodeUnionType(typeName, tuple, types, directiveDefinitions),\n );\n } else if (isInputObjectTypeDefinition(tuple)) {\n definitions.push(\n decodeInputObjectType(typeName, tuple, types, directiveDefinitions),\n );\n }\n }\n\n for (const directiveDefinition of directiveDefinitions ?? []) {\n definitions.push(decodeDirectiveDefinition(directiveDefinition, types));\n }\n\n return { kind: Kind.DOCUMENT, definitions };\n}\n\nfunction nameNode(value: string): NameNode {\n return { kind: Kind.NAME, value };\n}\n\nfunction decodeScalarType(\n typeName: string,\n tuple: ScalarTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n directiveDefinitions?: DirectiveDefinitionTuple[],\n): ScalarTypeDefinitionNode {\n const { directives: metadataDirectives, description: metadataDescription } =\n getScalarTypeMetadata(tuple) || {};\n const decodedDescription = decodeDescription(metadataDescription);\n const decodedDirectives = decodeDirective(\n metadataDirectives,\n types,\n directiveDefinitions,\n );\n\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n name: nameNode(typeName),\n ...(decodedDirectives && { directives: decodedDirectives }),\n ...(decodedDescription && { description: decodedDescription }),\n };\n}\n\nfunction decodeEnumType(\n typeName: string,\n tuple: EnumTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n directiveDefinitions?: DirectiveDefinitionTuple[],\n): EnumTypeDefinitionNode {\n const {\n directives: metadataDirectives,\n description: metadataDescription,\n values,\n } = getEnumMetadata(tuple) || {};\n const decodedDescription = decodeDescription(metadataDescription);\n const decodedDirectives = decodeDirective(\n metadataDirectives,\n types,\n directiveDefinitions,\n );\n\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n name: nameNode(typeName),\n values: getEnumValues(tuple).map((value) => {\n const valueMetadata = values?.[value];\n const decodedValueDescription = decodeDescription(\n valueMetadata?.description,\n );\n const decodedValueDirectives = decodeDirective(\n valueMetadata?.directives,\n types,\n directiveDefinitions,\n );\n\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n name: nameNode(value),\n ...(decodedValueDirectives && { directives: decodedValueDirectives }),\n ...(decodedValueDescription && {\n description: decodedValueDescription,\n }),\n };\n }),\n ...(decodedDirectives && { directives: decodedDirectives }),\n ...(decodedDescription && { description: decodedDescription }),\n };\n}\n\nfunction decodeObjectType(\n typeName: string,\n tuple: ObjectTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n directiveDefinitions?: DirectiveDefinitionTuple[],\n): ObjectTypeDefinitionNode {\n const { directives: metadataDirectives, description: metadataDescription } =\n getObjectTypeMetadata(tuple) || {};\n const decodedDescription = decodeDescription(metadataDescription);\n const decodedDirectives = decodeDirective(\n metadataDirectives,\n types,\n directiveDefinitions,\n );\n\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n name: nameNode(typeName),\n fields: decodeFields(\n getObjectFields(tuple) ?? {},\n types,\n directiveDefinitions,\n ),\n interfaces: getObjectTypeInterfaces(tuple).map((name) => ({\n kind: Kind.NAMED_TYPE,\n name: nameNode(name),\n })),\n ...(decodedDirectives && { directives: decodedDirectives }),\n ...(decodedDescription && { description: decodedDescription }),\n };\n}\n\nfunction decodeInterfaceType(\n typeName: string,\n tuple: InterfaceTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n directiveDefinitions?: DirectiveDefinitionTuple[],\n): InterfaceTypeDefinitionNode {\n const { directives: metadataDirectives, description: metadataDescription } =\n getInterfaceTypeMetadata(tuple) || {};\n const decodedDescription = decodeDescription(metadataDescription);\n const decodedDirectives = decodeDirective(\n metadataDirectives,\n types,\n directiveDefinitions,\n );\n\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n name: nameNode(typeName),\n fields: decodeFields(getFields(tuple), types, directiveDefinitions),\n interfaces: getInterfaceTypeInterfaces(tuple).map((name) => ({\n kind: Kind.NAMED_TYPE,\n name: nameNode(name),\n })),\n ...(decodedDirectives && { directives: decodedDirectives }),\n ...(decodedDescription && { description: decodedDescription }),\n };\n}\n\nfunction decodeUnionType(\n typeName: string,\n tuple: UnionTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n directiveDefinitions?: DirectiveDefinitionTuple[],\n): UnionTypeDefinitionNode {\n const { directives: metadataDirectives, description: metadataDescription } =\n getUnionTypeMetadata(tuple) || {};\n const decodedDescription = decodeDescription(metadataDescription);\n const decodedDirectives = decodeDirective(\n metadataDirectives,\n types,\n directiveDefinitions,\n );\n\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n name: nameNode(typeName),\n types: getUnionTypeMembers(tuple).map((name) => ({\n kind: Kind.NAMED_TYPE,\n name: nameNode(name),\n })),\n ...(decodedDirectives && { directives: decodedDirectives }),\n ...(decodedDescription && { description: decodedDescription }),\n };\n}\n\nfunction decodeInputObjectType(\n typeName: string,\n tuple: InputObjectTypeDefinitionTuple,\n types: TypeDefinitionsRecord,\n directiveDefinitions?: DirectiveDefinitionTuple[],\n): InputObjectTypeDefinitionNode {\n const { directives: metadataDirectives, description: metadataDescription } =\n getInputTypeMetadata(tuple) || {};\n const decodedDescription = decodeDescription(metadataDescription);\n const decodedDirectives = decodeDirective(\n metadataDirectives,\n types,\n directiveDefinitions,\n );\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n name: nameNode(typeName),\n fields: Object.entries(getInputObjectFields(tuple)).map(([name, value]) =>\n decodeInputValue(name, value, types),\n ),\n ...(decodedDirectives && { directives: decodedDirectives }),\n ...(decodedDescription && { description: decodedDescription }),\n };\n}\n\nfunction decodeFields(\n fields: Record<string, FieldDefinition>,\n types: TypeDefinitionsRecord,\n directiveDefinitions?: DirectiveDefinitionTuple[],\n): FieldDefinitionNode[] {\n return Object.entries(fields).map(([name, value]) => {\n const type = decodeTypeReference(getFieldTypeReference(value));\n const { directives: metadataDirectives, description: metadataDescription } =\n getFieldMetadata(value) || {};\n const decodedDescription = decodeDescription(metadataDescription);\n const decodedDirectives = decodeDirective(\n metadataDirectives,\n types,\n directiveDefinitions,\n );\n return {\n kind: Kind.FIELD_DEFINITION,\n name: nameNode(name),\n type,\n arguments: decodeArguments(getFieldArgs(value) ?? {}, types),\n ...(decodedDirectives && { directives: decodedDirectives }),\n ...(decodedDescription && { description: decodedDescription }),\n };\n });\n}\n\nfunction decodeInputValue(\n name: string,\n value: InputValueDefinition,\n types: TypeDefinitionsRecord,\n): InputValueDefinitionNode {\n const inputValueTypeRef = getInputValueTypeReference(value);\n const type = decodeTypeReference(inputValueTypeRef);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n name: nameNode(name),\n type,\n defaultValue: Array.isArray(value)\n ? (valueToConstValueNode(\n getInputDefaultValue(value),\n inputValueTypeRef,\n types,\n ) as any) // Note: \"any\" is necessary here for graphql15/graphql17 cross-compatibility\n : undefined,\n };\n}\n\nfunction valueToConstValueNode(\n jsValue: unknown,\n typeRef: TypeReference,\n types: TypeDefinitionsRecord,\n): ConstValueNode {\n const typeName = typeNameFromReference(typeRef);\n if (typeof jsValue === \"string\") {\n return typeName === \"String\"\n ? { kind: Kind.STRING, value: jsValue }\n : { kind: Kind.ENUM, value: jsValue };\n }\n if (jsValue === null) {\n invariant(!isNonNullType(typeRef), \"Expecting nullable type\");\n return { kind: Kind.NULL };\n }\n if (Number.isInteger(jsValue)) {\n return { kind: Kind.INT, value: String(jsValue) };\n }\n if (typeof jsValue === \"boolean\") {\n return { kind: Kind.BOOLEAN, value: jsValue };\n }\n if (typeof jsValue === \"number\") {\n return { kind: Kind.FLOAT, value: String(jsValue) };\n }\n if (Array.isArray(jsValue)) {\n invariant(isListType(typeRef), \"Expecting list type\");\n return {\n kind: Kind.LIST,\n values: jsValue.map((item) =>\n valueToConstValueNode(item, unwrap(typeRef), types),\n ),\n };\n }\n if (typeof jsValue === \"object\") {\n const typeDef = types[typeName];\n invariant(\n Array.isArray(typeDef) && isInputObjectTypeDefinition(typeDef),\n `Expecting input object type for ${typeName}, got ${typeDef?.[0]}`,\n );\n const fields = getInputObjectFields(typeDef);\n return {\n kind: Kind.OBJECT,\n fields: Object.entries(jsValue).map(([name, value]) => {\n const fieldDef = fields[name];\n const fieldTypeRef = getInputValueTypeReference(fieldDef);\n invariant(\n fieldTypeRef !== undefined,\n `Could not find field definition for ${typeName}.${name}`,\n );\n return {\n kind: Kind.OBJECT_FIELD,\n name: nameNode(name),\n value: valueToConstValueNode(value, fieldTypeRef, types),\n };\n }),\n };\n }\n invariant(\n false,\n `Unexpected value for type ${inspectTypeReference(typeRef)}: ${inspect(\n jsValue,\n )}`,\n );\n}\n\nfunction decodeArguments(\n args: Record<string, InputValueDefinition>,\n types: TypeDefinitionsRecord,\n): InputValueDefinitionNode[] {\n return Object.entries(args).map(([name, value]) =>\n decodeInputValue(name, value, types),\n );\n}\n\nfunction decodeTypeReference(\n ref: TypeReference,\n): NamedTypeNode | ListTypeNode | NonNullTypeNode {\n if (isListType(ref)) {\n return {\n kind: Kind.LIST_TYPE,\n type: decodeTypeReference(unwrap(ref)),\n };\n }\n if (isNonNullType(ref)) {\n const unwrappedType = decodeTypeReference(unwrap(ref));\n invariant(\n unwrappedType.kind !== Kind.NON_NULL_TYPE,\n \"Non-null modifier cannot be nested\",\n );\n return {\n kind: Kind.NON_NULL_TYPE,\n type: unwrappedType,\n };\n }\n return {\n kind: Kind.NAMED_TYPE,\n name: nameNode(typeNameFromReference(ref)),\n };\n}\n\nfunction decodeDirectiveDefinition(\n tuple: DirectiveDefinitionTuple,\n types: TypeDefinitionsRecord,\n): DirectiveDefinitionNode {\n const name = getDirectiveDefinitionName(tuple);\n const args = getDirectiveDefinitionArgs(tuple);\n const locations = getDirectiveDefinitionLocations(tuple);\n const { repeatable, description } =\n getDirectiveDefinitionMetadata(tuple) || {};\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n name: nameNode(name),\n arguments: args ? decodeArguments(args, types) : [],\n locations: locations.map((loc) => ({\n kind: Kind.NAME,\n value: decodeDirectiveLocation(loc),\n })),\n description: decodeDescription(description),\n repeatable: Boolean(repeatable),\n };\n}\n\nfunction decodeDirective(\n directiveTuples: DirectiveTuple[] | undefined,\n types: TypeDefinitionsRecord,\n directiveDefinitions?: DirectiveDefinitionTuple[],\n): ReadonlyArray<DirectiveNode> | undefined {\n if (!directiveTuples || !directiveDefinitions) {\n return;\n }\n\n return directiveTuples.map(([directiveName, args]) => {\n const directiveTuple = directiveDefinitions?.find(\n (directiveDefinition) =>\n getDirectiveDefinitionName(directiveDefinition) === directiveName,\n );\n\n invariant(\n directiveTuple !== undefined,\n `Could not find directive definition for \"${directiveName}\"`,\n );\n\n const argumentDefinitions = getDirectiveDefinitionArgs(directiveTuple);\n const repeatable = Boolean(\n getDirectiveDefinitionMetadata(directiveTuple)?.repeatable,\n );\n\n return {\n kind: Kind.DIRECTIVE,\n name: nameNode(directiveName),\n ...(repeatable && { repeatable }),\n arguments:\n args && argumentDefinitions\n ? Object.entries(args)?.map(([argName, argValue]) => {\n invariant(\n argumentDefinitions[argName] !== undefined,\n `Could not find directive argument definition \"${argName}\"for \"${directiveName}\" directive`,\n );\n\n const inputValueTypeRef = getInputValueTypeReference(\n argumentDefinitions[argName],\n );\n\n return {\n kind: Kind.ARGUMENT,\n name: nameNode(argName),\n value: valueToConstValueNode(\n argValue,\n inputValueTypeRef,\n types,\n ),\n };\n })\n : [],\n };\n });\n}\n\nfunction decodeDescription(\n description?: Description,\n): StringValueNode | undefined {\n if (!description) {\n return;\n }\n\n const { value, block } = description;\n return {\n kind: \"StringValue\",\n value,\n block,\n };\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|