uni-ticket-system/node_modules/licia/universalify.js
2023-12-05 10:11:10 +08:00

32 lines
793 B
JavaScript

var promisify = require('./promisify');
var callbackify = require('./callbackify');
var last = require('./last');
var isFn = require('./isFn');
exports = function(fn, type) {
var callbackFn;
var promiseFn;
if (type === 'callback') {
callbackFn = fn;
promiseFn = promisify(fn);
} else {
promiseFn = fn;
callbackFn = callbackify(fn);
}
return function() {
for (
var _len = arguments.length, args = new Array(_len), _key = 0;
_key < _len;
_key++
) {
args[_key] = arguments[_key];
}
if (isFn(last(args))) {
callbackFn.apply(this, args);
} else {
return promiseFn.apply(this, args);
}
};
};
module.exports = exports;