await-to-done
Version:
Async await wrapper for easy error handling
31 lines (27 loc) • 782 B
JavaScript
;
var tslib = require('tslib');
function awaitToDone(promise) {
var promises = [];
for (var _i = 1; _i < arguments.length; _i++) {
promises[_i - 1] = arguments[_i];
}
if (Array.isArray(promise)) {
return Promise.all(promise).then(function (data) {
return [null, data];
}).catch(function (err) {
return [err, undefined];
});
} else if (promises.length === 0) {
return promise.then(function (data) {
return [null, data];
}).catch(function (err) {
return [err, undefined];
});
}
return Promise.all(tslib.__spreadArray([promise], tslib.__read(promises), false)).then(function (data) {
return [null, data];
}).catch(function (err) {
return [err, undefined];
});
}
module.exports = awaitToDone;