UNPKG

525 BJavaScriptView Raw
1var _ = require("./_");
2
3module.exports = function (fn, self) {
4 return function () {
5 var args, cb, j;
6 args = 2 <= arguments.length ?
7 _.slice.call(arguments, 0, j = arguments.length - 1) :
8 (j = 0, []), cb = arguments[j++];
9
10 var isFn = _.isFunction(cb);
11
12 if (!isFn) {
13 args.push(cb);
14 return fn.apply(self, args);
15 }
16
17 return fn.apply(self, args).then(function (val) {
18 cb(null, val);
19 })["catch"](cb);
20 };
21};