20 lines
408 B
JavaScript
20 lines
408 B
JavaScript
"use strict"
|
|
|
|
var next = (global.process && process.nextTick) || global.setImmediate || function (f) {
|
|
setTimeout(f, 0)
|
|
}
|
|
|
|
module.exports = function maybe (cb, promise) {
|
|
if (cb) {
|
|
promise
|
|
.then(function (result) {
|
|
next(function () { cb(null, result) })
|
|
}, function (err) {
|
|
next(function () { cb(err) })
|
|
})
|
|
return undefined
|
|
}
|
|
else {
|
|
return promise
|
|
}
|
|
}
|