UNPKG

graphql-modules

Version:

Create reusable, maintainable, testable and extendable GraphQL modules

25 lines (24 loc) 931 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTypeDefs = createTypeDefs; const graphql_1 = require("graphql"); const errors_1 = require("../shared/errors"); /** * Create a list of DocumentNode objects based on Module's config. * Add a location, so we get richer errors. */ function createTypeDefs(config) { const typeDefs = Array.isArray(config.typeDefs) ? config.typeDefs : [config.typeDefs]; ensureDocumentNode(config, typeDefs); return typeDefs; } function ensureDocumentNode(config, typeDefs) { function ensureEach(doc, i) { if ((doc === null || doc === void 0 ? void 0 : doc.kind) !== graphql_1.Kind.DOCUMENT) { throw new errors_1.NonDocumentNodeError(`Expected parsed document but received ${typeof doc} at index ${i} in typeDefs list`, (0, errors_1.useLocation)(config)); } } typeDefs.forEach(ensureEach); }