ReklatsMasters/buffer-array

View on GitHub
readme.md

Summary

Maintainability
Test Coverage
# DEPRECATED

Use [`bl`](https://npmjs.org/package/bl) or [`binary-data`](https://npmjs.org/package/bl) instead. Please, let me known if you want to take this package name.

---

# buffer-array
[![travis](https://travis-ci.org/reklatsmasters/buffer-array.svg)](https://travis-ci.org/reklatsmasters/buffer-array)
[![npm](https://img.shields.io/npm/v/buffer-array.svg)](https://npmjs.org/package/buffer-array)
[![license](https://img.shields.io/npm/l/buffer-array.svg)](https://npmjs.org/package/buffer-array)
[![downloads](https://img.shields.io/npm/dm/buffer-array.svg)](https://npmjs.org/package/buffer-array)
[![Code Climate](https://codeclimate.com/github/reklatsmasters/buffer-array/badges/gpa.svg)](https://codeclimate.com/github/ReklatsMasters/buffer-array)
[![Test Coverage](https://codeclimate.com/github/reklatsmasters/buffer-array/badges/coverage.svg)](https://codeclimate.com/github/ReklatsMasters/buffer-array)

The Buffer with Array API

## Example
```js
const ba = require('buffer-array')

var buf = ba(4)

buf.push(new Buffer([0, 0x0a]))
var x = buf.popInt16BE() // x == 10
```

## API

* **`constructor(data: Buffer): BufferArray`**
* **`constructor(size: Number): BufferArray`**

Create new instance of `buffer-array` with fixed-size buffer

* **`seek(pos: Number): void`**
* **`seek(): Number`**

Set / get current pointer position. 

```js
var packet = ba(38)
packet.pushInt32BE(640)
packet.seek() //  == 4
packet.length //  == 38  
```

#### `length: Number`
Get length of the internal buffer

#### `clear(): void`
Remove all written data and set pointer position to 0.

#### `toBuffer(): Buffer`
Get internal buffer (_not a copy_)

#### `push(data: Buffer): bool`
Write buffer `data` to the end

* **`pushDoubleBE(data: Number): bool`**
* **`pushDoubleLE(data: Number): bool`**
* **`pushFloatBE(data:  Number): bool`**
* **`pushFloatLE(data:  Number): bool`**
* **`pushInt32BE(data:  Number): bool`**
* **`pushInt32LE(data:  Number): bool`**
* **`pushInt16BE(data:  Number): bool`**
* **`pushInt16LE(data:  Number): bool`**
* **`pushUInt32BE(data: Number): bool`**
* **`pushUInt32LE(data: Number): bool`**
* **`pushUInt16BE(data: Number): bool`**
* **`pushUInt16LE(data: Number): bool`**
* **`pushInt8(data:  Number): bool`**
* **`pushUInt8(data: Number): bool`**

Write fixed-size number to the end

#### `pop(size: Number): Buffer`
Read `size` bytes from the end and return buffer. Return `undefined` if out of bounds.

* **`popDoubleBE(): Number`**
* **`popDoubleLE(): Number`**
* **`popFloatBE():  Number`**
* **`popFloatLE():  Number`**
* **`popInt32BE():  Number`**
* **`popInt32LE():  Number`**
* **`popInt16BE():  Number`**
* **`popInt16LE():  Number`**
* **`popUInt32BE(): Number`**
* **`popUInt32LE(): Number`**
* **`popUInt16BE(): Number`**
* **`popUInt16LE(): Number`**
* **`popInt8():  Number`**
* **`popUInt8(): Number`**

Read fixed-size number from the end. Return `undefined` if out of bounds.

* **`shift(size: Number): Buffer`**
* **`read(size: Number): Buffer`**

Read `size` bytes from the beginning and return buffer. Return `undefined` if out of bounds.

* **`shiftDoubleBE(): Number`**, **`readDoubleBE(): Number`**
* **`shiftDoubleLE(): Number`**, **`readDoubleLE(): Number`**
* **`shiftFloatBE():  Number`**, **`readFloatBE():  Number`**
* **`shiftFloatLE():  Number`**, **`readFloatLE():  Number`**
* **`shiftInt32BE():  Number`**, **`readInt32BE():  Number`**
* **`shiftInt32LE():  Number`**, **`readInt32LE():  Number`**
* **`shiftInt16BE():  Number`**, **`readInt16BE():  Number`**
* **`shiftInt16LE():  Number`**, **`readInt16LE():  Number`**
* **`shiftUInt32BE(): Number`**, **`readUInt32BE(): Number`**
* **`shiftUInt32LE(): Number`**, **`readUInt32LE(): Number`**
* **`shiftUInt16BE(): Number`**, **`readUInt16BE(): Number`**
* **`shiftUInt16LE(): Number`**, **`readUInt16LE(): Number`**
* **`shiftInt8():  Number`**,    **`readInt8():  Number`**
* **`shiftUInt8(): Number`**,    **`readUInt8(): Number`**

Read fixed-size number from the beginning. Return `undefined` if out of bounds.

#### `unshift(data: Buffer): bool`
Write buffer `data` to the beginning

* **`unshiftDoubleBE(data: Number): bool`**
* **`unshiftDoubleLE(data: Number): bool`**
* **`unshiftFloatBE(data:  Number): bool`**
* **`unshiftFloatLE(data:  Number): bool`**
* **`unshiftInt32BE(data:  Number): bool`**
* **`unshiftInt32LE(data:  Number): bool`**
* **`unshiftInt16BE(data:  Number): bool`**
* **`unshiftInt16LE(data:  Number): bool`**
* **`unshiftUInt32BE(data: Number): bool`**
* **`unshiftUInt32LE(data: Number): bool`**
* **`unshiftUInt16BE(data: Number): bool`**
* **`unshiftUInt16LE(data: Number): bool`**
* **`unshiftInt8(data:  Number): bool`**
* **`unshiftUInt8(data: Number): bool`**

Write fixed-size number to the beginning

## License
MIT, 2016 (c) Dmitry Tsvettsikh