UNPKG

simple-graphql

Version:

The simple way to generates GraphQL schemas and Sequelize models from your models definition.

35 lines 1.93 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = __importDefault(require("lodash")); const toGraphQLFieldConfigMap_1 = __importDefault(require("../transformer/toGraphQLFieldConfigMap")); const toGraphQLInputFieldConfigMap_1 = __importDefault(require("../transformer/toGraphQLInputFieldConfigMap")); const StringHelper_1 = __importDefault(require("../utils/StringHelper")); const mutationWithClientMutationId_1 = __importDefault(require("../transformer/mutationWithClientMutationId")); exports.default = (mutationConfigMaps, payloadFields, context) => { const mutations = {}; const addMutation = (name, options) => { if (mutations[name]) { throw new Error(`Mutation ${name} already defined.`); } const inputFields = (0, toGraphQLInputFieldConfigMap_1.default)(StringHelper_1.default.toInitialUpperCase(name), options.input || {}, context); const outputFields = (0, toGraphQLFieldConfigMap_1.default)(name, 'Payload', options.output || {}, context); const payloadFields = lodash_1.default.get(options, 'mutation.payloadFields', []); mutations[name] = (0, mutationWithClientMutationId_1.default)({ name: StringHelper_1.default.toInitialUpperCase(name), inputFields: inputFields, outputFields: Object.assign(Object.assign({}, outputFields), payloadFields), mutateAndGetPayload: context.hookMutationResolve(name, options), description: options.description }); }; for (let mutationConfigMap of mutationConfigMaps) { lodash_1.default.forOwn(mutationConfigMap, (value, key) => { addMutation(key, value); }); } return mutations; }; //# sourceMappingURL=buildRootMutations.js.map