"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 | |
} | |
} |