t-graphql
Version:
typed GraphQL - end-to-end type-safe GraphQL for TypeScript. Think tRPC, but GraphQL
51 lines • 2.2 kB
JavaScript
;
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeResolvers = mergeResolvers;
function mergeResolvers(params) {
var Schema = params.Schema, modules = params.resolvers;
var queryTypename = Schema['Query']['typename'];
var mutationTypename = Schema['Mutation']['typename'];
var subscriptionTypename = Schema['Subscription']['typename'];
var queryResolvers = modules.reduce(function (merged, partial) {
return queryTypename in partial
? Object.assign(merged !== null && merged !== void 0 ? merged : {},
// @ts-expect-error The key is there.
partial[queryTypename])
: merged;
}, null);
var mutationResolvers = modules.reduce(function (merged, partial) {
return mutationTypename in partial
? Object.assign(merged !== null && merged !== void 0 ? merged : {},
// @ts-expect-error The key is there.
partial[mutationTypename])
: merged;
}, null);
var subscriptionResolvers = modules.reduce(function (merged, partial) {
return subscriptionTypename in partial
? Object.assign(merged !== null && merged !== void 0 ? merged : {},
// @ts-expect-error The key is there.
partial[subscriptionTypename])
: merged;
}, null);
var mergedResolvers = Object.assign.apply(Object, __spreadArray([{}], modules, false));
if (queryResolvers) {
mergedResolvers[queryTypename] = queryResolvers;
}
if (mutationResolvers) {
mergedResolvers[mutationTypename] = mutationResolvers;
}
if (subscriptionResolvers) {
mergedResolvers[subscriptionTypename] = subscriptionResolvers;
}
return mergedResolvers;
}
//# sourceMappingURL=mergeResolvers.js.map