blob: 9b595d93cba8ac08acd2cf386de497732823f423 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
const promiseToCallback = require('promise-to-callback')
const noop = function () {}
module.exports = function nodeify (fn, context) {
return function () {
const args = [].slice.call(arguments)
const lastArg = args[args.length - 1]
const lastArgIsCallback = typeof lastArg === 'function'
let callback
if (lastArgIsCallback) {
callback = lastArg
args.pop()
} else {
callback = noop
}
promiseToCallback(fn.apply(context, args))(callback)
}
}
|