aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-27 06:17:59 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-27 06:17:59 -0800
commitf891d1df5006760c19ab997ec9baa6a8071885b6 (patch)
treeb9085077369b6ab45bba130a66a98c737ef4a190
parentfaad2505599048e0b6ce9aa84f7ff334b45e25db (diff)
downloadbun-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.zig19
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;