diff options
-rw-r--r-- | src/bun.js/webcore/blob.zig | 12 | ||||
-rw-r--r-- | src/bun.js/webcore/body.zig | 4 | ||||
-rw-r--r-- | src/napi/napi.zig | 21 | ||||
-rw-r--r-- | test/js/node/v8/capture-stack-trace.test.js | 4 | ||||
-rw-r--r-- | test/js/third_party/svelte/bun-loader-svelte.ts | 2 |
5 files changed, 24 insertions, 19 deletions
diff --git a/src/bun.js/webcore/blob.zig b/src/bun.js/webcore/blob.zig index 49564c1fd..b0f1df935 100644 --- a/src/bun.js/webcore/blob.zig +++ b/src/bun.js/webcore/blob.zig @@ -2739,17 +2739,7 @@ pub const Blob = struct { value: JSC.JSValue, global: *JSGlobalObject, ) JSC.JSValue { - if (value.isError()) { - return JSC.JSPromise.rejectedPromiseValue(global, value); - } - - if (value.jsType() == .JSPromise) - return value; - - return JSPromise.resolvedPromiseValue( - global, - value, - ); + return JSC.JSPromise.wrap(global, value); } pub fn getText( diff --git a/src/bun.js/webcore/body.zig b/src/bun.js/webcore/body.zig index 621acc0b3..bbdf21d5d 100644 --- a/src/bun.js/webcore/body.zig +++ b/src/bun.js/webcore/body.zig @@ -1136,7 +1136,9 @@ pub fn BodyMixin(comptime Type: type) type { } var blob = value.useAsAnyBlobAllowNonUTF8String(); - return JSC.JSPromise.wrap(globalObject, blob.toJSON(globalObject, .share)); + const result = blob.toJSON(globalObject, .share); + + return JSC.JSPromise.wrap(globalObject, result); } fn handleBodyAlreadyUsed(globalObject: *JSC.JSGlobalObject) JSValue { diff --git a/src/napi/napi.zig b/src/napi/napi.zig index e86a832b9..f747fb785 100644 --- a/src/napi/napi.zig +++ b/src/napi/napi.zig @@ -309,28 +309,41 @@ pub extern fn napi_create_error(env: napi_env, code: napi_value, msg: napi_value pub extern fn napi_create_type_error(env: napi_env, code: napi_value, msg: napi_value, result: *napi_value) napi_status; pub extern fn napi_create_range_error(env: napi_env, code: napi_value, msg: napi_value, result: *napi_value) napi_status; pub extern fn napi_typeof(env: napi_env, value: napi_value, result: *napi_valuetype) napi_status; -pub export fn napi_get_value_double(globalObject: napi_env, value: napi_value, result: *f64) napi_status { +pub export fn napi_get_value_double(env: napi_env, value: napi_value, result: *f64) napi_status { log("napi_get_value_double", .{}); - result.* = value.coerce(f64, globalObject); + if (!value.isNumber()) { + return .number_expected; + } + result.* = value.coerceToDouble(env); return .ok; } -pub export fn napi_get_value_int32(globalObject: napi_env, value: napi_value, result: *i32) napi_status { +pub export fn napi_get_value_int32(_: napi_env, value: napi_value, result: *i32) napi_status { log("napi_get_value_int32", .{}); - result.* = value.coerce(i32, globalObject); + if (!value.isNumber()) { + return .number_expected; + } + result.* = value.to(i32); return .ok; } pub export fn napi_get_value_uint32(_: napi_env, value: napi_value, result: *u32) napi_status { log("napi_get_value_uint32", .{}); + if (!value.isNumber()) { + return .number_expected; + } result.* = value.to(u32); return .ok; } pub export fn napi_get_value_int64(_: napi_env, value: napi_value, result: *i64) napi_status { log("napi_get_value_int64", .{}); + if (!value.isNumber()) { + return .number_expected; + } result.* = value.to(i64); return .ok; } pub export fn napi_get_value_bool(_: napi_env, value: napi_value, result: *bool) napi_status { log("napi_get_value_bool", .{}); + result.* = value.to(bool); return .ok; } diff --git a/test/js/node/v8/capture-stack-trace.test.js b/test/js/node/v8/capture-stack-trace.test.js index 6ffa2e90b..2a4d92d95 100644 --- a/test/js/node/v8/capture-stack-trace.test.js +++ b/test/js/node/v8/capture-stack-trace.test.js @@ -492,9 +492,9 @@ test("err.stack should invoke prepareStackTrace", () => { functionWithAName(); expect(functionName).toBe("functionWithAName"); - expect(lineNumber).toBe(490); + expect(lineNumber).toBe(488); // TODO: this is wrong - expect(parentLineNumber).toBe(499); + expect(parentLineNumber).toBe(497); }); test("Error.prepareStackTrace inside a node:vm works", () => { diff --git a/test/js/third_party/svelte/bun-loader-svelte.ts b/test/js/third_party/svelte/bun-loader-svelte.ts index 3091ce060..f0a6e3419 100644 --- a/test/js/third_party/svelte/bun-loader-svelte.ts +++ b/test/js/third_party/svelte/bun-loader-svelte.ts @@ -1,6 +1,6 @@ import { plugin } from "bun"; -plugin({ +await plugin({ name: "svelte loader", async setup(builder) { var { compile } = await import("svelte/compiler"); |