@wundergraph/composition 0.19.0 → 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.
- package/dist/errors/errors.d.ts +11 -0
- package/dist/errors/errors.js +111 -1
- package/dist/errors/errors.js.map +1 -1
- package/dist/errors/utils.d.ts +4 -0
- package/dist/errors/utils.js +3 -0
- package/dist/errors/utils.js.map +1 -0
- package/dist/federation/federation-factory.d.ts +4 -4
- package/dist/federation/federation-factory.js +5 -6
- package/dist/federation/federation-factory.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/normalization/normalization-factory.d.ts +16 -7
- package/dist/normalization/normalization-factory.js +235 -25
- package/dist/normalization/normalization-factory.js.map +1 -1
- package/dist/normalization/utils.d.ts +4 -5
- package/dist/normalization/utils.js +12 -12
- package/dist/normalization/utils.js.map +1 -1
- package/dist/normalization/walkers.js +12 -9
- package/dist/normalization/walkers.js.map +1 -1
- package/dist/router-configuration/router-configuration.d.ts +1 -1
- package/dist/schema-building/ast.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/constants.js +31 -10
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/string-constants.d.ts +7 -1
- package/dist/utils/string-constants.js +9 -3
- package/dist/utils/string-constants.js.map +1 -1
- package/dist/utils/utils.d.ts +6 -6
- package/dist/utils/utils.js +16 -16
- package/dist/utils/utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -39,14 +39,15 @@ class NormalizationFactory {
|
|
|
39
39
|
customDirectiveDefinitions = new Map();
|
|
40
40
|
directiveDefinitionByDirectiveName = new Map();
|
|
41
41
|
errors = [];
|
|
42
|
-
|
|
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
|
-
|
|
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
|
|
305
|
-
this.extractKeyFieldSets(node,
|
|
306
|
-
(0, utils_3.
|
|
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:
|
|
309
|
+
keyFieldSets: fieldSetData.isUnresolvableByKeyFieldSet.keys(),
|
|
309
310
|
...(this.subgraphName ? { subgraphNames: [this.subgraphName] } : {}),
|
|
310
311
|
});
|
|
311
312
|
}
|
|
312
|
-
extractKeyFieldSets(node,
|
|
313
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
486
|
-
if (
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
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,
|
|
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.
|
|
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
|
|
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.
|
|
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:
|
|
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
|
|
5
|
-
|
|
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
|
|
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,
|
|
19
|
+
export declare function validateAndAddDirectivesWithFieldSetToConfigurationData(factory: NormalizationFactory, parentContainer: ParentWithFieldsData, fieldSetData: FieldSetData): void;
|
|
21
20
|
export declare function isNodeQuery(typeName: string, operationTypeNode?: OperationTypeNode): boolean;
|