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