@beenotung/tslib
Version:
utils library in Typescript
52 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runFinally = exports.genPromiseCallback = exports.promisify = void 0;
const tslib_1 = require("tslib");
function promisify(f, args = []) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => {
f(...args, (err, res) => {
if (err) {
reject(err);
}
else {
resolve(res);
}
});
});
});
}
exports.promisify = promisify;
function genPromiseCallback() {
let resolve;
let reject;
const p = new Promise((res, rej) => {
resolve = res;
reject = rej;
});
const cb = (err, res) => {
if (err) {
reject(err);
}
else {
resolve(res);
}
};
return Object.assign(cb, { promise: p });
}
exports.genPromiseCallback = genPromiseCallback;
function runFinally(p, cb) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
try {
return yield p;
}
catch (e) {
return Promise.reject(e);
}
finally {
cb();
}
});
}
exports.runFinally = runFinally;
//# sourceMappingURL=promise.js.map