@@ -35,10 +35,11 @@ export function transformScalarType(
35
35
objectProps
36
36
) ;
37
37
} else {
38
- return ts . createUnionTypeNode ( [
38
+ return ts . factory . createUnionTypeNode ( [
39
39
transformNonNullableScalarType ( schema , type , state , objectProps ) ,
40
- // @ts -ignore
41
- ts . createKeywordTypeNode ( ts . SyntaxKind . NullKeyword ) ,
40
+ ts . factory . createLiteralTypeNode (
41
+ ts . factory . createToken ( ts . SyntaxKind . NullKeyword )
42
+ ) ,
42
43
] ) ;
43
44
}
44
45
}
@@ -50,14 +51,17 @@ function transformNonNullableScalarType(
50
51
objectProps ?: ts . TypeNode
51
52
) : ts . TypeNode {
52
53
if ( schema . isList ( type ) ) {
53
- return ts . createTypeReferenceNode ( ts . createIdentifier ( "ReadonlyArray" ) , [
54
- transformScalarType (
55
- schema ,
56
- schema . getListItemType ( type ) ,
57
- state ,
58
- objectProps
59
- ) ,
60
- ] ) ;
54
+ return ts . factory . createTypeReferenceNode (
55
+ ts . factory . createIdentifier ( "ReadonlyArray" ) ,
56
+ [
57
+ transformScalarType (
58
+ schema ,
59
+ schema . getListItemType ( type ) ,
60
+ state ,
61
+ objectProps
62
+ ) ,
63
+ ]
64
+ ) ;
61
65
} else if (
62
66
schema . isObject ( type ) ||
63
67
schema . isUnion ( type ) ||
@@ -82,17 +86,17 @@ function transformGraphQLScalarType(
82
86
case "ID" :
83
87
case "String" :
84
88
case "Url" :
85
- return ts . createKeywordTypeNode ( ts . SyntaxKind . StringKeyword ) ;
89
+ return ts . factory . createKeywordTypeNode ( ts . SyntaxKind . StringKeyword ) ;
86
90
case "Float" :
87
91
case "Int" :
88
- return ts . createKeywordTypeNode ( ts . SyntaxKind . NumberKeyword ) ;
92
+ return ts . factory . createKeywordTypeNode ( ts . SyntaxKind . NumberKeyword ) ;
89
93
case "Boolean" :
90
- return ts . createKeywordTypeNode ( ts . SyntaxKind . BooleanKeyword ) ;
94
+ return ts . factory . createKeywordTypeNode ( ts . SyntaxKind . BooleanKeyword ) ;
91
95
92
96
default :
93
97
return customType
94
- ? ts . createTypeReferenceNode ( customType , undefined )
95
- : ts . createKeywordTypeNode ( ts . SyntaxKind . UnknownKeyword ) ;
98
+ ? ts . factory . createTypeReferenceNode ( customType , undefined )
99
+ : ts . factory . createKeywordTypeNode ( ts . SyntaxKind . UnknownKeyword ) ;
96
100
}
97
101
}
98
102
@@ -102,8 +106,8 @@ function transformGraphQLEnumType(
102
106
state : State
103
107
) : ts . TypeNode {
104
108
state . usedEnums [ schema . getTypeString ( type ) ] = type ;
105
- return ts . createTypeReferenceNode (
106
- ts . createIdentifier ( schema . getTypeString ( type ) ) ,
109
+ return ts . factory . createTypeReferenceNode (
110
+ ts . factory . createIdentifier ( schema . getTypeString ( type ) ) ,
107
111
[ ]
108
112
) ;
109
113
}
@@ -120,10 +124,11 @@ export function transformInputType(
120
124
state
121
125
) ;
122
126
} else {
123
- return ts . createUnionTypeNode ( [
127
+ return ts . factory . createUnionTypeNode ( [
124
128
transformNonNullableInputType ( schema , type , state ) ,
125
- // @ts -ignore
126
- ts . createKeywordTypeNode ( ts . SyntaxKind . NullKeyword ) ,
129
+ ts . factory . createLiteralTypeNode (
130
+ ts . factory . createToken ( ts . SyntaxKind . NullKeyword )
131
+ ) ,
127
132
] ) ;
128
133
}
129
134
}
@@ -134,18 +139,19 @@ function transformNonNullableInputType(
134
139
state : State
135
140
) {
136
141
if ( schema . isList ( type ) ) {
137
- return ts . createTypeReferenceNode ( ts . createIdentifier ( "Array" ) , [
138
- transformInputType ( schema , schema . getListItemType ( type ) , state ) ,
139
- ] ) ;
142
+ return ts . factory . createTypeReferenceNode (
143
+ ts . factory . createIdentifier ( "Array" ) ,
144
+ [ transformInputType ( schema , schema . getListItemType ( type ) , state ) ]
145
+ ) ;
140
146
} else if ( schema . isScalar ( type ) ) {
141
147
return transformGraphQLScalarType ( schema . getTypeString ( type ) , state ) ;
142
148
} else if ( schema . isEnum ( type ) ) {
143
149
return transformGraphQLEnumType ( schema , schema . assertEnumType ( type ) , state ) ;
144
150
} else if ( schema . isInputObject ( type ) ) {
145
151
const typeIdentifier = getInputObjectTypeIdentifier ( schema , type ) ;
146
152
if ( state . generatedInputObjectTypes [ typeIdentifier ] ) {
147
- return ts . createTypeReferenceNode (
148
- ts . createIdentifier ( typeIdentifier ) ,
153
+ return ts . factory . createTypeReferenceNode (
154
+ ts . factory . createIdentifier ( typeIdentifier ) ,
149
155
[ ]
150
156
) ;
151
157
}
@@ -156,23 +162,25 @@ function transformNonNullableInputType(
156
162
const props = fields . map ( ( fieldID : FieldID ) => {
157
163
const fieldType = schema . getFieldType ( fieldID ) ;
158
164
const fieldName = schema . getFieldName ( fieldID ) ;
159
- const property = ts . createPropertySignature (
165
+ const property = ts . factory . createPropertySignature (
160
166
undefined ,
161
- ts . createIdentifier ( fieldName ) ,
167
+ ts . factory . createIdentifier ( fieldName ) ,
162
168
state . optionalInputFields . indexOf ( fieldName ) >= 0 ||
163
169
! schema . isNonNull ( fieldType )
164
- ? ts . createToken ( ts . SyntaxKind . QuestionToken )
170
+ ? ts . factory . createToken ( ts . SyntaxKind . QuestionToken )
165
171
: undefined ,
166
- transformInputType ( schema , fieldType , state ) ,
167
- undefined
172
+ transformInputType ( schema , fieldType , state )
168
173
) ;
169
174
170
175
return property ;
171
176
} ) ;
172
- state . generatedInputObjectTypes [ typeIdentifier ] = ts . createTypeLiteralNode (
173
- props
177
+ state . generatedInputObjectTypes [
178
+ typeIdentifier
179
+ ] = ts . factory . createTypeLiteralNode ( props ) ;
180
+ return ts . factory . createTypeReferenceNode (
181
+ ts . factory . createIdentifier ( typeIdentifier ) ,
182
+ [ ]
174
183
) ;
175
- return ts . createTypeReferenceNode ( ts . createIdentifier ( typeIdentifier ) , [ ] ) ;
176
184
} else {
177
185
throw new Error ( `Could not convert from GraphQL type ${ type . toString ( ) } ` ) ;
178
186
}
0 commit comments