You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
415 B
17 lines
415 B
'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]); |
|
};
|
|
|