Let Buffer iterable.
$ npm install buffer-iterator --save
-
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]));
-
next(needMovePointer = true): Number|Null
: Read a byte from buffer, and move pointer to the next byte whenneedMovePointer
istrue
(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 whenneedMovePointer
istrue
(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
-
fork.
-
install dependencies.
$ npm install
-
run command.
$ gulp