From 33be08bde89cff9b9283ef933f3913dcf1e5baba Mon Sep 17 00:00:00 2001 From: Dylan Conway <35280289+dylan-conway@users.noreply.github.com> Date: Mon, 19 May 2025 17:05:10 -0700 Subject: [PATCH] Fix RuntimeError.from return value (#19777) Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com> Co-authored-by: dylan-conway --- packages/bun-error/runtime-error.ts | 4 ++-- test/js/bun/runtime-error.test.ts | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 test/js/bun/runtime-error.test.ts diff --git a/packages/bun-error/runtime-error.ts b/packages/bun-error/runtime-error.ts index 4a739edf3e..81041129d8 100644 --- a/packages/bun-error/runtime-error.ts +++ b/packages/bun-error/runtime-error.ts @@ -42,11 +42,11 @@ export default class RuntimeError { original: Error; stack: StackFrame[]; - static from(error: Error) { + static from(error: Error): RuntimeError { const runtime = new RuntimeError(); runtime.original = error; runtime.stack = this.parseStack(error); - return RuntimeError; + return runtime; } /** diff --git a/test/js/bun/runtime-error.test.ts b/test/js/bun/runtime-error.test.ts new file mode 100644 index 0000000000..36c01859de --- /dev/null +++ b/test/js/bun/runtime-error.test.ts @@ -0,0 +1,9 @@ +import { expect, test } from "bun:test"; +import RuntimeError from "../../../packages/bun-error/runtime-error"; + +test("RuntimeError.from returns instance", () => { + const err = new Error("boom"); + const runtime = RuntimeError.from(err); + expect(runtime.original).toBe(err); + expect(Array.isArray(runtime.stack)).toBe(true); +});