Northern Pileated Marmoset

arraybuffer-utils

1.1.1 • Public • Published

ArrayBuffer-Utils

Make writing and reading data from the standard built-in object ArrayBuffer easier

Installation

$ npm install arraybuffer-utils

Documentation

Click to view online documentations

Basic feature list

  • Chainable functions
  • Remembers offset
  • Remembers endianness

Example Usage

Importing the module

var ArrayBufferUtils = require('arraybuffer-utils');
var BufferWriter = ArrayBufferUtils.BufferWriter();
var BufferReader = ArrayBufferUtils.BufferReader();

Write to ArrayBuffer using BufferWriter

BufferWriter(buffer, offset = 0, isLittleEndian = false)

function write(){
    var arrayBuffer = new ArrayBuffer(30);
    var bufferWriter = new BufferWriter(arrayBuffer); //second and third parameters are optional
    var bufferWriter = new BufferWriter(arrayBuffer, 0);
    var bufferWriter = new BufferWriter(arrayBuffer, 0, false);
 
    //chainable functions
    bufferWriter
     .writeInt8(1) //offset is now 1
        .writeUint8(2) //offset is now 2
         .useLittleEndian() //change to little endian
        .writeInt16(3) //offset is now 4
        .writeUint16(4) //offset is now 6
        .writeInt32(5) //offset is now 10
         .useBigEndian() //change to big endian
        .writeUint32(6) //offset is now 14
        .writeFloat32(7) //offset is now 18
        .writeFloat64(8); //offset is now 26
        .writeChar("A")     //offset is now 28
        .writeString("Hello World!")    //offset is now 54 (increased by (12 + 1) * 2)
 
    var offset = bufferWriter.getOffset();  //returns current offset
    var size = bufferWriter.getSize();  //returns size of arraybuffer in bytes
 
    var littleEndian = bufferWriter.isLittleEndian();  //returns true if currently using little endian
    var bigEndian = bufferWriter.isBigEndian(); //returns true if currently using big endian
}

Read from ArrayBuffer using BufferReader

BufferReader(buffer, offset = 0, isLittleEndian = false)

function write(){
    var arrayBuffer = new ArrayBuffer(30);
    var bufferReader = new BufferReader(arrayBuffer); //second and third parameters are optional
    var bufferReader = new BufferReader(arrayBuffer, 0);
    var bufferReader = new BufferReader(arrayBuffer, 0, false);
 
    var int8 = bufferReader.readInt8(); //offset is now 1
    var uInt8 = bufferReader.readUint8(); //offset is now 2
    var int16 = bufferReader.readInt16(); //offset is now 4
    var uInt16 = bufferReader.readUint16(); //offset is now 6
    var int32 = bufferReader.readInt32(); //offset is now 10
    var uInt32 = bufferReader.readUint32(); //offset is now 14
    var float32 = bufferReader.readFloat32(); //offset is now 18
    var float64 = bufferReader.readFloat64(); //offset is now 26
    var char = bufferReader.writeChar("A")     //offset is now 28
    var string = bufferReader.writeString("Hello World!")    //offset is now 54 (increased by (12 + 1) * 2)
 
    var offset = bufferReader.getOffset();  //returns current offset
    var size = bufferReader.getSize();  //returns size of arraybuffer in bytes
 
    bufferReader.useLittleEndian();  //change to little endian
    bufferReader.useBigEndian(); //change to big endian
 
    var littleEndian = bufferReader.isLittleEndian();  //returns true if currently using little endian
    var bigEndian = bufferReader.isBigEndian(); //returns true if currently using big endian
}

install

npm i arraybuffer-utils

Downloadsweekly downloads

0

version

1.1.1

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability