UNPKG

@terabits/grapi

Version:

Grapi Schema Generator For GraphQL Server

31 lines (30 loc) 1.46 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; exports.__esModule = true; var lodash_1 = require("../lodash"); exports["default"] = (function (plugins, models) { var resolvers = {}; var extendType = {}; models.forEach(function (model) { plugins.forEach(function (plugin) { resolvers = __assign(__assign(__assign({}, plugin.resolveInRoot && plugin.resolveInRoot({ model: model, dataSource: model.getDataSource() })), resolvers), { Query: (0, lodash_1.assign)(plugin.resolveInQuery && plugin.resolveInQuery({ model: model, dataSource: model.getDataSource() }), resolvers.Query), Mutation: (0, lodash_1.assign)(plugin.resolveInMutation && plugin.resolveInMutation({ model: model, dataSource: model.getDataSource() }), resolvers.Mutation) }); if (plugin.extendTypes) { extendType = __assign(__assign({}, extendType), plugin.extendTypes(model)); } }); }); (0, lodash_1.forEach)(extendType, function (value, key) { extendType[key] = resolvers[value]; }); return __assign(__assign({}, resolvers), extendType); });