@wundergraph/composition 0.28.2 → 0.28.4

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 (35) hide show
  1. package/dist/ast/utils.d.ts +1 -0
  2. package/dist/ast/utils.js +5 -1
  3. package/dist/ast/utils.js.map +1 -1
  4. package/dist/errors/errors.d.ts +14 -13
  5. package/dist/errors/errors.js +134 -102
  6. package/dist/errors/errors.js.map +1 -1
  7. package/dist/federation/federation-factory.d.ts +3 -2
  8. package/dist/federation/federation-factory.js +57 -34
  9. package/dist/federation/federation-factory.js.map +1 -1
  10. package/dist/federation/utils.d.ts +15 -19
  11. package/dist/federation/utils.js +13 -1
  12. package/dist/federation/utils.js.map +1 -1
  13. package/dist/federation/walkers.js +2 -2
  14. package/dist/federation/walkers.js.map +1 -1
  15. package/dist/normalization/normalization-factory.d.ts +15 -8
  16. package/dist/normalization/normalization-factory.js +68 -20
  17. package/dist/normalization/normalization-factory.js.map +1 -1
  18. package/dist/normalization/utils.d.ts +7 -3
  19. package/dist/normalization/utils.js +125 -76
  20. package/dist/normalization/utils.js.map +1 -1
  21. package/dist/normalization/walkers.js +28 -28
  22. package/dist/normalization/walkers.js.map +1 -1
  23. package/dist/router-configuration/router-configuration.d.ts +10 -0
  24. package/dist/router-configuration/router-configuration.js +7 -0
  25. package/dist/router-configuration/router-configuration.js.map +1 -1
  26. package/dist/schema-building/utils.d.ts +21 -4
  27. package/dist/schema-building/utils.js +60 -31
  28. package/dist/schema-building/utils.js.map +1 -1
  29. package/dist/subgraph/subgraph.d.ts +4 -2
  30. package/dist/subgraph/subgraph.js.map +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/dist/warnings/warnings.d.ts +7 -1
  33. package/dist/warnings/warnings.js +35 -1
  34. package/dist/warnings/warnings.js.map +1 -1
  35. package/package.json +2 -2
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newKeyFieldSetData = newKeyFieldSetData;
3
4
  exports.newFieldSetData = newFieldSetData;
4
5
  exports.areNodeKindAndDirectiveLocationCompatible = areNodeKindAndDirectiveLocationCompatible;
5
6
  exports.getDirectiveDefinitionArgumentSets = getDirectiveDefinitionArgumentSets;
6
7
  exports.addFieldNamesToConfigurationData = addFieldNamesToConfigurationData;
7
8
  exports.extractFieldSetValue = extractFieldSetValue;
8
9
  exports.getNormalizedFieldSet = getNormalizedFieldSet;
9
- exports.validateAndAddFieldSetDirectivesToConfigurationData = validateAndAddFieldSetDirectivesToConfigurationData;
10
+ exports.validateKeyFieldSets = validateKeyFieldSets;
11
+ exports.validateAndAddConditionalFieldSetsToConfiguration = validateAndAddConditionalFieldSetsToConfiguration;
10
12
  exports.isNodeQuery = isNodeQuery;
11
13
  const graphql_1 = require("graphql");
12
14
  const utils_1 = require("../utils/utils");
@@ -14,10 +16,17 @@ const utils_2 = require("../ast/utils");
14
16
  const string_constants_1 = require("../utils/string-constants");
15
17
  const errors_1 = require("../errors/errors");
16
18
  const constants_1 = require("../utils/constants");
19
+ const router_configuration_1 = require("../router-configuration/router-configuration");
17
20
  const ast_1 = require("../schema-building/ast");
18
- function newFieldSetData() {
21
+ const utils_3 = require("../schema-building/utils");
22
+ const warnings_1 = require("../warnings/warnings");
23
+ function newKeyFieldSetData() {
19
24
  return {
20
25
  isUnresolvableByKeyFieldSet: new Map(),
26
+ };
27
+ }
28
+ function newFieldSetData() {
29
+ return {
21
30
  provides: new Map(),
22
31
  requires: new Map(),
23
32
  };
@@ -180,19 +189,29 @@ function getNormalizedFieldSet(documentNode) {
180
189
  */
181
190
  return (0, graphql_1.print)((0, utils_2.lexicographicallySortDocumentNode)(documentNode)).replaceAll(/\s+/g, ' ').slice(2, -2);
182
191
  }
183
- function validateNonRepeatableFieldSet(factory, parentData, fieldSet, directiveFieldName) {
192
+ function getInitialFieldCoordinatesPath(fieldSetDirective, directiveParentTypeName, directiveFieldName) {
193
+ switch (fieldSetDirective) {
194
+ case utils_3.FieldSetDirective.PROVIDES:
195
+ return [`${directiveParentTypeName}.${directiveFieldName}`];
196
+ default:
197
+ return [];
198
+ }
199
+ }
200
+ function validateNonRepeatableFieldSet(nf, selectionSetParentData, fieldSet, directiveFieldName, fieldSetDirective, directiveParentTypeName) {
184
201
  // Create a new selection set so that the value can be parsed as a new DocumentNode
185
202
  const { error, documentNode } = (0, utils_2.safeParse)('{' + fieldSet + '}');
186
203
  if (error || !documentNode) {
187
204
  return { errorMessage: (0, errors_1.unparsableFieldSetErrorMessage)(fieldSet, error) };
188
205
  }
189
- let errorMessage;
190
- const parentDatas = [parentData];
206
+ const parentDatas = [selectionSetParentData];
191
207
  const definedFields = [];
208
+ const fieldCoordinatesPath = getInitialFieldCoordinatesPath(fieldSetDirective, directiveParentTypeName, directiveFieldName);
209
+ const fieldPath = [directiveFieldName];
210
+ const externalAncestors = new Set();
211
+ let errorMessage;
192
212
  let currentDepth = -1;
193
213
  let shouldDefineSelectionSet = true;
194
214
  let lastFieldName = directiveFieldName;
195
- let fieldPath = parentData.name;
196
215
  (0, graphql_1.visit)(documentNode, {
197
216
  Argument: {
198
217
  enter() {
@@ -204,16 +223,18 @@ function validateNonRepeatableFieldSet(factory, parentData, fieldSet, directiveF
204
223
  const parentData = parentDatas[currentDepth];
205
224
  const parentTypeName = parentData.name;
206
225
  if (parentData.kind === graphql_1.Kind.UNION_TYPE_DEFINITION) {
207
- errorMessage = (0, errors_1.invalidSelectionOnUnionErrorMessage)(fieldSet, fieldPath, parentTypeName);
226
+ errorMessage = (0, errors_1.invalidSelectionOnUnionErrorMessage)(fieldSet, fieldCoordinatesPath, parentTypeName);
208
227
  return graphql_1.BREAK;
209
228
  }
210
229
  // If an object-like was just visited, a selection set should have been entered
211
230
  if (shouldDefineSelectionSet) {
212
- errorMessage = (0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentTypeName, (0, utils_1.kindToTypeString)(parentData.kind));
231
+ errorMessage = (0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldCoordinatesPath, parentTypeName, (0, utils_1.kindToTypeString)(parentData.kind));
213
232
  return graphql_1.BREAK;
214
233
  }
215
234
  const fieldName = node.name.value;
216
- fieldPath = `${parentTypeName}.${fieldName}`;
235
+ const currentFieldCoordinates = `${parentTypeName}.${fieldName}`;
236
+ fieldCoordinatesPath.push(currentFieldCoordinates);
237
+ fieldPath.push(fieldName);
217
238
  lastFieldName = fieldName;
218
239
  const fieldData = parentData.fieldDataByFieldName.get(fieldName);
219
240
  // undefined if the field does not exist on the parent
@@ -222,23 +243,59 @@ function validateNonRepeatableFieldSet(factory, parentData, fieldSet, directiveF
222
243
  return graphql_1.BREAK;
223
244
  }
224
245
  if (definedFields[currentDepth].has(fieldName)) {
225
- errorMessage = (0, errors_1.duplicateFieldInFieldSetErrorMessage)(fieldSet, fieldPath);
246
+ errorMessage = (0, errors_1.duplicateFieldInFieldSetErrorMessage)(fieldSet, currentFieldCoordinates);
226
247
  return graphql_1.BREAK;
227
248
  }
228
249
  definedFields[currentDepth].add(fieldName);
250
+ const isExternal = fieldData.isExternalBySubgraphName.get(nf.subgraphName);
229
251
  const namedTypeName = (0, ast_1.getTypeNodeNamedTypeName)(fieldData.node.type);
252
+ // The child could itself be a parent and could exist as an object extension
253
+ const namedTypeData = nf.parentDefinitionDataByTypeName.get(namedTypeName) || nf.parentExtensionDataByTypeName.get(namedTypeName);
230
254
  // The base scalars are not in the parents map
231
- if (constants_1.BASE_SCALARS.has(namedTypeName)) {
255
+ if (constants_1.BASE_SCALARS.has(namedTypeName) ||
256
+ namedTypeData?.kind === graphql_1.Kind.SCALAR_TYPE_DEFINITION ||
257
+ namedTypeData?.kind === graphql_1.Kind.ENUM_TYPE_DEFINITION) {
258
+ if (externalAncestors.size < 1 && !isExternal) {
259
+ if (nf.isSubgraphVersionTwo) {
260
+ nf.errors.push((0, errors_1.nonExternalConditionalFieldError)(`${directiveParentTypeName}.${directiveFieldName}`, nf.subgraphName, currentFieldCoordinates, fieldSet, fieldSetDirective));
261
+ }
262
+ else {
263
+ /* In V1, @requires and @provides do not need to declare any part of the field set @external.
264
+ * It would appear that any such non-external fields are treated as if they are non-conditionally provided.
265
+ * */
266
+ nf.warnings.push((0, warnings_1.nonExternalConditionalFieldWarning)(`${directiveParentTypeName}.${directiveFieldName}`, nf.subgraphName, currentFieldCoordinates, fieldSet, fieldSetDirective));
267
+ }
268
+ return;
269
+ }
270
+ const conditionalFieldData = (0, utils_1.getValueOrDefault)(nf.conditionalFieldDataByCoordinates, currentFieldCoordinates, utils_3.newConditionalFieldData);
271
+ const fieldSetCondition = (0, router_configuration_1.newFieldSetConditionData)({
272
+ fieldCoordinatesPath: [...fieldCoordinatesPath],
273
+ fieldPath: [...fieldPath],
274
+ });
275
+ fieldSetDirective === utils_3.FieldSetDirective.PROVIDES
276
+ ? conditionalFieldData.providedBy.push(fieldSetCondition)
277
+ : conditionalFieldData.requiredBy.push(fieldSetCondition);
232
278
  return;
233
279
  }
234
- // The child could itself be a parent and could exist as an object extension
235
- const namedTypeData = factory.parentDefinitionDataByTypeName.get(namedTypeName) ||
236
- factory.parentExtensionDataByTypeName.get(namedTypeName);
237
280
  if (!namedTypeData) {
238
281
  // Should not be possible to receive this error
239
- errorMessage = (0, errors_1.unknownTypeInFieldSetErrorMessage)(fieldSet, fieldPath, namedTypeName);
282
+ errorMessage = (0, errors_1.unknownTypeInFieldSetErrorMessage)(fieldSet, currentFieldCoordinates, namedTypeName);
240
283
  return graphql_1.BREAK;
241
284
  }
285
+ if (isExternal) {
286
+ const data = (0, utils_1.getValueOrDefault)(nf.conditionalFieldDataByCoordinates, currentFieldCoordinates, utils_3.newConditionalFieldData);
287
+ switch (fieldSetDirective) {
288
+ case utils_3.FieldSetDirective.PROVIDES:
289
+ data.providedBy.push((0, router_configuration_1.newFieldSetConditionData)({
290
+ fieldCoordinatesPath: [...fieldCoordinatesPath],
291
+ fieldPath: [...fieldPath],
292
+ }));
293
+ break;
294
+ default:
295
+ break;
296
+ }
297
+ externalAncestors.add(currentFieldCoordinates);
298
+ }
242
299
  if (namedTypeData.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION ||
243
300
  namedTypeData.kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION ||
244
301
  namedTypeData.kind === graphql_1.Kind.INTERFACE_TYPE_DEFINITION ||
@@ -248,13 +305,20 @@ function validateNonRepeatableFieldSet(factory, parentData, fieldSet, directiveF
248
305
  return;
249
306
  }
250
307
  },
308
+ leave() {
309
+ externalAncestors.delete(fieldCoordinatesPath.pop() || '');
310
+ fieldPath.pop();
311
+ },
251
312
  },
252
313
  InlineFragment: {
253
314
  enter(node) {
254
315
  const parentData = parentDatas[currentDepth];
255
316
  const parentTypeName = parentData.name;
317
+ const fieldCoordinates = fieldCoordinatesPath.length < 1
318
+ ? selectionSetParentData.name
319
+ : fieldCoordinatesPath[fieldCoordinatesPath.length - 1];
256
320
  if (!node.typeCondition) {
257
- errorMessage = (0, errors_1.inlineFragmentWithoutTypeConditionErrorMessage)(fieldSet, fieldPath);
321
+ errorMessage = (0, errors_1.inlineFragmentWithoutTypeConditionErrorMessage)(fieldSet, fieldCoordinates);
258
322
  return graphql_1.BREAK;
259
323
  }
260
324
  const typeConditionName = node.typeCondition.name.value;
@@ -265,29 +329,29 @@ function validateNonRepeatableFieldSet(factory, parentData, fieldSet, directiveF
265
329
  return;
266
330
  }
267
331
  if (!(0, utils_2.isKindAbstract)(parentData.kind)) {
268
- errorMessage = (0, errors_1.invalidInlineFragmentTypeErrorMessage)(fieldSet, fieldPath, typeConditionName, parentTypeName);
332
+ errorMessage = (0, errors_1.invalidInlineFragmentTypeErrorMessage)(fieldSet, fieldCoordinatesPath, typeConditionName, parentTypeName);
269
333
  return graphql_1.BREAK;
270
334
  }
271
- const fragmentTypeContainer = factory.parentDefinitionDataByTypeName.get(typeConditionName) ||
272
- factory.parentExtensionDataByTypeName.get(typeConditionName);
273
- if (!fragmentTypeContainer) {
274
- errorMessage = (0, errors_1.unknownInlineFragmentTypeConditionErrorMessage)(fieldSet, fieldPath, typeConditionName);
335
+ const fragmentNamedTypeData = nf.parentDefinitionDataByTypeName.get(typeConditionName) ||
336
+ nf.parentExtensionDataByTypeName.get(typeConditionName);
337
+ if (!fragmentNamedTypeData) {
338
+ errorMessage = (0, errors_1.unknownInlineFragmentTypeConditionErrorMessage)(fieldSet, fieldCoordinatesPath, parentTypeName, typeConditionName);
275
339
  return graphql_1.BREAK;
276
340
  }
277
- if (fragmentTypeContainer.kind !== graphql_1.Kind.INTERFACE_TYPE_DEFINITION &&
278
- fragmentTypeContainer.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION &&
279
- fragmentTypeContainer.kind !== graphql_1.Kind.OBJECT_TYPE_EXTENSION &&
280
- fragmentTypeContainer.kind !== graphql_1.Kind.UNION_TYPE_DEFINITION) {
281
- errorMessage = (0, errors_1.invalidInlineFragmentTypeConditionTypeErrorMessage)(fieldSet, fieldPath, typeConditionName, (0, utils_1.kindToTypeString)(fragmentTypeContainer.kind));
341
+ if (fragmentNamedTypeData.kind !== graphql_1.Kind.INTERFACE_TYPE_DEFINITION &&
342
+ fragmentNamedTypeData.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION &&
343
+ fragmentNamedTypeData.kind !== graphql_1.Kind.OBJECT_TYPE_EXTENSION &&
344
+ fragmentNamedTypeData.kind !== graphql_1.Kind.UNION_TYPE_DEFINITION) {
345
+ errorMessage = (0, errors_1.invalidInlineFragmentTypeConditionTypeErrorMessage)(fieldSet, fieldCoordinatesPath, parentTypeName, typeConditionName, (0, utils_1.kindToTypeString)(fragmentNamedTypeData.kind));
282
346
  return graphql_1.BREAK;
283
347
  }
284
- const concreteTypeNames = factory.concreteTypeNamesByAbstractTypeName.get(parentTypeName);
348
+ const concreteTypeNames = nf.concreteTypeNamesByAbstractTypeName.get(parentTypeName);
285
349
  if (!concreteTypeNames || !concreteTypeNames.has(typeConditionName)) {
286
- errorMessage = (0, errors_1.invalidInlineFragmentTypeConditionErrorMessage)(fieldSet, fieldPath, typeConditionName, (0, utils_1.kindToTypeString)(parentData.kind), parentTypeName);
350
+ errorMessage = (0, errors_1.invalidInlineFragmentTypeConditionErrorMessage)(fieldSet, fieldCoordinatesPath, typeConditionName, (0, utils_1.kindToTypeString)(parentData.kind), parentTypeName);
287
351
  return graphql_1.BREAK;
288
352
  }
289
353
  shouldDefineSelectionSet = true;
290
- parentDatas.push(fragmentTypeContainer);
354
+ parentDatas.push(fragmentNamedTypeData);
291
355
  },
292
356
  leave() {
293
357
  parentDatas.pop();
@@ -296,22 +360,22 @@ function validateNonRepeatableFieldSet(factory, parentData, fieldSet, directiveF
296
360
  SelectionSet: {
297
361
  enter() {
298
362
  if (!shouldDefineSelectionSet) {
299
- const parentContainer = parentDatas[currentDepth];
300
- if (parentContainer.kind === graphql_1.Kind.UNION_TYPE_DEFINITION) {
363
+ const parentData = parentDatas[currentDepth];
364
+ if (parentData.kind === graphql_1.Kind.UNION_TYPE_DEFINITION) {
301
365
  // Should never happen
302
366
  errorMessage = (0, errors_1.unparsableFieldSetSelectionErrorMessage)(fieldSet, lastFieldName);
303
367
  return graphql_1.BREAK;
304
368
  }
305
- const fieldData = parentContainer.fieldDataByFieldName.get(lastFieldName);
369
+ const fieldData = parentData.fieldDataByFieldName.get(lastFieldName);
306
370
  if (!fieldData) {
307
- errorMessage = (0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, fieldPath, lastFieldName);
371
+ errorMessage = (0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, parentData.name, lastFieldName);
308
372
  return graphql_1.BREAK;
309
373
  }
310
374
  const fieldNamedTypeName = (0, ast_1.getTypeNodeNamedTypeName)(fieldData.node.type);
311
375
  // If the child is not found, it's a base scalar. Undefined types would have already been handled.
312
- const childContainer = factory.parentDefinitionDataByTypeName.get(fieldNamedTypeName);
313
- const childKind = childContainer ? childContainer.kind : graphql_1.Kind.SCALAR_TYPE_DEFINITION;
314
- errorMessage = (0, errors_1.invalidSelectionSetDefinitionErrorMessage)(fieldSet, fieldPath, fieldNamedTypeName, (0, utils_1.kindToTypeString)(childKind));
376
+ const namedTypeData = nf.parentDefinitionDataByTypeName.get(fieldNamedTypeName);
377
+ const childKind = namedTypeData ? namedTypeData.kind : graphql_1.Kind.SCALAR_TYPE_DEFINITION;
378
+ errorMessage = (0, errors_1.invalidSelectionSetDefinitionErrorMessage)(fieldSet, fieldCoordinatesPath, fieldNamedTypeName, (0, utils_1.kindToTypeString)(childKind));
315
379
  return graphql_1.BREAK;
316
380
  }
317
381
  currentDepth += 1;
@@ -324,8 +388,8 @@ function validateNonRepeatableFieldSet(factory, parentData, fieldSet, directiveF
324
388
  },
325
389
  leave() {
326
390
  if (shouldDefineSelectionSet) {
327
- const parentContainer = parentDatas[currentDepth + 1];
328
- errorMessage = (0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentContainer.name, (0, utils_1.kindToTypeString)(parentContainer.kind));
391
+ const parentData = parentDatas[currentDepth + 1];
392
+ errorMessage = (0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldCoordinatesPath, parentData.name, (0, utils_1.kindToTypeString)(parentData.kind));
329
393
  shouldDefineSelectionSet = false;
330
394
  }
331
395
  // Empty selection sets would be a parse error, so it is unnecessary to handle them
@@ -380,11 +444,11 @@ function validateKeyFieldSets(nf, entityParentData, nonResolvableByKeyFieldSet,
380
444
  const parentTypeName = parentData.name;
381
445
  // If an object-like was just visited, a selection set should have been entered
382
446
  if (shouldDefineSelectionSet) {
383
- errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, `${grandparentData.name}.${lastFieldName}`, parentTypeName, (0, utils_1.kindToTypeString)(parentData.kind)));
447
+ errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, [`${grandparentData.name}.${lastFieldName}`], parentTypeName, (0, utils_1.kindToTypeString)(parentData.kind)));
384
448
  return graphql_1.BREAK;
385
449
  }
386
450
  const fieldName = node.name.value;
387
- const fieldPath = `${parentTypeName}.${fieldName}`;
451
+ const fieldCoordinates = `${parentTypeName}.${fieldName}`;
388
452
  lastFieldName = fieldName;
389
453
  const fieldData = parentData.fieldDataByFieldName.get(fieldName);
390
454
  // undefined if the field does not exist on the parent
@@ -392,12 +456,13 @@ function validateKeyFieldSets(nf, entityParentData, nonResolvableByKeyFieldSet,
392
456
  errorMessages.push((0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, parentTypeName, fieldName));
393
457
  return graphql_1.BREAK;
394
458
  }
459
+ // TODO navigate already provided keys
395
460
  if (fieldData.argumentDataByArgumentName.size) {
396
- errorMessages.push((0, errors_1.argumentsInKeyFieldSetErrorMessage)(fieldSet, fieldPath));
461
+ errorMessages.push((0, errors_1.argumentsInKeyFieldSetErrorMessage)(fieldSet, fieldCoordinates));
397
462
  return graphql_1.BREAK;
398
463
  }
399
464
  if (definedFields[currentDepth].has(fieldName)) {
400
- errorMessages.push((0, errors_1.duplicateFieldInFieldSetErrorMessage)(fieldSet, fieldPath));
465
+ errorMessages.push((0, errors_1.duplicateFieldInFieldSetErrorMessage)(fieldSet, fieldCoordinates));
401
466
  return graphql_1.BREAK;
402
467
  }
403
468
  currentPath.push(fieldName);
@@ -431,7 +496,7 @@ function validateKeyFieldSets(nf, entityParentData, nonResolvableByKeyFieldSet,
431
496
  const namedTypeData = nf.parentDefinitionDataByTypeName.get(namedTypeName) || nf.parentExtensionDataByTypeName.get(namedTypeName);
432
497
  if (!namedTypeData) {
433
498
  // Should not be possible to receive this error
434
- errorMessages.push((0, errors_1.unknownTypeInFieldSetErrorMessage)(fieldSet, fieldPath, namedTypeName));
499
+ errorMessages.push((0, errors_1.unknownTypeInFieldSetErrorMessage)(fieldSet, fieldCoordinates, namedTypeName));
435
500
  return graphql_1.BREAK;
436
501
  }
437
502
  if (namedTypeData.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION || namedTypeData.kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION) {
@@ -441,7 +506,7 @@ function validateKeyFieldSets(nf, entityParentData, nonResolvableByKeyFieldSet,
441
506
  }
442
507
  // interfaces and unions are invalid in a key directive
443
508
  if ((0, utils_2.isKindAbstract)(namedTypeData.kind)) {
444
- errorMessages.push((0, errors_1.abstractTypeInKeyFieldSetErrorMessage)(fieldSet, fieldPath, namedTypeName, (0, utils_1.kindToTypeString)(namedTypeData.kind)));
509
+ errorMessages.push((0, errors_1.abstractTypeInKeyFieldSetErrorMessage)(fieldSet, fieldCoordinates, namedTypeName, (0, utils_1.kindToTypeString)(namedTypeData.kind)));
445
510
  return graphql_1.BREAK;
446
511
  }
447
512
  keyFieldSetPaths.add(currentPath.join(string_constants_1.PERIOD));
@@ -459,18 +524,18 @@ function validateKeyFieldSets(nf, entityParentData, nonResolvableByKeyFieldSet,
459
524
  if (!shouldDefineSelectionSet) {
460
525
  const parentData = parentWithFieldsDatas[currentDepth];
461
526
  const parentTypeName = parentData.name;
462
- const fieldPath = `${parentTypeName}.${lastFieldName}`;
527
+ const fieldCoordinates = `${parentTypeName}.${lastFieldName}`;
463
528
  // If the last field is not an object-like
464
529
  const fieldData = parentData.fieldDataByFieldName.get(lastFieldName);
465
530
  if (!fieldData) {
466
- errorMessages.push((0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, fieldPath, lastFieldName));
531
+ errorMessages.push((0, errors_1.undefinedFieldInFieldSetErrorMessage)(fieldSet, fieldCoordinates, lastFieldName));
467
532
  return graphql_1.BREAK;
468
533
  }
469
534
  const fieldNamedTypeName = (0, ast_1.getTypeNodeNamedTypeName)(fieldData.node.type);
470
535
  // If the child is not found, it's a base scalar. Undefined types would have already been handled.
471
536
  const namedTypeData = nf.parentDefinitionDataByTypeName.get(fieldNamedTypeName);
472
537
  const namedTypeKind = namedTypeData ? namedTypeData.kind : graphql_1.Kind.SCALAR_TYPE_DEFINITION;
473
- errorMessages.push((0, errors_1.invalidSelectionSetDefinitionErrorMessage)(fieldSet, fieldPath, fieldNamedTypeName, (0, utils_1.kindToTypeString)(namedTypeKind)));
538
+ errorMessages.push((0, errors_1.invalidSelectionSetDefinitionErrorMessage)(fieldSet, [fieldCoordinates], fieldNamedTypeName, (0, utils_1.kindToTypeString)(namedTypeKind)));
474
539
  return graphql_1.BREAK;
475
540
  }
476
541
  currentDepth += 1;
@@ -483,11 +548,11 @@ function validateKeyFieldSets(nf, entityParentData, nonResolvableByKeyFieldSet,
483
548
  },
484
549
  leave() {
485
550
  if (shouldDefineSelectionSet) {
486
- const grandparentContainer = parentWithFieldsDatas[currentDepth];
487
- const grandparentTypeName = grandparentContainer.name;
551
+ const grandparentData = parentWithFieldsDatas[currentDepth];
552
+ const grandparentTypeName = grandparentData.name;
488
553
  const parentData = parentWithFieldsDatas[currentDepth + 1];
489
- const fieldPath = `${grandparentTypeName}.${lastFieldName}`;
490
- errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, fieldPath, parentData.name, (0, utils_1.kindToTypeString)(parentData.kind)));
554
+ const fieldCoordinates = `${grandparentTypeName}.${lastFieldName}`;
555
+ errorMessages.push((0, errors_1.invalidSelectionSetErrorMessage)(fieldSet, [fieldCoordinates], parentData.name, (0, utils_1.kindToTypeString)(parentData.kind)));
491
556
  shouldDefineSelectionSet = false;
492
557
  }
493
558
  // Empty selection sets would be a parse error, so it is unnecessary to handle them
@@ -523,13 +588,8 @@ function validateKeyFieldSets(nf, entityParentData, nonResolvableByKeyFieldSet,
523
588
  return configurations;
524
589
  }
525
590
  }
526
- var FieldSetDirective;
527
- (function (FieldSetDirective) {
528
- FieldSetDirective["PROVIDES"] = "provides";
529
- FieldSetDirective["REQUIRES"] = "requires";
530
- })(FieldSetDirective || (FieldSetDirective = {}));
531
591
  function getFieldSetParent(factory, fieldSetDirective, parentData, fieldName, parentTypeName) {
532
- if (fieldSetDirective !== FieldSetDirective.PROVIDES) {
592
+ if (fieldSetDirective !== utils_3.FieldSetDirective.PROVIDES) {
533
593
  return factory.entityDataByTypeName.has(parentTypeName) ? { fieldSetParentData: parentData } : {};
534
594
  }
535
595
  const fieldData = (0, utils_1.getOrThrowError)(parentData.fieldDataByFieldName, fieldName, `${parentTypeName}.fieldDataByFieldName`);
@@ -546,7 +606,7 @@ function getFieldSetParent(factory, fieldSetDirective, parentData, fieldName, pa
546
606
  function validateProvidesOrRequires(nf, parentData, fieldSetByFieldName, fieldSetDirective) {
547
607
  const errorMessages = [];
548
608
  const configurations = [];
549
- const parentTypeName = parentData.name;
609
+ const parentTypeName = (0, utils_3.getParentTypeName)(parentData);
550
610
  for (const [fieldName, fieldSet] of fieldSetByFieldName) {
551
611
  /* It is possible to encounter a field before encountering the type definition.
552
612
  Consequently, at that time, it is unknown whether the named type is an entity.
@@ -561,7 +621,7 @@ function validateProvidesOrRequires(nf, parentData, fieldSetByFieldName, fieldSe
561
621
  if (!fieldSetParentData) {
562
622
  continue;
563
623
  }
564
- const { errorMessage, configuration } = validateNonRepeatableFieldSet(nf, fieldSetParentData, fieldSet, fieldName);
624
+ const { errorMessage, configuration } = validateNonRepeatableFieldSet(nf, fieldSetParentData, fieldSet, fieldName, fieldSetDirective, parentTypeName);
565
625
  if (errorMessage) {
566
626
  errorMessages.push(` On "${parentTypeName}.${fieldName}" —` + errorMessage);
567
627
  continue;
@@ -573,32 +633,21 @@ function validateProvidesOrRequires(nf, parentData, fieldSetByFieldName, fieldSe
573
633
  // Should never happen
574
634
  throw (0, errors_1.invalidConfigurationResultFatalError)(fieldPath);
575
635
  }
576
- if (errorMessages.length) {
636
+ if (errorMessages.length > 0) {
577
637
  nf.errors.push((0, errors_1.invalidProvidesOrRequiresDirectivesError)(fieldSetDirective, errorMessages));
578
638
  return;
579
639
  }
580
- if (configurations.length) {
640
+ if (configurations.length > 0) {
581
641
  return configurations;
582
642
  }
583
643
  }
584
- function validateAndAddFieldSetDirectivesToConfigurationData(factory, parentData, fieldSetData) {
585
- const configurationData = (0, utils_1.getOrThrowError)(factory.configurationDataByParentTypeName, parentData.name, 'configurationDataMap');
586
- const keys = validateKeyFieldSets(factory, parentData, fieldSetData.isUnresolvableByKeyFieldSet, configurationData.fieldNames);
587
- if (keys) {
588
- configurationData.keys = keys;
589
- const keyFieldSets = new Set();
590
- for (const requiredFieldConfiguration of keys) {
591
- if (requiredFieldConfiguration.disableEntityResolver) {
592
- continue;
593
- }
594
- keyFieldSets.add(requiredFieldConfiguration.selectionSet);
595
- }
596
- }
597
- const provides = validateProvidesOrRequires(factory, parentData, fieldSetData.provides, FieldSetDirective.PROVIDES);
644
+ function validateAndAddConditionalFieldSetsToConfiguration(nf, parentData, fieldSetData) {
645
+ const configurationData = (0, utils_1.getOrThrowError)(nf.configurationDataByParentTypeName, (0, utils_3.getParentTypeName)(parentData), 'configurationDataByParentTypeName');
646
+ const provides = validateProvidesOrRequires(nf, parentData, fieldSetData.provides, utils_3.FieldSetDirective.PROVIDES);
598
647
  if (provides) {
599
648
  configurationData.provides = provides;
600
649
  }
601
- const requires = validateProvidesOrRequires(factory, parentData, fieldSetData.requires, FieldSetDirective.REQUIRES);
650
+ const requires = validateProvidesOrRequires(nf, parentData, fieldSetData.requires, utils_3.FieldSetDirective.REQUIRES);
602
651
  if (requires) {
603
652
  configurationData.requires = requires;
604
653
  }
@@ -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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"}