await-to-done
Version:
Async await wrapper for easy error handling
35 lines (32 loc) • 916 B
JavaScript
/*!
* await-to-done v1.1.1
* Async await wrapper for easy error handling
* (c) 2021-2024 saqqdy
* Released under the MIT License.
*/
import { __spreadArray, __read } from '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(__spreadArray([promise], __read(promises), false)).then(function (data) {
return [null, data];
}).catch(function (err) {
return [err, undefined];
});
}
export { awaitToDone as default };