UNPKG

@graphql-tools/graphql

Version:
30 lines (29 loc) 1.43 kB
import type { ObjMap } from '../jsutils/ObjMap.cjs'; import type { FieldNode, FragmentDefinitionNode, SelectionSetNode } from '../language/ast.cjs'; import type { GraphQLObjectType } from '../type/definition.cjs'; import type { GraphQLSchema } from '../type/schema.cjs'; /** * 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>>;