UNPKG

@accounts/module-core

Version:

Server side GraphQL transport for accounts

30 lines 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildSchema = void 0; const authenticated_directive_1 = require("./authenticated-directive"); const schema_1 = require("@graphql-tools/schema"); const merge_1 = require("@graphql-tools/merge"); const buildSchema = ({ typeDefs, resolvers, authDirective: { authDirectiveTypeDefs, authDirectiveTransformer } = (0, authenticated_directive_1.authDirective)('auth'), directives = [], } = {}) => ({ typeDefs: accountsTypeDefs, resolvers: accountsResolvers }) => { let schema = (0, schema_1.makeExecutableSchema)({ typeDefs: (0, merge_1.mergeTypeDefs)([ ...accountsTypeDefs, ...(typeDefs ? [typeDefs] : []), authDirectiveTypeDefs, ...directives.reduce((acc, [directiveTypeDefs]) => { if (directiveTypeDefs != null) { acc.push(directiveTypeDefs); } return acc; }, []), ]), resolvers: resolvers ? (0, merge_1.mergeResolvers)([resolvers, ...accountsResolvers]) : accountsResolvers, }); for (const [, directiveTransformer] of directives) { schema = directiveTransformer(schema); } return authDirectiveTransformer(schema); }; exports.buildSchema = buildSchema; //# sourceMappingURL=schema-builder.js.map