@wundergraph/composition 0.18.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +71 -166
  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,11 +328,11 @@ 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, disableEntityResolver) {
332
+ const entityTypeName = entityParentData.typeName;
422
333
  const errorMessages = [];
423
334
  const configurations = [];
424
- const keyFieldNames = new Set();
335
+ // const keyFieldNames = new Set<string>();
425
336
  for (const fieldSet of fieldSets) {
426
337
  // Create a new selection set so that the value can be parsed as a new DocumentNode
427
338
  const { error, documentNode } = (0, utils_2.safeParse)('{' + fieldSet + '}');
@@ -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
  }
@@ -471,21 +382,15 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
471
382
  return graphql_1.BREAK;
472
383
  }
473
384
  definedFields[currentDepth].add(fieldName);
474
- // Depth 0 is the original parent type
475
- // If a field is external, but it's part of a key FieldSet, it will be included in the root configuration
476
- if (currentDepth === 0) {
477
- keyFieldNames.add(fieldName);
478
- fieldNames.add(fieldName);
479
- }
480
385
  (0, utils_1.getValueOrDefault)(factory.keyFieldNamesByParentTypeName, parentTypeName, () => new Set()).add(fieldName);
481
- const namedTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, fieldContainer.node.type);
386
+ const namedTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, fieldData.node.type);
482
387
  // The base scalars are not in the parents map
483
388
  if (constants_1.BASE_SCALARS.has(namedTypeName)) {
484
389
  return;
485
390
  }
486
391
  // 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);
392
+ const childContainer = factory.parentDefinitionDataByTypeName.get(namedTypeName) ||
393
+ factory.parentExtensionDataByTypeName.get(namedTypeName);
489
394
  if (!childContainer) {
490
395
  // Should not be possible to receive this error
491
396
  errorMessages.push((0, errors_1.unknownTypeInFieldSetErrorMessage)(fieldSet, fieldPath, namedTypeName));
@@ -494,7 +399,7 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
494
399
  if (childContainer.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION ||
495
400
  childContainer.kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION) {
496
401
  shouldDefineSelectionSet = true;
497
- parentContainers.push(childContainer);
402
+ parentWithFieldsDatas.push(childContainer);
498
403
  return;
499
404
  }
500
405
  // interfaces and unions are invalid in a key directive
@@ -513,25 +418,25 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
513
418
  SelectionSet: {
514
419
  enter() {
515
420
  if (!shouldDefineSelectionSet) {
516
- const parentContainer = parentContainers[currentDepth];
517
- const parentTypeName = parentContainer.name.value;
421
+ const parentData = parentWithFieldsDatas[currentDepth];
422
+ const parentTypeName = parentData.typeName;
518
423
  const fieldPath = `${parentTypeName}.${lastFieldName}`;
519
424
  // If the last field is not an object-like
520
- const fieldContainer = parentContainer.fields.get(lastFieldName);
425
+ const fieldContainer = parentData.fieldDataByFieldName.get(lastFieldName);
521
426
  if (!fieldContainer) {
522
427
  errorMessages.push((0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, fieldPath, lastFieldName));
523
428
  return graphql_1.BREAK;
524
429
  }
525
430
  const fieldNamedTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, fieldContainer.node.type);
526
431
  // 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);
432
+ const childContainer = factory.parentDefinitionDataByTypeName.get(fieldNamedTypeName);
528
433
  const childKind = childContainer ? childContainer.kind : graphql_1.Kind.SCALAR_TYPE_DEFINITION;
529
434
  errorMessages.push((0, errors_1.invalidSelectionSetDefinitionErrorMessage)(fieldSet, fieldPath, fieldNamedTypeName, (0, utils_1.kindToTypeString)(childKind)));
530
435
  return graphql_1.BREAK;
531
436
  }
532
437
  currentDepth += 1;
533
438
  shouldDefineSelectionSet = false;
534
- if (currentDepth < 0 || currentDepth >= parentContainers.length) {
439
+ if (currentDepth < 0 || currentDepth >= parentWithFieldsDatas.length) {
535
440
  errorMessages.push((0, errors_1.unparsableFieldSetSelectionErrorMessage)(fieldSet, lastFieldName));
536
441
  return graphql_1.BREAK;
537
442
  }
@@ -539,16 +444,16 @@ function validateKeyFieldSets(factory, entityContainer, fieldSets, fieldNames, d
539
444
  },
540
445
  leave() {
541
446
  if (shouldDefineSelectionSet) {
542
- const grandparentContainer = parentContainers[currentDepth];
543
- const grandparentTypeName = grandparentContainer.name.value;
544
- const parentContainer = parentContainers[currentDepth + 1];
447
+ const grandparentContainer = parentWithFieldsDatas[currentDepth];
448
+ const grandparentTypeName = grandparentContainer.typeName;
449
+ const parentData = parentWithFieldsDatas[currentDepth + 1];
545
450
  const fieldPath = `${grandparentTypeName}.${lastFieldName}`;
546
- errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentContainer.name.value, (0, utils_1.kindToTypeString)(parentContainer.kind)));
451
+ errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentData.typeName, (0, utils_1.kindToTypeString)(parentData.kind)));
547
452
  shouldDefineSelectionSet = false;
548
453
  }
549
454
  // Empty selection sets would be a parse error, so it is unnecessary to handle them
550
455
  currentDepth -= 1;
551
- parentContainers.pop();
456
+ parentWithFieldsDatas.pop();
552
457
  definedFields.pop();
553
458
  },
554
459
  },
@@ -578,13 +483,13 @@ function getFieldSetParent(factory, fieldSetDirective, parentContainer, fieldNam
578
483
  if (fieldSetDirective !== FieldSetDirective.PROVIDES) {
579
484
  return factory.entityContainerByTypeName.has(parentTypeName) ? { fieldSetParentContainer: parentContainer } : {};
580
485
  }
581
- const fieldContainer = (0, utils_1.getOrThrowError)(parentContainer.fields, fieldName, `${parentTypeName}.fields`);
486
+ const fieldContainer = (0, utils_1.getOrThrowError)(parentContainer.fieldDataByFieldName, fieldName, `${parentTypeName}.fields`);
582
487
  const fieldNamedTypeName = (0, type_merging_1.getNamedTypeForChild)(`${parentTypeName}.${fieldName}`, fieldContainer.node.type);
583
488
  if (!factory.entityContainerByTypeName.has(fieldNamedTypeName)) {
584
489
  return {};
585
490
  }
586
- const childContainer = factory.parentContainerByTypeName.get(fieldNamedTypeName) ||
587
- factory.extensionContainerByTypeName.get(fieldNamedTypeName);
491
+ const childContainer = factory.parentDefinitionDataByTypeName.get(fieldNamedTypeName) ||
492
+ factory.parentExtensionDataByTypeName.get(fieldNamedTypeName);
588
493
  if (!childContainer ||
589
494
  (childContainer.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION && childContainer.kind !== graphql_1.Kind.OBJECT_TYPE_EXTENSION)) {
590
495
  return {
@@ -596,7 +501,7 @@ function getFieldSetParent(factory, fieldSetDirective, parentContainer, fieldNam
596
501
  function validateProvidesOrRequires(factory, parentContainer, fieldSetByFieldName, fieldSetDirective) {
597
502
  const errorMessages = [];
598
503
  const configurations = [];
599
- const parentTypeName = parentContainer.name.value;
504
+ const parentTypeName = parentContainer.typeName;
600
505
  for (const [fieldName, fieldSet] of fieldSetByFieldName) {
601
506
  /* It is possible to encounter a field before encountering the type definition.
602
507
  Consequently, at that time, it is unknown whether the named type is an entity.
@@ -632,8 +537,8 @@ function validateProvidesOrRequires(factory, parentContainer, fieldSetByFieldNam
632
537
  }
633
538
  }
634
539
  function validateAndAddDirectivesWithFieldSetToConfigurationData(factory, parentContainer, fieldSetContainer) {
635
- const configurationData = (0, utils_1.getOrThrowError)(factory.configurationDataMap, parentContainer.name.value, 'configurationDataMap');
636
- const keys = validateKeyFieldSets(factory, parentContainer, fieldSetContainer.keys, configurationData.fieldNames, fieldSetContainer.disableEntityResolver);
540
+ const configurationData = (0, utils_1.getOrThrowError)(factory.configurationDataMap, parentContainer.typeName, 'configurationDataMap');
541
+ const keys = validateKeyFieldSets(factory, parentContainer, fieldSetContainer.keys, fieldSetContainer.disableEntityResolver);
637
542
  if (keys) {
638
543
  configurationData.keys = keys;
639
544
  }
@@ -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;