blob: 685dd7aa10048381bf5ae54921440d025f9404de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
const PROMISE_SYMBOL = Symbol('promiseCallback')
function promiseCallback () {
let resolve, reject
function callback (err, ...args) {
if (err) return reject(err)
resolve(args.length > 1 ? args : args[0])
}
callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
resolve = res,
reject = rej
})
return callback
}
export { promiseCallback, PROMISE_SYMBOL }
|