@graphql-codegen/visitor-plugin-common 6.0.0-alpha-20250612132824-44802c0840ae29ad1077e13de5b9a766f3802849 → 6.0.0-alpha-20250627132114-c24a6143ab3a6f442f962ee2b22460fc7215b05b
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.
|
@@ -96,8 +96,12 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
96
96
|
shouldInclude: namedType => !(0, graphql_1.isEnumType)(namedType),
|
|
97
97
|
onNotMappedObjectType: ({ typeName, initialType }) => {
|
|
98
98
|
let result = initialType;
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
const federationReferenceTypes = this._federation.printReferenceSelectionSets({
|
|
100
|
+
typeName,
|
|
101
|
+
baseFederationType: `${this.convertName('FederationTypes')}['${typeName}']`,
|
|
102
|
+
});
|
|
103
|
+
if (federationReferenceTypes) {
|
|
104
|
+
result += ` | ${federationReferenceTypes}`;
|
|
101
105
|
}
|
|
102
106
|
return result;
|
|
103
107
|
},
|
|
@@ -470,27 +474,6 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
470
474
|
})
|
|
471
475
|
.join('\n')).string;
|
|
472
476
|
}
|
|
473
|
-
buildFederationReferenceTypes() {
|
|
474
|
-
const federationMeta = this._federation.getMeta();
|
|
475
|
-
if (Object.keys(federationMeta).length === 0) {
|
|
476
|
-
return '';
|
|
477
|
-
}
|
|
478
|
-
const declarationKind = 'type';
|
|
479
|
-
return new utils_js_1.DeclarationBlock(this._declarationBlockConfig)
|
|
480
|
-
.export()
|
|
481
|
-
.asKind(declarationKind)
|
|
482
|
-
.withName(this.convertName('FederationReferenceTypes'))
|
|
483
|
-
.withComment('Mapping of federation reference types')
|
|
484
|
-
.withBlock(Object.entries(federationMeta)
|
|
485
|
-
.map(([typeName, { referenceSelectionSetsString }]) => {
|
|
486
|
-
if (!referenceSelectionSetsString) {
|
|
487
|
-
return undefined;
|
|
488
|
-
}
|
|
489
|
-
return (0, utils_js_1.indent)(`${typeName}: ${referenceSelectionSetsString}${this.getPunctuation(declarationKind)}`);
|
|
490
|
-
})
|
|
491
|
-
.filter(v => v)
|
|
492
|
-
.join('\n')).string;
|
|
493
|
-
}
|
|
494
477
|
get schema() {
|
|
495
478
|
return this._schema;
|
|
496
479
|
}
|
|
@@ -700,6 +683,12 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
700
683
|
argsType = this.applyOptionalFields(argsType, original.arguments);
|
|
701
684
|
}
|
|
702
685
|
}
|
|
686
|
+
const parentTypeSignature = this._federation.transformFieldParentType({
|
|
687
|
+
fieldNode: original,
|
|
688
|
+
parentType,
|
|
689
|
+
parentTypeSignature: this.getParentTypeForSignature(node),
|
|
690
|
+
federationTypeSignature: 'FederationType',
|
|
691
|
+
});
|
|
703
692
|
const { mappedTypeKey, resolverType } = (() => {
|
|
704
693
|
const baseType = (0, utils_js_1.getBaseTypeNode)(original.type);
|
|
705
694
|
const realType = baseType.name.value;
|
|
@@ -733,16 +722,14 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
733
722
|
name: typeName,
|
|
734
723
|
modifier: avoidResolverOptionals ? '' : '?',
|
|
735
724
|
type: resolverType,
|
|
736
|
-
genericTypes: [mappedTypeKey,
|
|
725
|
+
genericTypes: [mappedTypeKey, parentTypeSignature, contextType, argsType].filter(f => f),
|
|
737
726
|
};
|
|
738
727
|
if (this._federation.isResolveReferenceField(node)) {
|
|
739
728
|
if (!this._federation.getMeta()[parentType.name].hasResolveReference) {
|
|
740
729
|
return { value: '', meta };
|
|
741
730
|
}
|
|
742
|
-
const resultType = `${mappedTypeKey} | FederationReferenceType`;
|
|
743
|
-
const referenceType = 'FederationReferenceType';
|
|
744
731
|
signature.type = 'ReferenceResolver';
|
|
745
|
-
signature.genericTypes = [
|
|
732
|
+
signature.genericTypes = [mappedTypeKey, parentTypeSignature, contextType];
|
|
746
733
|
meta.federation = { isResolveReference: true };
|
|
747
734
|
}
|
|
748
735
|
return {
|
|
@@ -852,7 +839,7 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
852
839
|
];
|
|
853
840
|
this._federation.addFederationTypeGenericIfApplicable({
|
|
854
841
|
genericTypes,
|
|
855
|
-
federationTypesType: this.convertName('
|
|
842
|
+
federationTypesType: this.convertName('FederationTypes'),
|
|
856
843
|
typeName,
|
|
857
844
|
});
|
|
858
845
|
const block = new utils_js_1.DeclarationBlock(this._declarationBlockConfig)
|
|
@@ -995,7 +982,7 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
995
982
|
];
|
|
996
983
|
this._federation.addFederationTypeGenericIfApplicable({
|
|
997
984
|
genericTypes,
|
|
998
|
-
federationTypesType: this.convertName('
|
|
985
|
+
federationTypesType: this.convertName('FederationTypes'),
|
|
999
986
|
typeName,
|
|
1000
987
|
});
|
|
1001
988
|
const possibleTypes = implementingTypes.map(name => `'${name}'`).join(' | ') || 'null';
|
|
@@ -92,8 +92,12 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
92
92
|
shouldInclude: namedType => !isEnumType(namedType),
|
|
93
93
|
onNotMappedObjectType: ({ typeName, initialType }) => {
|
|
94
94
|
let result = initialType;
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
const federationReferenceTypes = this._federation.printReferenceSelectionSets({
|
|
96
|
+
typeName,
|
|
97
|
+
baseFederationType: `${this.convertName('FederationTypes')}['${typeName}']`,
|
|
98
|
+
});
|
|
99
|
+
if (federationReferenceTypes) {
|
|
100
|
+
result += ` | ${federationReferenceTypes}`;
|
|
97
101
|
}
|
|
98
102
|
return result;
|
|
99
103
|
},
|
|
@@ -466,27 +470,6 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
466
470
|
})
|
|
467
471
|
.join('\n')).string;
|
|
468
472
|
}
|
|
469
|
-
buildFederationReferenceTypes() {
|
|
470
|
-
const federationMeta = this._federation.getMeta();
|
|
471
|
-
if (Object.keys(federationMeta).length === 0) {
|
|
472
|
-
return '';
|
|
473
|
-
}
|
|
474
|
-
const declarationKind = 'type';
|
|
475
|
-
return new DeclarationBlock(this._declarationBlockConfig)
|
|
476
|
-
.export()
|
|
477
|
-
.asKind(declarationKind)
|
|
478
|
-
.withName(this.convertName('FederationReferenceTypes'))
|
|
479
|
-
.withComment('Mapping of federation reference types')
|
|
480
|
-
.withBlock(Object.entries(federationMeta)
|
|
481
|
-
.map(([typeName, { referenceSelectionSetsString }]) => {
|
|
482
|
-
if (!referenceSelectionSetsString) {
|
|
483
|
-
return undefined;
|
|
484
|
-
}
|
|
485
|
-
return indent(`${typeName}: ${referenceSelectionSetsString}${this.getPunctuation(declarationKind)}`);
|
|
486
|
-
})
|
|
487
|
-
.filter(v => v)
|
|
488
|
-
.join('\n')).string;
|
|
489
|
-
}
|
|
490
473
|
get schema() {
|
|
491
474
|
return this._schema;
|
|
492
475
|
}
|
|
@@ -696,6 +679,12 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
696
679
|
argsType = this.applyOptionalFields(argsType, original.arguments);
|
|
697
680
|
}
|
|
698
681
|
}
|
|
682
|
+
const parentTypeSignature = this._federation.transformFieldParentType({
|
|
683
|
+
fieldNode: original,
|
|
684
|
+
parentType,
|
|
685
|
+
parentTypeSignature: this.getParentTypeForSignature(node),
|
|
686
|
+
federationTypeSignature: 'FederationType',
|
|
687
|
+
});
|
|
699
688
|
const { mappedTypeKey, resolverType } = (() => {
|
|
700
689
|
const baseType = getBaseTypeNode(original.type);
|
|
701
690
|
const realType = baseType.name.value;
|
|
@@ -729,16 +718,14 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
729
718
|
name: typeName,
|
|
730
719
|
modifier: avoidResolverOptionals ? '' : '?',
|
|
731
720
|
type: resolverType,
|
|
732
|
-
genericTypes: [mappedTypeKey,
|
|
721
|
+
genericTypes: [mappedTypeKey, parentTypeSignature, contextType, argsType].filter(f => f),
|
|
733
722
|
};
|
|
734
723
|
if (this._federation.isResolveReferenceField(node)) {
|
|
735
724
|
if (!this._federation.getMeta()[parentType.name].hasResolveReference) {
|
|
736
725
|
return { value: '', meta };
|
|
737
726
|
}
|
|
738
|
-
const resultType = `${mappedTypeKey} | FederationReferenceType`;
|
|
739
|
-
const referenceType = 'FederationReferenceType';
|
|
740
727
|
signature.type = 'ReferenceResolver';
|
|
741
|
-
signature.genericTypes = [
|
|
728
|
+
signature.genericTypes = [mappedTypeKey, parentTypeSignature, contextType];
|
|
742
729
|
meta.federation = { isResolveReference: true };
|
|
743
730
|
}
|
|
744
731
|
return {
|
|
@@ -848,7 +835,7 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
848
835
|
];
|
|
849
836
|
this._federation.addFederationTypeGenericIfApplicable({
|
|
850
837
|
genericTypes,
|
|
851
|
-
federationTypesType: this.convertName('
|
|
838
|
+
federationTypesType: this.convertName('FederationTypes'),
|
|
852
839
|
typeName,
|
|
853
840
|
});
|
|
854
841
|
const block = new DeclarationBlock(this._declarationBlockConfig)
|
|
@@ -991,7 +978,7 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
991
978
|
];
|
|
992
979
|
this._federation.addFederationTypeGenericIfApplicable({
|
|
993
980
|
genericTypes,
|
|
994
|
-
federationTypesType: this.convertName('
|
|
981
|
+
federationTypesType: this.convertName('FederationTypes'),
|
|
995
982
|
typeName,
|
|
996
983
|
});
|
|
997
984
|
const possibleTypes = implementingTypes.map(name => `'${name}'`).join(' | ') || 'null';
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-codegen/visitor-plugin-common",
|
|
3
|
-
"version": "6.0.0-alpha-
|
|
3
|
+
"version": "6.0.0-alpha-20250627132114-c24a6143ab3a6f442f962ee2b22460fc7215b05b",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@graphql-tools/optimize": "^2.0.0",
|
|
9
|
-
"@graphql-codegen/plugin-helpers": "6.0.0-alpha-
|
|
9
|
+
"@graphql-codegen/plugin-helpers": "6.0.0-alpha-20250627132114-c24a6143ab3a6f442f962ee2b22460fc7215b05b",
|
|
10
10
|
"@graphql-tools/relay-operation-optimizer": "^7.0.0",
|
|
11
11
|
"@graphql-tools/utils": "^10.0.0",
|
|
12
12
|
"auto-bind": "~4.0.0",
|
|
@@ -737,7 +737,6 @@ export declare class BaseResolversVisitor<TRawConfig extends RawResolversConfig
|
|
|
737
737
|
buildResolversUnionTypes(): string;
|
|
738
738
|
buildResolversInterfaceTypes(): string;
|
|
739
739
|
buildFederationTypes(): string;
|
|
740
|
-
buildFederationReferenceTypes(): string;
|
|
741
740
|
get schema(): GraphQLSchema;
|
|
742
741
|
get defaultMapperType(): string;
|
|
743
742
|
get unusedMappers(): string[];
|
|
@@ -737,7 +737,6 @@ export declare class BaseResolversVisitor<TRawConfig extends RawResolversConfig
|
|
|
737
737
|
buildResolversUnionTypes(): string;
|
|
738
738
|
buildResolversInterfaceTypes(): string;
|
|
739
739
|
buildFederationTypes(): string;
|
|
740
|
-
buildFederationReferenceTypes(): string;
|
|
741
740
|
get schema(): GraphQLSchema;
|
|
742
741
|
get defaultMapperType(): string;
|
|
743
742
|
get unusedMappers(): string[];
|