@graphitation/supermassive 3.15.2 → 3.16.1-canary.0
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 +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 +3 -3
- package/lib/schema/directives.js.map +2 -2
- package/lib/schema/directives.mjs +4 -4
- 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.map +1 -1
- package/lib/utilities/mergeSchemaDefinitions.js +52 -2
- package/lib/utilities/mergeSchemaDefinitions.js.map +3 -3
- package/lib/utilities/mergeSchemaDefinitions.mjs +59 -4
- 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
|
@@ -50,6 +50,36 @@ var DirectiveLocationToGraphQL = {
|
|
|
50
50
|
};
|
|
51
51
|
var typeNameMetaFieldDef = "String";
|
|
52
52
|
var specifiedScalarDefinition = [1 /* SCALAR */];
|
|
53
|
+
function getTypeDefinitionMetadataIndex(typeDefinition) {
|
|
54
|
+
if (isObjectTypeDefinition(typeDefinition)) {
|
|
55
|
+
return 3 /* metadata */;
|
|
56
|
+
} else if (isScalarTypeDefinition(typeDefinition)) {
|
|
57
|
+
return 1 /* metadata */;
|
|
58
|
+
} else if (isEnumTypeDefinition(typeDefinition)) {
|
|
59
|
+
return 2 /* metadata */;
|
|
60
|
+
} else if (isInterfaceTypeDefinition(typeDefinition)) {
|
|
61
|
+
return 3 /* metadata */;
|
|
62
|
+
} else if (isInputObjectTypeDefinition(typeDefinition)) {
|
|
63
|
+
return 2 /* metadata */;
|
|
64
|
+
} else if (isUnionTypeDefinition(typeDefinition)) {
|
|
65
|
+
return 2 /* metadata */;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function getTypeDefinitionMetadata(typeDefinition) {
|
|
69
|
+
if (isObjectTypeDefinition(typeDefinition)) {
|
|
70
|
+
return getObjectTypeMetadata(typeDefinition);
|
|
71
|
+
} else if (isScalarTypeDefinition(typeDefinition)) {
|
|
72
|
+
return getScalarTypeMetadata(typeDefinition);
|
|
73
|
+
} else if (isEnumTypeDefinition(typeDefinition)) {
|
|
74
|
+
return getEnumMetadata(typeDefinition);
|
|
75
|
+
} else if (isInterfaceTypeDefinition(typeDefinition)) {
|
|
76
|
+
return getInterfaceTypeMetadata(typeDefinition);
|
|
77
|
+
} else if (isInputObjectTypeDefinition(typeDefinition)) {
|
|
78
|
+
return getInputTypeMetadata(typeDefinition);
|
|
79
|
+
} else if (isUnionTypeDefinition(typeDefinition)) {
|
|
80
|
+
return getUnionTypeMetadata(typeDefinition);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
53
83
|
function findObjectType(defs, typeName) {
|
|
54
84
|
const type = defs.types[typeName];
|
|
55
85
|
return (type == null ? void 0 : type[0]) === 2 /* OBJECT */ ? type : void 0;
|
|
@@ -205,10 +235,10 @@ function isSubType(defs, abstractTypeName, maybeSubTypeName) {
|
|
|
205
235
|
}
|
|
206
236
|
return false;
|
|
207
237
|
}
|
|
208
|
-
function
|
|
238
|
+
function getDirectiveDefinitionName(tuple) {
|
|
209
239
|
return tuple[0 /* name */];
|
|
210
240
|
}
|
|
211
|
-
function
|
|
241
|
+
function getDirectiveDefinitionLocations(tuple) {
|
|
212
242
|
return tuple[1 /* locations */];
|
|
213
243
|
}
|
|
214
244
|
function encodeDirectiveLocation(location) {
|
|
@@ -253,38 +283,78 @@ function getFieldTypeReference(field) {
|
|
|
253
283
|
function getFieldArgs(field) {
|
|
254
284
|
return Array.isArray(field) ? field[1 /* arguments */] : void 0;
|
|
255
285
|
}
|
|
286
|
+
function getFieldMetadata(field) {
|
|
287
|
+
return Array.isArray(field) ? field[2 /* metadata */] : void 0;
|
|
288
|
+
}
|
|
256
289
|
function setFieldArgs(field, args) {
|
|
257
290
|
field[1 /* arguments */] = args;
|
|
258
291
|
return args;
|
|
259
292
|
}
|
|
293
|
+
function setFieldDirectives(field, args) {
|
|
294
|
+
field[2 /* metadata */] = args;
|
|
295
|
+
return args;
|
|
296
|
+
}
|
|
260
297
|
function getEnumValues(tuple) {
|
|
261
298
|
return tuple[1 /* values */];
|
|
262
299
|
}
|
|
300
|
+
function getEnumMetadata(tuple) {
|
|
301
|
+
return tuple[2 /* metadata */];
|
|
302
|
+
}
|
|
263
303
|
function getDirectiveDefinitionArgs(directive) {
|
|
264
|
-
return directive[2 /* arguments */];
|
|
304
|
+
return Array.isArray(directive) ? directive[2 /* arguments */] : void 0;
|
|
265
305
|
}
|
|
266
306
|
function setDirectiveDefinitionArgs(directive, args) {
|
|
267
307
|
directive[2 /* arguments */] = args;
|
|
268
308
|
return args;
|
|
269
309
|
}
|
|
270
|
-
function createUnionTypeDefinition(types) {
|
|
310
|
+
function createUnionTypeDefinition(types, metadata) {
|
|
311
|
+
if (metadata) {
|
|
312
|
+
return [4 /* UNION */, types, metadata];
|
|
313
|
+
}
|
|
271
314
|
return [4 /* UNION */, types];
|
|
272
315
|
}
|
|
273
|
-
function createInterfaceTypeDefinition(fields, interfaces) {
|
|
274
|
-
|
|
316
|
+
function createInterfaceTypeDefinition(fields, interfaces, metadata) {
|
|
317
|
+
if (!(interfaces == null ? void 0 : interfaces.length) && !metadata) {
|
|
318
|
+
return [3 /* INTERFACE */, fields];
|
|
319
|
+
}
|
|
320
|
+
if ((interfaces == null ? void 0 : interfaces.length) && !metadata) {
|
|
321
|
+
return [3 /* INTERFACE */, fields, interfaces];
|
|
322
|
+
}
|
|
323
|
+
return [3 /* INTERFACE */, fields, interfaces, metadata];
|
|
275
324
|
}
|
|
276
|
-
function createObjectTypeDefinition(fields, interfaces) {
|
|
277
|
-
|
|
325
|
+
function createObjectTypeDefinition(fields, interfaces, metadata) {
|
|
326
|
+
if (!(interfaces == null ? void 0 : interfaces.length) && !metadata) {
|
|
327
|
+
return [2 /* OBJECT */, fields];
|
|
328
|
+
}
|
|
329
|
+
if ((interfaces == null ? void 0 : interfaces.length) && !metadata) {
|
|
330
|
+
return [2 /* OBJECT */, fields, interfaces];
|
|
331
|
+
}
|
|
332
|
+
return [2 /* OBJECT */, fields, interfaces, metadata];
|
|
278
333
|
}
|
|
279
|
-
function createInputObjectTypeDefinition(fields) {
|
|
334
|
+
function createInputObjectTypeDefinition(fields, metadata) {
|
|
335
|
+
if (metadata) {
|
|
336
|
+
return [6 /* INPUT */, fields, metadata];
|
|
337
|
+
}
|
|
280
338
|
return [6 /* INPUT */, fields];
|
|
281
339
|
}
|
|
282
|
-
function createEnumTypeDefinition(values) {
|
|
340
|
+
function createEnumTypeDefinition(values, metadata) {
|
|
341
|
+
if (metadata) {
|
|
342
|
+
return [5 /* ENUM */, values, metadata];
|
|
343
|
+
}
|
|
283
344
|
return [5 /* ENUM */, values];
|
|
284
345
|
}
|
|
285
|
-
function createScalarTypeDefinition() {
|
|
346
|
+
function createScalarTypeDefinition(metadata) {
|
|
347
|
+
if (metadata) {
|
|
348
|
+
return [1 /* SCALAR */, metadata];
|
|
349
|
+
}
|
|
286
350
|
return [1 /* SCALAR */];
|
|
287
351
|
}
|
|
352
|
+
function getScalarTypeMetadata(def) {
|
|
353
|
+
return def[1 /* metadata */];
|
|
354
|
+
}
|
|
355
|
+
function getObjectTypeMetadata(def) {
|
|
356
|
+
return def[3 /* metadata */];
|
|
357
|
+
}
|
|
288
358
|
function getObjectTypeInterfaces(def) {
|
|
289
359
|
var _a;
|
|
290
360
|
return (_a = def[2 /* interfaces */]) != null ? _a : [];
|
|
@@ -293,14 +363,26 @@ function getInterfaceTypeInterfaces(def) {
|
|
|
293
363
|
var _a;
|
|
294
364
|
return (_a = def[2 /* interfaces */]) != null ? _a : [];
|
|
295
365
|
}
|
|
366
|
+
function getInterfaceTypeMetadata(def) {
|
|
367
|
+
return def[3 /* metadata */];
|
|
368
|
+
}
|
|
369
|
+
function getInputTypeMetadata(def) {
|
|
370
|
+
return def[2 /* metadata */];
|
|
371
|
+
}
|
|
296
372
|
function getUnionTypeMembers(tuple) {
|
|
297
373
|
return tuple[1 /* types */];
|
|
298
374
|
}
|
|
375
|
+
function getUnionTypeMetadata(def) {
|
|
376
|
+
return def[2 /* metadata */];
|
|
377
|
+
}
|
|
299
378
|
function getFieldArguments(def) {
|
|
300
379
|
return Array.isArray(def) ? def[1 /* arguments */] : void 0;
|
|
301
380
|
}
|
|
302
|
-
function
|
|
303
|
-
return Array.isArray(def) ? def[
|
|
381
|
+
function getDirectiveDefinitionMetadata(def) {
|
|
382
|
+
return Array.isArray(def) ? def[3 /* metadata */] : void 0;
|
|
383
|
+
}
|
|
384
|
+
function getDirectiveName(tuple) {
|
|
385
|
+
return tuple[0 /* name */];
|
|
304
386
|
}
|
|
305
387
|
export {
|
|
306
388
|
addInterfaceImplementation,
|
|
@@ -313,27 +395,37 @@ export {
|
|
|
313
395
|
decodeDirectiveLocation,
|
|
314
396
|
encodeDirectiveLocation,
|
|
315
397
|
findObjectType,
|
|
316
|
-
getDirectiveArguments,
|
|
317
398
|
getDirectiveDefinitionArgs,
|
|
318
|
-
|
|
399
|
+
getDirectiveDefinitionLocations,
|
|
400
|
+
getDirectiveDefinitionMetadata,
|
|
401
|
+
getDirectiveDefinitionName,
|
|
319
402
|
getDirectiveName,
|
|
403
|
+
getEnumMetadata,
|
|
320
404
|
getEnumValues,
|
|
321
405
|
getField,
|
|
322
406
|
getFieldArgs,
|
|
323
407
|
getFieldArguments,
|
|
408
|
+
getFieldMetadata,
|
|
324
409
|
getFieldTypeReference,
|
|
325
410
|
getFields,
|
|
326
411
|
getInputDefaultValue,
|
|
327
412
|
getInputObjectFields,
|
|
328
413
|
getInputObjectType,
|
|
414
|
+
getInputTypeMetadata,
|
|
329
415
|
getInputValueTypeReference,
|
|
330
416
|
getInterfaceType,
|
|
331
417
|
getInterfaceTypeInterfaces,
|
|
418
|
+
getInterfaceTypeMetadata,
|
|
332
419
|
getLeafType,
|
|
333
420
|
getObjectFields,
|
|
334
421
|
getObjectTypeInterfaces,
|
|
422
|
+
getObjectTypeMetadata,
|
|
423
|
+
getScalarTypeMetadata,
|
|
424
|
+
getTypeDefinitionMetadata,
|
|
425
|
+
getTypeDefinitionMetadataIndex,
|
|
335
426
|
getUnionType,
|
|
336
427
|
getUnionTypeMembers,
|
|
428
|
+
getUnionTypeMetadata,
|
|
337
429
|
isAbstractType,
|
|
338
430
|
isDefined,
|
|
339
431
|
isEnumTypeDefinition,
|
|
@@ -346,5 +438,6 @@ export {
|
|
|
346
438
|
isSubType,
|
|
347
439
|
isUnionTypeDefinition,
|
|
348
440
|
setDirectiveDefinitionArgs,
|
|
349
|
-
setFieldArgs
|
|
441
|
+
setFieldArgs,
|
|
442
|
+
setFieldDirectives
|
|
350
443
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/schema/definition.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n DirectiveLocation as GraphQLDirectiveLocation,\n DirectiveLocationEnum,\n} from \"graphql\";\nimport { isSpecifiedScalarType } from \"./resolvers\";\nimport { TypeName, TypeReference, typeNameFromReference } from \"./reference\";\n\n// Perf: const enums are inlined in the build (+small integers are stored on the stack in v8)\n// IMPORTANT: const enums MUST NOT be exported, otherwise esbuild struggles to inline them: use exported functions\nconst enum TypeKind {\n SCALAR = 1,\n OBJECT = 2,\n INTERFACE = 3,\n UNION = 4,\n ENUM = 5,\n INPUT = 6,\n}\n\nexport type ScalarTypeDefinitionTuple = [\n kind: TypeKind.SCALAR,\n // directives?: DirectiveTuple[], // TODO ?\n];\n\nexport type ObjectTypeDefinitionTuple = [\n kind: TypeKind.OBJECT,\n fields: FieldDefinitionRecord,\n interfaces?: TypeName[],\n // directives?: DirectiveTuple[],\n];\nconst enum ObjectKeys {\n fields = 1,\n interfaces = 2,\n}\n\nexport type InterfaceTypeDefinitionTuple = [\n kind: TypeKind.INTERFACE,\n fields: FieldDefinitionRecord,\n interfaces?: TypeName[],\n // directives?: DirectiveTuple[],\n];\nconst enum InterfaceKeys {\n fields = 1,\n interfaces = 2,\n}\n\nexport type UnionTypeDefinitionTuple = [\n kind: TypeKind.UNION,\n types: TypeName[],\n // directives?: DirectiveTuple[],\n];\nconst enum UnionKeys {\n types = 1,\n}\n\nexport type EnumTypeDefinitionTuple = [\n kind: TypeKind.ENUM,\n values: string[],\n // directives?: DirectiveTuple[],\n];\nconst enum EnumKeys {\n values = 1,\n}\n\nexport type InputObjectTypeDefinitionTuple = [\n kind: TypeKind.INPUT,\n fields: InputValueDefinitionRecord,\n // directives?: DirectiveTuple[],\n];\nconst enum InputObjectKeys {\n fields = 1,\n}\n\nexport type TypeDefinitionTuple =\n | ScalarTypeDefinitionTuple\n | ObjectTypeDefinitionTuple\n | InterfaceTypeDefinitionTuple\n | UnionTypeDefinitionTuple\n | EnumTypeDefinitionTuple\n | InputObjectTypeDefinitionTuple;\n\nexport type CompositeTypeTuple =\n | ObjectTypeDefinitionTuple\n | InterfaceTypeDefinitionTuple\n | UnionTypeDefinitionTuple;\n\nexport type FieldDefinitionTuple = [\n type: TypeReference,\n arguments: InputValueDefinitionRecord,\n // directives?: DirectiveTuple[],\n];\nconst enum FieldKeys {\n type = 0,\n arguments = 1,\n}\nexport type FieldDefinition = TypeReference | FieldDefinitionTuple;\nexport type FieldDefinitionRecord = Record<string, FieldDefinition>;\n\nexport type InputValueDefinitionTuple = [\n type: TypeReference,\n defaultValue: unknown,\n // directives?: DirectiveTuple[],\n];\nconst enum InputValueKeys {\n type = 0,\n defaultValue = 1,\n}\nexport type InputValueDefinition = TypeReference | InputValueDefinitionTuple;\nexport type InputValueDefinitionRecord = Record<string, InputValueDefinition>;\n\nconst DirectiveLocation = {\n QUERY: 1,\n MUTATION: 2,\n SUBSCRIPTION: 3,\n FIELD: 4,\n FRAGMENT_DEFINITION: 5,\n FRAGMENT_SPREAD: 6,\n INLINE_FRAGMENT: 7,\n VARIABLE_DEFINITION: 8,\n /** Type System Definitions */\n SCHEMA: 9,\n SCALAR: 10,\n OBJECT: 11,\n FIELD_DEFINITION: 12,\n ARGUMENT_DEFINITION: 13,\n INTERFACE: 14,\n UNION: 15,\n ENUM: 16,\n ENUM_VALUE: 17,\n INPUT_OBJECT: 18,\n INPUT_FIELD_DEFINITION: 19,\n} as const;\ntype DirectiveLocation =\n (typeof DirectiveLocation)[keyof typeof DirectiveLocation];\nconst DirectiveLocationToGraphQL = {\n 1: GraphQLDirectiveLocation.QUERY,\n 2: GraphQLDirectiveLocation.MUTATION,\n 3: GraphQLDirectiveLocation.SUBSCRIPTION,\n 4: GraphQLDirectiveLocation.FIELD,\n 5: GraphQLDirectiveLocation.FRAGMENT_DEFINITION,\n 6: GraphQLDirectiveLocation.FRAGMENT_SPREAD,\n 7: GraphQLDirectiveLocation.INLINE_FRAGMENT,\n 8: GraphQLDirectiveLocation.VARIABLE_DEFINITION,\n /** Type System Definitions */\n 9: GraphQLDirectiveLocation.SCHEMA,\n 10: GraphQLDirectiveLocation.SCALAR,\n 11: GraphQLDirectiveLocation.OBJECT,\n 12: GraphQLDirectiveLocation.FIELD_DEFINITION,\n 13: GraphQLDirectiveLocation.ARGUMENT_DEFINITION,\n 14: GraphQLDirectiveLocation.INTERFACE,\n 15: GraphQLDirectiveLocation.UNION,\n 16: GraphQLDirectiveLocation.ENUM,\n 17: GraphQLDirectiveLocation.ENUM_VALUE,\n 18: GraphQLDirectiveLocation.INPUT_OBJECT,\n 19: GraphQLDirectiveLocation.INPUT_FIELD_DEFINITION,\n} as const;\n\nexport type DirectiveName = string;\nexport type DirectiveTuple = [\n name: DirectiveName,\n arguments: Record<string, unknown>, // JS values (cannot be a variable inside schema definition, so it is fine)\n];\nexport type DirectiveDefinitionTuple = [\n name: DirectiveName,\n locations: DirectiveLocation[],\n arguments?: InputValueDefinitionRecord,\n];\nconst enum DirectiveKeys {\n name = 0,\n locations = 1,\n arguments = 2,\n}\n\nexport type TypeDefinitionsRecord = Record<TypeName, TypeDefinitionTuple>;\nexport type InterfaceImplementationsRecord = Record<TypeName, TypeName[]>;\n\nexport type OperationTypes = {\n query?: TypeName;\n mutation?: TypeName;\n subscription?: TypeName;\n};\n\nexport type SchemaDefinitions = {\n types: TypeDefinitionsRecord;\n directives?: DirectiveDefinitionTuple[];\n // implementations?: InterfaceImplementationsRecord; // TODO?\n};\n\nconst typeNameMetaFieldDef: FieldDefinition = \"String\";\nconst specifiedScalarDefinition: ScalarTypeDefinitionTuple = [TypeKind.SCALAR];\n\nexport function findObjectType(\n defs: SchemaDefinitions,\n typeName: TypeName,\n): ObjectTypeDefinitionTuple | undefined {\n const type = defs.types[typeName];\n return type?.[0] === TypeKind.OBJECT ? type : undefined;\n}\n\nexport function getObjectFields(\n def: ObjectTypeDefinitionTuple,\n): FieldDefinitionRecord {\n return def[ObjectKeys.fields];\n}\n\nexport function addInterfaceImplementation(\n defs: SchemaDefinitions,\n interfaceType: TypeName,\n objectType: TypeName,\n) {\n const iface = getInterfaceType(defs, interfaceType);\n const type = defs.types[objectType];\n\n if (!iface) {\n throw new Error(\n `Type ${interfaceType} either doesn't exist or is not an interface`,\n );\n }\n if (type && !isObjectTypeDefinition(type)) {\n throw new Error(`Type ${objectType} is not an object type`);\n }\n if (!type) {\n defs.types[objectType] = [\n TypeKind.OBJECT,\n Object.create(null),\n [interfaceType],\n ];\n return;\n }\n let knownInterfaces = type[ObjectKeys.interfaces];\n if (!knownInterfaces) {\n knownInterfaces = [];\n type[ObjectKeys.interfaces] = knownInterfaces;\n }\n if (!knownInterfaces.includes(interfaceType)) {\n knownInterfaces.push(interfaceType);\n }\n}\n\nexport function getField(\n defs: SchemaDefinitions,\n typeName: TypeName,\n fieldName: string,\n) {\n if (fieldName === \"__typename\") {\n return typeNameMetaFieldDef;\n }\n return (\n getOwnField(defs, typeName, fieldName) ??\n findInterfaceField(defs, typeName, fieldName)\n );\n}\n\nfunction getOwnField(\n defs: SchemaDefinitions,\n typeName: TypeName,\n fieldName: string,\n): FieldDefinition | undefined {\n const type = defs.types[typeName];\n if (!type) {\n return undefined;\n }\n if (type[0] === TypeKind.OBJECT) {\n return type[ObjectKeys.fields]?.[fieldName];\n }\n if (type[0] === TypeKind.INTERFACE) {\n return type[InterfaceKeys.fields]?.[fieldName];\n }\n return undefined;\n}\n\nfunction findInterfaceField(\n defs: SchemaDefinitions,\n typeName: TypeName,\n fieldName: string,\n) {\n const type = defs.types[typeName];\n if (!type) {\n return undefined;\n }\n if (type[0] === TypeKind.OBJECT && type[ObjectKeys.interfaces]) {\n return findField(defs, type[ObjectKeys.interfaces], fieldName);\n }\n if (type[0] === TypeKind.INTERFACE && type[InterfaceKeys.interfaces]) {\n return findField(defs, type[InterfaceKeys.interfaces], fieldName);\n }\n return undefined;\n}\n\nfunction findField(\n defs: SchemaDefinitions,\n interfaceTypes: TypeName[],\n fieldName: string,\n) {\n // TODO: merge field definition from all interface types to ensure all necessary arguments are present\n // (or maybe instead always encode all arguments in the schema fragment for simplicity?)\n for (const interfaceName of interfaceTypes) {\n const ownField = getOwnField(defs, interfaceName, fieldName);\n if (ownField !== undefined) {\n return ownField;\n }\n }\n return undefined;\n}\n\nexport function getInputObjectType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): InputObjectTypeDefinitionTuple | undefined {\n const type = defs.types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.INPUT ? type : undefined;\n}\n\nexport function getLeafType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): EnumTypeDefinitionTuple | ScalarTypeDefinitionTuple | undefined {\n const typeName = typeNameFromReference(typeRef);\n\n if (isSpecifiedScalarType(typeName)) {\n return specifiedScalarDefinition;\n }\n const type = defs.types[typeName];\n if (type?.[0] !== TypeKind.ENUM && type?.[0] !== TypeKind.SCALAR) {\n return undefined;\n }\n return type;\n}\n\nexport function isDefined(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): boolean {\n if (typeof typeRef === \"number\") {\n // Fast-path: spec type\n return true;\n }\n const types = defs.types;\n const typeName = typeNameFromReference(typeRef);\n return !!types[typeName] || isSpecifiedScalarType(typeName);\n}\n\nexport function isInputType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): boolean {\n if (typeof typeRef === \"number\") {\n // Fast-path: all spec types are input types\n return true;\n }\n const typeName = typeNameFromReference(typeRef);\n const kind = defs.types[typeName]?.[0];\n return (\n isSpecifiedScalarType(typeName) ||\n kind === TypeKind.ENUM ||\n kind === TypeKind.INPUT ||\n kind === TypeKind.SCALAR\n );\n}\n\nexport function isObjectType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): boolean {\n if (typeof typeRef === \"number\") {\n // Fast-path: all spec types are scalars\n return false;\n }\n const types = defs.types;\n const type = types[typeRef] ?? types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.OBJECT;\n}\n\nexport function isAbstractType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): boolean {\n if (typeof typeRef === \"number\") {\n // Fast-path: all spec types are scalars\n return false;\n }\n const type =\n defs.types[typeRef] ?? defs.types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.UNION || type?.[0] === TypeKind.INTERFACE;\n}\n\nexport function getUnionType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): UnionTypeDefinitionTuple | undefined {\n const types = defs.types;\n const type = types[typeRef] ?? types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.UNION ? type : undefined;\n}\n\nexport function getInterfaceType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): InterfaceTypeDefinitionTuple | undefined {\n const types = defs.types;\n const type = types[typeRef] ?? types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.INTERFACE ? type : undefined;\n}\n\nexport function isSubType(\n defs: SchemaDefinitions,\n abstractTypeName: TypeName,\n maybeSubTypeName: TypeName,\n): boolean {\n const union = getUnionType(defs, abstractTypeName);\n if (union) {\n return union[UnionKeys.types].includes(maybeSubTypeName);\n }\n const object = findObjectType(defs, maybeSubTypeName);\n if (object) {\n return !!object[ObjectKeys.interfaces]?.includes(abstractTypeName);\n }\n const iface = getInterfaceType(defs, maybeSubTypeName);\n if (iface) {\n return !!iface[InterfaceKeys.interfaces]?.includes(abstractTypeName);\n }\n return false;\n}\n\nexport function getDirectiveName(tuple: DirectiveDefinitionTuple): string {\n return tuple[DirectiveKeys.name];\n}\n\nexport function getDirectiveLocations(\n tuple: DirectiveDefinitionTuple,\n): DirectiveLocation[] {\n return tuple[DirectiveKeys.locations];\n}\n\nexport function encodeDirectiveLocation(\n location: DirectiveLocationEnum,\n): DirectiveLocation {\n return DirectiveLocation[location];\n}\nexport function decodeDirectiveLocation(\n location: DirectiveLocation,\n): DirectiveLocationEnum {\n return DirectiveLocationToGraphQL[location];\n}\n\nexport function isObjectTypeDefinition(\n type: TypeDefinitionTuple,\n): type is ObjectTypeDefinitionTuple {\n return type[0] === TypeKind.OBJECT;\n}\n\nexport function isUnionTypeDefinition(\n type: TypeDefinitionTuple,\n): type is UnionTypeDefinitionTuple {\n return type[0] === TypeKind.UNION;\n}\n\nexport function isInterfaceTypeDefinition(\n type: TypeDefinitionTuple,\n): type is InterfaceTypeDefinitionTuple {\n return type[0] === TypeKind.INTERFACE;\n}\n\nexport function isEnumTypeDefinition(\n type: TypeDefinitionTuple,\n): type is EnumTypeDefinitionTuple {\n return type[0] === TypeKind.ENUM;\n}\n\nexport function isScalarTypeDefinition(\n type: TypeDefinitionTuple,\n): type is ScalarTypeDefinitionTuple {\n return type[0] === TypeKind.SCALAR;\n}\n\nexport function isInputObjectTypeDefinition(\n type: TypeDefinitionTuple,\n): type is InputObjectTypeDefinitionTuple {\n return type[0] === TypeKind.INPUT;\n}\n\nexport function getInputValueTypeReference(\n inputValue: InputValueDefinition,\n): TypeReference {\n return Array.isArray(inputValue)\n ? inputValue[InputValueKeys.type]\n : inputValue;\n}\n\nexport function getInputObjectFields(\n obj: InputObjectTypeDefinitionTuple,\n): InputValueDefinitionRecord {\n return obj[InputObjectKeys.fields];\n}\n\nexport function getInputDefaultValue(\n inputValue: InputValueDefinition,\n): unknown | undefined {\n return Array.isArray(inputValue)\n ? inputValue[InputValueKeys.defaultValue]\n : undefined;\n}\n\nexport function getFields(\n def: ObjectTypeDefinitionTuple | InterfaceTypeDefinitionTuple,\n): FieldDefinitionRecord {\n return def[0] === TypeKind.OBJECT\n ? def[ObjectKeys.fields]\n : def[InterfaceKeys.fields];\n}\n\nexport function getFieldTypeReference(field: FieldDefinition): TypeReference {\n return Array.isArray(field) ? field[FieldKeys.type] : field;\n}\n\nexport function getFieldArgs(\n field: FieldDefinition,\n): InputValueDefinitionRecord | undefined {\n return Array.isArray(field) ? field[FieldKeys.arguments] : undefined;\n}\n\nexport function setFieldArgs(\n field: FieldDefinitionTuple,\n args: InputValueDefinitionRecord,\n): InputValueDefinitionRecord {\n field[FieldKeys.arguments] = args;\n return args;\n}\n\nexport function getEnumValues(tuple: EnumTypeDefinitionTuple): string[] {\n return tuple[EnumKeys.values];\n}\n\nexport function getDirectiveDefinitionArgs(\n directive: DirectiveDefinitionTuple,\n): InputValueDefinitionRecord | undefined {\n return directive[DirectiveKeys.arguments];\n}\n\nexport function setDirectiveDefinitionArgs(\n directive: DirectiveDefinitionTuple,\n args: InputValueDefinitionRecord,\n): InputValueDefinitionRecord {\n directive[DirectiveKeys.arguments] = args;\n return args;\n}\n\nexport function createUnionTypeDefinition(\n types: TypeName[],\n): UnionTypeDefinitionTuple {\n return [TypeKind.UNION, types];\n}\n\nexport function createInterfaceTypeDefinition(\n fields: FieldDefinitionRecord,\n interfaces?: TypeName[],\n): InterfaceTypeDefinitionTuple {\n return interfaces?.length\n ? [TypeKind.INTERFACE, fields, interfaces]\n : [TypeKind.INTERFACE, fields];\n}\n\nexport function createObjectTypeDefinition(\n fields: FieldDefinitionRecord,\n interfaces?: TypeName[],\n): ObjectTypeDefinitionTuple {\n return interfaces?.length\n ? [TypeKind.OBJECT, fields, interfaces]\n : [TypeKind.OBJECT, fields];\n}\n\nexport function createInputObjectTypeDefinition(\n fields: InputValueDefinitionRecord,\n): InputObjectTypeDefinitionTuple {\n return [TypeKind.INPUT, fields];\n}\n\nexport function createEnumTypeDefinition(\n values: string[],\n): EnumTypeDefinitionTuple {\n return [TypeKind.ENUM, values];\n}\n\nexport function createScalarTypeDefinition(): ScalarTypeDefinitionTuple {\n return [TypeKind.SCALAR];\n}\n\nexport function getObjectTypeInterfaces(\n def: ObjectTypeDefinitionTuple,\n): TypeName[] {\n return def[ObjectKeys.interfaces] ?? [];\n}\n\nexport function getInterfaceTypeInterfaces(\n def: InterfaceTypeDefinitionTuple,\n): TypeName[] {\n return def[InterfaceKeys.interfaces] ?? [];\n}\n\nexport function getUnionTypeMembers(\n tuple: UnionTypeDefinitionTuple,\n): TypeName[] {\n return tuple[UnionKeys.types];\n}\n\nexport function getFieldArguments(\n def: FieldDefinition,\n): InputValueDefinitionRecord | undefined {\n return Array.isArray(def) ? def[FieldKeys.arguments] : undefined;\n}\n\nexport function getDirectiveArguments(\n def: DirectiveDefinitionTuple,\n): InputValueDefinitionRecord | undefined {\n return Array.isArray(def) ? def[DirectiveKeys.arguments] : undefined;\n}\n"],
|
|
5
|
-
"mappings": ";AAAA;AAAA,EACE,qBAAqB;AAAA,OAEhB;AACP,SAAS,6BAA6B;AACtC,SAAkC,6BAA6B;
|
|
4
|
+
"sourcesContent": ["import {\n DirectiveLocation as GraphQLDirectiveLocation,\n DirectiveLocationEnum,\n} from \"graphql\";\nimport { isSpecifiedScalarType } from \"./resolvers\";\nimport { TypeName, TypeReference, typeNameFromReference } from \"./reference\";\n\n// Perf: const enums are inlined in the build (+small integers are stored on the stack in v8)\n// IMPORTANT: const enums MUST NOT be exported, otherwise esbuild struggles to inline them: use exported functions\nconst enum TypeKind {\n SCALAR = 1,\n OBJECT = 2,\n INTERFACE = 3,\n UNION = 4,\n ENUM = 5,\n INPUT = 6,\n}\n\nexport type ScalarTypeDefinitionTuple = [\n kind: TypeKind.SCALAR,\n metadata?: TypeDefinitionMetadata,\n];\n\nconst enum ScalarKeys {\n metadata = 1,\n}\n\nexport type Description = {\n value: string;\n block?: boolean;\n};\nexport interface TypeDefinitionMetadata {\n directives?: DirectiveTuple[];\n description?: Description;\n}\n\nexport type EnumTypeDefinitionMetadata = TypeDefinitionMetadata & {\n values?: Record<string, TypeDefinitionMetadata>;\n};\n\nexport type DirectiveDefinitionMetadata = {\n repeatable?: boolean;\n description?: Description;\n};\n\nexport type ObjectTypeDefinitionTuple = [\n kind: TypeKind.OBJECT,\n fields: FieldDefinitionRecord,\n interfaces?: TypeName[],\n metadata?: TypeDefinitionMetadata,\n];\nconst enum ObjectKeys {\n fields = 1,\n interfaces = 2,\n metadata = 3,\n}\n\nexport type InterfaceTypeDefinitionTuple = [\n kind: TypeKind.INTERFACE,\n fields: FieldDefinitionRecord,\n interfaces?: TypeName[],\n metadata?: TypeDefinitionMetadata,\n];\nconst enum InterfaceKeys {\n fields = 1,\n interfaces = 2,\n metadata = 3,\n}\n\nexport type UnionTypeDefinitionTuple = [\n kind: TypeKind.UNION,\n types: TypeName[],\n metadata?: TypeDefinitionMetadata,\n];\nconst enum UnionKeys {\n types = 1,\n metadata = 2,\n}\n\nexport type EnumTypeDefinitionTuple = [\n kind: TypeKind.ENUM,\n values: string[],\n metadata?: EnumTypeDefinitionMetadata,\n];\nconst enum EnumKeys {\n values = 1,\n metadata = 2,\n}\n\nexport type InputObjectTypeDefinitionTuple = [\n kind: TypeKind.INPUT,\n fields: InputValueDefinitionRecord,\n metadata?: TypeDefinitionMetadata,\n];\nconst enum InputObjectKeys {\n fields = 1,\n metadata = 2,\n}\n\nexport type TypeDefinitionTuple =\n | ScalarTypeDefinitionTuple\n | ObjectTypeDefinitionTuple\n | InterfaceTypeDefinitionTuple\n | UnionTypeDefinitionTuple\n | EnumTypeDefinitionTuple\n | InputObjectTypeDefinitionTuple;\n\nexport type CompositeTypeTuple =\n | ObjectTypeDefinitionTuple\n | InterfaceTypeDefinitionTuple\n | UnionTypeDefinitionTuple;\n\nexport type FieldDefinitionTuple = [\n type: TypeReference,\n // TODO should I really do it ?\n arguments?: InputValueDefinitionRecord,\n metadata?: TypeDefinitionMetadata,\n];\nconst enum FieldKeys {\n type = 0,\n arguments = 1,\n metadata = 2,\n}\nexport type FieldDefinition = TypeReference | FieldDefinitionTuple;\nexport type FieldDefinitionRecord = Record<string, FieldDefinition>;\n\nexport type InputValueDefinitionTuple = [\n type: TypeReference,\n defaultValue: unknown,\n metadata?: DirectiveDefinitionMetadata,\n];\nconst enum InputValueKeys {\n type = 0,\n defaultValue = 1,\n}\nexport type InputValueDefinition = TypeReference | InputValueDefinitionTuple;\nexport type InputValueDefinitionRecord = Record<string, InputValueDefinition>;\n\nconst DirectiveLocation = {\n QUERY: 1,\n MUTATION: 2,\n SUBSCRIPTION: 3,\n FIELD: 4,\n FRAGMENT_DEFINITION: 5,\n FRAGMENT_SPREAD: 6,\n INLINE_FRAGMENT: 7,\n VARIABLE_DEFINITION: 8,\n /** Type System Definitions */\n SCHEMA: 9,\n SCALAR: 10,\n OBJECT: 11,\n FIELD_DEFINITION: 12,\n ARGUMENT_DEFINITION: 13,\n INTERFACE: 14,\n UNION: 15,\n ENUM: 16,\n ENUM_VALUE: 17,\n INPUT_OBJECT: 18,\n INPUT_FIELD_DEFINITION: 19,\n} as const;\ntype DirectiveLocation =\n (typeof DirectiveLocation)[keyof typeof DirectiveLocation];\nconst DirectiveLocationToGraphQL = {\n 1: GraphQLDirectiveLocation.QUERY,\n 2: GraphQLDirectiveLocation.MUTATION,\n 3: GraphQLDirectiveLocation.SUBSCRIPTION,\n 4: GraphQLDirectiveLocation.FIELD,\n 5: GraphQLDirectiveLocation.FRAGMENT_DEFINITION,\n 6: GraphQLDirectiveLocation.FRAGMENT_SPREAD,\n 7: GraphQLDirectiveLocation.INLINE_FRAGMENT,\n 8: GraphQLDirectiveLocation.VARIABLE_DEFINITION,\n /** Type System Definitions */\n 9: GraphQLDirectiveLocation.SCHEMA,\n 10: GraphQLDirectiveLocation.SCALAR,\n 11: GraphQLDirectiveLocation.OBJECT,\n 12: GraphQLDirectiveLocation.FIELD_DEFINITION,\n 13: GraphQLDirectiveLocation.ARGUMENT_DEFINITION,\n 14: GraphQLDirectiveLocation.INTERFACE,\n 15: GraphQLDirectiveLocation.UNION,\n 16: GraphQLDirectiveLocation.ENUM,\n 17: GraphQLDirectiveLocation.ENUM_VALUE,\n 18: GraphQLDirectiveLocation.INPUT_OBJECT,\n 19: GraphQLDirectiveLocation.INPUT_FIELD_DEFINITION,\n} as const;\n\nexport type DirectiveName = string;\n\nexport type DirectiveTuple = [\n name: DirectiveName,\n arguments?: Record<string, unknown>, // JS values (cannot be a variable inside schema definition, so it is fine)\n];\nexport type DirectiveDefinitionTuple = [\n name: DirectiveName,\n locations: DirectiveLocation[],\n arguments?: InputValueDefinitionRecord,\n metadata?: DirectiveDefinitionMetadata,\n];\n\nconst enum DirectiveKeys {\n name = 0,\n arguments = 1,\n}\n\nconst enum DirectiveDefinitionKeys {\n name = 0,\n locations = 1,\n arguments = 2,\n metadata = 3,\n}\n\nexport type TypeDefinitionsRecord = Record<TypeName, TypeDefinitionTuple>;\nexport type InterfaceImplementationsRecord = Record<TypeName, TypeName[]>;\n\nexport type OperationTypes = {\n query?: TypeName;\n mutation?: TypeName;\n subscription?: TypeName;\n};\n\nexport type SchemaDefinitions = {\n types: TypeDefinitionsRecord;\n directives?: DirectiveDefinitionTuple[];\n // implementations?: InterfaceImplementationsRecord; // TODO?\n};\n\nconst typeNameMetaFieldDef: FieldDefinition = \"String\";\nconst specifiedScalarDefinition: ScalarTypeDefinitionTuple = [TypeKind.SCALAR];\n\nexport function getTypeDefinitionMetadataIndex(\n typeDefinition: TypeDefinitionTuple,\n): number | undefined {\n if (isObjectTypeDefinition(typeDefinition)) {\n return ObjectKeys.metadata;\n } else if (isScalarTypeDefinition(typeDefinition)) {\n return ScalarKeys.metadata;\n } else if (isEnumTypeDefinition(typeDefinition)) {\n return EnumKeys.metadata;\n } else if (isInterfaceTypeDefinition(typeDefinition)) {\n return InterfaceKeys.metadata;\n } else if (isInputObjectTypeDefinition(typeDefinition)) {\n return InputObjectKeys.metadata;\n } else if (isUnionTypeDefinition(typeDefinition)) {\n return UnionKeys.metadata;\n }\n}\n\nexport function getTypeDefinitionMetadata(typeDefinition: TypeDefinitionTuple) {\n if (isObjectTypeDefinition(typeDefinition)) {\n return getObjectTypeMetadata(typeDefinition);\n } else if (isScalarTypeDefinition(typeDefinition)) {\n return getScalarTypeMetadata(typeDefinition);\n } else if (isEnumTypeDefinition(typeDefinition)) {\n return getEnumMetadata(typeDefinition);\n } else if (isInterfaceTypeDefinition(typeDefinition)) {\n return getInterfaceTypeMetadata(typeDefinition);\n } else if (isInputObjectTypeDefinition(typeDefinition)) {\n return getInputTypeMetadata(typeDefinition);\n } else if (isUnionTypeDefinition(typeDefinition)) {\n return getUnionTypeMetadata(typeDefinition);\n }\n}\n\nexport function findObjectType(\n defs: SchemaDefinitions,\n typeName: TypeName,\n): ObjectTypeDefinitionTuple | undefined {\n const type = defs.types[typeName];\n return type?.[0] === TypeKind.OBJECT ? type : undefined;\n}\n\nexport function getObjectFields(\n def: ObjectTypeDefinitionTuple,\n): FieldDefinitionRecord {\n return def[ObjectKeys.fields];\n}\n\nexport function addInterfaceImplementation(\n defs: SchemaDefinitions,\n interfaceType: TypeName,\n objectType: TypeName,\n) {\n const iface = getInterfaceType(defs, interfaceType);\n const type = defs.types[objectType];\n\n if (!iface) {\n throw new Error(\n `Type ${interfaceType} either doesn't exist or is not an interface`,\n );\n }\n if (type && !isObjectTypeDefinition(type)) {\n throw new Error(`Type ${objectType} is not an object type`);\n }\n if (!type) {\n defs.types[objectType] = [\n TypeKind.OBJECT,\n Object.create(null),\n [interfaceType],\n ];\n return;\n }\n let knownInterfaces = type[ObjectKeys.interfaces];\n if (!knownInterfaces) {\n knownInterfaces = [];\n type[ObjectKeys.interfaces] = knownInterfaces;\n }\n if (!knownInterfaces.includes(interfaceType)) {\n knownInterfaces.push(interfaceType);\n }\n}\n\nexport function getField(\n defs: SchemaDefinitions,\n typeName: TypeName,\n fieldName: string,\n) {\n if (fieldName === \"__typename\") {\n return typeNameMetaFieldDef;\n }\n return (\n getOwnField(defs, typeName, fieldName) ??\n findInterfaceField(defs, typeName, fieldName)\n );\n}\n\nfunction getOwnField(\n defs: SchemaDefinitions,\n typeName: TypeName,\n fieldName: string,\n): FieldDefinition | undefined {\n const type = defs.types[typeName];\n if (!type) {\n return undefined;\n }\n if (type[0] === TypeKind.OBJECT) {\n return type[ObjectKeys.fields]?.[fieldName];\n }\n if (type[0] === TypeKind.INTERFACE) {\n return type[InterfaceKeys.fields]?.[fieldName];\n }\n return undefined;\n}\n\nfunction findInterfaceField(\n defs: SchemaDefinitions,\n typeName: TypeName,\n fieldName: string,\n) {\n const type = defs.types[typeName];\n if (!type) {\n return undefined;\n }\n if (type[0] === TypeKind.OBJECT && type[ObjectKeys.interfaces]) {\n return findField(defs, type[ObjectKeys.interfaces], fieldName);\n }\n if (type[0] === TypeKind.INTERFACE && type[InterfaceKeys.interfaces]) {\n return findField(defs, type[InterfaceKeys.interfaces], fieldName);\n }\n return undefined;\n}\n\nfunction findField(\n defs: SchemaDefinitions,\n interfaceTypes: TypeName[],\n fieldName: string,\n) {\n // TODO: merge field definition from all interface types to ensure all necessary arguments are present\n // (or maybe instead always encode all arguments in the schema fragment for simplicity?)\n for (const interfaceName of interfaceTypes) {\n const ownField = getOwnField(defs, interfaceName, fieldName);\n if (ownField !== undefined) {\n return ownField;\n }\n }\n return undefined;\n}\n\nexport function getInputObjectType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): InputObjectTypeDefinitionTuple | undefined {\n const type = defs.types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.INPUT ? type : undefined;\n}\n\nexport function getLeafType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): EnumTypeDefinitionTuple | ScalarTypeDefinitionTuple | undefined {\n const typeName = typeNameFromReference(typeRef);\n\n if (isSpecifiedScalarType(typeName)) {\n return specifiedScalarDefinition;\n }\n const type = defs.types[typeName];\n if (type?.[0] !== TypeKind.ENUM && type?.[0] !== TypeKind.SCALAR) {\n return undefined;\n }\n return type;\n}\n\nexport function isDefined(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): boolean {\n if (typeof typeRef === \"number\") {\n // Fast-path: spec type\n return true;\n }\n const types = defs.types;\n const typeName = typeNameFromReference(typeRef);\n return !!types[typeName] || isSpecifiedScalarType(typeName);\n}\n\nexport function isInputType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): boolean {\n if (typeof typeRef === \"number\") {\n // Fast-path: all spec types are input types\n return true;\n }\n const typeName = typeNameFromReference(typeRef);\n const kind = defs.types[typeName]?.[0];\n return (\n isSpecifiedScalarType(typeName) ||\n kind === TypeKind.ENUM ||\n kind === TypeKind.INPUT ||\n kind === TypeKind.SCALAR\n );\n}\n\nexport function isObjectType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): boolean {\n if (typeof typeRef === \"number\") {\n // Fast-path: all spec types are scalars\n return false;\n }\n const types = defs.types;\n const type = types[typeRef] ?? types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.OBJECT;\n}\n\nexport function isAbstractType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): boolean {\n if (typeof typeRef === \"number\") {\n // Fast-path: all spec types are scalars\n return false;\n }\n const type =\n defs.types[typeRef] ?? defs.types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.UNION || type?.[0] === TypeKind.INTERFACE;\n}\n\nexport function getUnionType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): UnionTypeDefinitionTuple | undefined {\n const types = defs.types;\n const type = types[typeRef] ?? types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.UNION ? type : undefined;\n}\n\nexport function getInterfaceType(\n defs: SchemaDefinitions,\n typeRef: TypeReference,\n): InterfaceTypeDefinitionTuple | undefined {\n const types = defs.types;\n const type = types[typeRef] ?? types[typeNameFromReference(typeRef)];\n return type?.[0] === TypeKind.INTERFACE ? type : undefined;\n}\n\nexport function isSubType(\n defs: SchemaDefinitions,\n abstractTypeName: TypeName,\n maybeSubTypeName: TypeName,\n): boolean {\n const union = getUnionType(defs, abstractTypeName);\n if (union) {\n return union[UnionKeys.types].includes(maybeSubTypeName);\n }\n const object = findObjectType(defs, maybeSubTypeName);\n if (object) {\n return !!object[ObjectKeys.interfaces]?.includes(abstractTypeName);\n }\n const iface = getInterfaceType(defs, maybeSubTypeName);\n if (iface) {\n return !!iface[InterfaceKeys.interfaces]?.includes(abstractTypeName);\n }\n return false;\n}\n\nexport function getDirectiveDefinitionName(\n tuple: DirectiveDefinitionTuple,\n): string {\n return tuple[DirectiveDefinitionKeys.name];\n}\n\nexport function getDirectiveDefinitionLocations(\n tuple: DirectiveDefinitionTuple,\n): DirectiveLocation[] {\n return tuple[DirectiveDefinitionKeys.locations];\n}\n\nexport function encodeDirectiveLocation(\n location: DirectiveLocationEnum,\n): DirectiveLocation {\n return DirectiveLocation[location];\n}\nexport function decodeDirectiveLocation(\n location: DirectiveLocation,\n): DirectiveLocationEnum {\n return DirectiveLocationToGraphQL[location];\n}\n\nexport function isObjectTypeDefinition(\n type: TypeDefinitionTuple,\n): type is ObjectTypeDefinitionTuple {\n return type[0] === TypeKind.OBJECT;\n}\n\nexport function isUnionTypeDefinition(\n type: TypeDefinitionTuple,\n): type is UnionTypeDefinitionTuple {\n return type[0] === TypeKind.UNION;\n}\n\nexport function isInterfaceTypeDefinition(\n type: TypeDefinitionTuple,\n): type is InterfaceTypeDefinitionTuple {\n return type[0] === TypeKind.INTERFACE;\n}\n\nexport function isEnumTypeDefinition(\n type: TypeDefinitionTuple,\n): type is EnumTypeDefinitionTuple {\n return type[0] === TypeKind.ENUM;\n}\n\nexport function isScalarTypeDefinition(\n type: TypeDefinitionTuple,\n): type is ScalarTypeDefinitionTuple {\n return type[0] === TypeKind.SCALAR;\n}\n\nexport function isInputObjectTypeDefinition(\n type: TypeDefinitionTuple,\n): type is InputObjectTypeDefinitionTuple {\n return type[0] === TypeKind.INPUT;\n}\n\nexport function getInputValueTypeReference(\n inputValue: InputValueDefinition,\n): TypeReference {\n return Array.isArray(inputValue)\n ? inputValue[InputValueKeys.type]\n : inputValue;\n}\n\nexport function getInputObjectFields(\n obj: InputObjectTypeDefinitionTuple,\n): InputValueDefinitionRecord {\n return obj[InputObjectKeys.fields];\n}\n\nexport function getInputDefaultValue(\n inputValue: InputValueDefinition,\n): unknown | undefined {\n return Array.isArray(inputValue)\n ? inputValue[InputValueKeys.defaultValue]\n : undefined;\n}\n\nexport function getFields(\n def: ObjectTypeDefinitionTuple | InterfaceTypeDefinitionTuple,\n): FieldDefinitionRecord {\n return def[0] === TypeKind.OBJECT\n ? def[ObjectKeys.fields]\n : def[InterfaceKeys.fields];\n}\n\nexport function getFieldTypeReference(field: FieldDefinition): TypeReference {\n return Array.isArray(field) ? field[FieldKeys.type] : field;\n}\n\nexport function getFieldArgs(\n field: FieldDefinition,\n): InputValueDefinitionRecord | undefined {\n return Array.isArray(field) ? field[FieldKeys.arguments] : undefined;\n}\n\nexport function getFieldMetadata(\n field: FieldDefinition,\n): TypeDefinitionMetadata | undefined {\n return Array.isArray(field) ? field[FieldKeys.metadata] : undefined;\n}\n\nexport function setFieldArgs(\n field: FieldDefinitionTuple,\n args: InputValueDefinitionRecord,\n): InputValueDefinitionRecord {\n field[FieldKeys.arguments] = args;\n return args;\n}\n\nexport function setFieldDirectives(\n field: FieldDefinitionTuple,\n args: TypeDefinitionMetadata,\n): TypeDefinitionMetadata {\n field[FieldKeys.metadata] = args;\n return args;\n}\n\nexport function getEnumValues(tuple: EnumTypeDefinitionTuple): string[] {\n return tuple[EnumKeys.values];\n}\n\nexport function getEnumMetadata(\n tuple: EnumTypeDefinitionTuple,\n): EnumTypeDefinitionMetadata | undefined {\n return tuple[EnumKeys.metadata];\n}\n\nexport function getDirectiveDefinitionArgs(\n directive: DirectiveDefinitionTuple,\n): InputValueDefinitionRecord | undefined {\n return Array.isArray(directive)\n ? directive[DirectiveDefinitionKeys.arguments]\n : undefined;\n}\n\nexport function setDirectiveDefinitionArgs(\n directive: DirectiveDefinitionTuple,\n args: InputValueDefinitionRecord,\n): InputValueDefinitionRecord {\n directive[DirectiveDefinitionKeys.arguments] = args;\n return args;\n}\n\nexport function createUnionTypeDefinition(\n types: TypeName[],\n metadata?: TypeDefinitionMetadata,\n): UnionTypeDefinitionTuple {\n if (metadata) {\n return [TypeKind.UNION, types, metadata];\n }\n\n return [TypeKind.UNION, types];\n}\n\nexport function createInterfaceTypeDefinition(\n fields: FieldDefinitionRecord,\n interfaces?: TypeName[],\n metadata?: TypeDefinitionMetadata,\n): InterfaceTypeDefinitionTuple {\n if (!interfaces?.length && !metadata) {\n return [TypeKind.INTERFACE, fields];\n }\n\n if (interfaces?.length && !metadata) {\n return [TypeKind.INTERFACE, fields, interfaces];\n }\n\n return [TypeKind.INTERFACE, fields, interfaces, metadata];\n}\n\nexport function createObjectTypeDefinition(\n fields: FieldDefinitionRecord,\n interfaces?: TypeName[],\n metadata?: TypeDefinitionMetadata,\n): ObjectTypeDefinitionTuple {\n if (!interfaces?.length && !metadata) {\n return [TypeKind.OBJECT, fields];\n }\n\n if (interfaces?.length && !metadata) {\n return [TypeKind.OBJECT, fields, interfaces];\n }\n\n return [TypeKind.OBJECT, fields, interfaces, metadata];\n}\n\nexport function createInputObjectTypeDefinition(\n fields: InputValueDefinitionRecord,\n metadata?: TypeDefinitionMetadata,\n): InputObjectTypeDefinitionTuple {\n if (metadata) {\n return [TypeKind.INPUT, fields, metadata];\n }\n\n return [TypeKind.INPUT, fields];\n}\n\nexport function createEnumTypeDefinition(\n values: string[],\n metadata?: EnumTypeDefinitionMetadata,\n): EnumTypeDefinitionTuple {\n if (metadata) {\n return [TypeKind.ENUM, values, metadata];\n }\n\n return [TypeKind.ENUM, values];\n}\n\nexport function createScalarTypeDefinition(\n metadata?: TypeDefinitionMetadata,\n): ScalarTypeDefinitionTuple {\n if (metadata) {\n return [TypeKind.SCALAR, metadata];\n }\n\n return [TypeKind.SCALAR];\n}\n\nexport function getScalarTypeMetadata(\n def: ScalarTypeDefinitionTuple,\n): TypeDefinitionMetadata | undefined {\n return def[ScalarKeys.metadata];\n}\n\nexport function getObjectTypeMetadata(\n def: ObjectTypeDefinitionTuple,\n): TypeDefinitionMetadata | undefined {\n return def[ObjectKeys.metadata];\n}\n\nexport function getObjectTypeInterfaces(\n def: ObjectTypeDefinitionTuple,\n): TypeName[] {\n return def[ObjectKeys.interfaces] ?? [];\n}\n\nexport function getInterfaceTypeInterfaces(\n def: InterfaceTypeDefinitionTuple,\n): TypeName[] {\n return def[InterfaceKeys.interfaces] ?? [];\n}\n\nexport function getInterfaceTypeMetadata(\n def: InterfaceTypeDefinitionTuple,\n): TypeDefinitionMetadata | undefined {\n return def[InterfaceKeys.metadata];\n}\n\nexport function getInputTypeMetadata(\n def: InputObjectTypeDefinitionTuple,\n): TypeDefinitionMetadata | undefined {\n return def[InputObjectKeys.metadata];\n}\n\nexport function getUnionTypeMembers(\n tuple: UnionTypeDefinitionTuple,\n): TypeName[] {\n return tuple[UnionKeys.types];\n}\n\nexport function getUnionTypeMetadata(\n def: UnionTypeDefinitionTuple,\n): TypeDefinitionMetadata | undefined {\n return def[UnionKeys.metadata];\n}\n\nexport function getFieldArguments(\n def: FieldDefinition,\n): InputValueDefinitionRecord | undefined {\n return Array.isArray(def) ? def[FieldKeys.arguments] : undefined;\n}\n\nexport function getDirectiveDefinitionMetadata(\n def: DirectiveDefinitionTuple,\n): DirectiveDefinitionMetadata | undefined {\n return Array.isArray(def) ? def[DirectiveDefinitionKeys.metadata] : undefined;\n}\n\nexport function getDirectiveName(tuple: DirectiveTuple): string {\n return tuple[DirectiveKeys.name];\n}\n"],
|
|
5
|
+
"mappings": ";AAAA;AAAA,EACE,qBAAqB;AAAA,OAEhB;AACP,SAAS,6BAA6B;AACtC,SAAkC,6BAA6B;AAqI/D,IAAM,oBAAoB;AAAA,EACxB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,OAAO;AAAA,EACP,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA;AAAA,EAErB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,wBAAwB;AAC1B;AAGA,IAAM,6BAA6B;AAAA,EACjC,GAAG,yBAAyB;AAAA,EAC5B,GAAG,yBAAyB;AAAA,EAC5B,GAAG,yBAAyB;AAAA,EAC5B,GAAG,yBAAyB;AAAA,EAC5B,GAAG,yBAAyB;AAAA,EAC5B,GAAG,yBAAyB;AAAA,EAC5B,GAAG,yBAAyB;AAAA,EAC5B,GAAG,yBAAyB;AAAA;AAAA,EAE5B,GAAG,yBAAyB;AAAA,EAC5B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAAA,EAC7B,IAAI,yBAAyB;AAC/B;AA0CA,IAAM,uBAAwC;AAC9C,IAAM,4BAAuD,CAAC,cAAe;AAEtE,SAAS,+BACd,gBACoB;AACpB,MAAI,uBAAuB,cAAc,GAAG;AAC1C,WAAO;AAAA,EACT,WAAW,uBAAuB,cAAc,GAAG;AACjD,WAAO;AAAA,EACT,WAAW,qBAAqB,cAAc,GAAG;AAC/C,WAAO;AAAA,EACT,WAAW,0BAA0B,cAAc,GAAG;AACpD,WAAO;AAAA,EACT,WAAW,4BAA4B,cAAc,GAAG;AACtD,WAAO;AAAA,EACT,WAAW,sBAAsB,cAAc,GAAG;AAChD,WAAO;AAAA,EACT;AACF;AAEO,SAAS,0BAA0B,gBAAqC;AAC7E,MAAI,uBAAuB,cAAc,GAAG;AAC1C,WAAO,sBAAsB,cAAc;AAAA,EAC7C,WAAW,uBAAuB,cAAc,GAAG;AACjD,WAAO,sBAAsB,cAAc;AAAA,EAC7C,WAAW,qBAAqB,cAAc,GAAG;AAC/C,WAAO,gBAAgB,cAAc;AAAA,EACvC,WAAW,0BAA0B,cAAc,GAAG;AACpD,WAAO,yBAAyB,cAAc;AAAA,EAChD,WAAW,4BAA4B,cAAc,GAAG;AACtD,WAAO,qBAAqB,cAAc;AAAA,EAC5C,WAAW,sBAAsB,cAAc,GAAG;AAChD,WAAO,qBAAqB,cAAc;AAAA,EAC5C;AACF;AAEO,SAAS,eACd,MACA,UACuC;AACvC,QAAM,OAAO,KAAK,MAAM,QAAQ;AAChC,UAAO,6BAAO,QAAO,iBAAkB,OAAO;AAChD;AAEO,SAAS,gBACd,KACuB;AACvB,SAAO,IAAI,cAAiB;AAC9B;AAEO,SAAS,2BACd,MACA,eACA,YACA;AACA,QAAM,QAAQ,iBAAiB,MAAM,aAAa;AAClD,QAAM,OAAO,KAAK,MAAM,UAAU;AAElC,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AACA,MAAI,QAAQ,CAAC,uBAAuB,IAAI,GAAG;AACzC,UAAM,IAAI,MAAM,QAAQ,kCAAkC;AAAA,EAC5D;AACA,MAAI,CAAC,MAAM;AACT,SAAK,MAAM,UAAU,IAAI;AAAA,MACvB;AAAA,MACA,uBAAO,OAAO,IAAI;AAAA,MAClB,CAAC,aAAa;AAAA,IAChB;AACA;AAAA,EACF;AACA,MAAI,kBAAkB,KAAK,kBAAqB;AAChD,MAAI,CAAC,iBAAiB;AACpB,sBAAkB,CAAC;AACnB,SAAK,kBAAqB,IAAI;AAAA,EAChC;AACA,MAAI,CAAC,gBAAgB,SAAS,aAAa,GAAG;AAC5C,oBAAgB,KAAK,aAAa;AAAA,EACpC;AACF;AAEO,SAAS,SACd,MACA,UACA,WACA;AA1TF;AA2TE,MAAI,cAAc,cAAc;AAC9B,WAAO;AAAA,EACT;AACA,UACE,iBAAY,MAAM,UAAU,SAAS,MAArC,YACA,mBAAmB,MAAM,UAAU,SAAS;AAEhD;AAEA,SAAS,YACP,MACA,UACA,WAC6B;AAxU/B;AAyUE,QAAM,OAAO,KAAK,MAAM,QAAQ;AAChC,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,MAAI,KAAK,CAAC,MAAM,gBAAiB;AAC/B,YAAO,UAAK,cAAiB,MAAtB,mBAA0B;AAAA,EACnC;AACA,MAAI,KAAK,CAAC,MAAM,mBAAoB;AAClC,YAAO,UAAK,cAAoB,MAAzB,mBAA6B;AAAA,EACtC;AACA,SAAO;AACT;AAEA,SAAS,mBACP,MACA,UACA,WACA;AACA,QAAM,OAAO,KAAK,MAAM,QAAQ;AAChC,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,MAAI,KAAK,CAAC,MAAM,kBAAmB,KAAK,kBAAqB,GAAG;AAC9D,WAAO,UAAU,MAAM,KAAK,kBAAqB,GAAG,SAAS;AAAA,EAC/D;AACA,MAAI,KAAK,CAAC,MAAM,qBAAsB,KAAK,kBAAwB,GAAG;AACpE,WAAO,UAAU,MAAM,KAAK,kBAAwB,GAAG,SAAS;AAAA,EAClE;AACA,SAAO;AACT;AAEA,SAAS,UACP,MACA,gBACA,WACA;AAGA,aAAW,iBAAiB,gBAAgB;AAC1C,UAAM,WAAW,YAAY,MAAM,eAAe,SAAS;AAC3D,QAAI,aAAa,QAAW;AAC1B,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,mBACd,MACA,SAC4C;AAC5C,QAAM,OAAO,KAAK,MAAM,sBAAsB,OAAO,CAAC;AACtD,UAAO,6BAAO,QAAO,gBAAiB,OAAO;AAC/C;AAEO,SAAS,YACd,MACA,SACiE;AACjE,QAAM,WAAW,sBAAsB,OAAO;AAE9C,MAAI,sBAAsB,QAAQ,GAAG;AACnC,WAAO;AAAA,EACT;AACA,QAAM,OAAO,KAAK,MAAM,QAAQ;AAChC,OAAI,6BAAO,QAAO,iBAAiB,6BAAO,QAAO,gBAAiB;AAChE,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,UACd,MACA,SACS;AACT,MAAI,OAAO,YAAY,UAAU;AAE/B,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,KAAK;AACnB,QAAM,WAAW,sBAAsB,OAAO;AAC9C,SAAO,CAAC,CAAC,MAAM,QAAQ,KAAK,sBAAsB,QAAQ;AAC5D;AAEO,SAAS,YACd,MACA,SACS;AAhaX;AAiaE,MAAI,OAAO,YAAY,UAAU;AAE/B,WAAO;AAAA,EACT;AACA,QAAM,WAAW,sBAAsB,OAAO;AAC9C,QAAM,QAAO,UAAK,MAAM,QAAQ,MAAnB,mBAAuB;AACpC,SACE,sBAAsB,QAAQ,KAC9B,SAAS,gBACT,SAAS,iBACT,SAAS;AAEb;AAEO,SAAS,aACd,MACA,SACS;AAlbX;AAmbE,MAAI,OAAO,YAAY,UAAU;AAE/B,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,KAAK;AACnB,QAAM,QAAO,WAAM,OAAO,MAAb,YAAkB,MAAM,sBAAsB,OAAO,CAAC;AACnE,UAAO,6BAAO,QAAO;AACvB;AAEO,SAAS,eACd,MACA,SACS;AA/bX;AAgcE,MAAI,OAAO,YAAY,UAAU;AAE/B,WAAO;AAAA,EACT;AACA,QAAM,QACJ,UAAK,MAAM,OAAO,MAAlB,YAAuB,KAAK,MAAM,sBAAsB,OAAO,CAAC;AAClE,UAAO,6BAAO,QAAO,kBAAkB,6BAAO,QAAO;AACvD;AAEO,SAAS,aACd,MACA,SACsC;AA5cxC;AA6cE,QAAM,QAAQ,KAAK;AACnB,QAAM,QAAO,WAAM,OAAO,MAAb,YAAkB,MAAM,sBAAsB,OAAO,CAAC;AACnE,UAAO,6BAAO,QAAO,gBAAiB,OAAO;AAC/C;AAEO,SAAS,iBACd,MACA,SAC0C;AArd5C;AAsdE,QAAM,QAAQ,KAAK;AACnB,QAAM,QAAO,WAAM,OAAO,MAAb,YAAkB,MAAM,sBAAsB,OAAO,CAAC;AACnE,UAAO,6BAAO,QAAO,oBAAqB,OAAO;AACnD;AAEO,SAAS,UACd,MACA,kBACA,kBACS;AA/dX;AAgeE,QAAM,QAAQ,aAAa,MAAM,gBAAgB;AACjD,MAAI,OAAO;AACT,WAAO,MAAM,aAAe,EAAE,SAAS,gBAAgB;AAAA,EACzD;AACA,QAAM,SAAS,eAAe,MAAM,gBAAgB;AACpD,MAAI,QAAQ;AACV,WAAO,CAAC,GAAC,YAAO,kBAAqB,MAA5B,mBAA+B,SAAS;AAAA,EACnD;AACA,QAAM,QAAQ,iBAAiB,MAAM,gBAAgB;AACrD,MAAI,OAAO;AACT,WAAO,CAAC,GAAC,WAAM,kBAAwB,MAA9B,mBAAiC,SAAS;AAAA,EACrD;AACA,SAAO;AACT;AAEO,SAAS,2BACd,OACQ;AACR,SAAO,MAAM,YAA4B;AAC3C;AAEO,SAAS,gCACd,OACqB;AACrB,SAAO,MAAM,iBAAiC;AAChD;AAEO,SAAS,wBACd,UACmB;AACnB,SAAO,kBAAkB,QAAQ;AACnC;AACO,SAAS,wBACd,UACuB;AACvB,SAAO,2BAA2B,QAAQ;AAC5C;AAEO,SAAS,uBACd,MACmC;AACnC,SAAO,KAAK,CAAC,MAAM;AACrB;AAEO,SAAS,sBACd,MACkC;AAClC,SAAO,KAAK,CAAC,MAAM;AACrB;AAEO,SAAS,0BACd,MACsC;AACtC,SAAO,KAAK,CAAC,MAAM;AACrB;AAEO,SAAS,qBACd,MACiC;AACjC,SAAO,KAAK,CAAC,MAAM;AACrB;AAEO,SAAS,uBACd,MACmC;AACnC,SAAO,KAAK,CAAC,MAAM;AACrB;AAEO,SAAS,4BACd,MACwC;AACxC,SAAO,KAAK,CAAC,MAAM;AACrB;AAEO,SAAS,2BACd,YACe;AACf,SAAO,MAAM,QAAQ,UAAU,IAC3B,WAAW,YAAmB,IAC9B;AACN;AAEO,SAAS,qBACd,KAC4B;AAC5B,SAAO,IAAI,cAAsB;AACnC;AAEO,SAAS,qBACd,YACqB;AACrB,SAAO,MAAM,QAAQ,UAAU,IAC3B,WAAW,oBAA2B,IACtC;AACN;AAEO,SAAS,UACd,KACuB;AACvB,SAAO,IAAI,CAAC,MAAM,iBACd,IAAI,cAAiB,IACrB,IAAI,cAAoB;AAC9B;AAEO,SAAS,sBAAsB,OAAuC;AAC3E,SAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,YAAc,IAAI;AACxD;AAEO,SAAS,aACd,OACwC;AACxC,SAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,iBAAmB,IAAI;AAC7D;AAEO,SAAS,iBACd,OACoC;AACpC,SAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,gBAAkB,IAAI;AAC5D;AAEO,SAAS,aACd,OACA,MAC4B;AAC5B,QAAM,iBAAmB,IAAI;AAC7B,SAAO;AACT;AAEO,SAAS,mBACd,OACA,MACwB;AACxB,QAAM,gBAAkB,IAAI;AAC5B,SAAO;AACT;AAEO,SAAS,cAAc,OAA0C;AACtE,SAAO,MAAM,cAAe;AAC9B;AAEO,SAAS,gBACd,OACwC;AACxC,SAAO,MAAM,gBAAiB;AAChC;AAEO,SAAS,2BACd,WACwC;AACxC,SAAO,MAAM,QAAQ,SAAS,IAC1B,UAAU,iBAAiC,IAC3C;AACN;AAEO,SAAS,2BACd,WACA,MAC4B;AAC5B,YAAU,iBAAiC,IAAI;AAC/C,SAAO;AACT;AAEO,SAAS,0BACd,OACA,UAC0B;AAC1B,MAAI,UAAU;AACZ,WAAO,CAAC,eAAgB,OAAO,QAAQ;AAAA,EACzC;AAEA,SAAO,CAAC,eAAgB,KAAK;AAC/B;AAEO,SAAS,8BACd,QACA,YACA,UAC8B;AAC9B,MAAI,EAAC,yCAAY,WAAU,CAAC,UAAU;AACpC,WAAO,CAAC,mBAAoB,MAAM;AAAA,EACpC;AAEA,OAAI,yCAAY,WAAU,CAAC,UAAU;AACnC,WAAO,CAAC,mBAAoB,QAAQ,UAAU;AAAA,EAChD;AAEA,SAAO,CAAC,mBAAoB,QAAQ,YAAY,QAAQ;AAC1D;AAEO,SAAS,2BACd,QACA,YACA,UAC2B;AAC3B,MAAI,EAAC,yCAAY,WAAU,CAAC,UAAU;AACpC,WAAO,CAAC,gBAAiB,MAAM;AAAA,EACjC;AAEA,OAAI,yCAAY,WAAU,CAAC,UAAU;AACnC,WAAO,CAAC,gBAAiB,QAAQ,UAAU;AAAA,EAC7C;AAEA,SAAO,CAAC,gBAAiB,QAAQ,YAAY,QAAQ;AACvD;AAEO,SAAS,gCACd,QACA,UACgC;AAChC,MAAI,UAAU;AACZ,WAAO,CAAC,eAAgB,QAAQ,QAAQ;AAAA,EAC1C;AAEA,SAAO,CAAC,eAAgB,MAAM;AAChC;AAEO,SAAS,yBACd,QACA,UACyB;AACzB,MAAI,UAAU;AACZ,WAAO,CAAC,cAAe,QAAQ,QAAQ;AAAA,EACzC;AAEA,SAAO,CAAC,cAAe,MAAM;AAC/B;AAEO,SAAS,2BACd,UAC2B;AAC3B,MAAI,UAAU;AACZ,WAAO,CAAC,gBAAiB,QAAQ;AAAA,EACnC;AAEA,SAAO,CAAC,cAAe;AACzB;AAEO,SAAS,sBACd,KACoC;AACpC,SAAO,IAAI,gBAAmB;AAChC;AAEO,SAAS,sBACd,KACoC;AACpC,SAAO,IAAI,gBAAmB;AAChC;AAEO,SAAS,wBACd,KACY;AA3tBd;AA4tBE,UAAO,SAAI,kBAAqB,MAAzB,YAA8B,CAAC;AACxC;AAEO,SAAS,2BACd,KACY;AAjuBd;AAkuBE,UAAO,SAAI,kBAAwB,MAA5B,YAAiC,CAAC;AAC3C;AAEO,SAAS,yBACd,KACoC;AACpC,SAAO,IAAI,gBAAsB;AACnC;AAEO,SAAS,qBACd,KACoC;AACpC,SAAO,IAAI,gBAAwB;AACrC;AAEO,SAAS,oBACd,OACY;AACZ,SAAO,MAAM,aAAe;AAC9B;AAEO,SAAS,qBACd,KACoC;AACpC,SAAO,IAAI,gBAAkB;AAC/B;AAEO,SAAS,kBACd,KACwC;AACxC,SAAO,MAAM,QAAQ,GAAG,IAAI,IAAI,iBAAmB,IAAI;AACzD;AAEO,SAAS,+BACd,KACyC;AACzC,SAAO,MAAM,QAAQ,GAAG,IAAI,IAAI,gBAAgC,IAAI;AACtE;AAEO,SAAS,iBAAiB,OAA+B;AAC9D,SAAO,MAAM,YAAkB;AACjC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../src/schema/directives.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,aAAa,EAGd,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,wBAQrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,wBAQlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAChE;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,wBAIxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,wBAMnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,wBAIpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,wBAAwB,CAQpE,CAAC;AACL,eAAO,MAAM,kCAAkC,WAAW,CAAC;AAC3D,eAAO,MAAM,uDAAuD,gBACrD,CAAC;AAChB;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAQzC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,aAAa,GAAG,wBAAwB,GAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../src/schema/directives.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,aAAa,EAGd,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,wBAQrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,wBAQlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAChE;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,wBAIxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,wBAMnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,wBAIpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,wBAAwB,CAQpE,CAAC;AACL,eAAO,MAAM,kCAAkC,WAAW,CAAC;AAC3D,eAAO,MAAM,uDAAuD,gBACrD,CAAC;AAChB;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAQzC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,aAAa,GAAG,wBAAwB,GAClD,OAAO,CAST;AACD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,aAAa,GAAG,wBAAwB,GAClD,OAAO,CAQT"}
|
package/lib/schema/directives.js
CHANGED
|
@@ -97,12 +97,12 @@ const SupermassiveSchemaDirective = [
|
|
|
97
97
|
// Essentially JSON
|
|
98
98
|
];
|
|
99
99
|
function isKnownDirective(directive) {
|
|
100
|
-
const name = typeof directive === "string" ? directive : (0, import_definition.
|
|
100
|
+
const name = typeof directive === "string" ? directive : (0, import_definition.getDirectiveDefinitionName)(directive);
|
|
101
101
|
return isSpecifiedDirective(directive) || name === SUPERMASSIVE_SCHEMA_DIRECTIVE_NAME;
|
|
102
102
|
}
|
|
103
103
|
function isSpecifiedDirective(directive) {
|
|
104
|
-
const name = typeof directive === "string" ? directive : (0, import_definition.
|
|
104
|
+
const name = typeof directive === "string" ? directive : (0, import_definition.getDirectiveDefinitionName)(directive);
|
|
105
105
|
return specifiedDirectives.some(
|
|
106
|
-
(specDirective) => (0, import_definition.
|
|
106
|
+
(specDirective) => (0, import_definition.getDirectiveDefinitionName)(specDirective) === name
|
|
107
107
|
);
|
|
108
108
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/schema/directives.ts"],
|
|
4
|
-
"sourcesContent": ["import { DirectiveLocation } from \"graphql\";\nimport {\n DirectiveDefinitionTuple,\n DirectiveName,\n encodeDirectiveLocation,\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAkC;AAClC,wBAKO;AAKA,MAAM,0BAAoD;AAAA,EAC/D;AAAA,EACA;AAAA,IACE,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,EACpB,EAAE,IAAI,yCAAuB;AAAA,EAC7B,EAAE,IAAI,WAAW;AACnB;AAKO,MAAM,uBAAiD;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,EACpB,EAAE,IAAI,yCAAuB;AAAA,EAC7B,EAAE,IAAI,WAAW;AACnB;AAKO,MAAM,6BAA6B;AAInC,MAAM,6BAAuD;AAAA,EAClE;AAAA,EACA,CAAC,iCAAkB,gBAAgB,EAAE,IAAI,yCAAuB;AAAA,EAChE,EAAE,QAAQ,CAAC,UAAU,0BAA0B,EAAE;AACnD;AAKO,MAAM,8BAAwD;AAAA,EACnE;AAAA,EACA,CAAC,iCAAkB,YAAY,EAAE,IAAI,yCAAuB;AAAA,EAC5D,EAAE,KAAK,UAAU;AACnB;AAKO,MAAM,wBAAkD;AAAA,EAC7D;AAAA,EACA,CAAC,iCAAkB,iBAAiB,iCAAkB,eAAe,EAAE;AAAA,IACrE;AAAA,EACF;AAAA,EACA,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,SAAS;AAC5C;AAKO,MAAM,yBAAmD;AAAA,EAC9D;AAAA,EACA,CAAC,iCAAkB,KAAK,EAAE,IAAI,yCAAuB;AAAA,EACrD,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,UAAU,cAAc,CAAC,OAAO,CAAC,EAAE;AACtE;AAKO,MAAM,sBACX,OAAO,OAAO;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAM,qCAAqC;AAC3C,MAAM,0DACX;AAIK,MAAM,8BAAwD;AAAA,EACnE;AAAA,EACA;AAAA,IACE,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,EACpB,EAAE,IAAI,yCAAuB;AAAA,EAC7B,EAAE,CAAC,uDAAuD,GAAG,UAAU;AAAA;AACzE;AAEO,SAAS,iBACd,WACS;AACT,QAAM,OACJ,OAAO,cAAc,
|
|
4
|
+
"sourcesContent": ["import { DirectiveLocation } from \"graphql\";\nimport {\n DirectiveDefinitionTuple,\n DirectiveName,\n encodeDirectiveLocation,\n getDirectiveDefinitionName,\n} from \"./definition\";\n\n/**\n * Used to conditionally include fields or fragments.\n */\nexport const GraphQLIncludeDirective: DirectiveDefinitionTuple = [\n \"include\",\n [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ].map(encodeDirectiveLocation),\n { if: \"Boolean!\" },\n];\n\n/**\n * Used to conditionally skip (exclude) fields or fragments.\n */\nexport const GraphQLSkipDirective: DirectiveDefinitionTuple = [\n \"skip\",\n [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ].map(encodeDirectiveLocation),\n { if: \"Boolean!\" },\n];\n\n/**\n * Constant string used for default reason for a deprecation.\n */\nexport const DEFAULT_DEPRECATION_REASON = \"No longer supported\";\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n */\nexport const GraphQLDeprecatedDirective: DirectiveDefinitionTuple = [\n \"deprecated\",\n [DirectiveLocation.FIELD_DEFINITION].map(encodeDirectiveLocation),\n { reason: [\"String\", DEFAULT_DEPRECATION_REASON] },\n];\n\n/**\n * Used to provide a URL for specifying the behaviour of custom scalar definitions.\n */\nexport const GraphQLSpecifiedByDirective: DirectiveDefinitionTuple = [\n \"specifiedBy\",\n [DirectiveLocation.INPUT_OBJECT].map(encodeDirectiveLocation),\n { url: \"String!\" },\n];\n\n/**\n * Used to conditionally defer fragments.\n */\nexport const GraphQLDeferDirective: DirectiveDefinitionTuple = [\n \"defer\",\n [DirectiveLocation.FRAGMENT_SPREAD, DirectiveLocation.INLINE_FRAGMENT].map(\n encodeDirectiveLocation,\n ),\n { if: [\"Boolean!\", true], label: \"String\" },\n];\n\n/**\n * Used to conditionally stream list fields.\n */\nexport const GraphQLStreamDirective: DirectiveDefinitionTuple = [\n \"stream\",\n [DirectiveLocation.FIELD].map(encodeDirectiveLocation),\n { if: [\"Boolean!\", true], label: \"String\", initialCount: [\"Int\", 0] },\n];\n\n/**\n * The full list of specified directives.\n */\nexport const specifiedDirectives: ReadonlyArray<DirectiveDefinitionTuple> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n ]);\nexport const SUPERMASSIVE_SCHEMA_DIRECTIVE_NAME = \"schema\";\nexport const SUPERMASSIVE_SCHEMA_DIRECTIVE_DEFINITIONS_ARGUMENT_NAME =\n \"definitions\";\n/**\n * Used to conditionally stream list fields.\n */\nexport const SupermassiveSchemaDirective: DirectiveDefinitionTuple = [\n SUPERMASSIVE_SCHEMA_DIRECTIVE_NAME,\n [\n DirectiveLocation.QUERY,\n DirectiveLocation.MUTATION,\n DirectiveLocation.SUBSCRIPTION,\n ].map(encodeDirectiveLocation),\n { [SUPERMASSIVE_SCHEMA_DIRECTIVE_DEFINITIONS_ARGUMENT_NAME]: \"String!\" }, // Essentially JSON\n];\n\nexport function isKnownDirective(\n directive: DirectiveName | DirectiveDefinitionTuple,\n): boolean {\n const name =\n typeof directive === \"string\"\n ? directive\n : getDirectiveDefinitionName(directive);\n return (\n isSpecifiedDirective(directive) ||\n name === SUPERMASSIVE_SCHEMA_DIRECTIVE_NAME\n );\n}\nexport function isSpecifiedDirective(\n directive: DirectiveName | DirectiveDefinitionTuple,\n): boolean {\n const name =\n typeof directive === \"string\"\n ? directive\n : getDirectiveDefinitionName(directive);\n return specifiedDirectives.some(\n (specDirective) => getDirectiveDefinitionName(specDirective) === name,\n );\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAkC;AAClC,wBAKO;AAKA,MAAM,0BAAoD;AAAA,EAC/D;AAAA,EACA;AAAA,IACE,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,EACpB,EAAE,IAAI,yCAAuB;AAAA,EAC7B,EAAE,IAAI,WAAW;AACnB;AAKO,MAAM,uBAAiD;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,EACpB,EAAE,IAAI,yCAAuB;AAAA,EAC7B,EAAE,IAAI,WAAW;AACnB;AAKO,MAAM,6BAA6B;AAInC,MAAM,6BAAuD;AAAA,EAClE;AAAA,EACA,CAAC,iCAAkB,gBAAgB,EAAE,IAAI,yCAAuB;AAAA,EAChE,EAAE,QAAQ,CAAC,UAAU,0BAA0B,EAAE;AACnD;AAKO,MAAM,8BAAwD;AAAA,EACnE;AAAA,EACA,CAAC,iCAAkB,YAAY,EAAE,IAAI,yCAAuB;AAAA,EAC5D,EAAE,KAAK,UAAU;AACnB;AAKO,MAAM,wBAAkD;AAAA,EAC7D;AAAA,EACA,CAAC,iCAAkB,iBAAiB,iCAAkB,eAAe,EAAE;AAAA,IACrE;AAAA,EACF;AAAA,EACA,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,SAAS;AAC5C;AAKO,MAAM,yBAAmD;AAAA,EAC9D;AAAA,EACA,CAAC,iCAAkB,KAAK,EAAE,IAAI,yCAAuB;AAAA,EACrD,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,UAAU,cAAc,CAAC,OAAO,CAAC,EAAE;AACtE;AAKO,MAAM,sBACX,OAAO,OAAO;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAM,qCAAqC;AAC3C,MAAM,0DACX;AAIK,MAAM,8BAAwD;AAAA,EACnE;AAAA,EACA;AAAA,IACE,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,IAClB,iCAAkB;AAAA,EACpB,EAAE,IAAI,yCAAuB;AAAA,EAC7B,EAAE,CAAC,uDAAuD,GAAG,UAAU;AAAA;AACzE;AAEO,SAAS,iBACd,WACS;AACT,QAAM,OACJ,OAAO,cAAc,WACjB,gBACA,8CAA2B,SAAS;AAC1C,SACE,qBAAqB,SAAS,KAC9B,SAAS;AAEb;AACO,SAAS,qBACd,WACS;AACT,QAAM,OACJ,OAAO,cAAc,WACjB,gBACA,8CAA2B,SAAS;AAC1C,SAAO,oBAAoB;AAAA,IACzB,CAAC,sBAAkB,8CAA2B,aAAa,MAAM;AAAA,EACnE;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { DirectiveLocation } from "graphql";
|
|
3
3
|
import {
|
|
4
4
|
encodeDirectiveLocation,
|
|
5
|
-
|
|
5
|
+
getDirectiveDefinitionName
|
|
6
6
|
} from "./definition.mjs";
|
|
7
7
|
var GraphQLIncludeDirective = [
|
|
8
8
|
"include",
|
|
@@ -66,13 +66,13 @@ var SupermassiveSchemaDirective = [
|
|
|
66
66
|
// Essentially JSON
|
|
67
67
|
];
|
|
68
68
|
function isKnownDirective(directive) {
|
|
69
|
-
const name = typeof directive === "string" ? directive :
|
|
69
|
+
const name = typeof directive === "string" ? directive : getDirectiveDefinitionName(directive);
|
|
70
70
|
return isSpecifiedDirective(directive) || name === SUPERMASSIVE_SCHEMA_DIRECTIVE_NAME;
|
|
71
71
|
}
|
|
72
72
|
function isSpecifiedDirective(directive) {
|
|
73
|
-
const name = typeof directive === "string" ? directive :
|
|
73
|
+
const name = typeof directive === "string" ? directive : getDirectiveDefinitionName(directive);
|
|
74
74
|
return specifiedDirectives.some(
|
|
75
|
-
(specDirective) =>
|
|
75
|
+
(specDirective) => getDirectiveDefinitionName(specDirective) === name
|
|
76
76
|
);
|
|
77
77
|
}
|
|
78
78
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/schema/directives.ts"],
|
|
4
|
-
"sourcesContent": ["import { DirectiveLocation } from \"graphql\";\nimport {\n DirectiveDefinitionTuple,\n DirectiveName,\n encodeDirectiveLocation,\n
|
|
5
|
-
"mappings": ";AAAA,SAAS,yBAAyB;AAClC;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAKA,IAAM,0BAAoD;AAAA,EAC/D;AAAA,EACA;AAAA,IACE,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,EACpB,EAAE,IAAI,uBAAuB;AAAA,EAC7B,EAAE,IAAI,WAAW;AACnB;AAKO,IAAM,uBAAiD;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,EACpB,EAAE,IAAI,uBAAuB;AAAA,EAC7B,EAAE,IAAI,WAAW;AACnB;AAKO,IAAM,6BAA6B;AAInC,IAAM,6BAAuD;AAAA,EAClE;AAAA,EACA,CAAC,kBAAkB,gBAAgB,EAAE,IAAI,uBAAuB;AAAA,EAChE,EAAE,QAAQ,CAAC,UAAU,0BAA0B,EAAE;AACnD;AAKO,IAAM,8BAAwD;AAAA,EACnE;AAAA,EACA,CAAC,kBAAkB,YAAY,EAAE,IAAI,uBAAuB;AAAA,EAC5D,EAAE,KAAK,UAAU;AACnB;AAKO,IAAM,wBAAkD;AAAA,EAC7D;AAAA,EACA,CAAC,kBAAkB,iBAAiB,kBAAkB,eAAe,EAAE;AAAA,IACrE;AAAA,EACF;AAAA,EACA,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,SAAS;AAC5C;AAKO,IAAM,yBAAmD;AAAA,EAC9D;AAAA,EACA,CAAC,kBAAkB,KAAK,EAAE,IAAI,uBAAuB;AAAA,EACrD,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,UAAU,cAAc,CAAC,OAAO,CAAC,EAAE;AACtE;AAKO,IAAM,sBACX,OAAO,OAAO;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,IAAM,qCAAqC;AAC3C,IAAM,0DACX;AAIK,IAAM,8BAAwD;AAAA,EACnE;AAAA,EACA;AAAA,IACE,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,EACpB,EAAE,IAAI,uBAAuB;AAAA,EAC7B,EAAE,CAAC,uDAAuD,GAAG,UAAU;AAAA;AACzE;AAEO,SAAS,iBACd,WACS;AACT,QAAM,OACJ,OAAO,cAAc,
|
|
4
|
+
"sourcesContent": ["import { DirectiveLocation } from \"graphql\";\nimport {\n DirectiveDefinitionTuple,\n DirectiveName,\n encodeDirectiveLocation,\n getDirectiveDefinitionName,\n} from \"./definition\";\n\n/**\n * Used to conditionally include fields or fragments.\n */\nexport const GraphQLIncludeDirective: DirectiveDefinitionTuple = [\n \"include\",\n [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ].map(encodeDirectiveLocation),\n { if: \"Boolean!\" },\n];\n\n/**\n * Used to conditionally skip (exclude) fields or fragments.\n */\nexport const GraphQLSkipDirective: DirectiveDefinitionTuple = [\n \"skip\",\n [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ].map(encodeDirectiveLocation),\n { if: \"Boolean!\" },\n];\n\n/**\n * Constant string used for default reason for a deprecation.\n */\nexport const DEFAULT_DEPRECATION_REASON = \"No longer supported\";\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n */\nexport const GraphQLDeprecatedDirective: DirectiveDefinitionTuple = [\n \"deprecated\",\n [DirectiveLocation.FIELD_DEFINITION].map(encodeDirectiveLocation),\n { reason: [\"String\", DEFAULT_DEPRECATION_REASON] },\n];\n\n/**\n * Used to provide a URL for specifying the behaviour of custom scalar definitions.\n */\nexport const GraphQLSpecifiedByDirective: DirectiveDefinitionTuple = [\n \"specifiedBy\",\n [DirectiveLocation.INPUT_OBJECT].map(encodeDirectiveLocation),\n { url: \"String!\" },\n];\n\n/**\n * Used to conditionally defer fragments.\n */\nexport const GraphQLDeferDirective: DirectiveDefinitionTuple = [\n \"defer\",\n [DirectiveLocation.FRAGMENT_SPREAD, DirectiveLocation.INLINE_FRAGMENT].map(\n encodeDirectiveLocation,\n ),\n { if: [\"Boolean!\", true], label: \"String\" },\n];\n\n/**\n * Used to conditionally stream list fields.\n */\nexport const GraphQLStreamDirective: DirectiveDefinitionTuple = [\n \"stream\",\n [DirectiveLocation.FIELD].map(encodeDirectiveLocation),\n { if: [\"Boolean!\", true], label: \"String\", initialCount: [\"Int\", 0] },\n];\n\n/**\n * The full list of specified directives.\n */\nexport const specifiedDirectives: ReadonlyArray<DirectiveDefinitionTuple> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n ]);\nexport const SUPERMASSIVE_SCHEMA_DIRECTIVE_NAME = \"schema\";\nexport const SUPERMASSIVE_SCHEMA_DIRECTIVE_DEFINITIONS_ARGUMENT_NAME =\n \"definitions\";\n/**\n * Used to conditionally stream list fields.\n */\nexport const SupermassiveSchemaDirective: DirectiveDefinitionTuple = [\n SUPERMASSIVE_SCHEMA_DIRECTIVE_NAME,\n [\n DirectiveLocation.QUERY,\n DirectiveLocation.MUTATION,\n DirectiveLocation.SUBSCRIPTION,\n ].map(encodeDirectiveLocation),\n { [SUPERMASSIVE_SCHEMA_DIRECTIVE_DEFINITIONS_ARGUMENT_NAME]: \"String!\" }, // Essentially JSON\n];\n\nexport function isKnownDirective(\n directive: DirectiveName | DirectiveDefinitionTuple,\n): boolean {\n const name =\n typeof directive === \"string\"\n ? directive\n : getDirectiveDefinitionName(directive);\n return (\n isSpecifiedDirective(directive) ||\n name === SUPERMASSIVE_SCHEMA_DIRECTIVE_NAME\n );\n}\nexport function isSpecifiedDirective(\n directive: DirectiveName | DirectiveDefinitionTuple,\n): boolean {\n const name =\n typeof directive === \"string\"\n ? directive\n : getDirectiveDefinitionName(directive);\n return specifiedDirectives.some(\n (specDirective) => getDirectiveDefinitionName(specDirective) === name,\n );\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,yBAAyB;AAClC;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAKA,IAAM,0BAAoD;AAAA,EAC/D;AAAA,EACA;AAAA,IACE,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,EACpB,EAAE,IAAI,uBAAuB;AAAA,EAC7B,EAAE,IAAI,WAAW;AACnB;AAKO,IAAM,uBAAiD;AAAA,EAC5D;AAAA,EACA;AAAA,IACE,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,EACpB,EAAE,IAAI,uBAAuB;AAAA,EAC7B,EAAE,IAAI,WAAW;AACnB;AAKO,IAAM,6BAA6B;AAInC,IAAM,6BAAuD;AAAA,EAClE;AAAA,EACA,CAAC,kBAAkB,gBAAgB,EAAE,IAAI,uBAAuB;AAAA,EAChE,EAAE,QAAQ,CAAC,UAAU,0BAA0B,EAAE;AACnD;AAKO,IAAM,8BAAwD;AAAA,EACnE;AAAA,EACA,CAAC,kBAAkB,YAAY,EAAE,IAAI,uBAAuB;AAAA,EAC5D,EAAE,KAAK,UAAU;AACnB;AAKO,IAAM,wBAAkD;AAAA,EAC7D;AAAA,EACA,CAAC,kBAAkB,iBAAiB,kBAAkB,eAAe,EAAE;AAAA,IACrE;AAAA,EACF;AAAA,EACA,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,SAAS;AAC5C;AAKO,IAAM,yBAAmD;AAAA,EAC9D;AAAA,EACA,CAAC,kBAAkB,KAAK,EAAE,IAAI,uBAAuB;AAAA,EACrD,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,OAAO,UAAU,cAAc,CAAC,OAAO,CAAC,EAAE;AACtE;AAKO,IAAM,sBACX,OAAO,OAAO;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,IAAM,qCAAqC;AAC3C,IAAM,0DACX;AAIK,IAAM,8BAAwD;AAAA,EACnE;AAAA,EACA;AAAA,IACE,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,EACpB,EAAE,IAAI,uBAAuB;AAAA,EAC7B,EAAE,CAAC,uDAAuD,GAAG,UAAU;AAAA;AACzE;AAEO,SAAS,iBACd,WACS;AACT,QAAM,OACJ,OAAO,cAAc,WACjB,YACA,2BAA2B,SAAS;AAC1C,SACE,qBAAqB,SAAS,KAC9B,SAAS;AAEb;AACO,SAAS,qBACd,WACS;AACT,QAAM,OACJ,OAAO,cAAc,WACjB,YACA,2BAA2B,SAAS;AAC1C,SAAO,oBAAoB;AAAA,IACzB,CAAC,kBAAkB,2BAA2B,aAAa,MAAM;AAAA,EACnE;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decodeASTSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/decodeASTSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAcb,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"decodeASTSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/decodeASTSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAcb,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,iBAAiB,EAyClB,MAAM,sBAAsB,CAAC;AAiB9B;;GAEG;AACH,wBAAgB,eAAe,CAC7B,sBAAsB,EAAE,iBAAiB,EAAE,GAC1C,YAAY,CA2Cd"}
|