Skip to content

Commit d52e7ab

Browse files
authored
fix(document-builder): avoid "Excessive stack depth comparing types" (#1307)
1 parent 2e5ee8e commit d52e7ab

File tree

73 files changed

+556356
-556
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+556356
-556
lines changed

eslint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export default tsEslint.config({
1212
'vitest*.config.ts',
1313
'**/generated/**/*',
1414
'tests/_/schemas/*/graffle/**/*',
15+
'tests/e2e/github/graffle/**/*',
1516
'**/tests/fixture/graffle/**/*',
1617
'src/layers/1_Schema/Hybrid/types/Scalar/Scalar.ts', // There is an ESLint error that goes away when ignored leading to a circular issue of either lint error or unused lint disable.
1718
'**/$/**/*',
Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
import type * as $$Utilities from 'graffle/utilities-for-generated'
2-
import * as $$Schema from './schema.js'
3-
import * as $$SelectionSets from './selection-sets.js'
2+
import type * as $$Schema from './schema.js'
3+
import type * as $$SelectionSets from './selection-sets.js'
44

5-
export interface Document<$Context extends $$Utilities.Context> {
5+
export interface Document<$Context> {
66
<$Document>(
7-
document: $$Utilities.ExactNonEmpty<$Document, $$SelectionSets.$Document<$Context['scalars']>>,
7+
document: $$Utilities.ExactNonEmpty<
8+
$Document,
9+
$$SelectionSets.$Document<
10+
// @ts-expect-error Context constraint missing to avoid TS compare depth limit.
11+
$Context['scalars']
12+
>
13+
>,
814
): $$Utilities.DocumentBuilder.DocumentRunner<
915
$Context,
1016
$$Schema.Schema,
@@ -15,6 +21,5 @@ export interface Document<$Context extends $$Utilities.Context> {
1521
}
1622

1723
export interface BuilderMethodsDocumentFn extends $$Utilities.TypeFunction {
18-
// @ts-expect-error parameter is Untyped.
1924
return: Document<this['params']>
2025
}

examples/$/graffle/modules/methods-root.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export interface QueryMethods<$Context extends $$Utilities.Context> {
2222
$Context,
2323
() => Promise<
2424
& (null | {})
25-
& $$Utilities.HandleOutputGraffleRootField<
25+
& $$Utilities.HandleOutputDocumentBuilderRootField<
2626
$Context,
2727
{ __typename: 'Query' },
2828
'__typename'
@@ -36,7 +36,7 @@ export interface QueryMethods<$Context extends $$Utilities.Context> {
3636
selectionSet: $$Utilities.Exact<$SelectionSet, $$SelectionSets.Query.battles<$Context['scalars']>>,
3737
) => Promise<
3838
& (null | {})
39-
& $$Utilities.HandleOutputGraffleRootField<
39+
& $$Utilities.HandleOutputDocumentBuilderRootField<
4040
$Context,
4141
$$Utilities.DocumentBuilder.InferResult.OperationQuery<
4242
{ battles: $SelectionSet },
@@ -53,7 +53,7 @@ export interface QueryMethods<$Context extends $$Utilities.Context> {
5353
selectionSet: $$Utilities.Exact<$SelectionSet, $$SelectionSets.Query.beings<$Context['scalars']>>,
5454
) => Promise<
5555
& (null | {})
56-
& $$Utilities.HandleOutputGraffleRootField<
56+
& $$Utilities.HandleOutputDocumentBuilderRootField<
5757
$Context,
5858
$$Utilities.DocumentBuilder.InferResult.OperationQuery<
5959
{ beings: $SelectionSet },
@@ -70,7 +70,7 @@ export interface QueryMethods<$Context extends $$Utilities.Context> {
7070
selectionSet: $$Utilities.Exact<$SelectionSet, $$SelectionSets.Query.pokemonByName<$Context['scalars']>>,
7171
) => Promise<
7272
& (null | {})
73-
& $$Utilities.HandleOutputGraffleRootField<
73+
& $$Utilities.HandleOutputDocumentBuilderRootField<
7474
$Context,
7575
$$Utilities.DocumentBuilder.InferResult.OperationQuery<
7676
{ pokemonByName: $SelectionSet },
@@ -87,7 +87,7 @@ export interface QueryMethods<$Context extends $$Utilities.Context> {
8787
selectionSet: $$Utilities.Exact<$SelectionSet, $$SelectionSets.Query.pokemons<$Context['scalars']>>,
8888
) => Promise<
8989
& (null | {})
90-
& $$Utilities.HandleOutputGraffleRootField<
90+
& $$Utilities.HandleOutputDocumentBuilderRootField<
9191
$Context,
9292
$$Utilities.DocumentBuilder.InferResult.OperationQuery<
9393
{ pokemons: $SelectionSet },
@@ -104,7 +104,7 @@ export interface QueryMethods<$Context extends $$Utilities.Context> {
104104
selectionSet: $$Utilities.Exact<$SelectionSet, $$SelectionSets.Query.trainerByName<$Context['scalars']>>,
105105
) => Promise<
106106
& (null | {})
107-
& $$Utilities.HandleOutputGraffleRootField<
107+
& $$Utilities.HandleOutputDocumentBuilderRootField<
108108
$Context,
109109
$$Utilities.DocumentBuilder.InferResult.OperationQuery<
110110
{ trainerByName: $SelectionSet },
@@ -121,7 +121,7 @@ export interface QueryMethods<$Context extends $$Utilities.Context> {
121121
selectionSet: $$Utilities.Exact<$SelectionSet, $$SelectionSets.Query.trainers<$Context['scalars']>>,
122122
) => Promise<
123123
& (null | {})
124-
& $$Utilities.HandleOutputGraffleRootField<
124+
& $$Utilities.HandleOutputDocumentBuilderRootField<
125125
$Context,
126126
$$Utilities.DocumentBuilder.InferResult.OperationQuery<
127127
{ trainers: $SelectionSet },
@@ -153,7 +153,7 @@ export interface MutationMethods<$Context extends $$Utilities.Context> {
153153
$Context,
154154
() => Promise<
155155
& (null | {})
156-
& $$Utilities.HandleOutputGraffleRootField<
156+
& $$Utilities.HandleOutputDocumentBuilderRootField<
157157
$Context,
158158
{ __typename: 'Mutation' },
159159
'__typename'
@@ -167,7 +167,7 @@ export interface MutationMethods<$Context extends $$Utilities.Context> {
167167
selectionSet: $$Utilities.Exact<$SelectionSet, $$SelectionSets.Mutation.addPokemon<$Context['scalars']>>,
168168
) => Promise<
169169
& (null | {})
170-
& $$Utilities.HandleOutputGraffleRootField<
170+
& $$Utilities.HandleOutputDocumentBuilderRootField<
171171
$Context,
172172
$$Utilities.DocumentBuilder.InferResult.OperationMutation<
173173
{ addPokemon: $SelectionSet },

0 commit comments

Comments
 (0)