|
|
- 'use strict';
-
- // TODO: Use rest/spread when targeting Node.js 6
-
- module.exports = function (input) {
- const args = Array.isArray(input) ? input : arguments;
-
- if (args.length === 0) {
- return Promise.reject(new Error('Expected at least one argument'));
- }
-
- return [].slice.call(args, 1).reduce((a, b) => {
- return function () {
- return Promise.resolve(a.apply(null, arguments)).then(b);
- };
- }, args[0]);
- };
|