[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/UXScripts/node-binarypack/master/lib/binarypack.js [Back]  [Original]

var BufferCursor = require('buffercursor');
var BufferBuilder = require('./bufferbuilder');

BinaryPack = {
  unpack: function(data){
    var unpacker = new BinaryPack.Unpacker(data);
    return unpacker.unpack();
  },
  pack: function(data){
    var packer = new BinaryPack.Packer();
    var buffer = packer.pack(data);
    return buffer;
  }
};

BinaryPack.Unpacker = function(buffer){
  this.cursor = new BufferCursor(buffer);
  this.length = buffer.length;
}

BinaryPack.Unpacker.prototype.unpack = function(){
  var type = this.cursor.readUInt8();
  if (type < 0x80){
    var positive_fixnum = type;
    return positive_fixnum;
  } else if ((type ^ 0xe0) < 0x20){
    var negative_fixnum = (type ^ 0xe0) - 0x20;
    return negative_fixnum;
  }
  var size;
  if ((size = type ^ 0xa0) >>  8, 2);
  this.bufferBuilder.append((low  & 0x000000ff), 2);
}

module.exports = BinaryPack;

Web Proxy Viewer  |  New URL  |  Original Page