@pothos/plugin-drizzle 0.16.2 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +4 -2
- package/dts/drizzle-field-builder.d.ts.map +1 -1
- package/dts/index.d.ts.map +1 -1
- package/dts/types.d.ts +14 -4
- package/dts/types.d.ts.map +1 -1
- package/dts/utils/map-query.d.ts.map +1 -1
- package/esm/drizzle-field-builder.d.ts.map +1 -1
- package/esm/drizzle-field-builder.js +6 -6
- package/esm/drizzle-field-builder.js.map +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +11 -4
- package/esm/index.js.map +1 -1
- package/esm/types.d.ts +14 -4
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js.map +1 -1
- package/esm/utils/map-query.d.ts.map +1 -1
- package/esm/utils/map-query.js +45 -18
- package/esm/utils/map-query.js.map +1 -1
- package/lib/drizzle-field-builder.js +6 -6
- package/lib/drizzle-field-builder.js.map +1 -1
- package/lib/index.js +10 -3
- package/lib/index.js.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/map-query.js +44 -17
- package/lib/utils/map-query.js.map +1 -1
- package/package.json +4 -4
- package/src/drizzle-field-builder.ts +32 -6
- package/src/index.ts +17 -8
- package/src/types.ts +24 -4
- package/src/utils/map-query.ts +73 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","map","_","selectionCompatible","mergeMappings","existing","incoming","result","key","entries","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","segments","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","allSegments","isList","isListType","fieldSelect","fieldSelectionMap","mappings","pathInfo","map","s","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","_","selectionCompatible","mergeMappings","existing","incoming","result","key","entries","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","rootFieldNode","rootField","initialSegments","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pothos/plugin-drizzle",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "A Pothos plugin for drizzle",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./dts/index.d.ts",
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
"graphql-scalars": "^1.25.0",
|
|
47
47
|
"graphql-tag": "^2.12.6",
|
|
48
48
|
"postgres": "^3.4.7",
|
|
49
|
+
"@pothos/core": "4.12.0",
|
|
49
50
|
"@pothos/plugin-add-graphql": "4.3.0",
|
|
50
51
|
"@pothos/plugin-errors": "4.9.0",
|
|
51
|
-
"@pothos/plugin-relay": "4.
|
|
52
|
+
"@pothos/plugin-relay": "4.7.0",
|
|
52
53
|
"@pothos/plugin-scope-auth": "4.1.6",
|
|
53
|
-
"@pothos/plugin-with-input": "4.1.4",
|
|
54
54
|
"@pothos/test-utils": "2.1.3",
|
|
55
|
-
"@pothos/
|
|
55
|
+
"@pothos/plugin-with-input": "4.1.4"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"type": "tsc --project tsconfig.type.json",
|
|
@@ -41,6 +41,7 @@ import type { DrizzleRef } from './interface-ref';
|
|
|
41
41
|
import type {
|
|
42
42
|
DrizzleConnectionShape,
|
|
43
43
|
ListRelation,
|
|
44
|
+
PathInfo,
|
|
44
45
|
RelatedConnectionOptions,
|
|
45
46
|
RelatedCountOptions,
|
|
46
47
|
RelatedFieldOptions,
|
|
@@ -219,9 +220,23 @@ export class DrizzleObjectFieldBuilder<
|
|
|
219
220
|
)!;
|
|
220
221
|
};
|
|
221
222
|
|
|
222
|
-
const getQuery = (
|
|
223
|
-
|
|
224
|
-
|
|
223
|
+
const getQuery = (
|
|
224
|
+
args: PothosSchemaTypes.DefaultConnectionArguments,
|
|
225
|
+
ctx: {},
|
|
226
|
+
pathInfo?: import('./types').PathInfo,
|
|
227
|
+
) => {
|
|
228
|
+
const { limit, orderBy, where, ...fieldQuery } = ((typeof query === 'function'
|
|
229
|
+
? (query as (args: {}, ctx: {}, pathInfo?: import('./types').PathInfo) => {})(
|
|
230
|
+
args,
|
|
231
|
+
ctx,
|
|
232
|
+
pathInfo,
|
|
233
|
+
)
|
|
234
|
+
: query) ?? {}) as {
|
|
235
|
+
limit?: number;
|
|
236
|
+
orderBy?: unknown;
|
|
237
|
+
where?: SQL;
|
|
238
|
+
columns?: Record<string, boolean>;
|
|
239
|
+
};
|
|
225
240
|
|
|
226
241
|
const { cursorColumns, columns, ...connectionQuery } = drizzleCursorConnectionQuery({
|
|
227
242
|
ctx,
|
|
@@ -255,6 +270,7 @@ export class DrizzleObjectFieldBuilder<
|
|
|
255
270
|
context: object,
|
|
256
271
|
nestedQuery: (query: unknown, path?: unknown) => { select?: object },
|
|
257
272
|
getSelection: (path: string[]) => FieldNode | null,
|
|
273
|
+
pathInfo: import('./types').PathInfo,
|
|
258
274
|
) => {
|
|
259
275
|
typeName ??= this.builder.configStore.getTypeConfig(ref).name;
|
|
260
276
|
|
|
@@ -279,7 +295,7 @@ export class DrizzleObjectFieldBuilder<
|
|
|
279
295
|
};
|
|
280
296
|
}
|
|
281
297
|
|
|
282
|
-
const nested = nestedQuery(getQuery(args, context).select, {
|
|
298
|
+
const nested = nestedQuery(getQuery(args, context, pathInfo).select, {
|
|
283
299
|
getType: () => typeName!,
|
|
284
300
|
paths: [[{ name: 'nodes' }], [{ name: 'edges' }, { name: 'node' }]],
|
|
285
301
|
}) as SelectionMap;
|
|
@@ -500,14 +516,24 @@ export class DrizzleObjectFieldBuilder<
|
|
|
500
516
|
|
|
501
517
|
const { query = {}, extensions, ...rest } = options;
|
|
502
518
|
|
|
503
|
-
const relationSelect = (
|
|
519
|
+
const relationSelect = (
|
|
520
|
+
args: object,
|
|
521
|
+
context: object,
|
|
522
|
+
nestedQuery: (query: unknown) => {},
|
|
523
|
+
_resolveSelection: unknown,
|
|
524
|
+
pathInfo: PathInfo,
|
|
525
|
+
) => {
|
|
504
526
|
const relQuery = {
|
|
505
527
|
columns: {},
|
|
506
528
|
with: {
|
|
507
529
|
[name]: {
|
|
508
530
|
...nestedQuery(query),
|
|
509
531
|
...((typeof query === 'function'
|
|
510
|
-
? (query as (args: {}, context: {}) => {})(
|
|
532
|
+
? (query as (args: {}, context: {}, pathInfo: PathInfo) => {})(
|
|
533
|
+
args,
|
|
534
|
+
context,
|
|
535
|
+
pathInfo,
|
|
536
|
+
)
|
|
511
537
|
: query) as {}),
|
|
512
538
|
},
|
|
513
539
|
},
|
package/src/index.ts
CHANGED
|
@@ -121,14 +121,23 @@ export class PothosDrizzlePlugin<Types extends SchemaTypes> extends BasePlugin<T
|
|
|
121
121
|
args: {},
|
|
122
122
|
ctx: Types['Context'],
|
|
123
123
|
nestedQuery: (query: unknown, path?: string[]) => never,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
124
|
+
_resolveSelection: unknown,
|
|
125
|
+
pathInfo: import('./types').PathInfo,
|
|
126
|
+
) => {
|
|
127
|
+
// Attach PathInfo properties to nestedQuery for t.field select callbacks
|
|
128
|
+
const nestedQueryWithPath = Object.assign(nestedQuery, {
|
|
129
|
+
path: pathInfo.path,
|
|
130
|
+
segments: pathInfo.segments,
|
|
131
|
+
});
|
|
132
|
+
return {
|
|
133
|
+
columns: {},
|
|
134
|
+
...(select as (args: unknown, ctx: unknown, nestedQuery: unknown) => {})(
|
|
135
|
+
args,
|
|
136
|
+
ctx,
|
|
137
|
+
nestedQueryWithPath,
|
|
138
|
+
),
|
|
139
|
+
};
|
|
140
|
+
}
|
|
132
141
|
: {
|
|
133
142
|
columns: {},
|
|
134
143
|
...select,
|
package/src/types.ts
CHANGED
|
@@ -44,6 +44,18 @@ import type { DrizzleRef } from './interface-ref';
|
|
|
44
44
|
import type { IndirectInclude } from './utils/map-query';
|
|
45
45
|
import type { SelectionMap } from './utils/selections';
|
|
46
46
|
|
|
47
|
+
export interface FieldPathInfo {
|
|
48
|
+
field: string;
|
|
49
|
+
alias: string;
|
|
50
|
+
parentType: string;
|
|
51
|
+
isList: boolean;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface PathInfo {
|
|
55
|
+
path: string[];
|
|
56
|
+
segments: FieldPathInfo[];
|
|
57
|
+
}
|
|
58
|
+
|
|
47
59
|
export type DrizzleClient<TCountSource = Table | SQL | SQLWrapper> = {
|
|
48
60
|
readonly _: {
|
|
49
61
|
readonly schema: unknown;
|
|
@@ -323,10 +335,11 @@ export type DrizzleObjectFieldOptions<
|
|
|
323
335
|
| ((
|
|
324
336
|
args: InputShapeFromFields<Args>,
|
|
325
337
|
ctx: Types['Context'],
|
|
326
|
-
nestedSelection: <Selection extends boolean | {}>(
|
|
338
|
+
nestedSelection: (<Selection extends boolean | {}>(
|
|
327
339
|
selection?: Selection,
|
|
328
340
|
path?: string[],
|
|
329
|
-
) => Selection
|
|
341
|
+
) => Selection) &
|
|
342
|
+
PathInfo,
|
|
330
343
|
) => DBQueryConfig<'one', Types['DrizzleRelations'], ExtractTable<Types, ParentShape>>)
|
|
331
344
|
);
|
|
332
345
|
};
|
|
@@ -345,6 +358,7 @@ export type DrizzleFieldSelection =
|
|
|
345
358
|
type?: string,
|
|
346
359
|
) => DBQueryConfig<'one'> | boolean,
|
|
347
360
|
resolveSelection: (path: string[]) => FieldNode | null,
|
|
361
|
+
pathInfo: PathInfo,
|
|
348
362
|
) => SelectionMap);
|
|
349
363
|
|
|
350
364
|
export type ExtractTable<Types extends SchemaTypes, Shape> = Shape extends {
|
|
@@ -480,7 +494,13 @@ export type QueryForField<
|
|
|
480
494
|
'columns' | 'extra' | 'with'
|
|
481
495
|
>
|
|
482
496
|
) extends infer QueryConfig
|
|
483
|
-
?
|
|
497
|
+
?
|
|
498
|
+
| QueryConfig
|
|
499
|
+
| ((
|
|
500
|
+
args: InputShapeFromFields<Args>,
|
|
501
|
+
context: Types['Context'],
|
|
502
|
+
pathInfo: PathInfo,
|
|
503
|
+
) => QueryConfig)
|
|
484
504
|
: never;
|
|
485
505
|
|
|
486
506
|
export type QueryForDrizzleField<
|
|
@@ -503,7 +523,7 @@ export type QueryForRelatedConnection<
|
|
|
503
523
|
> & {
|
|
504
524
|
orderBy?: ConnectionOrderBy<Table> | ((table: Table) => ConnectionOrderBy<Table>);
|
|
505
525
|
} extends infer QueryConfig
|
|
506
|
-
? QueryConfig | ((args: Args, context: Types['Context']) => QueryConfig)
|
|
526
|
+
? QueryConfig | ((args: Args, context: Types['Context'], pathInfo: PathInfo) => QueryConfig)
|
|
507
527
|
: never;
|
|
508
528
|
|
|
509
529
|
export type QueryForDrizzleConnection<
|
package/src/utils/map-query.ts
CHANGED
|
@@ -15,11 +15,12 @@ import {
|
|
|
15
15
|
getNamedType,
|
|
16
16
|
type InlineFragmentNode,
|
|
17
17
|
isInterfaceType,
|
|
18
|
+
isListType,
|
|
18
19
|
isObjectType,
|
|
19
20
|
Kind,
|
|
20
21
|
type SelectionSetNode,
|
|
21
22
|
} from 'graphql';
|
|
22
|
-
import type { DrizzleFieldSelection } from '../types';
|
|
23
|
+
import type { DrizzleFieldSelection, FieldPathInfo, PathInfo } from '../types';
|
|
23
24
|
import type { PothosDrizzleSchemaConfig } from './config';
|
|
24
25
|
import { type LoaderMappings, setLoaderMappings } from './loader-map';
|
|
25
26
|
import {
|
|
@@ -47,6 +48,7 @@ function addTypeSelectionsForField(
|
|
|
47
48
|
selection: FieldNode,
|
|
48
49
|
indirectPath: string[],
|
|
49
50
|
deferred?: boolean,
|
|
51
|
+
segments: FieldPathInfo[] = [],
|
|
50
52
|
) {
|
|
51
53
|
if (selection.name.value.startsWith('__')) {
|
|
52
54
|
return;
|
|
@@ -78,6 +80,7 @@ function addTypeSelectionsForField(
|
|
|
78
80
|
field,
|
|
79
81
|
path,
|
|
80
82
|
deferred,
|
|
83
|
+
segments,
|
|
81
84
|
);
|
|
82
85
|
},
|
|
83
86
|
deferred,
|
|
@@ -92,6 +95,7 @@ function addTypeSelectionsForField(
|
|
|
92
95
|
selection,
|
|
93
96
|
indirectPath,
|
|
94
97
|
deferred,
|
|
98
|
+
segments,
|
|
95
99
|
);
|
|
96
100
|
return;
|
|
97
101
|
}
|
|
@@ -105,7 +109,16 @@ function addTypeSelectionsForField(
|
|
|
105
109
|
}
|
|
106
110
|
|
|
107
111
|
if (selection.selectionSet && (!deferred || !state.skipDeferredFragments)) {
|
|
108
|
-
addNestedSelections(
|
|
112
|
+
addNestedSelections(
|
|
113
|
+
config,
|
|
114
|
+
type,
|
|
115
|
+
context,
|
|
116
|
+
info,
|
|
117
|
+
state,
|
|
118
|
+
selection.selectionSet,
|
|
119
|
+
indirectPath,
|
|
120
|
+
segments,
|
|
121
|
+
);
|
|
109
122
|
}
|
|
110
123
|
}
|
|
111
124
|
|
|
@@ -225,12 +238,13 @@ function addNestedSelections(
|
|
|
225
238
|
state: SelectionState,
|
|
226
239
|
selections: SelectionSetNode,
|
|
227
240
|
indirectPath: string[],
|
|
241
|
+
segments: FieldPathInfo[] = [],
|
|
228
242
|
) {
|
|
229
243
|
let parentType = type;
|
|
230
244
|
for (const selection of selections.selections) {
|
|
231
245
|
switch (selection.kind) {
|
|
232
246
|
case Kind.FIELD:
|
|
233
|
-
addFieldSelection(config, type, context, info, state, selection, indirectPath);
|
|
247
|
+
addFieldSelection(config, type, context, info, state, selection, indirectPath, segments);
|
|
234
248
|
|
|
235
249
|
continue;
|
|
236
250
|
case Kind.FRAGMENT_SPREAD:
|
|
@@ -257,6 +271,7 @@ function addNestedSelections(
|
|
|
257
271
|
state,
|
|
258
272
|
info.fragments[selection.name.value].selectionSet,
|
|
259
273
|
indirectPath,
|
|
274
|
+
segments,
|
|
260
275
|
);
|
|
261
276
|
|
|
262
277
|
continue;
|
|
@@ -285,6 +300,7 @@ function addNestedSelections(
|
|
|
285
300
|
state,
|
|
286
301
|
selection.selectionSet,
|
|
287
302
|
indirectPath,
|
|
303
|
+
segments,
|
|
288
304
|
);
|
|
289
305
|
|
|
290
306
|
continue;
|
|
@@ -305,6 +321,7 @@ function addFieldSelection(
|
|
|
305
321
|
state: SelectionState,
|
|
306
322
|
selection: FieldNode,
|
|
307
323
|
indirectPath: string[],
|
|
324
|
+
segments: FieldPathInfo[] = [],
|
|
308
325
|
) {
|
|
309
326
|
if (selection.name.value.startsWith('__') || fieldSkipped(info, selection)) {
|
|
310
327
|
return;
|
|
@@ -314,11 +331,26 @@ function addFieldSelection(
|
|
|
314
331
|
throw new PothosValidationError(`Unknown field ${selection.name.value} on ${type.name}`);
|
|
315
332
|
}
|
|
316
333
|
|
|
334
|
+
const allSegments = [
|
|
335
|
+
...segments,
|
|
336
|
+
{
|
|
337
|
+
field: selection.name.value,
|
|
338
|
+
alias: selection.alias?.value ?? selection.name.value,
|
|
339
|
+
parentType: type.name,
|
|
340
|
+
isList: isListType(field.type) || isListType(getNamedType(field.type)),
|
|
341
|
+
},
|
|
342
|
+
];
|
|
343
|
+
|
|
317
344
|
const fieldSelect = field.extensions?.pothosDrizzleSelect as DrizzleFieldSelection | undefined;
|
|
318
345
|
|
|
319
346
|
let fieldSelectionMap: DBQueryConfig<'one'> | undefined;
|
|
320
347
|
let mappings: LoaderMappings = {};
|
|
321
348
|
if (typeof fieldSelect === 'function') {
|
|
349
|
+
const pathInfo: PathInfo = {
|
|
350
|
+
path: allSegments.map((s) => `${s.parentType}.${s.field}`),
|
|
351
|
+
segments: allSegments,
|
|
352
|
+
};
|
|
353
|
+
|
|
322
354
|
const args = getMappedArgumentValues(field, selection, context, info) as Record<
|
|
323
355
|
string,
|
|
324
356
|
unknown
|
|
@@ -369,11 +401,22 @@ function addFieldSelection(
|
|
|
369
401
|
resolvedField,
|
|
370
402
|
path,
|
|
371
403
|
deferred,
|
|
404
|
+
allSegments,
|
|
372
405
|
);
|
|
373
406
|
},
|
|
374
407
|
);
|
|
375
408
|
}
|
|
376
|
-
addTypeSelectionsForField(
|
|
409
|
+
addTypeSelectionsForField(
|
|
410
|
+
config,
|
|
411
|
+
returnType,
|
|
412
|
+
context,
|
|
413
|
+
info,
|
|
414
|
+
fieldState,
|
|
415
|
+
selection,
|
|
416
|
+
[],
|
|
417
|
+
undefined,
|
|
418
|
+
allSegments,
|
|
419
|
+
);
|
|
377
420
|
mappings = fieldState.mappings;
|
|
378
421
|
return selectionToQuery(config, fieldState);
|
|
379
422
|
},
|
|
@@ -394,6 +437,7 @@ function addFieldSelection(
|
|
|
394
437
|
);
|
|
395
438
|
return node;
|
|
396
439
|
},
|
|
440
|
+
pathInfo,
|
|
397
441
|
);
|
|
398
442
|
} else {
|
|
399
443
|
fieldSelectionMap = fieldSelect!;
|
|
@@ -522,7 +566,31 @@ export function stateFromInfo<T extends SelectionMap>({
|
|
|
522
566
|
} else {
|
|
523
567
|
state = createStateForSelection(config, info, type, undefined, initialSelection);
|
|
524
568
|
|
|
525
|
-
|
|
569
|
+
// Create initial segment for the root query field
|
|
570
|
+
const rootFieldNode = info.fieldNodes[0];
|
|
571
|
+
const rootField = info.parentType.getFields()[rootFieldNode.name.value];
|
|
572
|
+
const initialSegments: FieldPathInfo[] = rootField
|
|
573
|
+
? [
|
|
574
|
+
{
|
|
575
|
+
field: rootFieldNode.name.value,
|
|
576
|
+
alias: rootFieldNode.alias?.value ?? rootFieldNode.name.value,
|
|
577
|
+
parentType: info.parentType.name,
|
|
578
|
+
isList: isListType(rootField.type) || isListType(getNamedType(rootField.type)),
|
|
579
|
+
},
|
|
580
|
+
]
|
|
581
|
+
: [];
|
|
582
|
+
|
|
583
|
+
addTypeSelectionsForField(
|
|
584
|
+
config,
|
|
585
|
+
type,
|
|
586
|
+
context,
|
|
587
|
+
info,
|
|
588
|
+
state,
|
|
589
|
+
info.fieldNodes[0],
|
|
590
|
+
[],
|
|
591
|
+
undefined,
|
|
592
|
+
initialSegments,
|
|
593
|
+
);
|
|
526
594
|
}
|
|
527
595
|
|
|
528
596
|
if (!state) {
|