123456789101112131415161718192021222324252627282930313233 |
- // @flow strict
- import invariant from '../jsutils/invariant';
- import isPromise from '../jsutils/isPromise';
- import { parse } from '../language/parser';
- import { execute } from '../execution/execute';
- import { type GraphQLSchema } from '../type/schema';
- import {
- type IntrospectionQuery,
- type IntrospectionOptions,
- getIntrospectionQuery,
- } from './introspectionQuery';
- export function introspectionFromSchema(
- schema: GraphQLSchema,
- options?: IntrospectionOptions,
- ): IntrospectionQuery {
- const queryAST = parse(getIntrospectionQuery(options));
- const result = execute(schema, queryAST);
- invariant(!isPromise(result) && !result.errors && result.data);
- return (result.data: any);
- }
|