refactor: unify message hook mapping and async dispatch

This commit is contained in:
Peter Steinberger
2026-03-02 22:51:22 +00:00
parent fa47f74c0f
commit caae34cbaf
10 changed files with 865 additions and 450 deletions

View File

@@ -0,0 +1,18 @@
import { describe, expect, it, vi } from "vitest";
import { fireAndForgetHook } from "./fire-and-forget.js";
describe("fireAndForgetHook", () => {
it("logs rejection errors", async () => {
const logger = vi.fn();
fireAndForgetHook(Promise.reject(new Error("boom")), "hook failed", logger);
await Promise.resolve();
expect(logger).toHaveBeenCalledWith("hook failed: Error: boom");
});
it("does not log for resolved tasks", async () => {
const logger = vi.fn();
fireAndForgetHook(Promise.resolve("ok"), "hook failed", logger);
await Promise.resolve();
expect(logger).not.toHaveBeenCalled();
});
});