UNPKG

multi-buffer-data-view

Version:

A wrapper around the native DataView which can handle multiple ArrayBuffers.

39 lines (24 loc) 1.66 kB
# multi-buffer-data-view **A wrapper around the native DataView which can handle multiple ArrayBuffers.** [![version](https://img.shields.io/npm/v/multi-buffer-data-view.svg?style=flat-square)](https://www.npmjs.com/package/multi-buffer-data-view) This module provides a wrapper around the native DataView. But instead of supporting only one ArrayBuffer as the backing memory the `MultiBufferDataView` exported by this module can operate across multiple ArrayBuffers. ## Usage The `multi-buffer-data-view` module is available on [npm](https://www.npmjs.com/package/multi-buffer-data-view) and can be installed as usual. ```shell npm install multi-buffer-data-view ``` It exports only one class called `MultiBufferDataView` which can be imported like this: ```js import { MultiBufferDataView } from 'multi-buffer-data-view'; ``` A `MultiBufferDataView` behaves almost like a native DataView with the notable exception that it can handle multiple ArrayBuffers. ```js const anArrayBuffer = new ArrayBuffer(23); const anotherArrayBuffer = new ArrayBuffer(41); new MultiBufferDataView([anArrayBuffer, anotherArrayBuffer]); ``` The little example above will create a `MultiBufferDataView` which uses all 64 bytes that are available in the given ArrayBuffers. However it is also possible to limit the range of accessible bytes by providing a `byteOffset` or a `byteLength` as additional arguments. ```js new MultiBufferDataView([anArrayBuffer, anotherArrayBuffer], 12, 24); ``` When creating a `MultiBufferDataView` with the parameters above it will only use the last 11 bytes of the first ArrayBuffer and the first 13 bytes of the second ArrayBuffer.