UNPKG

@redocly/graphql-docs

Version:

Redocly GraphQL docs

2 lines (1 loc) 902 B
import{buildClientSchema as a,buildSchema as s}from"graphql";import{isSdlSchemaInput as i,isIntrospectionInput as m,isApiSchemaInput as h,isPrebuiltSchema as l}from"../schema-input-types.js";import{fetchIntrospection as f}from"./fetch-introspection.js";async function w(r){if(i(r))return g(r.sdl);if(m(r))return n(r.introspection);if(h(r))return p(r.url,r.headers);if(l(r))return r.graphql;throw new Error("Unknown schema type")}function g(r){try{return s(r)}catch(e){const o=e instanceof Error&&e.message;throw new Error("Failed building schema from SDL. "+o)}}function n(r){try{return a(r)}catch(e){const o=e instanceof Error&&e.message;throw new Error("Failed building schema from introspection. "+o)}}async function p(r,e){let o;try{o=await f(r,e)}catch(t){const c=t instanceof Error&&t.message;throw new Error("Failed fetching schema introspection. "+c)}return n(o)}export{w as getGraphQlSchema};