diff --git a/lib/message/index.js b/lib/message/index.js index 3f73533..9fc18e3 100644 --- a/lib/message/index.js +++ b/lib/message/index.js @@ -6,7 +6,7 @@ var debug = require('debug')('nslsk:message') , zlib = require('zlib') , Buffers = require('buffers') - , bigint = require('bigint'); + , bignum = require('bignum'); /** * Expose `Message`. @@ -42,16 +42,16 @@ function Message(buffers) { if (!(this instanceof Message)) { return new Message(buffers); } - + this.name = 'unknown'; this._cursor = 0; - + if (buffers instanceof Buffers) { this._buffers = buffers; } else { this._buffers = new Buffers(); } - + if ('[object Number]' === Object.prototype.toString.call(buffers)) { this.uint32(buffers); // code } @@ -65,10 +65,10 @@ function Message(buffers) { Message.prototype.uint32 = function(val) { if (val) { var buf = new Buffer(4); - + buf.writeUInt32LE(val, 0); this._buffers.push(buf); - + return this; } var ret = this._buffers.slice(this._cursor, this._cursor + 4).readUInt32LE(0); @@ -99,10 +99,10 @@ Message.prototype.uchar = function(val) { Message.prototype.string = function(val) { if (val) { var buf = new Buffer(val, 'utf8'); - + this.uint32(buf.length); this._buffers.push(buf); - + return this; } var len = this.uint32(); @@ -119,10 +119,10 @@ Message.prototype.string = function(val) { Message.prototype.int32 = function(val) { if (val) { var buf = new Buffer(4); - + buf.writeInt32LE(val, 0); this._buffers.push(buf); - + return this; } var ret = this._buffers.slice(this._cursor, this._cursor + 4).readInt32LE(0); @@ -132,7 +132,7 @@ Message.prototype.int32 = function(val) { /** * @param {Number} val [optional] - * @return {Message|BigInt} + * @return {Message|bignum} */ Message.prototype.int64 = function(val) { @@ -141,7 +141,7 @@ Message.prototype.int64 = function(val) { } var buf = this._buffers.slice(this._cursor, this._cursor + 8); this._cursor += 8; - return bigint.fromBuffer(buf, { endinan: 'little' }); + return bignum.fromBuffer(buf, { endinan: 'little' }); }; /** @@ -163,7 +163,7 @@ Message.prototype.bool = function(val) { Message.prototype.ip = function() { var ip = this.uint32() , buf = new Buffer(4); - + buf.writeUInt32BE(ip, 0); return [buf[0], buf[1], buf[2], buf[3]].join('.'); }; @@ -187,7 +187,7 @@ Message.prototype.push = function(buffer) { Message.prototype.decompress = function(callback) { var buf = this._buffers.splice(4).toBuffer(); - + zlib.unzip(buf, function(err, buf) { if (err) { return callback.call(this, err, buf); @@ -195,7 +195,7 @@ Message.prototype.decompress = function(callback) { this._buffers.push(buf); callback.call(this, err, this); }.bind(this)); - + return this; }; @@ -210,9 +210,9 @@ Message.prototype.decompress = function(callback) { Message.prototype.decode = function(type, callback) { this._cursor = 0; var code = this.uint32(); - + debug('%s:%s', type, code/*, this._buffers */); - + switch (type) { case 'server': var message = Message.SERVER[code]; @@ -226,13 +226,13 @@ Message.prototype.decode = function(type, callback) { default: throw new TypeError('Unknown message type [' + type + ']'); } - + if (!message) { throw new Error('Unknown ' + type + ' message code [' + code + ']'); } - + this.name = message.name; - + switch (message.decode.length) { case 2: message.decode.call(this, this, callback); @@ -244,7 +244,7 @@ Message.prototype.decode = function(type, callback) { default: throw new Error('invalid parameters'); } - + return this; }; @@ -254,10 +254,10 @@ Message.prototype.decode = function(type, callback) { Message.prototype.end = function(callback) { var buf = new Buffer(4); - + buf.writeUInt32LE(this._buffers.length, 0); this._buffers.unshift(buf); this._cursor += 4; - + return callback.call(this, this._buffers); -}; \ No newline at end of file +}; diff --git a/package.json b/package.json index 77ac29f..d883fa2 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "dependencies": { "buffers": "~0.1.1", "debug": "~0.7.0", - "bigint": "~0.3.9", + "bignum": "~0.11.0", "commander": "~1.1.1" }, "devDependencies": {