Socket
Socket
Sign inDemoInstall

typedarray-to-buffer

Package Overview
Dependencies
0
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    typedarray-to-buffer

Convert a typed array to a Buffer without a copy


Version published
Maintainers
1
Install size
6.89 kB
Created

Package description

What is typedarray-to-buffer?

The typedarray-to-buffer npm package is a simple utility that converts a TypedArray or ArrayBuffer to a Node.js Buffer without copying the underlying memory. It's particularly useful when you need to work with Node.js buffers but are starting with a TypedArray (like Uint8Array) or an ArrayBuffer that you've obtained from a different context, such as the Web API or another library that doesn't use Node.js buffers.

What are typedarray-to-buffer's main functionalities?

Convert TypedArray to Buffer

This feature allows you to convert a TypedArray, such as Uint8Array, to a Node.js Buffer instance. The conversion is done without copying the data, making it a fast operation.

var toBuffer = require('typedarray-to-buffer');
var uint8array = new Uint8Array([1, 2, 3]);
var buffer = toBuffer(uint8array);

Other packages similar to typedarray-to-buffer

Readme

Source

typedarray-to-buffer travis npm gittip

Convert a typed array to a Buffer without a copy.

testling badge

Say you're using the 'buffer' module on npm, or browserify and you're working with lots of binary data.

Unfortunately, sometimes the browser or someone else's API gives you an ArrayBuffer or typed array (Uint8Array, etc.) to work with and you need to convert it to a Buffer. What do you do?

Of course: new Buffer(uint8array)

But, alas, every time you do new Buffer(uint8array), the entire array gets copied into a new typed array. This is expensive. The Buffer constructor does a copy; this is defined by the node docs, so it can't be easily changed and the 'buffer' module matches the node API exactly.

So, what can you do if you're writing a performance critical application and can't afford extra copies for no good reason?

Use this module, of course!

install

npm install typedarray-to-buffer

usage

To convert a typed array to a Buffer without a copy, do this:

var toBuffer = require('typedarray-to-buffer')
var Buffer = require('buffer/').Buffer  // omit this line if you're using `browserify`

var arr = new Uint8Array([1, 2, 3])
arr = toBuffer(arr)

// arr is a buffer now!

arr.toString()  // '\u0001\u0002\u0003'
arr.readUInt16BE(0)  // 258

some advanced details

In the case that the browser actually supports typed arrays, you don't even need to use the return value of toBuffer since the original Uint8Array has been augmented with all the methods from Buffer. See how does Buffer work? for why we do this.

If the browser doesn't support typed arrays then the only way we can give a buffer is to return it you. So, just always use the return value if you want to support all browsers!

license

MIT. Copyright (C) Feross Aboukhadijeh.

Keywords

FAQs

Last updated on 08 Apr 2014

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc