Package Exports
- typedarray-to-buffer
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (typedarray-to-buffer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
typedarray-to-buffer

Convert a typed array to a Buffer without a copy.
Say you're using the 'buffer' module on npm, or browserify and you're working with lots of binary data. Creating lots of Buffers here and Buffers there...
Unfortunately, sometimes the browser or someone elses API gives you back an
ArrayBuffer or typed array (Uint8Array, etc.) and you need to convert it to a
Buffer so you can work with it easily. 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. The Buffer constructor does a copy. This is defined by the
node docs, so it can't be changed. 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-bufferusage
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) // 258some 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, Romain Beauxis, and other contributors.
