1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| "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
| }
| }
|
|