UNPKG

await-to-done

Version:

Async await wrapper for easy error handling - zero dependencies

37 lines (34 loc) 995 B
/*! * await-to-done v1.2.0 * Async await wrapper for easy error handling - zero dependencies * (c) 2021-2026 saqqdy * Released under the MIT License. */ 'use strict'; 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]; }); } // Use Array.prototype.concat instead of spread to avoid TypeScript helpers var allPromises = [promise].concat(promises); return Promise.all(allPromises).then(function (data) { return [null, data]; })["catch"](function (err) { return [err, undefined]; }); } module.exports = awaitToDone;