@graphql-codegen/visitor-plugin-common
Advanced tools
Comparing version 5.4.0-alpha-20240822005351-95cbbbcad916a8bc2dfbff4874f4297abddc9d67 to 5.4.0-alpha-20240822101354-e44375622b0aaa0804bc5d20bc5ee90f51f22c92
@@ -520,3 +520,6 @@ "use strict"; | ||
if (resolverType.baseGeneratedTypename) { | ||
userDefinedTypes[schemaTypeName] = { name: resolverType.baseGeneratedTypename }; | ||
userDefinedTypes[schemaTypeName] = { | ||
name: resolverType.baseGeneratedTypename, | ||
federation: resolverType.federation, | ||
}; | ||
} | ||
@@ -684,3 +687,3 @@ return (0, utils_js_1.indent)(this.formatRootResolver(schemaTypeName, resolverType.typename, declarationKind)); | ||
} | ||
ObjectTypeDefinition(node) { | ||
ObjectTypeDefinition(node, key, parent) { | ||
const declarationKind = 'type'; | ||
@@ -722,2 +725,9 @@ const name = this.convertName(node, { | ||
}; | ||
if (this.config.federation) { | ||
const originalNode = parent[key]; | ||
const federationDetails = (0, plugin_helpers_1.checkObjectTypeFederationDetails)(originalNode, this._schema); | ||
this._collectedResolvers[node.name].federation = { | ||
hasResolveReference: federationDetails ? federationDetails.resolvableKeyDirectives.length > 0 : false, | ||
}; | ||
} | ||
return block.string; | ||
@@ -724,0 +734,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { ApolloFederation, getBaseType } from '@graphql-codegen/plugin-helpers'; | ||
import { ApolloFederation, checkObjectTypeFederationDetails, getBaseType } from '@graphql-codegen/plugin-helpers'; | ||
import { getRootTypeNames } from '@graphql-tools/utils'; | ||
@@ -516,3 +516,6 @@ import autoBind from 'auto-bind'; | ||
if (resolverType.baseGeneratedTypename) { | ||
userDefinedTypes[schemaTypeName] = { name: resolverType.baseGeneratedTypename }; | ||
userDefinedTypes[schemaTypeName] = { | ||
name: resolverType.baseGeneratedTypename, | ||
federation: resolverType.federation, | ||
}; | ||
} | ||
@@ -680,3 +683,3 @@ return indent(this.formatRootResolver(schemaTypeName, resolverType.typename, declarationKind)); | ||
} | ||
ObjectTypeDefinition(node) { | ||
ObjectTypeDefinition(node, key, parent) { | ||
const declarationKind = 'type'; | ||
@@ -718,2 +721,9 @@ const name = this.convertName(node, { | ||
}; | ||
if (this.config.federation) { | ||
const originalNode = parent[key]; | ||
const federationDetails = checkObjectTypeFederationDetails(originalNode, this._schema); | ||
this._collectedResolvers[node.name].federation = { | ||
hasResolveReference: federationDetails ? federationDetails.resolvableKeyDirectives.length > 0 : false, | ||
}; | ||
} | ||
return block.string; | ||
@@ -720,0 +730,0 @@ } |
{ | ||
"name": "@graphql-codegen/visitor-plugin-common", | ||
"version": "5.4.0-alpha-20240822005351-95cbbbcad916a8bc2dfbff4874f4297abddc9d67", | ||
"version": "5.4.0-alpha-20240822101354-e44375622b0aaa0804bc5d20bc5ee90f51f22c92", | ||
"peerDependencies": { | ||
@@ -9,3 +9,3 @@ "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" | ||
"@graphql-tools/optimize": "^2.0.0", | ||
"@graphql-codegen/plugin-helpers": "^5.0.4", | ||
"@graphql-codegen/plugin-helpers": "5.1.0-alpha-20240822101354-e44375622b0aaa0804bc5d20bc5ee90f51f22c92", | ||
"@graphql-tools/relay-operation-optimizer": "^7.0.0", | ||
@@ -12,0 +12,0 @@ "@graphql-tools/utils": "^10.0.0", |
@@ -35,2 +35,16 @@ import { ApolloFederation } from '@graphql-codegen/plugin-helpers'; | ||
type FieldDefinitionPrintFn = (parentName: string, avoidResolverOptionals: boolean) => string | null; | ||
interface RootResolverResult { | ||
content: string; | ||
generatedResolverTypes: { | ||
resolversMap: { | ||
name: string; | ||
}; | ||
userDefined: Record<string, { | ||
name: string; | ||
federation?: { | ||
hasResolveReference: boolean; | ||
}; | ||
}>; | ||
}; | ||
} | ||
export interface RawResolversConfig extends RawConfig { | ||
@@ -603,2 +617,5 @@ /** | ||
baseGeneratedTypename?: string; | ||
federation?: { | ||
hasResolveReference: boolean; | ||
}; | ||
}; | ||
@@ -675,13 +692,3 @@ }; | ||
hasFederation(): boolean; | ||
getRootResolver(): { | ||
content: string; | ||
generatedResolverTypes: { | ||
resolversMap: { | ||
name: string; | ||
}; | ||
userDefined: Record<string, { | ||
name: string; | ||
}>; | ||
}; | ||
}; | ||
getRootResolver(): RootResolverResult; | ||
protected formatRootResolver(schemaTypeName: string, resolverType: string, declarationKind: DeclarationKind): string; | ||
@@ -704,3 +711,3 @@ getAllDirectiveResolvers(): string; | ||
protected applyOptionalFields(argsType: string, _fields: readonly InputValueDefinitionNode[]): string; | ||
ObjectTypeDefinition(node: ObjectTypeDefinitionNode): string; | ||
ObjectTypeDefinition(node: ObjectTypeDefinitionNode, key: number, parent: any): string; | ||
UnionTypeDefinition(node: UnionTypeDefinitionNode, key: string | number, parent: any): string; | ||
@@ -707,0 +714,0 @@ ScalarTypeDefinition(node: ScalarTypeDefinitionNode): string; |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
573486
10627