1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const tslib_1 = require("tslib");
|
4 | function promisify(f, args = []) {
|
5 | return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
6 | return new Promise((resolve, reject) => {
|
7 | f(...args, (err, res) => {
|
8 | if (err) {
|
9 | reject(err);
|
10 | }
|
11 | else {
|
12 | resolve(res);
|
13 | }
|
14 | });
|
15 | });
|
16 | });
|
17 | }
|
18 | exports.promisify = promisify;
|
19 | function genPromiseCallback() {
|
20 | let resolve;
|
21 | let reject;
|
22 | const p = new Promise((res, rej) => {
|
23 | resolve = res;
|
24 | reject = rej;
|
25 | });
|
26 | const cb = (err, res) => {
|
27 | if (err) {
|
28 | reject(err);
|
29 | }
|
30 | else {
|
31 | resolve(res);
|
32 | }
|
33 | };
|
34 | return Object.assign(cb, { promise: p });
|
35 | }
|
36 | exports.genPromiseCallback = genPromiseCallback;
|
37 | function runFinally(p, cb) {
|
38 | return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
39 | try {
|
40 | return yield p;
|
41 | }
|
42 | catch (e) {
|
43 | return Promise.reject(e);
|
44 | }
|
45 | finally {
|
46 | cb();
|
47 | }
|
48 | });
|
49 | }
|
50 | exports.runFinally = runFinally;
|
51 |
|
\ | No newline at end of file |