@wundergraph/composition 0.18.0 → 0.18.2

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 (56) hide show
  1. package/dist/ast/ast.d.ts +2 -9
  2. package/dist/ast/ast.js +4 -32
  3. package/dist/ast/ast.js.map +1 -1
  4. package/dist/ast/utils.d.ts +1 -2
  5. package/dist/ast/utils.js.map +1 -1
  6. package/dist/errors/errors.d.ts +6 -11
  7. package/dist/errors/errors.js +18 -29
  8. package/dist/errors/errors.js.map +1 -1
  9. package/dist/federation/federation-factory.d.ts +6 -6
  10. package/dist/federation/federation-factory.js +19 -18
  11. package/dist/federation/federation-factory.js.map +1 -1
  12. package/dist/federation/utils.d.ts +4 -4
  13. package/dist/federation/utils.js +2 -2
  14. package/dist/federation/utils.js.map +1 -1
  15. package/dist/index.d.ts +8 -1
  16. package/dist/index.js +8 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/normalization/normalization-factory.d.ts +19 -26
  19. package/dist/normalization/normalization-factory.js +179 -994
  20. package/dist/normalization/normalization-factory.js.map +1 -1
  21. package/dist/normalization/utils.d.ts +6 -126
  22. package/dist/normalization/utils.js +69 -158
  23. package/dist/normalization/utils.js.map +1 -1
  24. package/dist/normalization/walkers.d.ts +5 -0
  25. package/dist/normalization/walkers.js +593 -0
  26. package/dist/normalization/walkers.js.map +1 -0
  27. package/dist/schema-building/ast.d.ts +104 -0
  28. package/dist/schema-building/ast.js +156 -0
  29. package/dist/schema-building/ast.js.map +1 -0
  30. package/dist/schema-building/type-definition-data.d.ts +108 -0
  31. package/dist/schema-building/type-definition-data.js +3 -0
  32. package/dist/schema-building/type-definition-data.js.map +1 -0
  33. package/dist/schema-building/type-extension-data.d.ts +45 -0
  34. package/dist/schema-building/type-extension-data.js +3 -0
  35. package/dist/schema-building/type-extension-data.js.map +1 -0
  36. package/dist/{type-merging → schema-building}/type-merging.js +5 -4
  37. package/dist/schema-building/type-merging.js.map +1 -0
  38. package/dist/schema-building/utils.d.ts +42 -0
  39. package/dist/schema-building/utils.js +600 -0
  40. package/dist/schema-building/utils.js.map +1 -0
  41. package/dist/subgraph/subgraph.d.ts +4 -5
  42. package/dist/subgraph/subgraph.js +2 -91
  43. package/dist/subgraph/subgraph.js.map +1 -1
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/dist/utils/constants.d.ts +4 -2
  46. package/dist/utils/constants.js +383 -359
  47. package/dist/utils/constants.js.map +1 -1
  48. package/dist/utils/string-constants.d.ts +4 -0
  49. package/dist/utils/string-constants.js +6 -2
  50. package/dist/utils/string-constants.js.map +1 -1
  51. package/dist/utils/utils.d.ts +2 -4
  52. package/dist/utils/utils.js +4 -6
  53. package/dist/utils/utils.js.map +1 -1
  54. package/package.json +2 -2
  55. package/dist/type-merging/type-merging.js.map +0 -1
  56. /package/dist/{type-merging → schema-building}/type-merging.d.ts +0 -0
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNodeQuery = exports.validateAndAddDirectivesWithFieldSetToConfigurationData = exports.getNormalizedFieldSet = exports.extractFieldSetValue = exports.addNonExternalFieldsToSet = exports.getDefinedArgumentsForDirective = exports.getDirectiveDefinitionArgumentSets = exports.areNodeKindAndDirectiveLocationCompatible = exports.unionContainerToNode = exports.schemaContainerToNode = exports.scalarContainerToNode = exports.objectLikeContainerToNode = exports.inputObjectContainerToNode = exports.enumContainerToNode = exports.newFieldSetContainer = void 0;
3
+ exports.isNodeQuery = exports.validateAndAddDirectivesWithFieldSetToConfigurationData = exports.getNormalizedFieldSet = exports.extractFieldSetValue = exports.addNonExternalFieldsToSet = exports.getDirectiveDefinitionArgumentSets = exports.areNodeKindAndDirectiveLocationCompatible = exports.newFieldSetContainer = void 0;
4
4
  const graphql_1 = require("graphql");
5
5
  const utils_1 = require("../utils/utils");
6
6
  const utils_2 = require("../ast/utils");
7
7
  const string_constants_1 = require("../utils/string-constants");
8
- const type_merging_1 = require("../type-merging/type-merging");
8
+ const type_merging_1 = require("../schema-building/type-merging");
9
9
  const errors_1 = require("../errors/errors");
10
10
  const constants_1 = require("../utils/constants");
11
11
  function newFieldSetContainer() {
@@ -16,86 +16,14 @@ function newFieldSetContainer() {
16
16
  };
17
17
  }
18
18
  exports.newFieldSetContainer = newFieldSetContainer;
19
- function childMapToValueArray(factory, map, parentTypeName) {
20
- const valueArray = [];
21
- for (const childContainer of map.values()) {
22
- const childPath = `${parentTypeName}.${childContainer.name}`;
23
- factory.validateChildDirectives(childContainer, childPath);
24
- valueArray.push(childContainer.node);
25
- }
26
- return valueArray;
27
- }
28
- function enumContainerToNode(factory, baseEnum, enumExtension) {
29
- factory.mergeDirectives(baseEnum.directives, enumExtension);
30
- return {
31
- description: baseEnum.description,
32
- directives: factory.getValidatedAndNormalizedParentDirectives(baseEnum),
33
- kind: baseEnum.kind,
34
- name: baseEnum.name,
35
- values: childMapToValueArray(factory, baseEnum.values, baseEnum.name.value),
36
- };
37
- }
38
- exports.enumContainerToNode = enumContainerToNode;
39
- function inputObjectContainerToNode(factory, baseInputObject, inputObjectExtension) {
40
- factory.mergeDirectives(baseInputObject.directives, inputObjectExtension);
41
- return {
42
- description: baseInputObject.description,
43
- directives: factory.getValidatedAndNormalizedParentDirectives(baseInputObject),
44
- fields: childMapToValueArray(factory, baseInputObject.fields, baseInputObject.name.value),
45
- kind: baseInputObject.kind,
46
- name: baseInputObject.name,
47
- };
48
- }
49
- exports.inputObjectContainerToNode = inputObjectContainerToNode;
50
- function objectLikeContainerToNode(factory, baseObjectLike, objectLikeExtension) {
51
- factory.mergeDirectives(baseObjectLike.directives, objectLikeExtension);
52
- const description = baseObjectLike.kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION ? undefined : baseObjectLike.description;
53
- return {
54
- description,
55
- directives: factory.getValidatedAndNormalizedParentDirectives(baseObjectLike),
56
- fields: childMapToValueArray(factory, baseObjectLike.fields, baseObjectLike.name.value),
57
- interfaces: (0, utils_2.setToNamedTypeNodeArray)(baseObjectLike.interfaces),
58
- kind: baseObjectLike.kind,
59
- name: baseObjectLike.name,
60
- };
61
- }
62
- exports.objectLikeContainerToNode = objectLikeContainerToNode;
63
- function scalarContainerToNode(factory, baseScalar, scalarExtension) {
64
- factory.mergeDirectives(baseScalar.directives, scalarExtension);
65
- return {
66
- description: baseScalar.description,
67
- directives: factory.getValidatedAndNormalizedParentDirectives(baseScalar),
68
- kind: baseScalar.kind,
69
- name: baseScalar.name,
70
- };
71
- }
72
- exports.scalarContainerToNode = scalarContainerToNode;
73
- function schemaContainerToNode(factory, baseSchema) {
74
- return {
75
- description: baseSchema.description,
76
- directives: factory.getValidatedAndNormalizedParentDirectives(baseSchema),
77
- kind: baseSchema.kind,
78
- operationTypes: (0, utils_1.mapToArrayOfValues)(baseSchema.operationTypes),
79
- };
80
- }
81
- exports.schemaContainerToNode = schemaContainerToNode;
82
- function unionContainerToNode(factory, baseUnion, unionExtension) {
83
- factory.mergeUniqueUnionMembers(baseUnion, unionExtension);
84
- factory.mergeDirectives(baseUnion.directives, unionExtension);
85
- return {
86
- description: baseUnion.description,
87
- directives: factory.getValidatedAndNormalizedParentDirectives(baseUnion),
88
- kind: baseUnion.kind,
89
- name: baseUnion.name,
90
- types: (0, utils_1.mapToArrayOfValues)(baseUnion.types),
91
- };
92
- }
93
- exports.unionContainerToNode = unionContainerToNode;
94
- function areNodeKindAndDirectiveLocationCompatible(kind, directiveDefinitionNode) {
19
+ function areNodeKindAndDirectiveLocationCompatible(kind, directiveDefinitionNode, isArgument = false) {
95
20
  for (const location of directiveDefinitionNode.locations) {
96
21
  const locationName = location.value.toUpperCase();
97
22
  switch (locationName) {
98
23
  case string_constants_1.ARGUMENT_DEFINITION_UPPER:
24
+ if (!isArgument) {
25
+ break;
26
+ }
99
27
  if (kind === graphql_1.Kind.INPUT_VALUE_DEFINITION) {
100
28
  return true;
101
29
  }
@@ -191,10 +119,10 @@ function areNodeKindAndDirectiveLocationCompatible(kind, directiveDefinitionNode
191
119
  return false;
192
120
  }
193
121
  exports.areNodeKindAndDirectiveLocationCompatible = areNodeKindAndDirectiveLocationCompatible;
194
- function getDirectiveDefinitionArgumentSets(args, allArguments, requiredArguments) {
122
+ function getDirectiveDefinitionArgumentSets(args, argumentKindByArgumentName, requiredArguments) {
195
123
  for (const argument of args) {
196
124
  const argumentName = argument.name.value;
197
- allArguments.add(argumentName);
125
+ argumentKindByArgumentName.set(argumentName, argument.type);
198
126
  // If the definition defines a default argument, it's not necessary to include it
199
127
  if (argument.type.kind === graphql_1.Kind.NON_NULL_TYPE && !argument.defaultValue) {
200
128
  requiredArguments.add(argumentName);
@@ -202,26 +130,9 @@ function getDirectiveDefinitionArgumentSets(args, allArguments, requiredArgument
202
130
  }
203
131
  }
204
132
  exports.getDirectiveDefinitionArgumentSets = getDirectiveDefinitionArgumentSets;
205
- function getDefinedArgumentsForDirective(args, allArguments, directiveName, hostPath, errorMessages) {
206
- const definedArguments = new Set();
207
- for (const argument of args) {
208
- const argumentName = argument.name.value;
209
- if (!allArguments.has(argumentName)) {
210
- errorMessages.push((0, errors_1.unexpectedDirectiveArgumentErrorMessage)(directiveName, argumentName));
211
- continue;
212
- }
213
- if (definedArguments.has(argumentName)) {
214
- errorMessages.push((0, errors_1.duplicateDirectiveArgumentDefinitionErrorMessage)(directiveName, hostPath, argumentName));
215
- continue;
216
- }
217
- definedArguments.add(argumentName);
218
- }
219
- return definedArguments;
220
- }
221
- exports.getDefinedArgumentsForDirective = getDefinedArgumentsForDirective;
222
- function addNonExternalFieldsToSet(fields, fieldNames) {
223
- for (const [fieldName, fieldContainer] of fields) {
224
- if (fieldContainer.directives.has(string_constants_1.EXTERNAL)) {
133
+ function addNonExternalFieldsToSet(fieldDataByFieldName, fieldNames) {
134
+ for (const [fieldName, fieldContainer] of fieldDataByFieldName) {
135
+ if (fieldContainer.directivesByDirectiveName.has(string_constants_1.EXTERNAL)) {
225
136
  continue;
226
137
  }
227
138
  fieldNames.add(fieldName);
@@ -257,42 +168,42 @@ function getNormalizedFieldSet(documentNode) {
257
168
  return (0, graphql_1.print)((0, utils_2.lexicographicallySortDocumentNode)(documentNode)).replaceAll(/\s+/g, ' ').slice(2, -2);
258
169
  }
259
170
  exports.getNormalizedFieldSet = getNormalizedFieldSet;
260
- function validateNonRepeatableFieldSet(factory, parentContainer, fieldSet, directiveFieldName) {
171
+ function validateNonRepeatableFieldSet(factory, parentData, fieldSet, directiveFieldName) {
261
172
  // Create a new selection set so that the value can be parsed as a new DocumentNode
262
173
  const { error, documentNode } = (0, utils_2.safeParse)('{' + fieldSet + '}');
263
174
  if (error || !documentNode) {
264
175
  return { errorMessage: (0, errors_1.unparsableFieldSetErrorMessage)(fieldSet, error) };
265
176
  }
266
177
  let errorMessage;
267
- const parentContainers = [parentContainer];
178
+ const parentDatas = [parentData];
268
179
  const definedFields = [];
269
180
  let currentDepth = -1;
270
181
  let shouldDefineSelectionSet = true;
271
182
  let lastFieldName = directiveFieldName;
272
- let fieldPath = parentContainer.name.value;
183
+ let fieldPath = parentData.typeName;
273
184
  (0, graphql_1.visit)(documentNode, {
274
185
  Argument: {
275
- enter(node) {
186
+ enter() {
276
187
  return false;
277
188
  },
278
189
  },
279
190
  Field: {
280
191
  enter(node) {
281
- const parentContainer = parentContainers[currentDepth];
282
- const parentTypeName = parentContainer.name.value;
283
- if (parentContainer.kind === graphql_1.Kind.UNION_TYPE_DEFINITION) {
192
+ const parentData = parentDatas[currentDepth];
193
+ const parentTypeName = parentData.typeName;
194
+ if (parentData.kind === graphql_1.Kind.UNION_TYPE_DEFINITION) {
284
195
  errorMessage = (0, errors_1.invalidSelectionOnUnionErrorMessage)(fieldSet, fieldPath, parentTypeName);
285
196
  return graphql_1.BREAK;
286
197
  }
287
198
  // If an object-like was just visited, a selection set should have been entered
288
199
  if (shouldDefineSelectionSet) {
289
- errorMessage = (0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentTypeName, (0, utils_1.kindToTypeString)(parentContainer.kind));
200
+ errorMessage = (0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentTypeName, (0, utils_1.kindToTypeString)(parentData.kind));
290
201
  return graphql_1.BREAK;
291
202
  }
292
203
  const fieldName = node.name.value;
293
204
  fieldPath = `${parentTypeName}.${fieldName}`;
294
205
  lastFieldName = fieldName;
295
- const fieldContainer = parentContainer.fields.get(fieldName);
206
+ const fieldContainer = parentData.fieldDataByFieldName.get(fieldName);
296
207
  // undefined if the field does not exist on the parent
297
208
  if (!fieldContainer) {
298
209
  errorMessage = (0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, parentTypeName, fieldName);
@@ -309,8 +220,8 @@ function validateNonRepeatableFieldSet(factory, parentContainer, fieldSet, direc
309
220
  return;
310
221
  }
311
222
  // The child could itself be a parent and could exist as an object extension
312
- const childContainer = factory.parentContainerByTypeName.get(namedTypeName) ||
313
- factory.extensionContainerByTypeName.get(namedTypeName);
223
+ const childContainer = factory.parentDefinitionDataByTypeName.get(namedTypeName) ||
224
+ factory.parentExtensionDataByTypeName.get(namedTypeName);
314
225
  if (!childContainer) {
315
226
  // Should not be possible to receive this error
316
227
  errorMessage = (0, errors_1.unknownTypeInFieldSetErrorMessage)(fieldSet, fieldPath, namedTypeName);
@@ -321,15 +232,15 @@ function validateNonRepeatableFieldSet(factory, parentContainer, fieldSet, direc
321
232
  childContainer.kind === graphql_1.Kind.INTERFACE_TYPE_DEFINITION ||
322
233
  childContainer.kind === graphql_1.Kind.UNION_TYPE_DEFINITION) {
323
234
  shouldDefineSelectionSet = true;
324
- parentContainers.push(childContainer);
235
+ parentDatas.push(childContainer);
325
236
  return;
326
237
  }
327
238
  },
328
239
  },
329
240
  InlineFragment: {
330
241
  enter(node) {
331
- const parentContainer = parentContainers[currentDepth];
332
- const parentTypeName = parentContainer.name.value;
242
+ const parentData = parentDatas[currentDepth];
243
+ const parentTypeName = parentData.typeName;
333
244
  if (!node.typeCondition) {
334
245
  errorMessage = (0, errors_1.inlineFragmentWithoutTypeConditionErrorMessage)(fieldSet, fieldPath);
335
246
  return graphql_1.BREAK;
@@ -337,16 +248,16 @@ function validateNonRepeatableFieldSet(factory, parentContainer, fieldSet, direc
337
248
  const typeConditionName = node.typeCondition.name.value;
338
249
  // It's possible to infinitely define fragments
339
250
  if (typeConditionName === parentTypeName) {
340
- parentContainers.push(parentContainer);
251
+ parentDatas.push(parentData);
341
252
  shouldDefineSelectionSet = true;
342
253
  return;
343
254
  }
344
- if (!(0, utils_2.isKindAbstract)(parentContainer.kind)) {
255
+ if (!(0, utils_2.isKindAbstract)(parentData.kind)) {
345
256
  errorMessage = (0, errors_1.invalidInlineFragmentTypeErrorMessage)(fieldSet, fieldPath, typeConditionName, parentTypeName);
346
257
  return graphql_1.BREAK;
347
258
  }
348
- const fragmentTypeContainer = factory.parentContainerByTypeName.get(typeConditionName) ||
349
- factory.extensionContainerByTypeName.get(typeConditionName);
259
+ const fragmentTypeContainer = factory.parentDefinitionDataByTypeName.get(typeConditionName) ||
260
+ factory.parentExtensionDataByTypeName.get(typeConditionName);
350
261
  if (!fragmentTypeContainer) {
351
262
  errorMessage = (0, errors_1.unknownInlineFragmentTypeConditionErrorMessage)(fieldSet, fieldPath, typeConditionName);
352
263
  return graphql_1.BREAK;
@@ -360,40 +271,40 @@ function validateNonRepeatableFieldSet(factory, parentContainer, fieldSet, direc
360
271
  }
361
272
  const concreteTypeNames = factory.abstractToConcreteTypeNames.get(parentTypeName);
362
273
  if (!concreteTypeNames || !concreteTypeNames.has(typeConditionName)) {
363
- errorMessage = (0, errors_1.invalidInlineFragmentTypeConditionErrorMessage)(fieldSet, fieldPath, typeConditionName, (0, utils_1.kindToTypeString)(parentContainer.kind), parentTypeName);
274
+ errorMessage = (0, errors_1.invalidInlineFragmentTypeConditionErrorMessage)(fieldSet, fieldPath, typeConditionName, (0, utils_1.kindToTypeString)(parentData.kind), parentTypeName);
364
275
  return graphql_1.BREAK;
365
276
  }
366
277
  shouldDefineSelectionSet = true;
367
- parentContainers.push(fragmentTypeContainer);
278
+ parentDatas.push(fragmentTypeContainer);
368
279
  },
369
280
  leave() {
370
- parentContainers.pop();
281
+ parentDatas.pop();
371
282
  },
372
283
  },
373
284
  SelectionSet: {
374
285
  enter() {
375
286
  if (!shouldDefineSelectionSet) {
376
- const parentContainer = parentContainers[currentDepth];
287
+ const parentContainer = parentDatas[currentDepth];
377
288
  if (parentContainer.kind === graphql_1.Kind.UNION_TYPE_DEFINITION) {
378
289
  // Should never happen
379
290
  errorMessage = (0, errors_1.unparsableFieldSetSelectionErrorMessage)(fieldSet, lastFieldName);
380
291
  return graphql_1.BREAK;
381
292
  }
382
- const fieldContainer = parentContainer.fields.get(lastFieldName);
293
+ const fieldContainer = parentContainer.fieldDataByFieldName.get(lastFieldName);
383
294
  if (!fieldContainer) {
384
295
  errorMessage = (0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, fieldPath, lastFieldName);
385
296
  return graphql_1.BREAK;
386
297
  }
387
298
  const fieldNamedTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, fieldContainer.node.type);
388
299
  // If the child is not found, it's a base scalar. Undefined types would have already been handled.
389
- const childContainer = factory.parentContainerByTypeName.get(fieldNamedTypeName);
300
+ const childContainer = factory.parentDefinitionDataByTypeName.get(fieldNamedTypeName);
390
301
  const childKind = childContainer ? childContainer.kind : graphql_1.Kind.SCALAR_TYPE_DEFINITION;
391
302
  errorMessage = (0, errors_1.invalidSelectionSetDefinitionErrorMessage)(fieldSet, fieldPath, fieldNamedTypeName, (0, utils_1.kindToTypeString)(childKind));
392
303
  return graphql_1.BREAK;
393
304
  }
394
305
  currentDepth += 1;
395
306
  shouldDefineSelectionSet = false;
396
- if (currentDepth < 0 || currentDepth >= parentContainers.length) {
307
+ if (currentDepth < 0 || currentDepth >= parentDatas.length) {
397
308
  errorMessage = (0, errors_1.unparsableFieldSetSelectionErrorMessage)(fieldSet, lastFieldName);
398
309
  return graphql_1.BREAK;
399
310
  }
@@ -401,13 +312,13 @@ function validateNonRepeatableFieldSet(factory, parentContainer, fieldSet, direc
401
312
  },
402
313
  leave() {
403
314
  if (shouldDefineSelectionSet) {
404
- const parentContainer = parentContainers[currentDepth + 1];
405
- errorMessage = (0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentContainer.name.value, (0, utils_1.kindToTypeString)(parentContainer.kind));
315
+ const parentContainer = parentDatas[currentDepth + 1];
316
+ errorMessage = (0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentContainer.typeName, (0, utils_1.kindToTypeString)(parentContainer.kind));
406
317
  shouldDefineSelectionSet = false;
407
318
  }
408
319
  // Empty selection sets would be a parse error, so it is unnecessary to handle them
409
320
  currentDepth -= 1;
410
- parentContainers.pop();
321
+ parentDatas.pop();
411
322
  definedFields.pop();
412
323
  },
413
324
  },
@@ -417,8 +328,8 @@ function validateNonRepeatableFieldSet(factory, parentContainer, fieldSet, direc
417
328
  }
418
329
  return { configuration: { fieldName: directiveFieldName, selectionSet: getNormalizedFieldSet(documentNode) } };
419
330
  }
420
- function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, disableEntityResolver) {
421
- const entityTypeName = entityContainer.name.value;
331
+ function validateKeyFieldSets(factory, entityParentData, fieldSets, fieldNames, disableEntityResolver) {
332
+ const entityTypeName = entityParentData.typeName;
422
333
  const errorMessages = [];
423
334
  const configurations = [];
424
335
  const keyFieldNames = new Set();
@@ -429,7 +340,7 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
429
340
  errorMessages.push((0, errors_1.unparsableFieldSetErrorMessage)(fieldSet, error));
430
341
  continue;
431
342
  }
432
- const parentContainers = [entityContainer];
343
+ const parentWithFieldsDatas = [entityParentData];
433
344
  const definedFields = [];
434
345
  let currentDepth = -1;
435
346
  let shouldDefineSelectionSet = true;
@@ -439,30 +350,30 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
439
350
  enter(node) {
440
351
  // Fields that define arguments are never allowed in a key FieldSet
441
352
  // However, at this stage, it actually means the argument is undefined on the field
442
- errorMessages.push((0, errors_1.unexpectedArgumentErrorMessage)(fieldSet, `${parentContainers[currentDepth].name.value}.${lastFieldName}`, node.name.value));
353
+ errorMessages.push((0, errors_1.unexpectedArgumentErrorMessage)(fieldSet, `${parentWithFieldsDatas[currentDepth].typeName}.${lastFieldName}`, node.name.value));
443
354
  return graphql_1.BREAK;
444
355
  },
445
356
  },
446
357
  Field: {
447
358
  enter(node) {
448
- const grandparentContainer = parentContainers[currentDepth - 1];
449
- const parentContainer = parentContainers[currentDepth];
450
- const parentTypeName = parentContainer.name.value;
359
+ const grandparentContainer = parentWithFieldsDatas[currentDepth - 1];
360
+ const parentData = parentWithFieldsDatas[currentDepth];
361
+ const parentTypeName = parentData.typeName;
451
362
  // If an object-like was just visited, a selection set should have been entered
452
363
  if (shouldDefineSelectionSet) {
453
- errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, `${grandparentContainer.name.value}.${lastFieldName}`, parentTypeName, (0, utils_1.kindToTypeString)(parentContainer.kind)));
364
+ errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, `${grandparentContainer.typeName}.${lastFieldName}`, parentTypeName, (0, utils_1.kindToTypeString)(parentData.kind)));
454
365
  return graphql_1.BREAK;
455
366
  }
456
367
  const fieldName = node.name.value;
457
368
  const fieldPath = `${parentTypeName}.${fieldName}`;
458
369
  lastFieldName = fieldName;
459
- const fieldContainer = parentContainer.fields.get(fieldName);
370
+ const fieldData = parentData.fieldDataByFieldName.get(fieldName);
460
371
  // undefined if the field does not exist on the parent
461
- if (!fieldContainer) {
372
+ if (!fieldData) {
462
373
  errorMessages.push((0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, parentTypeName, fieldName));
463
374
  return graphql_1.BREAK;
464
375
  }
465
- if (fieldContainer.arguments.size) {
376
+ if (fieldData.argumentDataByArgumentName.size) {
466
377
  errorMessages.push((0, errors_1.argumentsInKeyFieldSetErrorMessage)(fieldSet, fieldPath));
467
378
  return graphql_1.BREAK;
468
379
  }
@@ -478,14 +389,14 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
478
389
  fieldNames.add(fieldName);
479
390
  }
480
391
  (0, utils_1.getValueOrDefault)(factory.keyFieldNamesByParentTypeName, parentTypeName, () => new Set()).add(fieldName);
481
- const namedTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, fieldContainer.node.type);
392
+ const namedTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, fieldData.node.type);
482
393
  // The base scalars are not in the parents map
483
394
  if (constants_1.BASE_SCALARS.has(namedTypeName)) {
484
395
  return;
485
396
  }
486
397
  // The child could itself be a parent and could exist as an object extension
487
- const childContainer = factory.parentContainerByTypeName.get(namedTypeName) ||
488
- factory.extensionContainerByTypeName.get(namedTypeName);
398
+ const childContainer = factory.parentDefinitionDataByTypeName.get(namedTypeName) ||
399
+ factory.parentExtensionDataByTypeName.get(namedTypeName);
489
400
  if (!childContainer) {
490
401
  // Should not be possible to receive this error
491
402
  errorMessages.push((0, errors_1.unknownTypeInFieldSetErrorMessage)(fieldSet, fieldPath, namedTypeName));
@@ -494,7 +405,7 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
494
405
  if (childContainer.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION ||
495
406
  childContainer.kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION) {
496
407
  shouldDefineSelectionSet = true;
497
- parentContainers.push(childContainer);
408
+ parentWithFieldsDatas.push(childContainer);
498
409
  return;
499
410
  }
500
411
  // interfaces and unions are invalid in a key directive
@@ -513,25 +424,25 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
513
424
  SelectionSet: {
514
425
  enter() {
515
426
  if (!shouldDefineSelectionSet) {
516
- const parentContainer = parentContainers[currentDepth];
517
- const parentTypeName = parentContainer.name.value;
427
+ const parentData = parentWithFieldsDatas[currentDepth];
428
+ const parentTypeName = parentData.typeName;
518
429
  const fieldPath = `${parentTypeName}.${lastFieldName}`;
519
430
  // If the last field is not an object-like
520
- const fieldContainer = parentContainer.fields.get(lastFieldName);
431
+ const fieldContainer = parentData.fieldDataByFieldName.get(lastFieldName);
521
432
  if (!fieldContainer) {
522
433
  errorMessages.push((0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, fieldPath, lastFieldName));
523
434
  return graphql_1.BREAK;
524
435
  }
525
436
  const fieldNamedTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, fieldContainer.node.type);
526
437
  // If the child is not found, it's a base scalar. Undefined types would have already been handled.
527
- const childContainer = factory.parentContainerByTypeName.get(fieldNamedTypeName);
438
+ const childContainer = factory.parentDefinitionDataByTypeName.get(fieldNamedTypeName);
528
439
  const childKind = childContainer ? childContainer.kind : graphql_1.Kind.SCALAR_TYPE_DEFINITION;
529
440
  errorMessages.push((0, errors_1.invalidSelectionSetDefinitionErrorMessage)(fieldSet, fieldPath, fieldNamedTypeName, (0, utils_1.kindToTypeString)(childKind)));
530
441
  return graphql_1.BREAK;
531
442
  }
532
443
  currentDepth += 1;
533
444
  shouldDefineSelectionSet = false;
534
- if (currentDepth < 0 || currentDepth >= parentContainers.length) {
445
+ if (currentDepth < 0 || currentDepth >= parentWithFieldsDatas.length) {
535
446
  errorMessages.push((0, errors_1.unparsableFieldSetSelectionErrorMessage)(fieldSet, lastFieldName));
536
447
  return graphql_1.BREAK;
537
448
  }
@@ -539,16 +450,16 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
539
450
  },
540
451
  leave() {
541
452
  if (shouldDefineSelectionSet) {
542
- const grandparentContainer = parentContainers[currentDepth];
543
- const grandparentTypeName = grandparentContainer.name.value;
544
- const parentContainer = parentContainers[currentDepth + 1];
453
+ const grandparentContainer = parentWithFieldsDatas[currentDepth];
454
+ const grandparentTypeName = grandparentContainer.typeName;
455
+ const parentData = parentWithFieldsDatas[currentDepth + 1];
545
456
  const fieldPath = `${grandparentTypeName}.${lastFieldName}`;
546
- errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentContainer.name.value, (0, utils_1.kindToTypeString)(parentContainer.kind)));
457
+ errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentData.typeName, (0, utils_1.kindToTypeString)(parentData.kind)));
547
458
  shouldDefineSelectionSet = false;
548
459
  }
549
460
  // Empty selection sets would be a parse error, so it is unnecessary to handle them
550
461
  currentDepth -= 1;
551
- parentContainers.pop();
462
+ parentWithFieldsDatas.pop();
552
463
  definedFields.pop();
553
464
  },
554
465
  },
@@ -578,13 +489,13 @@ function getFieldSetParent(factory, fieldSetDirective, parentContainer, fieldNam
578
489
  if (fieldSetDirective !== FieldSetDirective.PROVIDES) {
579
490
  return factory.entityContainerByTypeName.has(parentTypeName) ? { fieldSetParentContainer: parentContainer } : {};
580
491
  }
581
- const fieldContainer = (0, utils_1.getOrThrowError)(parentContainer.fields, fieldName, `${parentTypeName}.fields`);
492
+ const fieldContainer = (0, utils_1.getOrThrowError)(parentContainer.fieldDataByFieldName, fieldName, `${parentTypeName}.fields`);
582
493
  const fieldNamedTypeName = (0, type_merging_1.getNamedTypeForChild)(`${parentTypeName}.${fieldName}`, fieldContainer.node.type);
583
494
  if (!factory.entityContainerByTypeName.has(fieldNamedTypeName)) {
584
495
  return {};
585
496
  }
586
- const childContainer = factory.parentContainerByTypeName.get(fieldNamedTypeName) ||
587
- factory.extensionContainerByTypeName.get(fieldNamedTypeName);
497
+ const childContainer = factory.parentDefinitionDataByTypeName.get(fieldNamedTypeName) ||
498
+ factory.parentExtensionDataByTypeName.get(fieldNamedTypeName);
588
499
  if (!childContainer ||
589
500
  (childContainer.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION && childContainer.kind !== graphql_1.Kind.OBJECT_TYPE_EXTENSION)) {
590
501
  return {
@@ -596,7 +507,7 @@ function getFieldSetParent(factory, fieldSetDirective, parentContainer, fieldNam
596
507
  function validateProvidesOrRequires(factory, parentContainer, fieldSetByFieldName, fieldSetDirective) {
597
508
  const errorMessages = [];
598
509
  const configurations = [];
599
- const parentTypeName = parentContainer.name.value;
510
+ const parentTypeName = parentContainer.typeName;
600
511
  for (const [fieldName, fieldSet] of fieldSetByFieldName) {
601
512
  /* It is possible to encounter a field before encountering the type definition.
602
513
  Consequently, at that time, it is unknown whether the named type is an entity.
@@ -632,7 +543,7 @@ function validateProvidesOrRequires(factory, parentContainer, fieldSetByFieldNam
632
543
  }
633
544
  }
634
545
  function validateAndAddDirectivesWithFieldSetToConfigurationData(factory, parentContainer, fieldSetContainer) {
635
- const configurationData = (0, utils_1.getOrThrowError)(factory.configurationDataMap, parentContainer.name.value, 'configurationDataMap');
546
+ const configurationData = (0, utils_1.getOrThrowError)(factory.configurationDataMap, parentContainer.typeName, 'configurationDataMap');
636
547
  const keys = validateKeyFieldSets(factory, parentContainer, fieldSetContainer.keys, configurationData.fieldNames, fieldSetContainer.disableEntityResolver);
637
548
  if (keys) {
638
549
  configurationData.keys = keys;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/normalization/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/normalization/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { DocumentNode } from 'graphql';
2
+ import { NormalizationFactory } from './normalization-factory';
3
+ export declare function upsertDirectiveAndSchemaDefinitions(nf: NormalizationFactory, document: DocumentNode): void;
4
+ export declare function upsertParentsAndChildren(nf: NormalizationFactory, document: DocumentNode): void;
5
+ export declare function consolidateAuthorizationDirectives(nf: NormalizationFactory, definitions: DocumentNode): void;