@graphql-codegen/visitor-plugin-common 6.0.0-alpha-20250608134954-abd8276c8c3ea60547bf2b0dabfd58c20bc69065 → 6.0.0-alpha-20250609132459-7295defb943748833086d045631267fb86a57303
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,12 +96,8 @@ 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
|
-
typeName
|
|
101
|
-
baseFederationType: `${this.convertName('FederationTypes')}['${typeName}']`,
|
|
102
|
-
});
|
|
103
|
-
if (federationReferenceTypes) {
|
|
104
|
-
result += ` | ${federationReferenceTypes}`;
|
|
99
|
+
if (this._federation.getMeta()[typeName]?.referenceSelectionSetsString) {
|
|
100
|
+
result += ` | ${this.convertName('FederationReferenceTypes')}['${typeName}']`;
|
|
105
101
|
}
|
|
106
102
|
return result;
|
|
107
103
|
},
|
|
@@ -474,6 +470,27 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
474
470
|
})
|
|
475
471
|
.join('\n')).string;
|
|
476
472
|
}
|
|
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
|
+
}
|
|
477
494
|
get schema() {
|
|
478
495
|
return this._schema;
|
|
479
496
|
}
|
|
@@ -683,12 +700,6 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
683
700
|
argsType = this.applyOptionalFields(argsType, original.arguments);
|
|
684
701
|
}
|
|
685
702
|
}
|
|
686
|
-
const parentTypeSignature = this._federation.transformFieldParentType({
|
|
687
|
-
fieldNode: original,
|
|
688
|
-
parentType,
|
|
689
|
-
parentTypeSignature: this.getParentTypeForSignature(node),
|
|
690
|
-
federationTypeSignature: 'FederationType',
|
|
691
|
-
});
|
|
692
703
|
const { mappedTypeKey, resolverType } = (() => {
|
|
693
704
|
const baseType = (0, utils_js_1.getBaseTypeNode)(original.type);
|
|
694
705
|
const realType = baseType.name.value;
|
|
@@ -722,14 +733,16 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
722
733
|
name: typeName,
|
|
723
734
|
modifier: avoidResolverOptionals ? '' : '?',
|
|
724
735
|
type: resolverType,
|
|
725
|
-
genericTypes: [mappedTypeKey,
|
|
736
|
+
genericTypes: [mappedTypeKey, this.getParentTypeForSignature(node), contextType, argsType].filter(f => f),
|
|
726
737
|
};
|
|
727
738
|
if (this._federation.isResolveReferenceField(node)) {
|
|
728
739
|
if (!this._federation.getMeta()[parentType.name].hasResolveReference) {
|
|
729
740
|
return { value: '', meta };
|
|
730
741
|
}
|
|
742
|
+
const resultType = `${mappedTypeKey} | FederationReferenceType`;
|
|
743
|
+
const referenceType = 'FederationReferenceType';
|
|
731
744
|
signature.type = 'ReferenceResolver';
|
|
732
|
-
signature.genericTypes = [
|
|
745
|
+
signature.genericTypes = [resultType, referenceType, contextType];
|
|
733
746
|
meta.federation = { isResolveReference: true };
|
|
734
747
|
}
|
|
735
748
|
return {
|
|
@@ -839,7 +852,7 @@ class BaseResolversVisitor extends base_visitor_js_1.BaseVisitor {
|
|
|
839
852
|
];
|
|
840
853
|
this._federation.addFederationTypeGenericIfApplicable({
|
|
841
854
|
genericTypes,
|
|
842
|
-
federationTypesType: this.convertName('
|
|
855
|
+
federationTypesType: this.convertName('FederationReferenceTypes'),
|
|
843
856
|
typeName,
|
|
844
857
|
});
|
|
845
858
|
const block = new utils_js_1.DeclarationBlock(this._declarationBlockConfig)
|
|
@@ -92,12 +92,8 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
92
92
|
shouldInclude: namedType => !isEnumType(namedType),
|
|
93
93
|
onNotMappedObjectType: ({ typeName, initialType }) => {
|
|
94
94
|
let result = initialType;
|
|
95
|
-
|
|
96
|
-
typeName
|
|
97
|
-
baseFederationType: `${this.convertName('FederationTypes')}['${typeName}']`,
|
|
98
|
-
});
|
|
99
|
-
if (federationReferenceTypes) {
|
|
100
|
-
result += ` | ${federationReferenceTypes}`;
|
|
95
|
+
if (this._federation.getMeta()[typeName]?.referenceSelectionSetsString) {
|
|
96
|
+
result += ` | ${this.convertName('FederationReferenceTypes')}['${typeName}']`;
|
|
101
97
|
}
|
|
102
98
|
return result;
|
|
103
99
|
},
|
|
@@ -470,6 +466,27 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
470
466
|
})
|
|
471
467
|
.join('\n')).string;
|
|
472
468
|
}
|
|
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
|
+
}
|
|
473
490
|
get schema() {
|
|
474
491
|
return this._schema;
|
|
475
492
|
}
|
|
@@ -679,12 +696,6 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
679
696
|
argsType = this.applyOptionalFields(argsType, original.arguments);
|
|
680
697
|
}
|
|
681
698
|
}
|
|
682
|
-
const parentTypeSignature = this._federation.transformFieldParentType({
|
|
683
|
-
fieldNode: original,
|
|
684
|
-
parentType,
|
|
685
|
-
parentTypeSignature: this.getParentTypeForSignature(node),
|
|
686
|
-
federationTypeSignature: 'FederationType',
|
|
687
|
-
});
|
|
688
699
|
const { mappedTypeKey, resolverType } = (() => {
|
|
689
700
|
const baseType = getBaseTypeNode(original.type);
|
|
690
701
|
const realType = baseType.name.value;
|
|
@@ -718,14 +729,16 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
718
729
|
name: typeName,
|
|
719
730
|
modifier: avoidResolverOptionals ? '' : '?',
|
|
720
731
|
type: resolverType,
|
|
721
|
-
genericTypes: [mappedTypeKey,
|
|
732
|
+
genericTypes: [mappedTypeKey, this.getParentTypeForSignature(node), contextType, argsType].filter(f => f),
|
|
722
733
|
};
|
|
723
734
|
if (this._federation.isResolveReferenceField(node)) {
|
|
724
735
|
if (!this._federation.getMeta()[parentType.name].hasResolveReference) {
|
|
725
736
|
return { value: '', meta };
|
|
726
737
|
}
|
|
738
|
+
const resultType = `${mappedTypeKey} | FederationReferenceType`;
|
|
739
|
+
const referenceType = 'FederationReferenceType';
|
|
727
740
|
signature.type = 'ReferenceResolver';
|
|
728
|
-
signature.genericTypes = [
|
|
741
|
+
signature.genericTypes = [resultType, referenceType, contextType];
|
|
729
742
|
meta.federation = { isResolveReference: true };
|
|
730
743
|
}
|
|
731
744
|
return {
|
|
@@ -835,7 +848,7 @@ export class BaseResolversVisitor extends BaseVisitor {
|
|
|
835
848
|
];
|
|
836
849
|
this._federation.addFederationTypeGenericIfApplicable({
|
|
837
850
|
genericTypes,
|
|
838
|
-
federationTypesType: this.convertName('
|
|
851
|
+
federationTypesType: this.convertName('FederationReferenceTypes'),
|
|
839
852
|
typeName,
|
|
840
853
|
});
|
|
841
854
|
const block = new DeclarationBlock(this._declarationBlockConfig)
|
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-20250609132459-7295defb943748833086d045631267fb86a57303",
|
|
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-20250609132459-7295defb943748833086d045631267fb86a57303",
|
|
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,6 +737,7 @@ export declare class BaseResolversVisitor<TRawConfig extends RawResolversConfig
|
|
|
737
737
|
buildResolversUnionTypes(): string;
|
|
738
738
|
buildResolversInterfaceTypes(): string;
|
|
739
739
|
buildFederationTypes(): string;
|
|
740
|
+
buildFederationReferenceTypes(): string;
|
|
740
741
|
get schema(): GraphQLSchema;
|
|
741
742
|
get defaultMapperType(): string;
|
|
742
743
|
get unusedMappers(): string[];
|
|
@@ -737,6 +737,7 @@ export declare class BaseResolversVisitor<TRawConfig extends RawResolversConfig
|
|
|
737
737
|
buildResolversUnionTypes(): string;
|
|
738
738
|
buildResolversInterfaceTypes(): string;
|
|
739
739
|
buildFederationTypes(): string;
|
|
740
|
+
buildFederationReferenceTypes(): string;
|
|
740
741
|
get schema(): GraphQLSchema;
|
|
741
742
|
get defaultMapperType(): string;
|
|
742
743
|
get unusedMappers(): string[];
|