@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
- if (this._federation.getMeta()[typeName]?.referenceSelectionSetsString) {
100
- result += ` | ${this.convertName('FederationReferenceTypes')}['${typeName}']`;
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, this.getParentTypeForSignature(node), contextType, argsType].filter(f => f),
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 = [resultType, referenceType, contextType];
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('FederationReferenceTypes'),
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('FederationReferenceTypes'),
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
- if (this._federation.getMeta()[typeName]?.referenceSelectionSetsString) {
96
- result += ` | ${this.convertName('FederationReferenceTypes')}['${typeName}']`;
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, this.getParentTypeForSignature(node), contextType, argsType].filter(f => f),
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 = [resultType, referenceType, contextType];
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('FederationReferenceTypes'),
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('FederationReferenceTypes'),
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-20250612132824-44802c0840ae29ad1077e13de5b9a766f3802849",
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-20250612132824-44802c0840ae29ad1077e13de5b9a766f3802849",
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[];