1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.BufferReader = void 0;
- const emptyBuffer = Buffer.allocUnsafe(0);
- class BufferReader {
- constructor(offset = 0) {
- this.offset = offset;
- this.buffer = emptyBuffer;
- // TODO(bmc): support non-utf8 encoding?
- this.encoding = 'utf-8';
- }
- setBuffer(offset, buffer) {
- this.offset = offset;
- this.buffer = buffer;
- }
- int16() {
- const result = this.buffer.readInt16BE(this.offset);
- this.offset += 2;
- return result;
- }
- byte() {
- const result = this.buffer[this.offset];
- this.offset++;
- return result;
- }
- int32() {
- const result = this.buffer.readInt32BE(this.offset);
- this.offset += 4;
- return result;
- }
- string(length) {
- const result = this.buffer.toString(this.encoding, this.offset, this.offset + length);
- this.offset += length;
- return result;
- }
- cstring() {
- const start = this.offset;
- let end = start;
- while (this.buffer[end++] !== 0) { }
- this.offset = end;
- return this.buffer.toString(this.encoding, start, end - 1);
- }
- bytes(length) {
- const result = this.buffer.slice(this.offset, this.offset + length);
- this.offset += length;
- return result;
- }
- }
- exports.BufferReader = BufferReader;
- //# sourceMappingURL=buffer-reader.js.map
|