File: promiseCallback.js

package info (click to toggle)
node-async 3.2.6%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,732 kB
  • sloc: javascript: 13,616; sh: 151; makefile: 126
file content (19 lines) | stat: -rw-r--r-- 414 bytes parent folder | download
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 }