You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.4 KiB
46 lines
1.4 KiB
4 months ago
|
import type { ObjMap } from '../jsutils/ObjMap';
|
||
|
import type {
|
||
|
FieldNode,
|
||
|
FragmentDefinitionNode,
|
||
|
SelectionSetNode,
|
||
|
} from '../language/ast';
|
||
|
import type { GraphQLObjectType } from '../type/definition';
|
||
|
import type { GraphQLSchema } from '../type/schema';
|
||
|
/**
|
||
|
* Given a selectionSet, collects all of the fields and returns them.
|
||
|
*
|
||
|
* CollectFields requires the "runtime type" of an object. For a field that
|
||
|
* returns an Interface or Union type, the "runtime type" will be the actual
|
||
|
* object type returned by that field.
|
||
|
*
|
||
|
* @internal
|
||
|
*/
|
||
|
export declare function collectFields(
|
||
|
schema: GraphQLSchema,
|
||
|
fragments: ObjMap<FragmentDefinitionNode>,
|
||
|
variableValues: {
|
||
|
[variable: string]: unknown;
|
||
|
},
|
||
|
runtimeType: GraphQLObjectType,
|
||
|
selectionSet: SelectionSetNode,
|
||
|
): Map<string, ReadonlyArray<FieldNode>>;
|
||
|
/**
|
||
|
* Given an array of field nodes, collects all of the subfields of the passed
|
||
|
* in fields, and returns them at the end.
|
||
|
*
|
||
|
* CollectSubFields requires the "return type" of an object. For a field that
|
||
|
* returns an Interface or Union type, the "return type" will be the actual
|
||
|
* object type returned by that field.
|
||
|
*
|
||
|
* @internal
|
||
|
*/
|
||
|
export declare function collectSubfields(
|
||
|
schema: GraphQLSchema,
|
||
|
fragments: ObjMap<FragmentDefinitionNode>,
|
||
|
variableValues: {
|
||
|
[variable: string]: unknown;
|
||
|
},
|
||
|
returnType: GraphQLObjectType,
|
||
|
fieldNodes: ReadonlyArray<FieldNode>,
|
||
|
): Map<string, ReadonlyArray<FieldNode>>;
|