UNPKG

1.19 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.fixSchemaAst = void 0;
4const graphql_1 = require("graphql");
5const print_schema_with_directives_js_1 = require("./print-schema-with-directives.js");
6function buildFixedSchema(schema, options) {
7 const document = (0, print_schema_with_directives_js_1.getDocumentNodeFromSchema)(schema);
8 return (0, graphql_1.buildASTSchema)(document, {
9 ...(options || {}),
10 });
11}
12function fixSchemaAst(schema, options) {
13 // eslint-disable-next-line no-undef-init
14 let schemaWithValidAst = undefined;
15 if (!schema.astNode || !schema.extensionASTNodes) {
16 schemaWithValidAst = buildFixedSchema(schema, options);
17 }
18 if (!schema.astNode && (schemaWithValidAst === null || schemaWithValidAst === void 0 ? void 0 : schemaWithValidAst.astNode)) {
19 schema.astNode = schemaWithValidAst.astNode;
20 }
21 if (!schema.extensionASTNodes && (schemaWithValidAst === null || schemaWithValidAst === void 0 ? void 0 : schemaWithValidAst.astNode)) {
22 schema.extensionASTNodes = schemaWithValidAst.extensionASTNodes;
23 }
24 return schema;
25}
26exports.fixSchemaAst = fixSchemaAst;