UNPKG

1.26 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const tslib_1 = require("tslib");
4function 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}
18exports.promisify = promisify;
19function 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}
36exports.genPromiseCallback = genPromiseCallback;
37function 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}
50exports.runFinally = runFinally;
51//# sourceMappingURL=promise.js.map
\No newline at end of file