From e25833d00946fdd400abd3c25e8aa1c3e3d2e355 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Thu, 10 Aug 2023 13:32:04 -0700 Subject: Fixes #4062 (#4106) * Fixes #4062 * Update encoding.zig * Use faster C++ impl * Update wtf-bindings.cpp * undo * Fixup --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- src/bun.js/bindings/BunString.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/bun.js/bindings/BunString.cpp') diff --git a/src/bun.js/bindings/BunString.cpp b/src/bun.js/bindings/BunString.cpp index 09b545cba..5f312a28f 100644 --- a/src/bun.js/bindings/BunString.cpp +++ b/src/bun.js/bindings/BunString.cpp @@ -60,6 +60,11 @@ JSC::JSValue toJS(JSC::JSGlobalObject* globalObject, BunString bunString) return JSValue(Zig::toJSStringGC(bunString.impl.zig, globalObject)); } +JSC::JSValue toJS(JSC::JSGlobalObject* globalObject, BunString bunString, size_t length) +{ + return jsSubstring(globalObject, jsUndefined(), Bun::toWTFString(bunString), 0, length); +} + WTF::String toWTFString(const BunString& bunString) { if (bunString.tag == BunStringTag::ZigString) { @@ -195,6 +200,11 @@ extern "C" JSC::EncodedJSValue BunString__toJS(JSC::JSGlobalObject* globalObject return JSValue::encode(Bun::toJS(globalObject, *bunString)); } +extern "C" JSC::EncodedJSValue BunString__toJSWithLength(JSC::JSGlobalObject* globalObject, BunString* bunString, size_t length) +{ + return JSValue::encode(Bun::toJS(globalObject, *bunString, length)); +} + extern "C" BunString BunString__fromUTF16Unitialized(size_t length) { unsigned utf16Length = length; -- cgit v1.2.3