buffer-iterator
buffer-iterator copied to clipboard
buffer iterator, to read byte one by one
Buffer Iterator
Let Buffer iterable.
Install
$ npm install buffer-iterator --save
Static Methods
-
from(): BufferIterator: Create aBufferIterator, arguments isBuffer.from's arguments.const bi = BufferIterator.from([0x01, 0x02]); // same as const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
Instance Methods
-
next(needMovePointer = true): Number|Null: Read a byte from buffer, and move pointer to the next byte whenneedMovePointeristrue(default), if it has not next byte, return null.const assert = require('assert'); const BufferIterator = require('buffer-iterator'); const bi = BufferIterator.from([0x01, 0x02]); assert.equal(bi.next(), 0x01); -
prev(needMovePointer = false): Number|Null: Read a previous byte from buffer, and move pointer to previous byte whenneedMovePointeristrue(default false). Returns previous byte if it exists, otherwise it returns null.const assert = require('assert'); const BufferIterator = require('buffer-iterator'); const bi = BufferIterator.from([0x01, 0x02]); bi.next(); bi.next(); assert.equal(bi.prev(), 0x01); -
current(): Number: Returns current byte if it exists, otherwise it returns null.const assert = require('assert'); const BufferIterator = require('buffer-iterator'); const bi = BufferIterator.from([0x01, 0x02]); bi.next(); assert.equal(bi.current(), 0x01); -
hasNext(): Boolean: Returns true if and only if the iterator has other bytes to read.const assert = require('assert'); const BufferIterator = require('buffer-iterator'); const bi = BufferIterator.from([0x01, 0x02]); bi.next(); assert.equal(bi.hasNext(), true); -
remainLength(): Number: Counts bytes which have not been read yet.const assert = require('assert'); const BufferIterator = require('buffer-iterator'); const bi = BufferIterator.from([0x01, 0x02]); bi.next(); assert.equal(bi.remainLength(), 1); -
readBytes(number = 1): Buffer|Null: Read multi bytes.const assert = require('assert'); const BufferIterator = require('buffer-iterator'); const bi = BufferIterator.from([0x01, 0x02]); assert.equal(bi.readBytes(10).equals(Buffer.from([0x01, 0x02])), true); -
append(buf): Null: Append buffer.const assert = require('assert'); const BufferIterator = require('buffer-iterator'); const bi = BufferIterator.from([0x01, 0x02]); bi.append(Buffer.from([0x03])); assert.equal(bi.buffer.equals(Buffer.from([0x01, 0x02, 0x03])), true); -
use
for...of.const assert = require('assert'); const BufferIterator = require('buffer-iterator'); const bi = BufferIterator.from([0x01, 0x02]); for (let byte of bi) { console.log(byte); } // 1 // 2
Contribute
-
fork.
-
install dependencies.
$ npm install -
run command.
$ gulp