UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

43 lines (41 loc) 1.31 kB
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