diff options
author | 2023-01-21 04:06:06 -0800 | |
---|---|---|
committer | 2023-01-21 04:06:06 -0800 | |
commit | ed421855d70c64f55a5cb15a1a46798457697d3e (patch) | |
tree | f4177544ce601d0c6051d0f687084f605969753b /src/bun.js/builtins/js | |
parent | 627da4452714bc7126db776682882afd26f89516 (diff) | |
download | bun-ed421855d70c64f55a5cb15a1a46798457697d3e.tar.gz bun-ed421855d70c64f55a5cb15a1a46798457697d3e.tar.zst bun-ed421855d70c64f55a5cb15a1a46798457697d3e.zip |
[buffer] Add faster path for Uint8Array
Diffstat (limited to 'src/bun.js/builtins/js')
-rw-r--r-- | src/bun.js/builtins/js/JSBufferConstructor.js | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/bun.js/builtins/js/JSBufferConstructor.js b/src/bun.js/builtins/js/JSBufferConstructor.js index 9f61220cc..4c3650360 100644 --- a/src/bun.js/builtins/js/JSBufferConstructor.js +++ b/src/bun.js/builtins/js/JSBufferConstructor.js @@ -36,6 +36,12 @@ function from(items) { "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.", ); + if (@argumentCount() === 1 && @isTypedArrayView(items)) { + var out = this.allocUnsafe(items.byteLength); + out.copy(items); + return out; + } + // TODO: figure out why private symbol not found if ( typeof items === "string" || |