1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4    value: true
5});
6const PROMISE_SYMBOL = Symbol('promiseCallback');
7
8function promiseCallback() {
9    let resolve, reject;
10    function callback(err, ...args) {
11        if (err) return reject(err);
12        resolve(args.length > 1 ? args : args[0]);
13    }
14
15    callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
16        resolve = res, reject = rej;
17    });
18
19    return callback;
20}
21
22exports.promiseCallback = promiseCallback;
23exports.PROMISE_SYMBOL = PROMISE_SYMBOL;