@wundergraph/composition 0.18.5 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,14 +39,15 @@ class NormalizationFactory {
39
39
  customDirectiveDefinitions = new Map();
40
40
  directiveDefinitionByDirectiveName = new Map();
41
41
  errors = [];
42
- entityContainerByTypeName = new Map();
42
+ entityDataByTypeName = new Map();
43
43
  entityInterfaces = new Map();
44
44
  graph;
45
45
  parentExtensionDataByTypeName = new Map();
46
46
  interfaceTypeNamesWithAuthorizationDirectives = new Set();
47
47
  isCurrentParentExtension = false;
48
+ isEventDrivenSubgraph = false;
48
49
  isSubgraphVersionTwo = false;
49
- fieldSetContainerByTypeName = new Map();
50
+ fieldSetDataByTypeName = new Map();
50
51
  heirFieldAuthorizationDataByTypeName = new Map();
51
52
  handledRepeatedDirectivesByHostPath = new Map();
52
53
  lastParentNodeKind = graphql_1.Kind.NULL;
@@ -301,16 +302,16 @@ class NormalizationFactory {
301
302
  if (node.kind === graphql_1.Kind.INTERFACE_TYPE_DEFINITION || node.kind === graphql_1.Kind.INTERFACE_TYPE_EXTENSION || !isEntity) {
302
303
  return;
303
304
  }
304
- const fieldSetContainer = (0, utils_3.getValueOrDefault)(this.fieldSetContainerByTypeName, this.originalParentTypeName, utils_2.newFieldSetContainer);
305
- this.extractKeyFieldSets(node, fieldSetContainer);
306
- (0, utils_3.upsertEntityContainerProperties)(this.entityContainerByTypeName, {
305
+ const fieldSetData = (0, utils_3.getValueOrDefault)(this.fieldSetDataByTypeName, this.originalParentTypeName, utils_2.newFieldSetData);
306
+ this.extractKeyFieldSets(node, fieldSetData);
307
+ (0, utils_3.upsertEntityDataProperties)(this.entityDataByTypeName, {
307
308
  typeName: this.originalParentTypeName,
308
- keyFieldSets: fieldSetContainer.keys,
309
+ keyFieldSets: fieldSetData.isUnresolvableByKeyFieldSet.keys(),
309
310
  ...(this.subgraphName ? { subgraphNames: [this.subgraphName] } : {}),
310
311
  });
311
312
  }
312
- extractKeyFieldSets(node, fieldSetContainer) {
313
- const rawFieldSets = fieldSetContainer.keys;
313
+ extractKeyFieldSets(node, fieldSetData) {
314
+ const isUnresolvableByRawKeyFieldSet = fieldSetData.isUnresolvableByKeyFieldSet;
314
315
  const parentTypeName = node.name.value;
315
316
  if (!node.directives?.length) {
316
317
  // This should never happen
@@ -326,23 +327,30 @@ class NormalizationFactory {
326
327
  errorMessages.push((0, errors_1.undefinedRequiredArgumentsErrorMessage)(string_constants_1.KEY, parentTypeName, [string_constants_1.FIELDS]));
327
328
  continue;
328
329
  }
330
+ let keyFieldSet;
331
+ let isUnresolvable = false;
329
332
  for (const arg of directive.arguments) {
330
333
  const argumentName = arg.name.value;
331
334
  if (arg.name.value === string_constants_1.RESOLVABLE) {
332
335
  if (arg.value.kind === graphql_1.Kind.BOOLEAN && !arg.value.value) {
333
- fieldSetContainer.disableEntityResolver = true;
336
+ isUnresolvable = true;
334
337
  }
335
338
  continue;
336
339
  }
337
340
  if (arg.name.value !== string_constants_1.FIELDS) {
341
+ keyFieldSet = undefined;
338
342
  errorMessages.push((0, errors_1.unexpectedDirectiveArgumentErrorMessage)(string_constants_1.KEY, argumentName));
339
343
  break;
340
344
  }
341
345
  if (arg.value.kind !== graphql_1.Kind.STRING) {
346
+ keyFieldSet = undefined;
342
347
  errorMessages.push((0, errors_1.invalidKeyDirectiveArgumentErrorMessage)(arg.value.kind));
343
348
  break;
344
349
  }
345
- rawFieldSets.add(arg.value.value);
350
+ keyFieldSet = arg.value.value;
351
+ }
352
+ if (keyFieldSet !== undefined) {
353
+ isUnresolvableByRawKeyFieldSet.set(keyFieldSet, isUnresolvable);
346
354
  }
347
355
  }
348
356
  if (errorMessages.length) {
@@ -466,7 +474,7 @@ class NormalizationFactory {
466
474
  continue;
467
475
  }
468
476
  let topic;
469
- let sourceId;
477
+ let sourceName;
470
478
  for (const arg of directive.arguments || []) {
471
479
  if (arg.value.kind !== graphql_1.Kind.STRING) {
472
480
  throw new Error(`Event directive arguments must be strings, ${arg.value.kind} found in argument ${arg.name}`);
@@ -482,14 +490,14 @@ class NormalizationFactory {
482
490
  topic = arg.value.value;
483
491
  break;
484
492
  }
485
- case string_constants_1.SOURCE_ID: {
486
- if (sourceId !== undefined) {
493
+ case string_constants_1.SOURCE_NAME: {
494
+ if (sourceName !== undefined) {
487
495
  throw new Error(`Event directives must have exactly one sourceID argument, found multiple`);
488
496
  }
489
497
  if (!arg.value.value) {
490
498
  throw new Error(`Event directives must have a non-empty sourceID argument`);
491
499
  }
492
- sourceId = arg.value.value;
500
+ sourceName = arg.value.value;
493
501
  break;
494
502
  }
495
503
  default:
@@ -504,10 +512,209 @@ class NormalizationFactory {
504
512
  type: eventType,
505
513
  fieldName: this.childName,
506
514
  topic,
507
- sourceId,
515
+ sourceName: sourceName || string_constants_1.DEFAULT,
508
516
  });
509
517
  }
510
518
  }
519
+ getValidEventsDirectiveNamesForRootTypeName(parentTypeName) {
520
+ const operationTypeNode = this.operationTypeNodeByTypeName.get(parentTypeName);
521
+ if (!operationTypeNode) {
522
+ switch (parentTypeName) {
523
+ case string_constants_1.MUTATION:
524
+ return new Set([string_constants_1.EVENTS_PUBLISH, string_constants_1.EVENTS_REQUEST]);
525
+ case string_constants_1.QUERY:
526
+ return new Set([string_constants_1.EVENTS_REQUEST]);
527
+ case string_constants_1.SUBSCRIPTION:
528
+ return new Set([string_constants_1.EVENTS_SUBSCRIBE]);
529
+ default:
530
+ return;
531
+ }
532
+ }
533
+ switch (operationTypeNode) {
534
+ case graphql_1.OperationTypeNode.MUTATION:
535
+ return new Set([string_constants_1.EVENTS_REQUEST, string_constants_1.EVENTS_PUBLISH]);
536
+ case graphql_1.OperationTypeNode.QUERY:
537
+ return new Set([string_constants_1.EVENTS_REQUEST]);
538
+ case graphql_1.OperationTypeNode.SUBSCRIPTION:
539
+ return new Set([string_constants_1.EVENTS_SUBSCRIBE]);
540
+ default:
541
+ return;
542
+ }
543
+ }
544
+ validateEventDrivenRootType(data, validEventsDirectiveNames, invalidEventsDirectiveDataByRootFieldPath, invalidResponseTypeStringByRootFieldPath, invalidResponseTypeNameByMutationPath) {
545
+ const isMutation = validEventsDirectiveNames.has(string_constants_1.EVENTS_PUBLISH);
546
+ for (const [fieldName, fieldData] of data.fieldDataByFieldName) {
547
+ const fieldPath = `${fieldData.originalParentTypeName}.${fieldName}`;
548
+ const definedEventsDirectiveNames = new Set();
549
+ for (const eventsDirectiveName of string_constants_1.EVENT_DIRECTIVE_NAMES) {
550
+ if (fieldData.directivesByDirectiveName.has(eventsDirectiveName)) {
551
+ definedEventsDirectiveNames.add(eventsDirectiveName);
552
+ }
553
+ }
554
+ const invalidEventsDirectiveNames = new Set();
555
+ for (const definedEventsDirectiveName of definedEventsDirectiveNames) {
556
+ if (!validEventsDirectiveNames.has(definedEventsDirectiveName)) {
557
+ invalidEventsDirectiveNames.add(definedEventsDirectiveName);
558
+ }
559
+ }
560
+ if (definedEventsDirectiveNames.size < 1 || invalidEventsDirectiveNames.size > 0) {
561
+ invalidEventsDirectiveDataByRootFieldPath.set(fieldPath, {
562
+ definesDirectives: definedEventsDirectiveNames.size > 0,
563
+ invalidDirectiveNames: [...invalidEventsDirectiveNames],
564
+ });
565
+ }
566
+ if (isMutation) {
567
+ const typeString = (0, merge_1.printTypeNode)(fieldData.type);
568
+ if (typeString !== string_constants_1.NON_NULLABLE_PUBLISH_EVENT_RESULT) {
569
+ invalidResponseTypeNameByMutationPath.set(fieldPath, typeString);
570
+ }
571
+ continue;
572
+ }
573
+ const fieldTypeString = (0, merge_1.printTypeNode)(fieldData.type);
574
+ const expectedTypeString = fieldData.namedTypeName + '!';
575
+ let isValid = false;
576
+ const concreteTypeNames = this.concreteTypeNamesByAbstractTypeName.get(fieldData.namedTypeName) ||
577
+ new Set([fieldData.namedTypeName]);
578
+ for (const concreteTypeName of concreteTypeNames) {
579
+ isValid ||= this.entityDataByTypeName.has(concreteTypeName);
580
+ if (isValid) {
581
+ break;
582
+ }
583
+ }
584
+ if (!isValid || fieldTypeString !== expectedTypeString) {
585
+ invalidResponseTypeStringByRootFieldPath.set(fieldPath, fieldTypeString);
586
+ }
587
+ }
588
+ }
589
+ validateEventDrivenKeyDefinition(typeName, invalidKeyFieldSetsByEntityTypeName) {
590
+ const fieldSetData = this.fieldSetDataByTypeName.get(typeName);
591
+ if (!fieldSetData) {
592
+ return;
593
+ }
594
+ for (const [keyFieldSet, isUnresolvable] of fieldSetData.isUnresolvableByKeyFieldSet) {
595
+ if (isUnresolvable) {
596
+ continue;
597
+ }
598
+ (0, utils_3.getValueOrDefault)(invalidKeyFieldSetsByEntityTypeName, typeName, () => []).push(keyFieldSet);
599
+ }
600
+ }
601
+ validateEventDrivenObjectFields(fieldDataByFieldName, keyFieldNames, nonExternalKeyFieldNameByFieldPath, nonKeyFieldNameByFieldPath) {
602
+ for (const [fieldName, fieldData] of fieldDataByFieldName) {
603
+ const fieldPath = `${fieldData.originalParentTypeName}.${fieldName}`;
604
+ if (keyFieldNames.has(fieldName)) {
605
+ if (!fieldData.isExternalBySubgraphName.get(this.subgraphName)) {
606
+ nonExternalKeyFieldNameByFieldPath.set(fieldPath, fieldName);
607
+ }
608
+ continue;
609
+ }
610
+ nonKeyFieldNameByFieldPath.set(fieldPath, fieldName);
611
+ }
612
+ }
613
+ isPublishEventResultValid() {
614
+ const data = this.parentDefinitionDataByTypeName.get(string_constants_1.PUBLISH_EVENT_RESULT);
615
+ if (!data) {
616
+ return true;
617
+ }
618
+ if (data.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION) {
619
+ return false;
620
+ }
621
+ if (data.fieldDataByFieldName.size != 1) {
622
+ return false;
623
+ }
624
+ for (const [fieldName, fieldData] of data.fieldDataByFieldName) {
625
+ if (fieldData.argumentDataByArgumentName.size > 0) {
626
+ return false;
627
+ }
628
+ if (fieldName !== string_constants_1.SUCCESS) {
629
+ return false;
630
+ }
631
+ if ((0, merge_1.printTypeNode)(fieldData.type) !== string_constants_1.NON_NULLABLE_BOOLEAN) {
632
+ return false;
633
+ }
634
+ }
635
+ return true;
636
+ }
637
+ validateEventDrivenSubgraph() {
638
+ const errorMessages = [];
639
+ const invalidEventsDirectiveDataByRootFieldPath = new Map();
640
+ const invalidResponseTypeStringByRootFieldPath = new Map();
641
+ const invalidResponseTypeNameByMutationPath = new Map();
642
+ const invalidKeyFieldSetsByEntityTypeName = new Map();
643
+ const nonExternalKeyFieldNameByFieldPath = new Map();
644
+ const nonKeyFieldNameByFieldPath = new Map();
645
+ const nonEntityExtensionTypeNames = new Set();
646
+ const invalidObjectTypeNames = new Set();
647
+ for (const [typeName, data] of this.parentExtensionDataByTypeName) {
648
+ if (data.kind !== graphql_1.Kind.OBJECT_TYPE_EXTENSION) {
649
+ continue;
650
+ }
651
+ // If a required events directive is returned, the parent type is a root type
652
+ const validEventsDirectiveNames = this.getValidEventsDirectiveNamesForRootTypeName(data.name);
653
+ if (validEventsDirectiveNames) {
654
+ this.validateEventDrivenRootType(data, validEventsDirectiveNames, invalidEventsDirectiveDataByRootFieldPath, invalidResponseTypeStringByRootFieldPath, invalidResponseTypeNameByMutationPath);
655
+ continue;
656
+ }
657
+ const keyFieldNames = this.keyFieldNamesByParentTypeName.get(typeName);
658
+ if (!keyFieldNames || !data.isEntity) {
659
+ nonEntityExtensionTypeNames.add(typeName);
660
+ continue;
661
+ }
662
+ this.validateEventDrivenKeyDefinition(typeName, invalidKeyFieldSetsByEntityTypeName);
663
+ this.validateEventDrivenObjectFields(data.fieldDataByFieldName, keyFieldNames, nonExternalKeyFieldNameByFieldPath, nonKeyFieldNameByFieldPath);
664
+ }
665
+ for (const [typeName, data] of this.parentDefinitionDataByTypeName) {
666
+ if (data.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION) {
667
+ continue;
668
+ }
669
+ // validate PublishEventResult separately
670
+ if (typeName === string_constants_1.PUBLISH_EVENT_RESULT) {
671
+ continue;
672
+ }
673
+ // If a required events directive is returned, the parent type is a root type
674
+ const validEventsDirectiveNames = this.getValidEventsDirectiveNamesForRootTypeName(data.name);
675
+ if (validEventsDirectiveNames) {
676
+ this.validateEventDrivenRootType(data, validEventsDirectiveNames, invalidEventsDirectiveDataByRootFieldPath, invalidResponseTypeStringByRootFieldPath, invalidResponseTypeNameByMutationPath);
677
+ continue;
678
+ }
679
+ const keyFieldNames = this.keyFieldNamesByParentTypeName.get(typeName);
680
+ if (!keyFieldNames) {
681
+ invalidObjectTypeNames.add(typeName);
682
+ continue;
683
+ }
684
+ this.validateEventDrivenKeyDefinition(typeName, invalidKeyFieldSetsByEntityTypeName);
685
+ this.validateEventDrivenObjectFields(data.fieldDataByFieldName, keyFieldNames, nonExternalKeyFieldNameByFieldPath, nonKeyFieldNameByFieldPath);
686
+ }
687
+ if (!this.isPublishEventResultValid()) {
688
+ errorMessages.push(errors_1.invalidPublishEventResultObjectErrorMessage);
689
+ }
690
+ if (invalidEventsDirectiveDataByRootFieldPath.size > 0) {
691
+ errorMessages.push((0, errors_1.invalidRootTypeFieldEventsDirectivesErrorMessage)(invalidEventsDirectiveDataByRootFieldPath));
692
+ }
693
+ if (invalidResponseTypeNameByMutationPath.size > 0) {
694
+ errorMessages.push((0, errors_1.invalidEventsDrivenMutationResponseTypeErrorMessage)(invalidResponseTypeNameByMutationPath));
695
+ }
696
+ if (invalidResponseTypeStringByRootFieldPath.size > 0) {
697
+ errorMessages.push((0, errors_1.invalidRootTypeFieldResponseTypesEventDrivenErrorMessage)(invalidResponseTypeStringByRootFieldPath));
698
+ }
699
+ if (invalidKeyFieldSetsByEntityTypeName.size > 0) {
700
+ errorMessages.push((0, errors_1.invalidKeyFieldSetsEventDrivenErrorMessage)(invalidKeyFieldSetsByEntityTypeName));
701
+ }
702
+ if (nonExternalKeyFieldNameByFieldPath.size > 0) {
703
+ errorMessages.push((0, errors_1.nonExternalKeyFieldNamesEventDrivenErrorMessage)(nonExternalKeyFieldNameByFieldPath));
704
+ }
705
+ if (nonKeyFieldNameByFieldPath.size > 0) {
706
+ errorMessages.push((0, errors_1.nonKeyFieldNamesEventDrivenErrorMessage)(nonKeyFieldNameByFieldPath));
707
+ }
708
+ if (nonEntityExtensionTypeNames.size > 0) {
709
+ errorMessages.push((0, errors_1.nonEntityObjectExtensionsEventDrivenErrorMessage)([...nonEntityExtensionTypeNames]));
710
+ }
711
+ if (invalidObjectTypeNames.size > 0) {
712
+ errorMessages.push((0, errors_1.nonKeyComposingObjectTypeNamesEventDrivenErrorMessage)([...invalidObjectTypeNames]));
713
+ }
714
+ if (errorMessages.length > 0) {
715
+ this.errors.push((0, errors_1.invalidEventDrivenGraphError)(errorMessages));
716
+ }
717
+ }
511
718
  normalize(document) {
512
719
  /* factory.allDirectiveDefinitions is initialized with v1 directive definitions, and v2 definitions are only added
513
720
  after the visitor has visited the entire schema and the subgraph is known to be a V2 graph. Consequently,
@@ -567,7 +774,7 @@ class NormalizationFactory {
567
774
  const validParentExtensionOrphansByTypeName = new Map();
568
775
  const handledParentTypeNames = new Set();
569
776
  for (const [extensionTypeName, parentExtensionData] of this.parentExtensionDataByTypeName) {
570
- const isEntity = this.entityContainerByTypeName.has(extensionTypeName);
777
+ const isEntity = this.entityDataByTypeName.has(extensionTypeName);
571
778
  const newParentTypeName = parentExtensionData.kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION
572
779
  ? parentExtensionData.renamedTypeName || extensionTypeName
573
780
  : extensionTypeName;
@@ -685,7 +892,7 @@ class NormalizationFactory {
685
892
  case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
686
893
  // intentional fallthrough
687
894
  case graphql_1.Kind.OBJECT_TYPE_DEFINITION:
688
- const isEntity = this.entityContainerByTypeName.has(parentTypeName);
895
+ const isEntity = this.entityDataByTypeName.has(parentTypeName);
689
896
  const operationTypeNode = this.operationTypeNodeByTypeName.get(parentTypeName);
690
897
  if (operationTypeNode) {
691
898
  parentDefinitionData.fieldDataByFieldName.delete(string_constants_1.SERVICE_FIELD);
@@ -795,7 +1002,7 @@ class NormalizationFactory {
795
1002
  }
796
1003
  for (const referencedTypeName of this.referencedTypeNames) {
797
1004
  if (this.parentDefinitionDataByTypeName.has(referencedTypeName) ||
798
- this.entityContainerByTypeName.has(referencedTypeName)) {
1005
+ this.entityDataByTypeName.has(referencedTypeName)) {
799
1006
  continue;
800
1007
  }
801
1008
  const extension = this.parentExtensionDataByTypeName.get(referencedTypeName);
@@ -803,7 +1010,7 @@ class NormalizationFactory {
803
1010
  this.errors.push((0, errors_1.undefinedTypeError)(referencedTypeName));
804
1011
  }
805
1012
  }
806
- for (const [parentTypeName, fieldSetContainers] of this.fieldSetContainerByTypeName) {
1013
+ for (const [parentTypeName, fieldSetData] of this.fieldSetDataByTypeName) {
807
1014
  const parentData = this.parentDefinitionDataByTypeName.get(parentTypeName) ||
808
1015
  this.parentExtensionDataByTypeName.get(parentTypeName);
809
1016
  if (!parentData ||
@@ -815,7 +1022,7 @@ class NormalizationFactory {
815
1022
  continue;
816
1023
  }
817
1024
  // this is where keys, provides, and requires are added to the ConfigurationData
818
- (0, utils_2.validateAndAddDirectivesWithFieldSetToConfigurationData)(this, parentData, fieldSetContainers);
1025
+ (0, utils_2.validateAndAddDirectivesWithFieldSetToConfigurationData)(this, parentData, fieldSetData);
819
1026
  }
820
1027
  const persistedDirectiveDefinitionDataByDirectiveName = new Map();
821
1028
  for (const directiveDefinitionNode of this.directiveDefinitionByDirectiveName.values()) {
@@ -826,6 +1033,9 @@ class NormalizationFactory {
826
1033
  }
827
1034
  (0, utils_4.addPersistedDirectiveDefinitionDataByNode)(persistedDirectiveDefinitionDataByDirectiveName, directiveDefinitionNode, this.errors, this.directiveDefinitionByDirectiveName, this.handledRepeatedDirectivesByHostPath, executableLocations, this.subgraphName);
828
1035
  }
1036
+ if (this.isEventDrivenSubgraph) {
1037
+ this.validateEventDrivenSubgraph();
1038
+ }
829
1039
  if (this.errors.length > 0) {
830
1040
  return { errors: this.errors };
831
1041
  }
@@ -840,7 +1050,7 @@ class NormalizationFactory {
840
1050
  // It is an Intermediate configuration object that will be converted to an engine configuration in the router
841
1051
  concreteTypeNamesByAbstractTypeName: this.concreteTypeNamesByAbstractTypeName,
842
1052
  configurationDataByParentTypeName: this.configurationDataByParentTypeName,
843
- entityContainerByTypeName: this.entityContainerByTypeName,
1053
+ entityContainerByTypeName: this.entityDataByTypeName,
844
1054
  entityInterfaces: this.entityInterfaces,
845
1055
  parentDefinitionDataByTypeName: this.parentDefinitionDataByTypeName,
846
1056
  parentExtensionDataByTypeName: validParentExtensionOrphansByTypeName,
@@ -862,7 +1072,7 @@ exports.NormalizationFactory = NormalizationFactory;
862
1072
  function batchNormalize(subgraphs) {
863
1073
  const authorizationDataByParentTypeName = new Map();
864
1074
  const concreteTypeNamesByAbstractTypeName = new Map();
865
- const entityContainerByTypeName = new Map();
1075
+ const entityDataByTypeName = new Map();
866
1076
  const internalSubgraphBySubgraphName = new Map();
867
1077
  const allOverridesByTargetSubgraphName = new Map();
868
1078
  const overrideSourceSubgraphNamesByFieldPath = new Map();
@@ -909,7 +1119,7 @@ function batchNormalize(subgraphs) {
909
1119
  (0, utils_3.addIterableValuesToSet)(incomingConcreteTypeNames, existingConcreteTypeNames);
910
1120
  }
911
1121
  for (const entityContainer of normalizationResult.entityContainerByTypeName.values()) {
912
- (0, utils_3.upsertEntityContainer)(entityContainerByTypeName, entityContainer);
1122
+ (0, utils_3.upsertEntityData)(entityDataByTypeName, entityContainer);
913
1123
  }
914
1124
  if (subgraph.name) {
915
1125
  internalSubgraphBySubgraphName.set(subgraphName, {
@@ -978,7 +1188,7 @@ function batchNormalize(subgraphs) {
978
1188
  return {
979
1189
  authorizationDataByParentTypeName,
980
1190
  concreteTypeNamesByAbstractTypeName,
981
- entityContainerByTypeName,
1191
+ entityContainerByTypeName: entityDataByTypeName,
982
1192
  errors: allErrors,
983
1193
  graph,
984
1194
  internalSubgraphBySubgraphName,
@@ -1002,7 +1212,7 @@ function batchNormalize(subgraphs) {
1002
1212
  return {
1003
1213
  authorizationDataByParentTypeName,
1004
1214
  concreteTypeNamesByAbstractTypeName,
1005
- entityContainerByTypeName: entityContainerByTypeName,
1215
+ entityContainerByTypeName: entityDataByTypeName,
1006
1216
  graph,
1007
1217
  internalSubgraphBySubgraphName: internalSubgraphBySubgraphName,
1008
1218
  ...(warnings.length > 0 ? { warnings } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"normalization-factory.js","sourceRoot":"","sources":["../../src/normalization/normalization-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalization-factory.js","sourceRoot":"","sources":["../../src/normalization/normalization-factory.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  import { ConstDirectiveNode, DirectiveDefinitionNode, DocumentNode, InputValueDefinitionNode, Kind, OperationTypeNode, TypeNode } from 'graphql';
2
2
  import { NormalizationFactory } from './normalization-factory';
3
3
  import { FieldData, ParentWithFieldsData } from '../schema-building/type-definition-data';
4
- export type FieldSetContainer = {
5
- keys: Set<string>;
4
+ export type FieldSetData = {
5
+ isUnresolvableByKeyFieldSet: Map<string, boolean>;
6
6
  provides: Map<string, string>;
7
7
  requires: Map<string, string>;
8
- disableEntityResolver?: boolean;
9
8
  };
10
- export declare function newFieldSetContainer(): FieldSetContainer;
9
+ export declare function newFieldSetData(): FieldSetData;
11
10
  export declare function areNodeKindAndDirectiveLocationCompatible(kind: Kind, directiveDefinitionNode: DirectiveDefinitionNode, isArgument?: boolean): boolean;
12
11
  export declare function getDirectiveDefinitionArgumentSets(args: readonly InputValueDefinitionNode[], argumentKindByArgumentName: Map<string, TypeNode>, requiredArguments: Set<string>): void;
13
12
  export type InputValidationContainer = {
@@ -17,5 +16,5 @@ export type InputValidationContainer = {
17
16
  export declare function addNonExternalFieldsToSet(fieldDataByFieldName: Map<string, FieldData>, fieldNames: Set<string>): void;
18
17
  export declare function extractFieldSetValue(name: string, map: Map<string, string>, directives?: ConstDirectiveNode[]): void;
19
18
  export declare function getNormalizedFieldSet(documentNode: DocumentNode): string;
20
- export declare function validateAndAddDirectivesWithFieldSetToConfigurationData(factory: NormalizationFactory, parentContainer: ParentWithFieldsData, fieldSetContainer: FieldSetContainer): void;
19
+ export declare function validateAndAddDirectivesWithFieldSetToConfigurationData(factory: NormalizationFactory, parentContainer: ParentWithFieldsData, fieldSetData: FieldSetData): void;
21
20
  export declare function isNodeQuery(typeName: string, operationTypeNode?: OperationTypeNode): boolean;