parent
35f4148343
commit
be4f7b33f4
@ -1,10 +1,18 @@ |
|||||||
const promiseToCallback = require('promise-to-callback') |
const promiseToCallback = require('promise-to-callback') |
||||||
|
const noop = function(){} |
||||||
|
|
||||||
module.exports = function nodeify (fn, context) { |
module.exports = function nodeify (fn, context) { |
||||||
return function(){ |
return function(){ |
||||||
const args = [].slice.call(arguments) |
const args = [].slice.call(arguments) |
||||||
const callback = args.pop() |
const lastArg = args[args.length-1] |
||||||
if (typeof callback !== 'function') throw new Error('callback is not a function') |
const lastArgIsCallback = typeof lastArg === 'function' |
||||||
|
let callback |
||||||
|
if (lastArgIsCallback) { |
||||||
|
callback = lastArg |
||||||
|
args.pop() |
||||||
|
} else { |
||||||
|
callback = noop |
||||||
|
} |
||||||
promiseToCallback(fn.apply(context, args))(callback) |
promiseToCallback(fn.apply(context, args))(callback) |
||||||
} |
} |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue