12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Reader = void 0;
- const decodeUtf8_1 = require("./utf8/decodeUtf8");
- class Reader {
- constructor() {
- this.uint8 = new Uint8Array([]);
- this.view = new DataView(this.uint8.buffer);
- this.x = 0;
- }
- reset(uint8) {
- this.x = 0;
- this.uint8 = uint8;
- this.view = new DataView(uint8.buffer, uint8.byteOffset, uint8.length);
- }
- peak() {
- return this.view.getUint8(this.x);
- }
- skip(length) {
- this.x += length;
- }
- buf(size) {
- const end = this.x + size;
- const bin = this.uint8.subarray(this.x, end);
- this.x = end;
- return bin;
- }
- u8() {
- return this.uint8[this.x++];
- }
- i8() {
- return this.view.getInt8(this.x++);
- }
- u16() {
- let x = this.x;
- const num = (this.uint8[x++] << 8) + this.uint8[x++];
- this.x = x;
- return num;
- }
- i16() {
- const num = this.view.getInt16(this.x);
- this.x += 2;
- return num;
- }
- u32() {
- const num = this.view.getUint32(this.x);
- this.x += 4;
- return num;
- }
- i32() {
- const num = this.view.getInt32(this.x);
- this.x += 4;
- return num;
- }
- u64() {
- const num = this.view.getBigUint64(this.x);
- this.x += 8;
- return num;
- }
- i64() {
- const num = this.view.getBigInt64(this.x);
- this.x += 8;
- return num;
- }
- f32() {
- const pos = this.x;
- this.x += 4;
- return this.view.getFloat32(pos);
- }
- f64() {
- const pos = this.x;
- this.x += 8;
- return this.view.getFloat64(pos);
- }
- utf8(size) {
- const start = this.x;
- this.x += size;
- return (0, decodeUtf8_1.decodeUtf8)(this.uint8, start, size);
- }
- ascii(length) {
- const uint8 = this.uint8;
- let str = '';
- const end = this.x + length;
- for (let i = this.x; i < end; i++)
- str += String.fromCharCode(uint8[i]);
- this.x = end;
- return str;
- }
- }
- exports.Reader = Reader;
- //# sourceMappingURL=Reader.js.map
|