diff --git a/src/lib/error-capture.ts b/src/lib/error-capture.ts deleted file mode 100644 index 171c9b5..0000000 --- a/src/lib/error-capture.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Captures the original Error out-of-band so server.ts can recover the stack -// when h3 has already swallowed the throw into a generic 500 Response. - -let lastCapturedError: { error: unknown; at: number } | undefined; -const TTL_MS = 5_000; - -function record(error: unknown) { - lastCapturedError = { error, at: Date.now() }; -} - -if (typeof globalThis.addEventListener === "function") { - globalThis.addEventListener("error", (event) => record((event as ErrorEvent).error ?? event)); - globalThis.addEventListener("unhandledrejection", (event) => - record((event as PromiseRejectionEvent).reason), - ); -} - -export function consumeLastCapturedError(): unknown { - if (!lastCapturedError) return undefined; - if (Date.now() - lastCapturedError.at > TTL_MS) { - lastCapturedError = undefined; - return undefined; - } - const { error } = lastCapturedError; - lastCapturedError = undefined; - return error; -}