@@ -109,9 +109,10 @@ export default class SchemaCodeGenerator {
109
109
. filter ( ( def ) => this . _isEntityTypeDefinition ( def ) )
110
110
. flatMap ( ( def : any ) => def . fields )
111
111
. filter ( ( def : any ) => this . _isDerivedField ( def ) )
112
- . map ( ( def : any ) => this . _getTypeNameForField ( def ) ) ;
112
+ . map ( ( def : FieldDefinitionNode ) => this . _getTypeNameForField ( def . type ) ) ;
113
113
114
- return [ ...new Set ( fields ) ] . map ( ( typeName : any ) => this . _generateDerivedLoader ( typeName ) ) ;
114
+ return [ ...new Set ( fields ) ] . map ( ( typeName : any ) => {
115
+ return this . _generateDerivedLoader ( typeName ) } ) ;
115
116
}
116
117
117
118
_isEntityTypeDefinition ( def : DefinitionNode ) : def is ObjectTypeDefinitionNode {
@@ -178,15 +179,19 @@ export default class SchemaCodeGenerator {
178
179
179
180
return klass ;
180
181
}
181
- _getTypeNameForField ( gqlType : any ) : any {
182
- if ( gqlType . kind === 'NonNullType' ) {
183
- return this . _getTypeNameForField ( gqlType . type )
184
- } else if ( gqlType . kind === 'ListType' ) {
185
- return this . _getTypeNameForField ( gqlType . type )
186
- } else {
187
- return gqlType . name . value
188
- }
182
+
183
+ _getTypeNameForField ( gqlType : TypeNode ) : string {
184
+
185
+ if ( gqlType . kind === 'NonNullType' ) {
186
+ return this . _getTypeNameForField ( gqlType . type ) ;
187
+ } if ( gqlType . kind === 'ListType' ) {
188
+ return this . _getTypeNameForField ( gqlType . type ) ;
189
+ } if ( gqlType . kind === 'NamedType' ) {
190
+ return ( gqlType as NamedTypeNode ) . name . value ;
189
191
}
192
+
193
+ throw new Error ( `Unknown type kind: ${ gqlType } ` ) ;
194
+ }
190
195
_generateConstructor ( _entityName : string , fields : readonly FieldDefinitionNode [ ] | undefined ) {
191
196
const idField = IdField . fromFields ( fields ) ;
192
197
return tsCodegen . method (
0 commit comments