diff options
author | 2022-11-27 06:17:59 -0800 | |
---|---|---|
committer | 2022-11-27 06:17:59 -0800 | |
commit | f891d1df5006760c19ab997ec9baa6a8071885b6 (patch) | |
tree | b9085077369b6ab45bba130a66a98c737ef4a190 | |
parent | faad2505599048e0b6ce9aa84f7ff334b45e25db (diff) | |
download | bun-f891d1df5006760c19ab997ec9baa6a8071885b6.tar.gz bun-f891d1df5006760c19ab997ec9baa6a8071885b6.tar.zst bun-f891d1df5006760c19ab997ec9baa6a8071885b6.zip |
Fix strangeness with Bun.env keys
-rw-r--r-- | src/bun.js/javascript_core_c_api.zig | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/bun.js/javascript_core_c_api.zig b/src/bun.js/javascript_core_c_api.zig index 48b0e3102..d3df574ab 100644 --- a/src/bun.js/javascript_core_c_api.zig +++ b/src/bun.js/javascript_core_c_api.zig @@ -64,17 +64,16 @@ pub const OpaqueJSString = opaque { return JSStringCreateWithUTF8CString(""); } - if (zig_str.is16Bit()) { - return JSStringCreateWithCharacters(zig_str.utf16SliceAligned().ptr, zig_str.len); + if (zig_str.isUTF8()) { + return JSValueToStringCopy( + bun.JSC.VirtualMachine.vm.global, + zig_str.toValueGC(bun.JSC.VirtualMachine.vm.global).asObjectRef(), + null, + ); } - if (zig_str.isUTF8()) { - // this is super inefficient - if (bun.strings.toUTF16Alloc(allocator, zig_str.slice(), false) catch unreachable) |utf16| { - const cloned = JSStringCreateWithCharacters(utf16.ptr, utf16.len); - allocator.free(utf16); - return cloned; - } + if (zig_str.is16Bit()) { + return JSStringCreateWithCharacters(zig_str.utf16SliceAligned().ptr, zig_str.len); } // also extremely inefficient @@ -512,3 +511,5 @@ const JSStringIterator_ = extern struct { // not official api functions pub extern "c" fn JSCInitialize() void; + +pub extern "c" fn JSObjectGetProxyTarget(JSObjectRef) JSObjectRef; |