importinvariantfrom'../jsutils/invariant';importisPromisefrom'../jsutils/isPromise';import{parse}from'../language/parser';import{execute}from'../execution/execute';import{getIntrospectionQuery}from'./introspectionQuery';/** * Build an IntrospectionQuery from a GraphQLSchema * * IntrospectionQuery is useful for utilities that care about type and field * relationships, but do not need to traverse through those relationships. * * This is the inverse of buildClientSchema. The primary use case is outside * of the server context, for instance when doing schema comparisons. */exportfunctionintrospectionFromSchema(schema,options){varqueryAST=parse(getIntrospectionQuery(options));varresult=execute(schema,queryAST);/* istanbul ignore next */!isPromise(result)&&!result.errors&&result.data||invariant(0);returnresult.data;}