@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.
Files changed (48) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +1 -9
  3. package/lib/executeWithoutSchema.d.ts.map +1 -1
  4. package/lib/executeWithoutSchema.js +41 -0
  5. package/lib/executeWithoutSchema.js.map +2 -2
  6. package/lib/executeWithoutSchema.mjs +41 -0
  7. package/lib/executeWithoutSchema.mjs.map +2 -2
  8. package/lib/schema/definition.d.ts +54 -19
  9. package/lib/schema/definition.d.ts.map +1 -1
  10. package/lib/schema/definition.js +127 -18
  11. package/lib/schema/definition.js.map +3 -3
  12. package/lib/schema/definition.mjs +109 -16
  13. package/lib/schema/definition.mjs.map +2 -2
  14. package/lib/schema/directives.d.ts.map +1 -1
  15. package/lib/schema/directives.js +9 -4
  16. package/lib/schema/directives.js.map +2 -2
  17. package/lib/schema/directives.mjs +10 -5
  18. package/lib/schema/directives.mjs.map +2 -2
  19. package/lib/utilities/decodeASTSchema.d.ts.map +1 -1
  20. package/lib/utilities/decodeASTSchema.js +185 -33
  21. package/lib/utilities/decodeASTSchema.js.map +2 -2
  22. package/lib/utilities/decodeASTSchema.mjs +196 -36
  23. package/lib/utilities/decodeASTSchema.mjs.map +2 -2
  24. package/lib/utilities/encodeASTSchema.d.ts +5 -1
  25. package/lib/utilities/encodeASTSchema.d.ts.map +1 -1
  26. package/lib/utilities/encodeASTSchema.js +171 -38
  27. package/lib/utilities/encodeASTSchema.js.map +2 -2
  28. package/lib/utilities/encodeASTSchema.mjs +171 -38
  29. package/lib/utilities/encodeASTSchema.mjs.map +2 -2
  30. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.js +1 -1
  31. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.js.map +2 -2
  32. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.mjs +2 -2
  33. package/lib/utilities/extractMinimalViableSchemaForRequestDocument.mjs.map +2 -2
  34. package/lib/utilities/mergeSchemaDefinitions.d.ts +6 -2
  35. package/lib/utilities/mergeSchemaDefinitions.d.ts.map +1 -1
  36. package/lib/utilities/mergeSchemaDefinitions.js +86 -5
  37. package/lib/utilities/mergeSchemaDefinitions.js.map +3 -3
  38. package/lib/utilities/mergeSchemaDefinitions.mjs +96 -7
  39. package/lib/utilities/mergeSchemaDefinitions.mjs.map +3 -3
  40. package/lib/utilities/subtractSchemaDefinitions.js +4 -4
  41. package/lib/utilities/subtractSchemaDefinitions.js.map +2 -2
  42. package/lib/utilities/subtractSchemaDefinitions.mjs +5 -5
  43. package/lib/utilities/subtractSchemaDefinitions.mjs.map +2 -2
  44. package/lib/values.js +2 -2
  45. package/lib/values.js.map +2 -2
  46. package/lib/values.mjs +4 -4
  47. package/lib/values.mjs.map +2 -2
  48. package/package.json +1 -1
@@ -20,10 +20,18 @@ import {
20
20
  getFieldArgs,
21
21
  getInputValueTypeReference,
22
22
  getInputDefaultValue,
23
- getDirectiveName,
23
+ getDirectiveDefinitionName,
24
24
  getDirectiveDefinitionArgs,
25
- getDirectiveLocations,
26
- decodeDirectiveLocation
25
+ getDirectiveDefinitionLocations,
26
+ decodeDirectiveLocation,
27
+ getObjectTypeMetadata,
28
+ getInterfaceTypeMetadata,
29
+ getEnumMetadata,
30
+ getUnionTypeMetadata,
31
+ getScalarTypeMetadata,
32
+ getInputTypeMetadata,
33
+ getDirectiveDefinitionMetadata,
34
+ getFieldMetadata
27
35
  } from "../schema/definition.mjs";
28
36
  import {
29
37
  inspectTypeReference,
@@ -40,98 +48,196 @@ function decodeASTSchema(encodedSchemaFragments) {
40
48
  }
41
49
  const definitions = [];
42
50
  const types = encodedSchemaFragments[0].types;
43
- const directives = encodedSchemaFragments[0].directives;
51
+ const directiveDefinitions = encodedSchemaFragments[0].directives;
44
52
  for (const typeName in types) {
45
53
  const tuple = types[typeName];
46
54
  if (isScalarTypeDefinition(tuple)) {
47
- definitions.push(decodeScalarType(typeName));
55
+ definitions.push(
56
+ decodeScalarType(typeName, tuple, types, directiveDefinitions)
57
+ );
48
58
  } else if (isEnumTypeDefinition(tuple)) {
49
- definitions.push(decodeEnumType(typeName, tuple));
59
+ definitions.push(
60
+ decodeEnumType(typeName, tuple, types, directiveDefinitions)
61
+ );
50
62
  } else if (isObjectTypeDefinition(tuple)) {
51
- definitions.push(decodeObjectType(typeName, tuple, types));
63
+ definitions.push(
64
+ decodeObjectType(typeName, tuple, types, directiveDefinitions)
65
+ );
52
66
  } else if (isInterfaceTypeDefinition(tuple)) {
53
- definitions.push(decodeInterfaceType(typeName, tuple, types));
67
+ definitions.push(
68
+ decodeInterfaceType(typeName, tuple, types, directiveDefinitions)
69
+ );
54
70
  } else if (isUnionTypeDefinition(tuple)) {
55
- definitions.push(decodeUnionType(typeName, tuple));
71
+ definitions.push(
72
+ decodeUnionType(typeName, tuple, types, directiveDefinitions)
73
+ );
56
74
  } else if (isInputObjectTypeDefinition(tuple)) {
57
- definitions.push(decodeInputObjectType(typeName, tuple, types));
75
+ definitions.push(
76
+ decodeInputObjectType(typeName, tuple, types, directiveDefinitions)
77
+ );
58
78
  }
59
79
  }
60
- for (const directive of directives != null ? directives : []) {
61
- definitions.push(decodeDirective(directive, types));
80
+ for (const directiveDefinition of directiveDefinitions != null ? directiveDefinitions : []) {
81
+ definitions.push(decodeDirectiveDefinition(directiveDefinition, types));
62
82
  }
63
83
  return { kind: Kind.DOCUMENT, definitions };
64
84
  }
65
85
  function nameNode(value) {
66
86
  return { kind: Kind.NAME, value };
67
87
  }
68
- function decodeScalarType(typeName) {
88
+ function decodeScalarType(typeName, tuple, types, directiveDefinitions) {
89
+ const { directives: metadataDirectives, description: metadataDescription } = getScalarTypeMetadata(tuple) || {};
90
+ const decodedDescription = decodeDescription(metadataDescription);
91
+ const decodedDirectives = decodeDirective(
92
+ metadataDirectives,
93
+ types,
94
+ directiveDefinitions
95
+ );
69
96
  return {
70
97
  kind: Kind.SCALAR_TYPE_DEFINITION,
71
- name: nameNode(typeName)
98
+ name: nameNode(typeName),
99
+ ...decodedDirectives && { directives: decodedDirectives },
100
+ ...decodedDescription && { description: decodedDescription }
72
101
  };
73
102
  }
74
- function decodeEnumType(typeName, tuple) {
103
+ function decodeEnumType(typeName, tuple, types, directiveDefinitions) {
104
+ const {
105
+ directives: metadataDirectives,
106
+ description: metadataDescription,
107
+ values
108
+ } = getEnumMetadata(tuple) || {};
109
+ const decodedDescription = decodeDescription(metadataDescription);
110
+ const decodedDirectives = decodeDirective(
111
+ metadataDirectives,
112
+ types,
113
+ directiveDefinitions
114
+ );
75
115
  return {
76
116
  kind: Kind.ENUM_TYPE_DEFINITION,
77
117
  name: nameNode(typeName),
78
- values: getEnumValues(tuple).map((value) => ({
79
- kind: Kind.ENUM_VALUE_DEFINITION,
80
- name: nameNode(value)
81
- }))
118
+ values: getEnumValues(tuple).map((value) => {
119
+ const valueMetadata = values == null ? void 0 : values[value];
120
+ const decodedValueDescription = decodeDescription(
121
+ valueMetadata == null ? void 0 : valueMetadata.description
122
+ );
123
+ const decodedValueDirectives = decodeDirective(
124
+ valueMetadata == null ? void 0 : valueMetadata.directives,
125
+ types,
126
+ directiveDefinitions
127
+ );
128
+ return {
129
+ kind: Kind.ENUM_VALUE_DEFINITION,
130
+ name: nameNode(value),
131
+ ...decodedValueDirectives && { directives: decodedValueDirectives },
132
+ ...decodedValueDescription && {
133
+ description: decodedValueDescription
134
+ }
135
+ };
136
+ }),
137
+ ...decodedDirectives && { directives: decodedDirectives },
138
+ ...decodedDescription && { description: decodedDescription }
82
139
  };
83
140
  }
84
- function decodeObjectType(typeName, tuple, types) {
141
+ function decodeObjectType(typeName, tuple, types, directiveDefinitions) {
85
142
  var _a;
143
+ const { directives: metadataDirectives, description: metadataDescription } = getObjectTypeMetadata(tuple) || {};
144
+ const decodedDescription = decodeDescription(metadataDescription);
145
+ const decodedDirectives = decodeDirective(
146
+ metadataDirectives,
147
+ types,
148
+ directiveDefinitions
149
+ );
86
150
  return {
87
151
  kind: Kind.OBJECT_TYPE_DEFINITION,
88
152
  name: nameNode(typeName),
89
- fields: decodeFields((_a = getObjectFields(tuple)) != null ? _a : {}, types),
153
+ fields: decodeFields(
154
+ (_a = getObjectFields(tuple)) != null ? _a : {},
155
+ types,
156
+ directiveDefinitions
157
+ ),
90
158
  interfaces: getObjectTypeInterfaces(tuple).map((name) => ({
91
159
  kind: Kind.NAMED_TYPE,
92
160
  name: nameNode(name)
93
- }))
161
+ })),
162
+ ...decodedDirectives && { directives: decodedDirectives },
163
+ ...decodedDescription && { description: decodedDescription }
94
164
  };
95
165
  }
96
- function decodeInterfaceType(typeName, tuple, types) {
166
+ function decodeInterfaceType(typeName, tuple, types, directiveDefinitions) {
167
+ const { directives: metadataDirectives, description: metadataDescription } = getInterfaceTypeMetadata(tuple) || {};
168
+ const decodedDescription = decodeDescription(metadataDescription);
169
+ const decodedDirectives = decodeDirective(
170
+ metadataDirectives,
171
+ types,
172
+ directiveDefinitions
173
+ );
97
174
  return {
98
175
  kind: Kind.INTERFACE_TYPE_DEFINITION,
99
176
  name: nameNode(typeName),
100
- fields: decodeFields(getFields(tuple), types),
177
+ fields: decodeFields(getFields(tuple), types, directiveDefinitions),
101
178
  interfaces: getInterfaceTypeInterfaces(tuple).map((name) => ({
102
179
  kind: Kind.NAMED_TYPE,
103
180
  name: nameNode(name)
104
- }))
181
+ })),
182
+ ...decodedDirectives && { directives: decodedDirectives },
183
+ ...decodedDescription && { description: decodedDescription }
105
184
  };
106
185
  }
107
- function decodeUnionType(typeName, tuple) {
186
+ function decodeUnionType(typeName, tuple, types, directiveDefinitions) {
187
+ const { directives: metadataDirectives, description: metadataDescription } = getUnionTypeMetadata(tuple) || {};
188
+ const decodedDescription = decodeDescription(metadataDescription);
189
+ const decodedDirectives = decodeDirective(
190
+ metadataDirectives,
191
+ types,
192
+ directiveDefinitions
193
+ );
108
194
  return {
109
195
  kind: Kind.UNION_TYPE_DEFINITION,
110
196
  name: nameNode(typeName),
111
197
  types: getUnionTypeMembers(tuple).map((name) => ({
112
198
  kind: Kind.NAMED_TYPE,
113
199
  name: nameNode(name)
114
- }))
200
+ })),
201
+ ...decodedDirectives && { directives: decodedDirectives },
202
+ ...decodedDescription && { description: decodedDescription }
115
203
  };
116
204
  }
117
- function decodeInputObjectType(typeName, tuple, types) {
205
+ function decodeInputObjectType(typeName, tuple, types, directiveDefinitions) {
206
+ const { directives: metadataDirectives, description: metadataDescription } = getInputTypeMetadata(tuple) || {};
207
+ const decodedDescription = decodeDescription(metadataDescription);
208
+ const decodedDirectives = decodeDirective(
209
+ metadataDirectives,
210
+ types,
211
+ directiveDefinitions
212
+ );
118
213
  return {
119
214
  kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,
120
215
  name: nameNode(typeName),
121
216
  fields: Object.entries(getInputObjectFields(tuple)).map(
122
217
  ([name, value]) => decodeInputValue(name, value, types)
123
- )
218
+ ),
219
+ ...decodedDirectives && { directives: decodedDirectives },
220
+ ...decodedDescription && { description: decodedDescription }
124
221
  };
125
222
  }
126
- function decodeFields(fields, types) {
223
+ function decodeFields(fields, types, directiveDefinitions) {
127
224
  return Object.entries(fields).map(([name, value]) => {
128
225
  var _a;
129
226
  const type = decodeTypeReference(getFieldTypeReference(value));
227
+ const { directives: metadataDirectives, description: metadataDescription } = getFieldMetadata(value) || {};
228
+ const decodedDescription = decodeDescription(metadataDescription);
229
+ const decodedDirectives = decodeDirective(
230
+ metadataDirectives,
231
+ types,
232
+ directiveDefinitions
233
+ );
130
234
  return {
131
235
  kind: Kind.FIELD_DEFINITION,
132
236
  name: nameNode(name),
133
237
  type,
134
- arguments: decodeArguments((_a = getFieldArgs(value)) != null ? _a : {}, types)
238
+ arguments: decodeArguments((_a = getFieldArgs(value)) != null ? _a : {}, types),
239
+ ...decodedDirectives && { directives: decodedDirectives },
240
+ ...decodedDescription && { description: decodedDescription }
135
241
  };
136
242
  });
137
243
  }
@@ -235,10 +341,11 @@ function decodeTypeReference(ref) {
235
341
  name: nameNode(typeNameFromReference(ref))
236
342
  };
237
343
  }
238
- function decodeDirective(tuple, types) {
239
- const name = getDirectiveName(tuple);
344
+ function decodeDirectiveDefinition(tuple, types) {
345
+ const name = getDirectiveDefinitionName(tuple);
240
346
  const args = getDirectiveDefinitionArgs(tuple);
241
- const locations = getDirectiveLocations(tuple);
347
+ const locations = getDirectiveDefinitionLocations(tuple);
348
+ const { repeatable, description } = getDirectiveDefinitionMetadata(tuple) || {};
242
349
  return {
243
350
  kind: Kind.DIRECTIVE_DEFINITION,
244
351
  name: nameNode(name),
@@ -247,8 +354,61 @@ function decodeDirective(tuple, types) {
247
354
  kind: Kind.NAME,
248
355
  value: decodeDirectiveLocation(loc)
249
356
  })),
250
- // TODO? repeatable are irrelevant for execution
251
- repeatable: false
357
+ description: decodeDescription(description),
358
+ repeatable: Boolean(repeatable)
359
+ };
360
+ }
361
+ function decodeDirective(directiveTuples, types, directiveDefinitions) {
362
+ if (!directiveTuples || !directiveDefinitions) {
363
+ return;
364
+ }
365
+ return directiveTuples.map(([directiveName, args]) => {
366
+ var _a, _b;
367
+ const directiveTuple = directiveDefinitions == null ? void 0 : directiveDefinitions.find(
368
+ (directiveDefinition) => getDirectiveDefinitionName(directiveDefinition) === directiveName
369
+ );
370
+ invariant(
371
+ directiveTuple !== void 0,
372
+ `Could not find directive definition for "${directiveName}"`
373
+ );
374
+ const argumentDefinitions = getDirectiveDefinitionArgs(directiveTuple);
375
+ const repeatable = Boolean(
376
+ (_a = getDirectiveDefinitionMetadata(directiveTuple)) == null ? void 0 : _a.repeatable
377
+ );
378
+ return {
379
+ kind: Kind.DIRECTIVE,
380
+ name: nameNode(directiveName),
381
+ ...repeatable && { repeatable },
382
+ arguments: args && argumentDefinitions ? (_b = Object.entries(args)) == null ? void 0 : _b.map(([argName, argValue]) => {
383
+ invariant(
384
+ argumentDefinitions[argName] !== void 0,
385
+ `Could not find directive argument definition "${argName}"for "${directiveName}" directive`
386
+ );
387
+ const inputValueTypeRef = getInputValueTypeReference(
388
+ argumentDefinitions[argName]
389
+ );
390
+ return {
391
+ kind: Kind.ARGUMENT,
392
+ name: nameNode(argName),
393
+ value: valueToConstValueNode(
394
+ argValue,
395
+ inputValueTypeRef,
396
+ types
397
+ )
398
+ };
399
+ }) : []
400
+ };
401
+ });
402
+ }
403
+ function decodeDescription(description) {
404
+ if (!description) {
405
+ return;
406
+ }
407
+ const { value, block } = description;
408
+ return {
409
+ kind: "StringValue",
410
+ value,
411
+ block
252
412
  };
253
413
  }
254
414
  export {
@@ -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": "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",
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
  }
@@ -1,4 +1,8 @@
1
1
  import { DocumentNode } from "graphql";
2
2
  import { SchemaDefinitions } from "../schema/definition";
3
- export declare function encodeASTSchema(schemaFragment: DocumentNode): SchemaDefinitions[];
3
+ export type EncodeASTSchemaOptions = {
4
+ includeDirectives?: boolean;
5
+ includeDescriptions?: boolean;
6
+ };
7
+ export declare function encodeASTSchema(schemaFragment: DocumentNode, options?: EncodeASTSchemaOptions): SchemaDefinitions[];
4
8
  //# sourceMappingURL=encodeASTSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encodeASTSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/encodeASTSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,YAAY,EAQb,MAAM,SAAS,CAAC;AACjB,OAAO,EAWL,iBAAiB,EASlB,MAAM,sBAAsB,CAAC;AAI9B,wBAAgB,eAAe,CAC7B,cAAc,EAAE,YAAY,GAC3B,iBAAiB,EAAE,CAsCrB"}
1
+ {"version":3,"file":"encodeASTSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/encodeASTSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,YAAY,EASb,MAAM,SAAS,CAAC;AACjB,OAAO,EAWL,iBAAiB,EAalB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,cAAc,EAAE,YAAY,EAC5B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,iBAAiB,EAAE,CA8CrB"}