aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/BunString.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-08-10 13:32:04 -0700
committerGravatar GitHub <noreply@github.com> 2023-08-10 13:32:04 -0700
commite25833d00946fdd400abd3c25e8aa1c3e3d2e355 (patch)
tree71f6f046b75f6dbafd90e96443b1a3e8a29ad07d /src/bun.js/bindings/BunString.cpp
parente65535cc054f8bfff98648f0605537a9d734e225 (diff)
downloadbun-e25833d00946fdd400abd3c25e8aa1c3e3d2e355.tar.gz
bun-e25833d00946fdd400abd3c25e8aa1c3e3d2e355.tar.zst
bun-e25833d00946fdd400abd3c25e8aa1c3e3d2e355.zip
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>
Diffstat (limited to 'src/bun.js/bindings/BunString.cpp')
-rw-r--r--src/bun.js/bindings/BunString.cpp10
1 files changed, 10 insertions, 0 deletions
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;