12345678910111213141516171819202122232425262728293031 |
- 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;
|