graphql
Version:
A Query Language and Runtime which can target any service.
1 lines • 1.32 kB
Source Map (JSON)
{"version":3,"file":"typedQueryDocumentNode.js","sourceRoot":"","sources":["../../src/utilities/typedQueryDocumentNode.ts"],"names":[],"mappings":"","sourcesContent":["/** @category Typed Documents */\n\nimport type {\n DocumentNode,\n ExecutableDefinitionNode,\n} from '../language/ast.ts';\n/**\n * Wrapper type that contains DocumentNode and types that can be deduced from it.\n * @typeParam TResponseData - Typed GraphQL response data shape.\n * @typeParam TRequestVariables - Typed GraphQL request variables shape.\n */\nexport interface TypedQueryDocumentNode<\n TResponseData = { [key: string]: any },\n TRequestVariables = { [key: string]: any },\n> extends DocumentNode {\n /** Top-level executable and type-system definitions in this document. */\n readonly definitions: ReadonlyArray<ExecutableDefinitionNode>;\n // FIXME: remove once TS implements proper way to enforce nominal typing\n /**\n * This type is used to ensure that the variables you pass in to the query are assignable to Variables\n * and that the Result is assignable to whatever you pass your result to. The method is never actually\n * implemented, but the type is valid because we list it as optional\n */\n __ensureTypesOfVariablesAndResultMatching?: (\n variables: TRequestVariables,\n ) => TResponseData;\n}\n"]}