Skip to content

Commit b67177c

Browse files
fix bugs with genFragments
1 parent 8bcbc71 commit b67177c

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "simple-graphql-to-typescript",
3-
"version": "0.10.17",
3+
"version": "0.10.21",
44
"description": "Simple Typescript interface generator from GraphQL Schemas",
55
"main": "dist/index.js",
66
"typings": "types/index.d.ts",

src/generators/functions.generator.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export function createGraphQLFunction({
6363
if (fragment) ({ isString, isFragment, fragmentName } = guessFragmentType(fragment))
6464
6565
${genFragments ? `const defaultQuery = ${defaultQuery};` : ''}
66-
${genFragments ? `const queryTemplate = fragment ? ${Query} : defaultQuery` : Query}
66+
const queryTemplate = ${genFragments ? `fragment ? ${Query} : defaultQuery` : Query}
6767
6868
return abortableQuery(queryTemplate, ${hasArgs}, ${argsOptional});
6969
}
@@ -79,10 +79,16 @@ type generateFunctionArgs = {
7979

8080
export function generateFunction({ field, functionType, mode }: generateFunctionArgs): string {
8181
const { isScalar, isEnum, typeName } = SchemaStore.getFieldProps(field);
82+
const { disableConnectionFragment } = ParametersStore;
8283

8384
let innerFragment = `\${isString ? fragment : '...' + fragmentName}`;
8485

85-
if (!isScalar && !isEnum && SchemaStore.isTypeConnection(typeName)) {
86+
if (
87+
!isScalar &&
88+
!isEnum &&
89+
SchemaStore.isTypeConnection(typeName) &&
90+
!disableConnectionFragment
91+
) {
8692
innerFragment = generateConnectionFragment(typeName, innerFragment) ?? innerFragment;
8793
}
8894
const createParams = { field, functionType, innerFragment };

src/models/shared.models.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export type SgtsConfig = {
1717
genFragments?: boolean;
1818
apolloVersion?: 2 | 3;
1919
tsCheck?: boolean;
20+
disableConnectionFragment?: boolean;
2021
} & AtLeastOne<{ endpoint: string; json: string }>;
2122

2223
export enum CodeGenType {

src/store/parameters.store.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ interface SetParametersArgs {
1111
codegenVueHooks?: boolean;
1212
apolloVersion?: 2 | 3;
1313
tsCheck?: boolean;
14+
disableConnectionFragment?: boolean;
1415
}
1516

1617
class ParametersConstructor {
@@ -32,6 +33,7 @@ class ParametersConstructor {
3233
public codegenVueHooks = false;
3334
public apolloVersion = 3;
3435
public tsCheck = true;
36+
public disableConnectionFragment = false;
3537

3638
get isCodeGen(): boolean {
3739
return (
@@ -60,6 +62,7 @@ class ParametersConstructor {
6062
this.codegenTemplates = !!data.codegenTemplates;
6163
this.apolloVersion = data.apolloVersion ?? 3;
6264
this.tsCheck = data.tsCheck ?? true;
65+
this.disableConnectionFragment = data.disableConnectionFragment ?? false;
6366
}
6467

6568
get listScalars() {

0 commit comments

Comments
 (0)