UNPKG

steam-condenser

Version:
108 lines 3.71 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var bignum_1 = __importDefault(require("bignum")); /** * High level class for data packets with helper-functions. * See https://developer.valvesoftware.com/wiki/Server_Queries#Data_Types */ var Packet = /** @class */ (function () { function Packet(data) { this.bufferPointer = 0; this.buffer = data; } Packet.prototype.readByte = function () { var res = this.buffer.readInt8(this.bufferPointer); this.bufferPointer += 1; return res; }; Packet.prototype.readShort = function () { var res = this.buffer.readInt16LE(this.bufferPointer); this.bufferPointer += 2; return res; }; Packet.prototype.readLong = function () { var res = this.buffer.readInt32LE(this.bufferPointer); this.bufferPointer += 4; return res; }; Packet.prototype.readFloat = function () { var res = this.buffer.readFloatLE(this.bufferPointer); this.bufferPointer += 4; return res; }; Packet.prototype.readLongLong = function () { var a = this.buffer.readInt32LE(this.bufferPointer); this.bufferPointer += 4; var b = this.buffer.readInt32LE(this.bufferPointer); this.bufferPointer += 4; return bignum_1.default.add(a, bignum_1.default.mul(bignum_1.default.pow(2, 16), b)).toString(); }; Packet.prototype.readString = function () { var txt = ''; while (this.buffer.readInt8(this.bufferPointer) !== 0x00) { txt += String.fromCharCode(this.buffer.readInt8(this.bufferPointer)); this.bufferPointer += 1; } this.bufferPointer += 1; return txt; }; Packet.prototype.rest = function () { return this.buffer.slice(this.bufferPointer); }; Packet.prototype.writeByte = function (value) { this.buffer.writeInt8(value, this.bufferPointer); this.bufferPointer += 1; return this; }; Packet.prototype.writeShort = function (value) { this.buffer.writeInt16LE(value, this.bufferPointer); this.bufferPointer += 2; return this; }; Packet.prototype.writeLong = function (value) { this.buffer.writeInt32LE(value, this.bufferPointer); this.bufferPointer += 4; return this; }; Packet.prototype.writeFloat = function (value) { this.buffer.writeInt32LE(value, this.bufferPointer); this.bufferPointer += 4; return this; }; Packet.prototype.writeLongLong = function (value) { this.buffer.write(value, this.bufferPointer, 8); this.bufferPointer += 8; return this; }; /** * Write string to buffer. * @argument value Text to write, must include null(s) * @return packet */ Packet.prototype.writeString = function (value) { var input = value; if (typeof input !== 'string') { input = input.toString(); } if (typeof input === 'string') { this.buffer.write(input, this.bufferPointer); this.bufferPointer += input.length; } return this; }; Packet.prototype.resetPointer = function () { this.bufferPointer = 0; }; Packet.prototype.toString = function () { return this.buffer.toString(); }; Packet.prototype.toBuffer = function () { return Buffer.from(this.buffer); }; return Packet; }()); exports.default = Packet; //# sourceMappingURL=Packet.js.map