Skip to content

Commit 2805bb6

Browse files
authored
fix(graphql-types-generator): correct required types and inconsistent types (#159)
* fix(graphql-types-generator): correct required types * fix: add null for nullable fields
1 parent b9b2e71 commit 2805bb6

File tree

3 files changed

+359
-357
lines changed

3 files changed

+359
-357
lines changed

packages/graphql-types-generator/src/typescript/codeGeneration.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ function structDeclarationForObjectType(generator: CodeGenerator, type: GraphQLO
129129
() => {
130130
const properties = propertiesFromFields(generator.context, Object.values(type.getFields()));
131131
propertyDeclaration(generator, { fieldName: '__typename', typeName: `"${interfaceName}"` });
132-
properties.forEach(property => propertyDeclaration(generator, { ...property, isOptional: true }));
132+
properties.forEach(property => propertyDeclaration(generator, { ...property }));
133133
},
134134
);
135135
}
@@ -144,7 +144,7 @@ function structDeclarationForInterfaceType(generator: CodeGenerator, type: Graph
144144
() => {
145145
const properties = propertiesFromFields(generator.context, Object.values(type.getFields()));
146146
propertyDeclaration(generator, { fieldName: '__typename', typeName: `"${interfaceName}"` });
147-
properties.forEach(property => propertyDeclaration(generator, { ...property, isOptional: true }));
147+
properties.forEach(property => propertyDeclaration(generator, { ...property }));
148148
},
149149
);
150150
}
@@ -181,7 +181,7 @@ export function interfaceVariablesDeclarationForOperation(
181181
},
182182
() => {
183183
const properties = propertiesFromFields(generator.context, variables);
184-
pickedPropertyDeclarations(generator, properties, true);
184+
pickedPropertyDeclarations(generator, properties);
185185
},
186186
);
187187
}
@@ -361,7 +361,7 @@ export function propertyFromField(
361361
}
362362

363363
if (isCompositeType(namedType)) {
364-
const typeName = namedType.toString();
364+
let typeName = namedType.toString();
365365
let isArray = false;
366366
let isArrayElementNullable = null;
367367
if (isListType(fieldType)) {
@@ -370,6 +370,8 @@ export function propertyFromField(
370370
} else if (isNonNullType(fieldType) && isListType(fieldType.ofType)) {
371371
isArray = true;
372372
isArrayElementNullable = !isNonNullType(fieldType.ofType.ofType);
373+
} else if (!isNonNullType(fieldType)) {
374+
typeName = typeNameFromGraphQLType(context, fieldType, null, isNullable);
373375
}
374376

375377
return {

0 commit comments

Comments
 (0)