12345678910111213141516171819202122 |
- import { buildASTSchema } from 'graphql';
- import { getDocumentNodeFromSchema } from './print-schema-with-directives.js';
- function buildFixedSchema(schema, options) {
- const document = getDocumentNodeFromSchema(schema);
- return buildASTSchema(document, {
- ...(options || {}),
- });
- }
- export function fixSchemaAst(schema, options) {
- // eslint-disable-next-line no-undef-init
- let schemaWithValidAst = undefined;
- if (!schema.astNode || !schema.extensionASTNodes) {
- schemaWithValidAst = buildFixedSchema(schema, options);
- }
- if (!schema.astNode && (schemaWithValidAst === null || schemaWithValidAst === void 0 ? void 0 : schemaWithValidAst.astNode)) {
- schema.astNode = schemaWithValidAst.astNode;
- }
- if (!schema.extensionASTNodes && (schemaWithValidAst === null || schemaWithValidAst === void 0 ? void 0 : schemaWithValidAst.astNode)) {
- schema.extensionASTNodes = schemaWithValidAst.extensionASTNodes;
- }
- return schema;
- }
|