aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/cpp/JSBufferConstructorBuiltins.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/builtins/cpp/JSBufferConstructorBuiltins.cpp')
-rw-r--r--src/bun.js/builtins/cpp/JSBufferConstructorBuiltins.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/bun.js/builtins/cpp/JSBufferConstructorBuiltins.cpp b/src/bun.js/builtins/cpp/JSBufferConstructorBuiltins.cpp
index 213060f58..7025ea8b8 100644
--- a/src/bun.js/builtins/cpp/JSBufferConstructorBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/JSBufferConstructorBuiltins.cpp
@@ -51,7 +51,7 @@ namespace WebCore {
const JSC::ConstructAbility s_jsBufferConstructorFromCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_jsBufferConstructorFromCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_jsBufferConstructorFromCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_jsBufferConstructorFromCodeLength = 1832;
+const int s_jsBufferConstructorFromCodeLength = 1984;
static const JSC::Intrinsic s_jsBufferConstructorFromCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_jsBufferConstructorFromCode =
"(function (items) {\n" \
@@ -65,6 +65,12 @@ const char* const s_jsBufferConstructorFromCode =
" \"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\",\n" \
" );\n" \
"\n" \
+ " if (@argumentCount() === 1 && @isTypedArrayView(items)) {\n" \
+ " var out = this.allocUnsafe(items.byteLength);\n" \
+ " out.copy(items);\n" \
+ " return out;\n" \
+ " }\n" \
+ "\n" \
" //\n" \
" if (\n" \
" typeof items === \"string\" ||\n" \