Skip to content

Commit aef0f0e

Browse files
ikusakov2ikusakoveddeee888
committed
Generate input types and output enums into target file (#10527)
* input types, input/output enums are generated to the target files * cleanup * better code * more tests * cleanup * better code * better tests * bugfixing for inner types and outer enums * bugfixing after merge * cleanup * cleanup * fix snapshots * fix type errors in presets/client * updated tests/examples * Add standalone.input.spec.ts and update standalone tests to TDD * Update operations/visitor.ts to satisfy tests * Revert Client Preset changes * Add oneOf directive for GraphQL 15 * Update changeset * Refactor IIFE --------- Co-authored-by: Igor Kusakov <[email protected]> Co-authored-by: Eddy Nguyen <[email protected]>
1 parent d9fbd7f commit aef0f0e

18 files changed

Lines changed: 1172 additions & 11 deletions

.changeset/every-queens-sin.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@graphql-codegen/typescript-operations': major
3+
'@graphql-codegen/client-preset': major
4+
---
5+
6+
Conditionally generate input types and output enums into target file

dev-test/star-wars/types.avoidOptionals.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
export type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
export type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

dev-test/star-wars/types.excludeQueryAlpha.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
export type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
export type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

dev-test/star-wars/types.excludeQueryBeta.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
export type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
export type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

dev-test/star-wars/types.globallyAvailable.d.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

dev-test/star-wars/types.immutableTypes.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
export type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
export type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

dev-test/star-wars/types.preResolveTypes.onlyOperationTypes.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
export type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
export type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

dev-test/star-wars/types.preResolveTypes.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
export type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
export type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

dev-test/star-wars/types.skipSchema.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
export type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
export type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

dev-test/star-wars/types.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
2+
<<<<<<< HEAD
23
export type Incremental<T> =
34
| T
45
| { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
6+
=======
7+
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
8+
/** The episodes in the Star Wars trilogy */
9+
export type Episode =
10+
/** Star Wars Episode V: The Empire Strikes Back, released in 1980. */
11+
| 'EMPIRE'
12+
/** Star Wars Episode VI: Return of the Jedi, released in 1983. */
13+
| 'JEDI'
14+
/** Star Wars Episode IV: A New Hope, released in 1977. */
15+
| 'NEWHOPE';
16+
17+
>>>>>>> c7b5477b6 (Generate input types and output enums into target file (#10527))
518
export type CreateReviewForEpisodeMutationVariables = Exact<{
619
episode: Episode;
720
review: ReviewInput;

0 commit comments

Comments
 (0)