UNPKG

graphql-resolvers

Version:
34 lines (28 loc) 920 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.combineResolvers = void 0; var _utils = require("./utils"); /** * Left-first composition for methods of any type. * * @param {[Function]} ...funcs Resolver implementations. * @return {Promise}. */ var combineResolvers = function combineResolvers() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } return function () { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } return funcs.reduce(function (prevPromise, resolver) { return prevPromise.then(function (prev) { return prev === _utils.skip ? resolver.apply(void 0, args) : prev; }); }, Promise.resolve()); }; }; exports.combineResolvers = combineResolvers;