1.0.0 • Published 6 years ago

buffer-iterator v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

Buffer Itaretor

Build Status

Let Buffer can be foreach.

Install

$ npm install buffer-iterator

Methods

  1. next(needMovePointer = true): Number|Null: Read a byte from buffer, and move pointer to next byte when needMovePointer is true(default), if has not next byte, return null.

    const assert = require('assert');
    const BufferIterator = require('buffer-iterator');
    
    const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
    assert.equal(bi.next(), 0x01);
  2. prev(needMovePointer = false): Number|Null: Read a previous byte from buffer, and move pointer to previous byte when needMovePointer is true(default false), if has not previous byte, return null.

    const assert = require('assert');
    const BufferIterator = require('buffer-iterator');
    
    const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
    bi.next();
    bi.next();
    assert.equal(bi.prev(), 0x01);
  3. current(): Number: Read current byte, if has not current byte, return null..

    const assert = require('assert');
    const BufferIterator = require('buffer-iterator');
    
    const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
    bi.next();
    assert.equal(bi.current(), 0x01);
  4. hasNext(): Boolean: If have remain bytes to read.

    const assert = require('assert');
    const BufferIterator = require('buffer-iterator');
    
    const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
    bi.next();
    assert.equal(bi.hasNext(), true);
  5. remainLength(): Number: Count bytes which have not been read.

    const assert = require('assert');
    const BufferIterator = require('buffer-iterator');
    
    const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
    bi.next();
    assert.equal(bi.remainLength(), 1);
  6. readBytes(number = 1): Buffer|Null: Read multi bytes.

    const assert = require('assert');
    const BufferIterator = require('buffer-iterator');
    
    const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
    assert.equal(bi.readBytes(10).equals(Buffer.from([0x01, 0x02])), true);
  7. append(buf): Null: Append buffer.

    const assert = require('assert');
    const BufferIterator = require('buffer-iterator');
    
    const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
    bi.append(Buffer.from([0x03]));
    assert.equal(bi.buffer.equals(Buffer.from([0x01, 0x02, 0x03])), true);
  8. use for...of.

    const assert = require('assert');
    const BufferIterator = require('buffer-iterator');
    
    const bi = new BufferIterator(Buffer.from([0x01, 0x02]));
    for (let byte of bi) {
      console.log(byte);
    }
    
    // 1
    // 2