@tanstack/db
Version:
A reactive client store for building super fast apps on sync
23 lines (22 loc) • 840 B
JavaScript
const commitWork = /* @__PURE__ */ new WeakMap();
function registerTransactionCommitWork(transaction, work) {
if (!("state" in transaction) || transaction.state !== `persisting`) return;
const registered = commitWork.get(transaction) ?? [];
registered.push(work);
commitWork.set(transaction, registered);
void work.catch(() => void 0);
}
function takeTransactionCommitWork(transaction) {
const registered = commitWork.get(transaction);
if (!registered) return;
commitWork.delete(transaction);
return Promise.allSettled(registered).then((results) => {
const failure = results.find((result) => result.status === `rejected`);
if (failure?.status === `rejected`) throw failure.reason;
});
}
export {
registerTransactionCommitWork,
takeTransactionCommitWork
};
//# sourceMappingURL=transaction-commit-work.js.map