UNPKG

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