UNPKG

989 BJavaScriptView Raw
1import { buildASTSchema } from 'graphql';
2import { getDocumentNodeFromSchema } from './print-schema-with-directives.js';
3function buildFixedSchema(schema, options) {
4 const document = getDocumentNodeFromSchema(schema);
5 return buildASTSchema(document, {
6 ...(options || {}),
7 });
8}
9export function fixSchemaAst(schema, options) {
10 // eslint-disable-next-line no-undef-init
11 let schemaWithValidAst = undefined;
12 if (!schema.astNode || !schema.extensionASTNodes) {
13 schemaWithValidAst = buildFixedSchema(schema, options);
14 }
15 if (!schema.astNode && (schemaWithValidAst === null || schemaWithValidAst === void 0 ? void 0 : schemaWithValidAst.astNode)) {
16 schema.astNode = schemaWithValidAst.astNode;
17 }
18 if (!schema.extensionASTNodes && (schemaWithValidAst === null || schemaWithValidAst === void 0 ? void 0 : schemaWithValidAst.astNode)) {
19 schema.extensionASTNodes = schemaWithValidAst.extensionASTNodes;
20 }
21 return schema;
22}