# buffer-reader

> a reader for nodejs buffer

Latest version **0.1.0** (published 2015-02-10) · BSD license · 0 weekly downloads

## Install

```sh
npm install buffer-reader
pnpm add buffer-reader
yarn add buffer-reader
bun add buffer-reader
```

## Health

**Score 23/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2015-02-10 |
| First published | 2013-09-25 |
| Weekly downloads | 0 |
| License | BSD |
| TypeScript types | separate (@types/buffer-reader) |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 14 |
| Author | wei.gao |
| Maintainers | villadora |

## Links

- npm: https://www.npmjs.com/package/buffer-reader
- Repository: git@github.com:villadora/node-buffer-reader
- Homepage: https://github.com/villadora/node-buffer-reader
- Issues: https://github.com/villadora/node-buffer-reader/issues
- npm.io page: https://npm.io/package/buffer-reader

## Recent versions

- 0.1.0 (latest) — 2015-02-10
- 0.0.2 — 2013-09-26
- 0.0.1 — 2013-09-25

## README

# Node Buffer Reader

Make reading data from a binary buffer easily.


<!--- travis ci -->
[![Build Status](https://travis-ci.org/villadora/node-buffer-reader.png?branch=master)](https://travis-ci.org/villadora/node-buffer-reader)


## Install

npm install buffer-reader

## Usage

``` js
var BufferReader = require('buffer-reader');
var reader = new BufferReader(buffer);

// Read next N bytes as string
var str = reader.nextString(10);

// Read next N bytes as buffer
var buf = reader.nextBuffer(10);

// Read next 2 bytes as Int16LE
var i = reader.nextInt16LE();


// Read next 8 bytes as DoubleLE
var d = reader.nextDoubleLE();

// Get all rest bytes as buffer
var rest = reader.restAll();

// OutOfBound will raise exception
try {
    reader.nextString(1);
}cache(e) {
    //  handle exception
}

// Append buffer to reader
reader.append(newbuffer);

// Read again
reader.nextString(1);

```


## APIs

### new BufferReader([buffer])
Create a new reader, if no buffer provided, a empty buffer will be used.

### append(buffer)
Append new buffer to the end of current reader

### tell()
Return current position of the reader


### seek(pos)
Set new position of the reader, if the pos is invalid, an exception will be raised

### move(offset) 
Move the position of reader by offset, offset can be negative; it can be used to skip some bytes

### restAll()
Get all the remaining bytes as a Buffer

### nextBuffer(length)
Read a buffer with specified length

### nextString(length, [encoding])
Read next length of bytes as String, encoding default is 'utf8'

### next(Int8|UInt8)\[(Int16|UInt16|Int32|UInt32|Float|Double)(LE|BE)\]()
Read next bytes as given types, the value is just as the same format Buffer in nodejs doc.

## License

(The BSD License)

Copyright (c) 2013, Villa.Gao <jky239@gmail.com>;
All rights reserved.

---
_Source: https://npm.io/package/buffer-reader · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
