From ff20771776eb6b1998768f4f67328c6c0c97fec3 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 17 Jun 2014 00:00:16 +0200 Subject: [PATCH] Accept an array in ByteBuffer.wrap, fixes #10 --- bower.json | 2 +- dist/ByteBufferAB.js | 11 +- dist/ByteBufferAB.min.js | 118 +- dist/ByteBufferAB.min.js.gz | Bin 7539 -> 7568 bytes dist/ByteBufferAB.min.map | 4 +- dist/ByteBufferNB.js | 20 +- docs/ByteBuffer.html | 16925 ++++++++++++++++++++++++++++++++++ docs/index.html | 2 +- package.json | 2 +- src/ByteBuffer.js | 3 +- src/ByteBufferNB.js | 10 +- src/methods/static/wrap.js | 15 +- src/types/floats/ieee754.js | 86 + tests/suite.js | 17 +- 14 files changed, 17134 insertions(+), 81 deletions(-) create mode 100644 docs/ByteBuffer.html create mode 100644 src/types/floats/ieee754.js diff --git a/bower.json b/bower.json index a9e5820..54dd0ca 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.0.0-RC2", + "version": "3.0.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "ByteBuffer.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 3da095b..5d3eaab 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -34,6 +34,7 @@ * Constructs a new ByteBuffer. * @class The swiss army knife for binary data in JavaScript. * @exports ByteBuffer + * @constructor * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. @@ -117,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.0.0-RC2"; + ByteBuffer.VERSION = "3.0.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -308,7 +309,13 @@ bb.limit = buffer.byteLength; bb.view = buffer.byteLength > 0 ? new DataView(buffer) : null; } - } else throw(new TypeError("Illegal buffer")); + } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets + bb = new ByteBuffer(buffer.length, littleEndian, noAssert); + bb.limit = buffer.length; + for (i=0; ia)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?q:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function s(a,b){var c=b,e,d,f,g;e=a.view.getUint8(b++);if(0!==(e&128))if(192===(e&224))d=a.view.getUint8(b++),e=(e&31)<<6|d&63;else if(224===(e&240))d=a.view.getUint8(b++),f=a.view.getUint8(b++),e=(e&15)<<12|(d&63)<<6|f&63;else if(240===(e&248))d=a.view.getUint8(b++),f=a.view.getUint8(b++),g=a.view.getUint8(b++),e=(e&7)<<18|(d&63)<<12|(f&63)<<6|g&63;else throw RangeError("Illegal code point at offset "+ b+": "+e);return{codePoint:e,length:b-c}}function r(a){if(0>a)throw RangeError("Illegal code point: "+a);if(128>a)return 1;if(2048>a)return 2;if(65536>a)return 3;if(1114112>a)return 4;throw RangeError("Illegal code point: "+a);}function t(a){for(var b,c=0,e=0;e=b&&(b=a.codePointAt(e),65535a)throw RangeError("Illegal code point: "+a);if(128>a)b.view.setUint8(c++,a&127);else if(2048>a)b.view.setUint8(c++, -a>>6&31|192),b.view.setUint8(c++,a&63|128);else if(65536>a)b.view.setUint8(c++,a>>12&15|224),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else if(1114112>a)b.view.setUint8(c++,a>>18&7|240),b.view.setUint8(c++,a>>12&63|128),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else throw RangeError("Illegal code point: "+a);return c-e}d.VERSION="3.0.0-RC2";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long= -k||null;var q=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,l;f=l||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=l);b.limit=b.offset; -b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a,c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!== -typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b- -1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+= -1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.prototype.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.readShort=d.prototype.readInt16;d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt=d.prototype.readInt32;d.prototype.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"=== -typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(d.prototype.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&& -a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)): -(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a, -!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.prototype.readLong=d.prototype.readInt64,d.prototype.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});d.prototype.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeFloat=d.prototype.writeFloat32; -d.prototype.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readFloat=d.prototype.readFloat32;d.prototype.writeFloat64=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};d.prototype.writeDouble= -d.prototype.writeFloat64;d.prototype.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.prototype.readDouble=d.prototype.readFloat64;d.MAX_VARINT32_BYTES=5;d.calculateVarint32= -function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};d.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};d.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.prototype.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0> -this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=d.calculateVarint32(a);b+=e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;this.view.setUint8(b,e=a|128);a>>>=0;128<=a?(e=a>>7|128,this.view.setUint8(b+1,e),16384<=a?(e=a>>14|128,this.view.setUint8(b+2,e),2097152<=a?(e=a>>21|128,this.view.setUint8(b+3,e),268435456<=a?(this.view.setUint8(b+4,a>>28&15),e=5):(this.view.setUint8(b+3,e&127),e=4)):(this.view.setUint8(b+2,e& -127),e=3)):(this.view.setUint8(b+1,e&127),e=2)):(this.view.setUint8(b,e&127),e=1);return c?(this.offset+=e,this):e};d.prototype.writeVarint32ZigZag=function(a,b){return this.writeVarint32(d.zigZagEncode32(a),b)};d.prototype.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+ -this.buffer.byteLength);}var c=0,e=0,d;do d=this.view.getUint8(a+c),5>c&&(e|=(d&127)<<7*c>>>0),++c;while(128===(d&128));e|=0;return b?(this.offset+=c,e):{value:e,length:c}};d.prototype.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=d.zigZagDecode32(a.value):a=d.zigZagDecode32(a);return a};k&&(d.MAX_VARINT64_BYTES=10,d.calculateVarint64=function(a){"number"===typeof a&&(a=k.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>> -0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},d.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},d.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},d.prototype.writeVarint64=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e=d.calculateVarint64(a), -h=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var l=this.buffer.byteLength;b>l&&this.resize((l*=2)>b?l:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?f>>>21|128:f>>>21&127);case 7:this.view.setUint8(b+6,7!==e?f>>>14|128:f>>>14&127);case 6:this.view.setUint8(b+5,6!==e?f>>>7|128:f>>>7&127);case 5:this.view.setUint8(b+4,5!==e?f|128:f&127);case 4:this.view.setUint8(b+ -3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.prototype.writeVarint64ZigZag=function(a,b){return this.writeVarint64(d.zigZagEncode64(a),b)},d.prototype.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+ -" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g= -this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=k.from28Bits(e,d,f,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b= -this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var f=b,d=t(a);b+=d+1;e=this.buffer.byteLength;b>e&&this.resize((e*= -2)>b?e:b);b-=d+1;e=0;for(d=a.length;e>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=[];do{e=s(this,a);a+=e.length;if(0=== -e.codePoint)break;d.push(e.codePoint)}while(1);return b?(this.offset=a,String.fromCodePoint.apply(String,d)):{string:String.fromCodePoint.apply(String,d),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=t(a);b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;d=a.length;for(f=0;f>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;for(var d=a+c,f=[];a>>= -0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=t(a);b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;for(f=0;f=e&&(e=a.codePointAt(f),65535= -c&&(c=a.codePointAt(e),65535>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){for(b=[];h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); -}a=c+a;for(b=[];c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=t(a);f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);h=a.length;for(f=0;f>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;for(var c=c.value,d=a+c,f=[];a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer, -c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength), -(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=q,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset= -0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian, -this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+ -b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&& -(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength); -}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c= -this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>6&31|192),b.view.setUint8(c++,a&63|128);else if(65536>a)b.view.setUint8(c++,a>>12&15|224),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else if(1114112>a)b.view.setUint8(c++,a>>18&7|240),b.view.setUint8(c++,a>>12&63|128),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else throw RangeError("Illegal code point: "+a);return c-e}d.VERSION="3.0.0";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=k||null; +var q=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,l;f=l||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=l);b.limit=b.offset;b.offset= +0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a,c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object"); +if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a); +b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1; +var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.prototype.writeInt16= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian); +c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.readShort=d.prototype.readInt16; +d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b- +2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.writeInt32=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this}; +d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt=d.prototype.readInt32;d.prototype.writeUint32= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian); +c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(d.prototype.writeInt64=function(a,b){var c="undefined"===typeof b;c&& +(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-= +8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.prototype.readLong=d.prototype.readInt64,d.prototype.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== +typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this}, +d.prototype.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});d.prototype.writeFloat32= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+= +4);return this};d.prototype.writeFloat=d.prototype.writeFloat32;d.prototype.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readFloat=d.prototype.readFloat32; +d.prototype.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian); +c&&(this.offset+=8);return this};d.prototype.writeDouble=d.prototype.writeFloat64;d.prototype.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.prototype.readDouble= +d.prototype.readFloat64;d.MAX_VARINT32_BYTES=5;d.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};d.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};d.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.prototype.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=d.calculateVarint32(a);b+=e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;this.view.setUint8(b,e=a|128);a>>>=0;128<=a?(e=a>>7|128,this.view.setUint8(b+1,e),16384<=a?(e=a>>14|128,this.view.setUint8(b+2,e),2097152<=a?(e=a>>21|128,this.view.setUint8(b+3,e),268435456<=a?(this.view.setUint8(b+4,a>>28&15),e=5):(this.view.setUint8(b+ +3,e&127),e=4)):(this.view.setUint8(b+2,e&127),e=3)):(this.view.setUint8(b+1,e&127),e=2)):(this.view.setUint8(b,e&127),e=1);return c?(this.offset+=e,this):e};d.prototype.writeVarint32ZigZag=function(a,b){return this.writeVarint32(d.zigZagEncode32(a),b)};d.prototype.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,d;do d=this.view.getUint8(a+c),5>c&&(e|=(d&127)<<7*c>>>0),++c;while(128===(d&128));e|=0;return b?(this.offset+=c,e):{value:e,length:c}};d.prototype.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=d.zigZagDecode32(a.value):a=d.zigZagDecode32(a);return a};k&&(d.MAX_VARINT64_BYTES=10,d.calculateVarint64=function(a){"number"===typeof a&&(a=k.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a= +a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},d.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},d.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},d.prototype.writeVarint64= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a= +a.toSigned());var e=d.calculateVarint64(a),h=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var l=this.buffer.byteLength;b>l&&this.resize((l*=2)>b?l:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?f>>>21|128:f>>>21&127);case 7:this.view.setUint8(b+6,7!==e?f>>>14|128:f>>>14&127);case 6:this.view.setUint8(b+5,6!==e?f>>>7|128:f>>>7&127);case 5:this.view.setUint8(b+ +4,5!==e?f|128:f&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.prototype.writeVarint64ZigZag=function(a,b){return this.writeVarint64(d.zigZagEncode64(a),b)},d.prototype.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a|| +0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g= +this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=k.from28Bits(e,d,f,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var f=b,d= +t(a);b+=d+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d+1;e=0;for(d=a.length;e>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); +}var c=a,e,d=[];do{e=s(this,a);a+=e.length;if(0===e.codePoint)break;d.push(e.codePoint)}while(1);return b?(this.offset=a,String.fromCodePoint.apply(String,d)):{string:String.fromCodePoint.apply(String,d),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0> +b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=t(a);b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;d=a.length;for(f=0;f>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;for(var d=a+c,f=[];a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=t(a);b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;for(f=0;f=e&&(e=a.codePointAt(f),65535=c&&(c=a.codePointAt(e),65535>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){for(b=[];h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}a=c+a;for(b=[];c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=t(a);f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h, +b);h=a.length;for(f=0;f>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;for(var c=c.value,d=a+c,f=[];a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength); +}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset= +0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=q,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a, +b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit: +e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer"); +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0; +var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this; Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"=== typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit; diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index f1f493fcc97dac03d107011adff7d1a523149b60..e8a3224805b2c1acb2493c75d26f3fae76ce3e3e 100644 GIT binary patch literal 7568 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 yldRbaax>XoM9VoQr55of!R5g> zIlw8DPg4no*sDpx#d1!bBz~Lb8Ph7liazW1K+6wefatvJzCsHV3TEPsT6iq>PvWc9 zID)CqGC-q(3-3K}74YHF$g`1dSKFKTK~Rb1)`Vo-Jul5HNsfHk-!B{jf{I@vTKZ-* zUyJ%Uj|)E$>VNu;dv$ijTVq$Y4Ql0fr7(faV1UN6cVSpE9KhSy6>nJduh=|@;|;K* z*Q__9TMUYNwKgi81pZYeuBy0RCI6+iHfnH6`;Fu-O97bC7clSDy31W;8)r(Z!RVUM zIhv14hgV5VujFV>beq#YtH)yQtqbqZPO9?)n-A4QBdFBgTO&}9Z(1*+XLZ(Ado?F_ zJ2j`=&&{p>8g@5Rb9`3LJHXukYz=1I1W&h|YB6T?lSIi&p%6pz39j56<L&?@cdZojh^Mr&d9!&tMPz~PW342+G*N#uwg19ARw~_5Rkq$|1dqNo!rj_eHGKG zg{dHBwG<{7Rfh883b&q}%qAzR;#0u+S~*%=h`#AFtu<6bWNIBR3lY?sK@EJoUNx0_-TWeSQ&?@lKJRJZ6lWfdgVQ60^Ha?W ze2yc@DZ&*|HpQtHcBrg3#Cp0g#$%@dldbu=>$;#%GC{&8MXPmxAu}XI+u#G+lX_O|QIhsz#r=y>(`POW^iQ1?$2#FjST+p+Q$BaV2ueG9$`gsW*_kTO*%Z zKYpwwB3}YUv)~FQ4-1h;!{i#0Jmc|4!_29e)T7oLX_5kzo>pBrK05J}+4<4g zG1SH5tP_&tJZsru)(HhY&AR3&>$DDjmbLtp>VnIjlHe#SZ_GGTA|M7 zH49!Z-Ny0bCr?kl`^WdE|NOtRAD%t`@n0`qp1*qi@BjStGx9LhJDvHzUj&z7boFMw zh?j5Qz5nn>%W8MJhrOfzBjce9ta2}nMxzW*Y=rKe#4pAWDcgF9z{+fSo5}ZVPtCx* zaNz+Ocywu7{XTzf;sQQ0mpDaaE-NUjk@aMmGh$*l%}RtAOf?r<;uWVt-#otOSEWZ{K>haF*>)8C|Cu4*bd*JX%_}gYoNxz=YwFp`hnyy3YeF;uQ1L%9aIiXc{_WLo~kz(rO8-L2GpnaP;lyu2B!^#{fI@m#Jr8wu3Q5A2vk%t|sfg>HKs9Fra zHtCUo6vPf15YF_tgB}yT$4ftP4;`iiQF!VbA4wpYS1b__!c+r7>{8$e-a#unftF4K zFIB0oD9i#@ZNw&Z=`klNv84)12BP)ttLwt6C3>A|=%GeQdp;df!}*rK9@i)nKGz@Zwme20UXdxelqN z>qot-i4!@9mwp^5TWhPVU&)782E>eRqum~#NM>b@K}#<1Af?+a_TQuLR%S~D4|#cJ zUo1$t?JkULFt(Lgi5q-8MXk-o>3Fy+w->Edb_I9&c7cZd9%&DFlJAdie#Q zzAg597?*UwMd;8K!?aR2bw(yP z>n-+Q7VE_!vF4nk%>_rBU&7H0n-%u1X|Q&hJS{_u)mH32(~@x7)VHG0;smPOZe$5P zA_6nQ#S%kHR9ABv?Xt%_Ss(U#1-$&&{8*#P>Nv|u4w?g_Rq5TT_ucYd;6|Z^akQ|a z@O}R?{7>K(TYI1(2^1MSMlxaKZrv?T1O2EB>~pNPF{Lbw1nn|Au-JfN^Q{|Gi%qA# zXFI%j2k6S|gYS(#J2$u2BhQsxVl2mngIhX2r68Ea6AUT}vDcV7Dl8+Oxq{iG@-ym{ z%6u0(z8*Qbdy*)9E@3D?ct!Q0;E;dsHlTMOp1>f8Vdub~4N7A> zFFBmTf~ag=*08nJY9i7l8YVAZsLr|d5G!VibUaOYKL+^y&!cr$j?08FXL=I5l+R4B z?h=8?c(OWazaJq=URyGRMTdyAI*Qs8<7-dR5vjekpQsYo2VPHFw`+yxNEBvQbvjdC zr}M3fInA*|#0-8G>s2&eK_G4`ziVj(A_On%|P;660p(g$moJUlLT ziA7c$oH6Y8){th=((jAcVU)8_+*;bv7v=Fb@bAcBdHJO2UdMOqe%qyPY6-^@V( literal 7539 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 JJJtN7006G)ydwYr diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 1e53255..28de19e 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":88, -"mappings":"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", +"mappings":"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", "sources":["dist\\ByteBufferAB.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","utf8_decode_char","bb","start","a","b","c","d","getUint8","codePoint","utf8_calc_char","utf8_calc_string","str","cp","n","i","length","charCodeAt","codePointAt","utf8_encode_char","setUint8","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","prototype","clone","call","byteOffset","byteLength","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","Error","from28Bits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","capacity12","readCString","ByteBuffer.prototype.readCString","out","push","String","fromCodePoint","apply","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","console","log","bind","toString","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","Array","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","B64","ByteBuffer.prototype.toBase64","b1","b2","b3","h2","h3","o1","o2","o3","o4","charAt","ByteBuffer.fromBase64","suffix","b4","j","indexOf","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","fromCharCode","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","ch","rs","ho","hm","hl","fail","parseInt","isNaN","ByteBuffer.prototype.toHex","join","ByteBuffer.fromHex","substring","isFinite","codeUnits","highSurrogate","lowSurrogate","index","arguments","result","Number","floor","MAX_SIZE","stringFromCharCode","defineProperty","object","$defineProperty","Object","error","Math","position","string","first","second","ByteBuffer.prototype.toUTF8","ByteBuffer.fromUTF8","module","require","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","utf8_decode_char","bb","start","a","b","c","d","getUint8","codePoint","utf8_calc_char","utf8_calc_string","str","cp","n","i","length","charCodeAt","codePointAt","utf8_encode_char","setUint8","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","prototype","clone","call","byteOffset","byteLength","Object","toString","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","Error","from28Bits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","capacity12","readCString","ByteBuffer.prototype.readCString","out","push","String","fromCodePoint","apply","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","console","log","bind","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","Array","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","B64","ByteBuffer.prototype.toBase64","b1","b2","b3","h2","h3","o1","o2","o3","o4","charAt","ByteBuffer.fromBase64","suffix","b4","j","indexOf","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","fromCharCode","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","ch","rs","ho","hm","hl","fail","parseInt","isNaN","ByteBuffer.prototype.toHex","join","ByteBuffer.fromHex","substring","isFinite","codeUnits","highSurrogate","lowSurrogate","index","arguments","result","Number","floor","MAX_SIZE","stringFromCharCode","defineProperty","object","$defineProperty","error","Math","position","string","first","second","ByteBuffer.prototype.toUTF8","ByteBuffer.fromUTF8","module","require","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 3742a43..6db0e69 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -33,6 +33,7 @@ module.exports = (function() { * Constructs a new ByteBuffer. * @class The swiss army knife for binary data in JavaScript. * @exports ByteBuffer + * @constructor * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. @@ -109,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.0.0-RC2"; + ByteBuffer.VERSION = "3.0.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -305,8 +306,11 @@ module.exports = (function() { } } buffer = b; - } else if (!(buffer instanceof Buffer)) - throw(new TypeError("Illegal buffer")); + } else if (!(buffer instanceof Buffer)) { // Create from octets if it is an error, otherwise fail + if (Object.prototype.toString.call(buffer) !== "[object Array]") + throw(new TypeError("Illegal buffer")); + buffer = new Buffer(buffer); + } bb = new ByteBuffer(0, littleEndian, noAssert); if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER bb.buffer = buffer; @@ -3109,8 +3113,14 @@ module.exports = (function() { /** * node-memcpy. This is an optional binding dependency and may not be present. - * @type {?function(!(Buffer|ArrayBuffer|Uint8Array), number|!(Buffer|ArrayBuffer), (!(Buffer|ArrayBuffer|Uint8Array)|number)=, number=, number=):number} - * @see https://npmjs.org/package/memcpy + * @function + * @param {!(Buffer|ArrayBuffer|Uint8Array)} target Destination + * @param {number|!(Buffer|ArrayBuffer)} targetStart Destination start, defaults to 0. + * @param {(!(Buffer|ArrayBuffer|Uint8Array)|number)=} source Source + * @param {number=} sourceStart Source start, defaults to 0. + * @param {number=} sourceEnd Source end, defaults to capacity. + * @returns {number} Number of bytes copied + * @throws {Error} If any index is out of bounds * @expose */ ByteBuffer.memcpy = memcpy; diff --git a/docs/ByteBuffer.html b/docs/ByteBuffer.html new file mode 100644 index 0000000..cfe2267 --- /dev/null +++ b/docs/ByteBuffer.html @@ -0,0 +1,16925 @@ + + + + + Class: ByteBuffer + + + + + + + + + + +
+ +

Class: ByteBuffer

+ + + + + +
+ +
+

+ ByteBuffer +

+ +

The swiss army knife for binary data in JavaScript.

+ +
+ +
+
+ + + + +
+

new ByteBuffer(capacity, littleEndian, noAssert)

+ + +
+
+ + +
+

Constructs a new ByteBuffer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
capacity + + +number + + + + + + <optional>
+ + + +

Initial capacity. Defaults to ByteBuffer.DEFAULT_CAPACITY.

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order. Defaults to + ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + +
+ + + + + + + + + + + + +

Members

+ +
+ +
+

<static, constant> BIG_ENDIAN :boolean

+ + +
+
+ +
+

Big endian constant that can be used instead of its boolean value. Evaluates to false.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static> DEFAULT_CAPACITY :number

+ + +
+
+ +
+

Default initial capacity of 16.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static> DEFAULT_ENDIAN :boolean

+ + +
+
+ +
+

Default endianess of false for big endian.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static> DEFAULT_NOASSERT :boolean

+ + +
+
+ +
+

Default no assertions flag of false.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static, constant> LITTLE_ENDIAN :boolean

+ + +
+
+ +
+

Little endian constant that can be used instead of its boolean value. Evaluates to true.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static, constant> Long :Long

+ + +
+
+ +
+

A Long class for representing a 64-bit two's-complement integer value. May be null if Long.js has not been loaded + and int64 support is not available.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+
    +
  • https://github.com/dcodeIO/Long.js
  • +
+
+ + + +
+ + + +
+ + + +
+

<static, constant> MAX_VARINT32_BYTES :number

+ + +
+
+ +
+

Maximum number of bytes required to store a 32bit base 128 variable-length integer.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static, constant> MAX_VARINT64_BYTES :number

+ + +
+
+ +
+

Maximum number of bytes required to store a 64bit base 128 variable-length integer.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static, constant> METRICS_BYTES :number

+ + +
+
+ +
+

Metrics representing number of bytes. Evaluates to 2.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static, constant> METRICS_CHARS :number

+ + +
+
+ +
+

Metrics representing number of UTF8 characters. Evaluates to 1.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

<static, constant> VERSION :string

+ + +
+
+ +
+

ByteBuffer version.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

buffer :ArrayBuffer

+ + +
+
+ +
+

Backing buffer.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

limit :number

+ + +
+
+ +
+

Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
+ + + +
+

littleEndian :boolean

+ + +
+
+ +
+

Whether to use little endian byte order, defaults to false for big endian.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

markedOffset :number

+ + +
+
+ +
+

Marked offset.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
+ + + +
+

noAssert :boolean

+ + +
+
+ +
+

Whether to skip assertions of offsets and values, defaults to false.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

offset :number

+ + +
+
+ +
+

Absolute read/write offset.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
+ + + +
+

readInt

+ + +
+
+ +
+

Reads a 32bit signed integer. This is an alias of ByteBuffer#readInt32.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

readLong

+ + +
+
+ +
+

Reads a 64bit signed integer. This is an alias of ByteBuffer#readInt64.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

view :DataView

+ + +
+
+ +
+

Data view to manipulate the backing buffer. Becomes null if the backing buffer has a capacity of 0.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

writeInt

+ + +
+
+ +
+

Writes a 32bit signed integer. This is an alias of ByteBuffer#writeInt32.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+

writeLong

+ + +
+
+ +
+

Writes a 64bit signed integer. This is an alias of ByteBuffer#writeInt64.

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + + +

Methods

+ +
+ +
+

<static> allocate(capacity, littleEndian, noAssert) → {ByteBuffer}

+ + +
+
+ + +
+

Allocates a new ByteBuffer backed by a buffer of the specified capacity.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
capacity + + +number + + + + + + <optional>
+ + + +

Initial capacity. Defaults to ByteBuffer.DEFAULT_CAPACITY.

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order. Defaults to + ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

<static> atob(b64) → {string}

+ + +
+
+ + +
+

Decodes a base64 encoded string to binary like window.atob does.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
b64 + + +string + + + +

Base64 encoded string

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+
    +
  • https://developer.mozilla.org/en-US/docs/Web/API/Window.atob
  • +
+
+ + + +
+ + + + + + + +
Returns:
+ + +
+

Binary string

+
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + +
+ + + +
+

<static> btoa(str) → {string}

+ + +
+
+ + +
+

Encodes a binary string to base64 like window.btoa does.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
str + + +string + + + +

Binary string

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+
    +
  • https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa
  • +
+
+ + + +
+ + + + + + + +
Returns:
+ + +
+

Base64 encoded string

+
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + +
+ + + +
+

<static> calculateUTF8Bytes(str) → {number}

+ + +
+
+ + +
+

Calculates the number of UTF8 bytes of a string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
str + + +string + + + +

String to calculate

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Number of UTF8 bytes

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

<static> calculateUTF8Chars(str) → {number}

+ + +
+
+ + +
+

Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's + length property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
str + + +string + + + +

String to calculate

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Number of UTF8 characters

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

<static> calculateVarint32(value) → {number}

+ + +
+
+ + +
+

Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
value + + +number + + + +

Value to encode

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Number of bytes required. Capped to ByteBuffer.MAX_VARINT32_BYTES

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

<static> calculateVarint64(value) → {number}

+ + +
+
+ + +
+

Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
value + + +number +| + +!Long + + + +

Value to encode

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Number of bytes required. Capped to ByteBuffer.MAX_VARINT64_BYTES

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

<static> concat(buffers, encoding, littleEndian, noAssert) → {ByteBuffer}

+ + +
+
+ + +
+

Concatenates multiple ByteBuffers into one.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
buffers + + +Array.<!ByteBuffer +| + +!ArrayBuffer +| + +!Uint8Array +| + +string> + + + + + + + +

Buffers to concatenate

encoding + + +string +| + +boolean + + + + + + <optional>
+ + + +

String encoding if buffers contains a string ("base64", "hex", "binary", + defaults to "utf8")

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults + to ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Concatenated ByteBuffer

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

<static> fromBase64(str, littleEndian, noAssert) → {ByteBuffer}

+ + +
+
+ + +
+

Decodes a base64 encoded string to a ByteBuffer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to decode

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order. Defaults to + ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

ByteBuffer

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

<static> fromBinary(str, littleEndian, noAssert) → {ByteBuffer}

+ + +
+
+ + +
+

Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to decode

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order. Defaults to + ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

ByteBuffer

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

<static> fromDebug(str, littleEndian, noAssert) → {ByteBuffer}

+ + +
+
+ + +
+

Decodes a hex encoded string with marked offsets to a ByteBuffer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

Debug string to decode (not be generated with columns = true)

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order. Defaults to + ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
Returns:
+ + +
+

ByteBuffer

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

<static> fromHex(str, littleEndian, noAssert) → {ByteBuffer}

+ + +
+
+ + +
+

Decodes a hex encoded string to a ByteBuffer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to decode

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order. Defaults to + ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

ByteBuffer

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

<static> fromUTF8(str, littleEndian, noAssert) → {ByteBuffer}

+ + +
+
+ + +
+

Decodes an UTF8 encoded string to a ByteBuffer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to decode

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order. Defaults to + ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

ByteBuffer

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

<static> isByteBuffer(bb) → {boolean}

+ + +
+
+ + +
+

Tests if the specified type is a ByteBuffer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
bb + + +* + + + +

ByteBuffer to test

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

true if it is a ByteBuffer, otherwise false

+
+ + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + +
+ + + +
+

<static> type() → {Function}

+ + +
+
+ + +
+

Gets the backing buffer type.

+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Buffer for NB builds, ArrayBuffer for AB builds (classes)

+
+ + + +
+
+ Type +
+
+ +Function + + +
+
+ + + + +
+ + + +
+

<static> wrap(buffer, encoding, littleEndian, noAssert) → {ByteBuffer}

+ + +
+
+ + +
+

Wraps a buffer or a string. Sets the allocated ByteBuffer's ByteBuffer#offset to 0 and its + ByteBuffer#limit to the length of the wrapped data.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
buffer + + +ByteBuffer +| + +!ArrayBuffer +| + +!Uint8Array +| + +string + + + + + + + +

Anything that can be wrapped

encoding + + +string +| + +boolean + + + + + + <optional>
+ + + +

String encoding if buffer is a string ("base64", "hex", "binary", defaults to + "utf8")

littleEndian + + +boolean + + + + + + <optional>
+ + + +

Whether to use little or big endian byte order. Defaults to + ByteBuffer.DEFAULT_ENDIAN.

noAssert + + +boolean + + + + + + <optional>
+ + + +

Whether to skip assertions of offsets and values. Defaults to + ByteBuffer.DEFAULT_NOASSERT.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

A ByteBuffer wrapping buffer

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

<static> zigZagDecode32(n) → {number}

+ + +
+
+ + +
+

Decodes a zigzag encoded signed 32bit integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
n + + +number + + + +

Unsigned zigzag encoded 32bit integer

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Signed 32bit integer

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

<static> zigZagDecode64(value) → {Long}

+ + +
+
+ + +
+

Decodes a zigzag encoded signed 64bit integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
value + + +Long +| + +number + + + +

Unsigned zigzag encoded long or JavaScript number

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Signed long

+
+ + + +
+
+ Type +
+
+ +Long + + +
+
+ + + + +
+ + + +
+

<static> zigZagEncode32(n) → {number}

+ + +
+
+ + +
+

Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
n + + +number + + + +

Signed 32bit integer

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Unsigned zigzag encoded 32bit integer

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

<static> zigZagEncode64(value) → {Long}

+ + +
+
+ + +
+

Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
value + + +number +| + +!Long + + + +

Signed long

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Unsigned zigzag encoded long

+
+ + + +
+
+ Type +
+
+ +Long + + +
+
+ + + + +
+ + + +
+

append(source, encoding, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended + data's length.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
source + + +ByteBuffer +| + +!ArrayBuffer +| + +!Uint8Array +| + +string + + + + + + + +

Data to append. If source is a ByteBuffer, its offsets + will be modified according to the performed read operation.

encoding + + +string +| + +number + + + + + + <optional>
+ + + +

Encoding if data is a string ("base64", "hex", "binary", defaults to "utf8")

offset + + +number + + + + + + <optional>
+ + + +

Offset to append at. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
Examples
+ +
 A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|`
+ +
 An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|`
+ + +
+ + + +
+

appendTo(target, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents behind the specified + offset up to the length of this ByteBuffer's data.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
target + + +ByteBuffer + + + + + + + +

Target ByteBuffer

offset + + +number + + + + + + <optional>
+ + + +

Offset to append to. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

assert(assert) → {ByteBuffer}

+ + +
+
+ + +
+

Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to + disable them if your code already makes sure that everything is valid.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
assert + + +boolean + + + +

true to enable assertions, otherwise false

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

BE(bigEndian) → {ByteBuffer}

+ + +
+
+ + +
+

Switches (to) big endian byte order.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
bigEndian + + +boolean + + + + + + <optional>
+ + + +

Defaults to true, otherwise uses little endian

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

capacity() → {number}

+ + +
+
+ + +
+

Gets the capacity of this ByteBuffer's backing buffer.

+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Capacity of the backing buffer

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

clear() → {ByteBuffer}

+ + +
+
+ + +
+

Clears this ByteBuffer's offsets by setting ByteBuffer#offset to 0 and ByteBuffer#limit to the + backing buffer's capacity. Discards ByteBuffer#markedOffset.

+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

clone(copy) → {ByteBuffer}

+ + +
+
+ + +
+

Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for ByteBuffer#offset, + ByteBuffer#markedOffset and ByteBuffer#limit.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
copy + + +boolean + + + + + + <optional>
+ + + +

Whether to copy the backing buffer or to return another view on the same, defaults to false

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Cloned instance

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

compact(begin, end) → {ByteBuffer}

+ + +
+
+ + +
+

Compacts this ByteBuffer to be backed by a ByteBuffer#buffer of its contents' length. Contents are the bytes + between ByteBuffer#offset and ByteBuffer#limit. Will set offset = 0 and limit = capacity and + adapt ByteBuffer#markedOffset to the same relative position if set.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
begin + + +number + + + + + + <optional>
+ + + +

Offset to start at, defaults to ByteBuffer#offset

end + + +number + + + + + + <optional>
+ + + +

Offset to end at, defaults to ByteBuffer#limit

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

copy(begin, end) → {ByteBuffer}

+ + +
+
+ + +
+

Creates a copy of this ByteBuffer's contents. Contents are the bytes between ByteBuffer#offset and + ByteBuffer#limit.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
begin + + +number + + + + + + <optional>
+ + + +

Begin offset, defaults to ByteBuffer#offset.

end + + +number + + + + + + <optional>
+ + + +

End offset, defaults to ByteBuffer#limit.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Copy

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

copyTo(target, targetOffset, sourceOffset, sourceLimit) → {ByteBuffer}

+ + +
+
+ + +
+

Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between ByteBuffer#offset and + ByteBuffer#limit.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
target + + +ByteBuffer + + + + + + + +

Target ByteBuffer

targetOffset + + +number + + + + + + <optional>
+ + + +

Offset to copy to. Will use and increase the target's ByteBuffer#offset + by the number of bytes copied if omitted.

sourceOffset + + +number + + + + + + <optional>
+ + + +

Offset to start copying from. Will use and increase ByteBuffer#offset by the + number of bytes copied if omitted.

sourceLimit + + +number + + + + + + <optional>
+ + + +

Offset to end copying from, defaults to ByteBuffer#limit

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

ensureCapacity(capacity) → {ByteBuffer}

+ + +
+
+ + +
+

Makes sure that this ByteBuffer is backed by a ByteBuffer#buffer of at least the specified capacity. If the + current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, + the required capacity will be used instead.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
capacity + + +number + + + +

Required capacity

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

fill(value, begin, end) → {ByteBuffer}

+ + +
+
+ + +
+

Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between + ByteBuffer#offset and ByteBuffer#limit.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number +| + +string + + + + + + + +

Byte value to fill with. If given as a string, the first character is used.

begin + + +number + + + + + + <optional>
+ + + +

Begin offset. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted. defaults to ByteBuffer#offset.

end + + +number + + + + + + <optional>
+ + + +

End offset, defaults to ByteBuffer#limit.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
Example
+ +
 `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes
+ + +
+ + + +
+

flip() → {ByteBuffer}

+ + +
+
+ + +
+

Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets limit = offset and + offset = 0. Make sure always to flip a ByteBuffer when all relative read or write operations are complete.

+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

LE(littleEndian) → {ByteBuffer}

+ + +
+
+ + +
+

Switches (to) little endian byte order.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
littleEndian + + +boolean + + + + + + <optional>
+ + + +

Defaults to true, otherwise uses big endian

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

mark(offset) → {ByteBuffer}

+ + +
+
+ + +
+

Marks an offset on this ByteBuffer to be used later.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to mark. Defaults to ByteBuffer#offset.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + +
Throws:
+
    +
  • +
    + If `offset` is not a valid number +
    + + + +
    +
    + Type +
    +
    + +TypeError + + +
    +
    +
  • + +
  • +
    + If `offset` is out of bounds +
    + + + +
    +
    + Type +
    +
    + +RangeError + + +
    +
    +
  • +
+ + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

order(littleEndian) → {ByteBuffer}

+ + +
+
+ + +
+

Sets the byte order.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
littleEndian + + +boolean + + + +

true for little endian byte order, false for big endian

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

prepend(source, encoding, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the + prepended data's length. If there is not enough space available before the specified offset, the backing buffer + will be resized and its contents moved accordingly.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
source + + +ByteBuffer +| + +string +| + +!ArrayBuffer + + + + + + + +

Data to prepend. If source is a ByteBuffer, its offset will be + modified according to the performed read operation.

encoding + + +string +| + +number + + + + + + <optional>
+ + + +

Encoding if data is a string ("base64", "hex", "binary", defaults to "utf8")

offset + + +number + + + + + + <optional>
+ + + +

Offset to prepend at. Will use and decrease ByteBuffer#offset by the number of bytes + prepended if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
Examples
+ +
 A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|`
+ +
 An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|`
+ + +
+ + + +
+

prependTo(target, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the + prepended data's length. If there is not enough space available before the specified offset, the backing buffer + will be resized and its contents moved accordingly.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
target + + +ByteBuffer + + + + + + + +

Target ByteBuffer

offset + + +number + + + + + + <optional>
+ + + +

Offset to prepend at. Will use and decrease ByteBuffer#offset by the number of bytes + prepended if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

printDebug(out)

+ + +
+
+ + +
+

Prints debug information about this ByteBuffer's contents.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
out + + +function(string) + + + + + + <optional>
+ + + +

Output function to call, defaults to console.log

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + +
+

readByte(offset) → {number}

+ + +
+
+ + +
+

Reads an 8bit signed integer. This is an alias of ByteBuffer#readInt8.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Value read

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readCString(offset) → {string|!{string: string, length: number}}

+ + +
+
+ + +
+

Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters + itself.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

The string read if offset is omitted, else the string + read and the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +string +| + +!{string: string, length: number} + + +
+
+ + + + +
+ + + +
+

readDouble(offset) → {number}

+ + +
+
+ + +
+

Reads a 64bit float. This is an alias of ByteBuffer#readFloat64.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readFloat(offset) → {number}

+ + +
+
+ + +
+

Reads a 32bit float. This is an alias of ByteBuffer#readFloat32.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readFloat32(offset) → {number}

+ + +
+
+ + +
+

Reads a 32bit float.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readFloat64(offset) → {number}

+ + +
+
+ + +
+

Reads a 64bit float.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readInt8(offset) → {number}

+ + +
+
+ + +
+

Reads an 8bit signed integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Value read

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readInt16(offset) → {number}

+ + +
+
+ + +
+

Reads a 16bit signed integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+
    +
  • +
    + If `offset` is not a valid number +
    + + + +
    +
    + Type +
    +
    + +TypeError + + +
    +
    +
  • + +
  • +
    + If `offset` is out of bounds +
    + + + +
    +
    + Type +
    +
    + +RangeError + + +
    +
    +
  • +
+ + +
Returns:
+ + +
+

Value read

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readInt32(offset) → {number}

+ + +
+
+ + +
+

Reads a 32bit signed integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Value read

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readInt64(offset) → {Long}

+ + +
+
+ + +
+

Reads a 64bit signed integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Long + + +
+
+ + + + +
+ + + +
+

readIString(offset) → {string|!{string: string, length: number}}

+ + +
+
+ + +
+

Reads a length as uint32 prefixed UTF8 encoded string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
Returns:
+ + +
+

The string read if offset is omitted, else the string + read and the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +string +| + +!{string: string, length: number} + + +
+
+ + + + +
+ + + +
+

readShort(offset) → {number}

+ + +
+
+ + +
+

Reads a 16bit signed integer. This is an alias of ByteBuffer#readInt16.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+
    +
  • +
    + If `offset` is not a valid number +
    + + + +
    +
    + Type +
    +
    + +TypeError + + +
    +
    +
  • + +
  • +
    + If `offset` is out of bounds +
    + + + +
    +
    + Type +
    +
    + +RangeError + + +
    +
    +
  • +
+ + +
Returns:
+ + +
+

Value read

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readString(length, metrics, offset) → {string|!{string: string, length: number}}

+ + +
+
+ + +
+

Reads an UTF8 encoded string. This is an alias of ByteBuffer#readUTF8String.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
length + + +number + + + + + + + +

Number of characters or bytes to read

metrics + + +number + + + + + + <optional>
+ + + +

Metrics specifying what n is meant to count. Defaults to + ByteBuffer.METRICS_CHARS.

offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

The string read if offset is omitted, else the string + read and the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +string +| + +!{string: string, length: number} + + +
+
+ + + + +
+ + + +
+

readUint8(offset) → {number}

+ + +
+
+ + +
+

Reads an 8bit unsigned integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Value read

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readUint16(offset) → {number}

+ + +
+
+ + +
+

Reads a 16bit unsigned integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+
    +
  • +
    + If `offset` is not a valid number +
    + + + +
    +
    + Type +
    +
    + +TypeError + + +
    +
    +
  • + +
  • +
    + If `offset` is out of bounds +
    + + + +
    +
    + Type +
    +
    + +RangeError + + +
    +
    +
  • +
+ + +
Returns:
+ + +
+

Value read

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readUint32(offset) → {number}

+ + +
+
+ + +
+

Reads a 32bit unsigned integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Value read

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

readUint64(offset) → {Long}

+ + +
+
+ + +
+

Reads a 64bit unsigned integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Long + + +
+
+ + + + +
+ + + +
+

readUTF8String(length, metrics, offset) → {string|!{string: string, length: number}}

+ + +
+
+ + +
+

Reads an UTF8 encoded string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
length + + +number + + + + + + + +

Number of characters or bytes to read

metrics + + +number + + + + + + <optional>
+ + + +

Metrics specifying what n is meant to count. Defaults to + ByteBuffer.METRICS_CHARS.

offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

The string read if offset is omitted, else the string + read and the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +string +| + +!{string: string, length: number} + + +
+
+ + + + +
+ + + +
+

readVarint32(offset) → {number|!{value: number, length: number}}

+ + +
+
+ + +
+

Reads a 32bit base 128 variable-length integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+ + +
+ If it's not a valid varint +
+ + + +
+
+ Type +
+
+ +Error + + +
+
+ + + + +
Returns:
+ + +
+

The value read if offset is omitted, else the value read + and the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +number +| + +!{value: number, length: number} + + +
+
+ + + + +
+ + + +
+

readVarint32ZigZag(offset) → {number|!{value: number, length: number}}

+ + +
+
+ + +
+

Reads a zig-zag encoded 32bit base 128 variable-length integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+ + +
+ If it's not a valid varint +
+ + + +
+
+ Type +
+
+ +Error + + +
+
+ + + + +
Returns:
+ + +
+

The value read if offset is omitted, else the value read + and the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +number +| + +!{value: number, length: number} + + +
+
+ + + + +
+ + + +
+

readVarint64(offset) → {Long|!{value: Long, length: number}}

+ + +
+
+ + +
+

Reads a 64bit base 128 variable-length integer. Requires Long.js.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+ + +
+ If it's not a valid varint +
+ + + +
+
+ Type +
+
+ +Error + + +
+
+ + + + +
Returns:
+ + +
+

The value read if offset is omitted, else the value read and + the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +Long +| + +!{value: Long, length: number} + + +
+
+ + + + +
+ + + +
+

readVarint64ZigZag(offset) → {Long|!{value: Long, length: number}}

+ + +
+
+ + +
+

Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+ + +
+ If it's not a valid varint +
+ + + +
+
+ Type +
+
+ +Error + + +
+
+ + + + +
Returns:
+ + +
+

The value read if offset is omitted, else the value read and + the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +Long +| + +!{value: Long, length: number} + + +
+
+ + + + +
+ + + +
+

readVString(offset) → {string|!{string: string, length: number}}

+ + +
+
+ + +
+

Reads a length as varint32 prefixed UTF8 encoded string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
offset + + +number + + + + + + <optional>
+ + + +

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes + read if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
Returns:
+ + +
+

The string read if offset is omitted, else the string + read and the actual number of bytes read.

+
+ + + +
+
+ Type +
+
+ +string +| + +!{string: string, length: number} + + +
+
+ + + + +
+ + + +
+

remaining() → {number}

+ + +
+
+ + +
+

Gets the number of remaining readable bytes. Contents are the bytes between ByteBuffer#offset and + ByteBuffer#limit, so this returns limit - offset.

+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Remaining readable bytes. May be negative if offset > limit.

+
+ + + +
+
+ Type +
+
+ +number + + +
+
+ + + + +
+ + + +
+

reset() → {ByteBuffer}

+ + +
+
+ + +
+

Resets this ByteBuffer's ByteBuffer#offset. If an offset has been marked through ByteBuffer#mark + before, offset will be set to ByteBuffer#markedOffset, which will then be discarded. If no offset has been + marked, sets offset = 0.

+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

resize(capacity) → {ByteBuffer}

+ + +
+
+ + +
+

Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that + large or larger.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
capacity + + +number + + + +

Capacity required

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+
    +
  • +
    + If `capacity` is not a number +
    + + + +
    +
    + Type +
    +
    + +TypeError + + +
    +
    +
  • + +
  • +
    + If `capacity < 0` +
    + + + +
    +
    + Type +
    +
    + +RangeError + + +
    +
    +
  • +
+ + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

reverse(begin, end) → {ByteBuffer}

+ + +
+
+ + +
+

Reverses this ByteBuffer's contents.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
begin + + +number + + + + + + <optional>
+ + + +

Offset to start at, defaults to ByteBuffer#offset

end + + +number + + + + + + <optional>
+ + + +

Offset to end at, defaults to ByteBuffer#limit

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

skip(length) → {ByteBuffer}

+ + +
+
+ + +
+

Skips the next length bytes. This will just advance

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
length + + +number + + + +

Number of bytes to skip. May also be negative to move the offset back.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

slice(begin, end) → {ByteBuffer}

+ + +
+
+ + +
+

Slices this ByteBuffer by creating a cloned instance with offset = begin and limit = end.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
begin + + +number + + + + + + <optional>
+ + + +

Begin offset, defaults to ByteBuffer#offset.

end + + +number + + + + + + <optional>
+ + + +

End offset, defaults to ByteBuffer#limit.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Clone of this ByteBuffer with slicing applied, backed by the same ByteBuffer#buffer

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

toArrayBuffer(forceCopy) → {ArrayBuffer}

+ + +
+
+ + +
+

Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between + ByteBuffer#offset and ByteBuffer#limit. Will transparently ByteBuffer#flip this + ByteBuffer if offset > limit but the actual offsets remain untouched. This is an alias of + ByteBuffer#toBuffer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
forceCopy + + +boolean + + + + + + <optional>
+ + + +

If true returns a copy, otherwise returns a view referencing the same memory. + Defaults to false

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Contents as an ArrayBuffer

+
+ + + +
+
+ Type +
+
+ +ArrayBuffer + + +
+
+ + + + +
+ + + +
+

toBase64(begin, end) → {string}

+ + +
+
+ + +
+

Encodes this ByteBuffer's contents to a base64 encoded string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
begin + + +number + + + + + + <optional>
+ + + +

Offset to begin at, defaults to ByteBuffer#offset.

end + + +number + + + + + + <optional>
+ + + +

Offset to end at, defaults to ByteBuffer#limit.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Base64 encoded string

+
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + +
+ + + +
+

toBinary(begin, end) → {string}

+ + +
+
+ + +
+

Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
begin + + +number + + + + + + <optional>
+ + + +

Offset to begin at. Defaults to ByteBuffer#offset.

end + + +number + + + + + + <optional>
+ + + +

Offset to end at. Defaults to ByteBuffer#limit.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+ + +
+ If `offset > limit` +
+ + + +
+
+ Type +
+
+ +RangeError + + +
+
+ + + + +
Returns:
+ + +
+

Binary encoded string

+
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + +
+ + + +
+

toBuffer(forceCopy) → {ArrayBuffer}

+ + +
+
+ + +
+

Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between + ByteBuffer#offset and ByteBuffer#limit. Will transparently ByteBuffer#flip this + ByteBuffer if offset > limit but the actual offsets remain untouched.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
forceCopy + + +boolean + + + + + + <optional>
+ + + +

If true returns a copy, otherwise returns a view referencing the same memory if + possible. Defaults to false

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Contents as an ArrayBuffer

+
+ + + +
+
+ Type +
+
+ +ArrayBuffer + + +
+
+ + + + +
+ + + +
+

toDebug(columns) → {string|!Array.<string>}

+ + +
+
+ + +
+

Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: + < : offset, + ' : markedOffset, + > : limit, + | : offset and limit, + [ : offset and markedOffset, + ] : markedOffset and limit, +* ! : offset, markedOffset and limit

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
columns + + +boolean + + + + + + <optional>
+ + + +

If true returns two columns hex + ascii, defaults to false

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Debug string or array of lines if asArray = true

+
+ + + +
+
+ Type +
+
+ +string +| + +!Array.<string> + + +
+
+ + + + +
Examples
+ +
 `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3`
+ +
 `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4`
+ +
 `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1`
+ +
 `|` contains zero bytes with `offset=limit=0, markedOffset=-1`
+ + +
+ + + +
+

toHex(begin, end) → {string}

+ + +
+
+ + +
+

Encodes this ByteBuffer's contents to a hex encoded string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
begin + + +number + + + + + + <optional>
+ + + +

Offset to begin at. Defaults to ByteBuffer#offset.

end + + +number + + + + + + <optional>
+ + + +

Offset to end at. Defaults to ByteBuffer#limit.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

Hex encoded string

+
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + +
+ + + +
+

toString(encoding) → {string}

+ + +
+
+ + +
+

Converts the ByteBuffer's contents to a string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
encoding + + +string + + + + + + <optional>
+ + + +

Output encoding. Returns an informative string representation if omitted but also allows + direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with + highlighted offsets.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+ + +
+ If `encoding` is invalid +
+ + + +
+
+ Type +
+
+ +Error + + +
+
+ + + + +
Returns:
+ + +
+

String representation

+
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + +
+ + + +
+

toUTF8() → {string}

+ + +
+
+ + +
+

Encodes this ByteBuffer's contents between ByteBuffer#offset and ByteBuffer#limit to an UTF8 encoded + string.

+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+ + +
+ If `offset > limit` +
+ + + +
+
+ Type +
+
+ +RangeError + + +
+
+ + + + +
Returns:
+ + +
+

Hex encoded string

+
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + +
+ + + +
+

writeByte(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes an 8bit signed integer. This is an alias of ByteBuffer#writeInt8.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeCString(str, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL + characters itself.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes + contained in str + 1 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ + + +
+

writeDouble(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes a 64bit float. This is an alias of ByteBuffer#writeFloat64.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeFloat(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes a 32bit float. This is an alias of ByteBuffer#writeFloat32.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeFloat32(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes a 32bit float.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeFloat64(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes a 64bit float.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeInt8(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes an 8bit signed integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeInt16(value, offset)

+ + +
+
+ + +
+

Writes a 16bit signed integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+
    +
  • +
    + If `offset` or `value` is not a valid number +
    + + + +
    +
    + Type +
    +
    + +TypeError + + +
    +
    +
  • + +
  • +
    + If `offset` is out of bounds +
    + + + +
    +
    + Type +
    +
    + +RangeError + + +
    +
    +
  • +
+ + + + +
+ + + +
+

writeInt32(value, offset)

+ + +
+
+ + +
+

Writes a 32bit signed integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + +
+

writeInt64(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes a 64bit signed integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number +| + +!Long + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeIString(str, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes a length as uint32 prefixed UTF8 encoded string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ + + +
+

writeShort(value, offset)

+ + +
+
+ + +
+

Writes a 16bit signed integer. This is an alias of ByteBuffer#writeInt16.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+
    +
  • +
    + If `offset` or `value` is not a valid number +
    + + + +
    +
    + Type +
    +
    + +TypeError + + +
    +
    +
  • + +
  • +
    + If `offset` is out of bounds +
    + + + +
    +
    + Type +
    +
    + +RangeError + + +
    +
    +
  • +
+ + + + +
+ + + +
+

writeString(str, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes an UTF8 encoded string. This is an alias of ByteBuffer#writeUTF8String.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written.

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ + + +
+

writeUint8(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes an 8bit unsigned integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeUint16(value, offset)

+ + +
+
+ + +
+

Writes a 16bit unsigned integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Throws:
+
    +
  • +
    + If `offset` or `value` is not a valid number +
    + + + +
    +
    + Type +
    +
    + +TypeError + + +
    +
    +
  • + +
  • +
    + If `offset` is out of bounds +
    + + + +
    +
    + Type +
    +
    + +RangeError + + +
    +
    +
  • +
+ + + + +
+ + + +
+

writeUint32(value, offset)

+ + +
+
+ + +
+

Writes a 32bit unsigned integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + +
+

writeUint64(value, offset) → {ByteBuffer}

+ + +
+
+ + +
+

Writes a 64bit unsigned integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number +| + +!Long + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this

+
+ + + +
+
+ Type +
+
+ +ByteBuffer + + +
+
+ + + + +
+ + + +
+

writeUTF8String(str, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes an UTF8 encoded string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written.

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ + + +
+

writeVarint32(value, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes a 32bit base 128 variable-length integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ + + +
+

writeVarint32ZigZag(value, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes a zig-zag encoded 32bit base 128 variable-length integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ + + +
+

writeVarint64(value, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes a 64bit base 128 variable-length integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number +| + +Long + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written.

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ + + +
+

writeVarint64ZigZag(value, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes a zig-zag encoded 64bit base 128 variable-length integer.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
value + + +number +| + +Long + + + + + + + +

Value to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written.

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ + + +
+

writeVString(str, offset) → {ByteBuffer|number}

+ + +
+
+ + +
+

Writes a length as varint32 prefixed UTF8 encoded string.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
str + + +string + + + + + + + +

String to write

offset + + +number + + + + + + <optional>
+ + + +

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes + written if omitted.

+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
Returns:
+ + +
+

this if offset is omitted, else the actual number of bytes written

+
+ + + +
+
+ Type +
+
+ +ByteBuffer +| + +number + + +
+
+ + + + +
+ +
+ + + + + +
+ +
+ + + + +
+ + + +
+ + + + diff --git a/docs/index.html b/docs/index.html index 0751f84..d25fb36 100644 --- a/docs/index.html +++ b/docs/index.html @@ -49,7 +49,7 @@

diff --git a/package.json b/package.json index 21ef0fb..bf14254 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.0.0-RC2", + "version": "3.0.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "ByteBuffer.js", diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index 76cf13b..ad261cb 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -3,6 +3,7 @@ * Constructs a new ByteBuffer. * @class The swiss army knife for binary data in JavaScript. * @exports ByteBuffer + * @constructor * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. @@ -178,7 +179,7 @@ ByteBuffer.Long = Long || null; //? } //? if (FLOATS) { -//? include("types/floats/*.js"); +//? include("types/floats/float*.js"); //? } //? if (VARINTS) { diff --git a/src/ByteBufferNB.js b/src/ByteBufferNB.js index de903c6..9565f88 100644 --- a/src/ByteBufferNB.js +++ b/src/ByteBufferNB.js @@ -36,8 +36,14 @@ module.exports = (function() { /** * node-memcpy. This is an optional binding dependency and may not be present. - * @type {?function(!(Buffer|ArrayBuffer|Uint8Array), number|!(Buffer|ArrayBuffer), (!(Buffer|ArrayBuffer|Uint8Array)|number)=, number=, number=):number} - * @see https://npmjs.org/package/memcpy + * @function + * @param {!(Buffer|ArrayBuffer|Uint8Array)} target Destination + * @param {number|!(Buffer|ArrayBuffer)} targetStart Destination start, defaults to 0. + * @param {(!(Buffer|ArrayBuffer|Uint8Array)|number)=} source Source + * @param {number=} sourceStart Source start, defaults to 0. + * @param {number=} sourceEnd Source end, defaults to capacity. + * @returns {number} Number of bytes copied + * @throws {Error} If any index is out of bounds * @expose */ ByteBuffer.memcpy = memcpy; diff --git a/src/methods/static/wrap.js b/src/methods/static/wrap.js index e945ab9..87b0c53 100644 --- a/src/methods/static/wrap.js +++ b/src/methods/static/wrap.js @@ -76,8 +76,11 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { } } buffer = b; - } else if (!(buffer instanceof Buffer)) - throw(new TypeError("Illegal buffer")); + } else if (!(buffer instanceof Buffer)) { // Create from octets if it is an error, otherwise fail + if (Object.prototype.toString.call(buffer) !== "[object Array]") + throw(new TypeError("Illegal buffer")); + buffer = new Buffer(buffer); + } bb = new ByteBuffer(0, littleEndian, noAssert); if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER bb.buffer = buffer; @@ -102,7 +105,13 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { bb.limit = buffer.byteLength; bb.view = buffer.byteLength > 0 ? new DataView(buffer) : null; } - } else throw(new TypeError("Illegal buffer")); + } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets + bb = new ByteBuffer(buffer.length, littleEndian, noAssert); + bb.limit = buffer.length; + for (i=0; i> 1, + nBits = -7, + i = isLE ? (nBytes - 1) : 0, + d = isLE ? -1 : 1, + s = buffer[offset + i]; + + i += d; + + e = s & ((1 << (-nBits)) - 1); + s >>= (-nBits); + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8); + + m = e & ((1 << (-nBits)) - 1); + e >>= (-nBits); + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8); + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity); + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +}; + +// ref: https://github.com/feross/ieee754 +function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0), + i = isLE ? 0 : (nBytes - 1), + d = isLE ? 1 : -1, + s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8); + + e = (e << mLen) | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8); + + buffer[offset + i - d] |= s * 128; +}; \ No newline at end of file diff --git a/tests/suite.js b/tests/suite.js index cc334f4..d44c2a6 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -18,8 +18,9 @@ * ByteBuffer.js Test Suite. * @author Daniel Wirtz */ // -var ByteBuffer = require("../index.js"); -ByteBuffer.ByteBufferAB = require("../dist/ByteBufferAB.min.js"); // Test minified version +var ByteBuffer = require("../dist/ByteBufferNB.js"); +ByteBuffer.ByteBufferNB = ByteBuffer; +ByteBuffer.ByteBufferAB = require("../dist/ByteBufferAB.min.js"); /** * Constructs a new Sandbox for module loaders and shim testing. @@ -156,6 +157,14 @@ function makeSuite(ByteBuffer) { test.done(); }; + + suite.wrap.Array = function(test) { + var arr = [1,255,-1]; + var bb = ByteBuffer.wrap(arr); + test.strictEqual(bb.capacity(), 3); + test.strictEqual(bb.toDebug(), "<01 FF FF>"); + test.done(); + }; suite.wrap.ByteBuffer = function(test) { var bb2 = ByteBuffer.wrap("\x12\x34\x56\x78", "binary"); @@ -948,7 +957,7 @@ function makeSuite(ByteBuffer) { vm = require("vm"), util = require('util'); - var code = fs.readFileSync(__dirname+"/../dist/ByteBufferAB.js"); + var code = fs.readFileSync(__dirname+"/../dist/ByteBufferAB.min.js"); var sandbox = new Sandbox({ require: function() {}, define: (function() { @@ -973,7 +982,7 @@ function makeSuite(ByteBuffer) { vm = require("vm"), util = require('util'); - var code = fs.readFileSync(__dirname+"/../dist/ByteBufferAB.js"); + var code = fs.readFileSync(__dirname+"/../dist/ByteBufferAB.min.js"); var sandbox = new Sandbox({ dcodeIO: { Long: ByteBuffer.Long