@@ -25,25 +25,43 @@ import { indent } from "@graphql-codegen/visitor-plugin-common";
2525import { buildAnnotations } from "./build-annotations" ;
2626import { findTypeInResolverInterfacesConfig } from "./find-type-in-resolver-interfaces-config" ;
2727
28- export function buildFieldDefinition (
29- node : ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode ,
30- fieldNode : FieldDefinitionNode ,
31- schema : GraphQLSchema ,
32- config : CodegenConfigWithDefaults ,
33- typeMetadata : TypeMetadata ,
34- shouldGenerateFunctions ?: boolean ,
35- isConstructorField ?: boolean ,
36- ) {
28+ export function buildFieldDefinition ( {
29+ node,
30+ fieldNode,
31+ schema,
32+ config,
33+ typeMetadata,
34+ shouldGenerateFunctions,
35+ isConstructorField,
36+ } : {
37+ node : ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode ;
38+ fieldNode : FieldDefinitionNode ;
39+ schema : GraphQLSchema ;
40+ config : CodegenConfigWithDefaults ;
41+ typeMetadata : TypeMetadata ;
42+ shouldGenerateFunctions ?: boolean ;
43+ isConstructorField ?: boolean ;
44+ } ) {
45+ const typeInResolverInterfacesConfig = findTypeInResolverInterfacesConfig (
46+ node ,
47+ config ,
48+ ) ;
3749 const modifier = buildFieldModifier (
3850 node ,
3951 fieldNode ,
4052 schema ,
41- config ,
53+ typeInResolverInterfacesConfig ,
4254 isConstructorField ,
4355 ) ;
4456 const fieldArguments = isConstructorField
4557 ? ""
46- : buildFieldArguments ( node , fieldNode , schema , config ) ;
58+ : buildFieldArguments (
59+ node ,
60+ fieldNode ,
61+ schema ,
62+ typeInResolverInterfacesConfig ,
63+ config ,
64+ ) ;
4765 const fieldDefinition = `${ modifier } ${ fieldNode . name . value } ${ fieldArguments } ` ;
4866 const annotations = buildAnnotations ( {
4967 config,
@@ -62,10 +80,6 @@ export function buildFieldDefinition(
6280 const atLeastOneFieldHasNoArguments = node . fields ?. some (
6381 ( fieldNode ) => ! fieldNode . arguments ?. length ,
6482 ) ;
65- const typeInResolverInterfacesConfig = findTypeInResolverInterfacesConfig (
66- node ,
67- config ,
68- ) ;
6983 const defaultImplementation =
7084 ! typeInResolverInterfacesConfig && atLeastOneFieldHasNoArguments
7185 ? fieldNode . name . value
@@ -91,13 +105,11 @@ function buildFieldModifier(
91105 node : ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode ,
92106 fieldNode : FieldDefinitionNode ,
93107 schema : GraphQLSchema ,
94- config : CodegenConfigWithDefaults ,
108+ typeInResolverInterfacesConfig : ReturnType <
109+ typeof findTypeInResolverInterfacesConfig
110+ > ,
95111 isConstructorField ?: boolean ,
96112) {
97- const typeInResolverInterfacesConfig = findTypeInResolverInterfacesConfig (
98- node ,
99- config ,
100- ) ;
101113 const shouldOverrideField = shouldModifyFieldWithOverride (
102114 node ,
103115 fieldNode ,
@@ -129,13 +141,12 @@ function buildFieldArguments(
129141 node : ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode ,
130142 fieldNode : FieldDefinitionNode ,
131143 schema : GraphQLSchema ,
144+ typeInResolverInterfacesConfig : ReturnType <
145+ typeof findTypeInResolverInterfacesConfig
146+ > ,
132147 config : CodegenConfigWithDefaults ,
133148) {
134- const typeIsInResolverInterfaces = findTypeInResolverInterfacesConfig (
135- node ,
136- config ,
137- ) ;
138- if ( ! typeIsInResolverInterfaces && ! fieldNode . arguments ?. length ) {
149+ if ( ! typeInResolverInterfacesConfig && ! fieldNode . arguments ?. length ) {
139150 return "" ;
140151 }
141152 const isOverrideFunction = shouldModifyFieldWithOverride (
0 commit comments