@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
43 lines (41 loc) • 1.31 kB
JavaScript
import {
toList
} from "./chunk-A7C3XND3.mjs";
import {
toArray
} from "./chunk-CO2AFYVD.mjs";
import {
asString
} from "./chunk-BDA5LB4S.mjs";
// src/utils/Promise.ts
var resolve = (subject) => Promise.resolve(subject);
var reject = (e) => Promise.reject(e);
var tuple = {
2: (first, second) => Promise.all([first, second]),
3: (first, second, third) => Promise.all([first, second, third]),
4: (first, second, third, forth) => Promise.all([first, second, third, forth]),
5: (first, second, third, forth, fifth) => Promise.all([first, second, third, forth, fifth]),
all: (first, second) => Promise.all([first, Promise.all(second)]),
spread: (first, ...second) => Promise.all([first, Promise.all(toArray(second))]),
list: (list) => Promise.all([...list]).then(toList),
settled: (list) => Promise.allSettled([...list]).then((rs) => ({
fulfilled: toList(...rs.filter((r) => r.status === "fulfilled").map((r) => r.value)),
rejected: toList(...rs.filter((r) => r.status === "rejected").map((r) => asString(r.reason)))
}))
};
var tuple2 = tuple[2];
var tuple3 = tuple[3];
var tuple4 = tuple[4];
var tuple5 = tuple[5];
var settled = tuple.settled;
export {
resolve,
reject,
tuple,
tuple2,
tuple3,
tuple4,
tuple5,
settled
};
//# sourceMappingURL=chunk-5HENJTR6.mjs.map