@boatkit-io/restream 0.7.3 → 0.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/utils/BinaryReader.js +28 -3
- package/dist/cjs/utils/BinaryReader.js.map +1 -1
- package/dist/esm/utils/BinaryReader.d.ts +2 -0
- package/dist/esm/utils/BinaryReader.d.ts.map +1 -1
- package/dist/esm/utils/BinaryReader.js +28 -3
- package/dist/esm/utils/BinaryReader.js.map +1 -1
- package/package.json +1 -1
|
@@ -30,19 +30,44 @@ class BinaryReader {
|
|
|
30
30
|
this._offset += length;
|
|
31
31
|
return new Uint8Array(ret);
|
|
32
32
|
}
|
|
33
|
+
readByteView(length) {
|
|
34
|
+
if (this._offset + length > this._length) {
|
|
35
|
+
throw new Error('Overflowing BinaryReader buffer');
|
|
36
|
+
}
|
|
37
|
+
const ret = this._uint8Buffer.subarray(this._offset, this._offset + length);
|
|
38
|
+
this._offset += length;
|
|
39
|
+
return ret;
|
|
40
|
+
}
|
|
33
41
|
readString(numChars) {
|
|
34
42
|
if (this._offset + numChars > this._length) {
|
|
35
43
|
throw new Error('Overflowing BinaryReader buffer');
|
|
36
44
|
}
|
|
37
|
-
const ret = decoderUTF8.decode(this.
|
|
45
|
+
const ret = decoderUTF8.decode(this._uint8Buffer.subarray(this._offset, this._offset + numChars));
|
|
38
46
|
this._offset += numChars;
|
|
39
47
|
return ret;
|
|
40
48
|
}
|
|
49
|
+
readASCIIString(numChars) {
|
|
50
|
+
if (this._offset + numChars > this._length) {
|
|
51
|
+
throw new Error('Overflowing BinaryReader buffer');
|
|
52
|
+
}
|
|
53
|
+
let ret;
|
|
54
|
+
if (numChars < 16) {
|
|
55
|
+
ret = '';
|
|
56
|
+
for (let i = 0; i < numChars; i++) {
|
|
57
|
+
ret += String.fromCharCode(this._uint8Buffer[this._offset++]);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
ret = decoderUTF8.decode(this._uint8Buffer.subarray(this._offset, this._offset + numChars));
|
|
62
|
+
this._offset += numChars;
|
|
63
|
+
}
|
|
64
|
+
return ret;
|
|
65
|
+
}
|
|
41
66
|
readWideStringToTerminator(terminator) {
|
|
42
67
|
for (let i = this._offset; i < this._length; i += 2) {
|
|
43
68
|
const char = this._uint8Buffer[i] | (this._uint8Buffer[i + 1] << 8);
|
|
44
69
|
if (char === terminator) {
|
|
45
|
-
const ret = decoderUTF16.decode(this.
|
|
70
|
+
const ret = decoderUTF16.decode(this._uint8Buffer.subarray(this._offset, i));
|
|
46
71
|
// account for (skipping) the terminator as well as the slice we just pulled directly off above
|
|
47
72
|
const byteCount = (i + 2) - this._offset;
|
|
48
73
|
this._offset += byteCount;
|
|
@@ -54,7 +79,7 @@ class BinaryReader {
|
|
|
54
79
|
readStringToTerminator(terminator) {
|
|
55
80
|
for (let i = this._offset; i < this._length; i++) {
|
|
56
81
|
if (this._uint8Buffer[i] === terminator) {
|
|
57
|
-
const ret = decoderUTF8.decode(this.
|
|
82
|
+
const ret = decoderUTF8.decode(this._uint8Buffer.subarray(this._offset, i));
|
|
58
83
|
// account for (skipping) the terminator as well as the slice we just pulled directly off above
|
|
59
84
|
const byteCount = (i + 1) - this._offset;
|
|
60
85
|
this._offset += byteCount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryReader.js","sourceRoot":"","sources":["../../../src/utils/BinaryReader.ts"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEpC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAC5C,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;AAEjD,MAAqB,YAAY;IAGT;IACR;IACA;IAJJ,WAAW,CAAY;IACvB,YAAY,CAAa;IACjC,YAAoB,OAAwB,EAChC,UAAU,CAAC,EACX,UAAU,OAAO,CAAC,UAAU;QAFpB,YAAO,GAAP,OAAO,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAI;QACX,YAAO,GAAP,OAAO,CAAqB;QACpC,4FAA4F;QAC5F,4CAA4C;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,WAAW,EAAE,CAAC;YAC1C,8DAA8D;YAC9D,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,MAAM,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;QACvB,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BinaryReader.js","sourceRoot":"","sources":["../../../src/utils/BinaryReader.ts"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEpC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAC5C,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;AAEjD,MAAqB,YAAY;IAGT;IACR;IACA;IAJJ,WAAW,CAAY;IACvB,YAAY,CAAa;IACjC,YAAoB,OAAwB,EAChC,UAAU,CAAC,EACX,UAAU,OAAO,CAAC,UAAU;QAFpB,YAAO,GAAP,OAAO,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAI;QACX,YAAO,GAAP,OAAO,CAAqB;QACpC,4FAA4F;QAC5F,4CAA4C;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,WAAW,EAAE,CAAC;YAC1C,8DAA8D;YAC9D,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,MAAM,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;QACvB,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,MAAc;QACvB,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;QACvB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;QACzB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,eAAe,CAAC,QAAgB;QAC5B,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,GAAW,CAAC;QAChB,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YAChB,GAAG,GAAG,EAAE,CAAC;YACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAE,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;QAC7B,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,0BAA0B,CAAC,UAAkB;QACzC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC;YACtE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7E,+FAA+F;gBAC/F,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;gBACzC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;gBAC1B,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,UAAkB;QACrC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5E,+FAA+F;gBAC/F,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;gBACzC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;gBAC1B,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAC9B,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAE,GAAG,SAAS,CAAC;YAC5D,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,IAAI,CAAC,CAAC;YACvE,CAAC;YACD,CAAC,IAAI,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC;IAC5C,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAE,CAAC;IAC9C,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAE,CAAC;IAC7C,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC;YACtF,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC;YACpG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtH,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC,CAAC,CAAE,CAAC;IAClB,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC,CAAC,CAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,KAAa;QACf,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACtB,OAAO,EAAE,CAAA;IACb,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC;IACzC,CAAC;CACJ;AAhND,+BAgNC"}
|
|
@@ -6,7 +6,9 @@ export default class BinaryReader {
|
|
|
6
6
|
private _uint8Buffer;
|
|
7
7
|
constructor(_buffer: ArrayBufferLike, _offset?: number, _length?: number);
|
|
8
8
|
readBytes(length: number): Uint8Array;
|
|
9
|
+
readByteView(length: number): Uint8Array;
|
|
9
10
|
readString(numChars: number): string;
|
|
11
|
+
readASCIIString(numChars: number): string;
|
|
10
12
|
readWideStringToTerminator(terminator: number): [string, number];
|
|
11
13
|
readStringToTerminator(terminator: number): [string, number];
|
|
12
14
|
readNumericString(numChars: number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryReader.d.ts","sourceRoot":"","sources":["../../../src/utils/BinaryReader.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,YAAY;IAGjB,OAAO,CAAC,OAAO;IACvB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,YAAY,CAAa;gBACb,OAAO,EAAE,eAAe,EAChC,OAAO,SAAI,EACX,OAAO,SAAqB;IAWxC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASrC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUpC,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAchE,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAa5D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAiB3C,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IASnB,UAAU,IAAI,MAAM;IASpB,SAAS,IAAI,MAAM;IAUnB,UAAU,IAAI,MAAM;IAUpB,WAAW,IAAI,MAAM;IASrB,WAAW,IAAI,MAAM;IASrB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IASlC,SAAS,CAAC,KAAK,EAAE,MAAM;IAOvB,KAAK,IAAI,OAAO;CAGnB"}
|
|
1
|
+
{"version":3,"file":"BinaryReader.d.ts","sourceRoot":"","sources":["../../../src/utils/BinaryReader.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,YAAY;IAGjB,OAAO,CAAC,OAAO;IACvB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,YAAY,CAAa;gBACb,OAAO,EAAE,eAAe,EAChC,OAAO,SAAI,EACX,OAAO,SAAqB;IAWxC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASrC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASxC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUpC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAkBzC,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAchE,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAa5D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAiB3C,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IASnB,UAAU,IAAI,MAAM;IASpB,SAAS,IAAI,MAAM;IAUnB,UAAU,IAAI,MAAM;IAUpB,WAAW,IAAI,MAAM;IASrB,WAAW,IAAI,MAAM;IASrB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IASlC,SAAS,CAAC,KAAK,EAAE,MAAM;IAOvB,KAAK,IAAI,OAAO;CAGnB"}
|
|
@@ -28,19 +28,44 @@ export default class BinaryReader {
|
|
|
28
28
|
this._offset += length;
|
|
29
29
|
return new Uint8Array(ret);
|
|
30
30
|
}
|
|
31
|
+
readByteView(length) {
|
|
32
|
+
if (this._offset + length > this._length) {
|
|
33
|
+
throw new Error('Overflowing BinaryReader buffer');
|
|
34
|
+
}
|
|
35
|
+
const ret = this._uint8Buffer.subarray(this._offset, this._offset + length);
|
|
36
|
+
this._offset += length;
|
|
37
|
+
return ret;
|
|
38
|
+
}
|
|
31
39
|
readString(numChars) {
|
|
32
40
|
if (this._offset + numChars > this._length) {
|
|
33
41
|
throw new Error('Overflowing BinaryReader buffer');
|
|
34
42
|
}
|
|
35
|
-
const ret = decoderUTF8.decode(this.
|
|
43
|
+
const ret = decoderUTF8.decode(this._uint8Buffer.subarray(this._offset, this._offset + numChars));
|
|
36
44
|
this._offset += numChars;
|
|
37
45
|
return ret;
|
|
38
46
|
}
|
|
47
|
+
readASCIIString(numChars) {
|
|
48
|
+
if (this._offset + numChars > this._length) {
|
|
49
|
+
throw new Error('Overflowing BinaryReader buffer');
|
|
50
|
+
}
|
|
51
|
+
let ret;
|
|
52
|
+
if (numChars < 16) {
|
|
53
|
+
ret = '';
|
|
54
|
+
for (let i = 0; i < numChars; i++) {
|
|
55
|
+
ret += String.fromCharCode(this._uint8Buffer[this._offset++]);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
ret = decoderUTF8.decode(this._uint8Buffer.subarray(this._offset, this._offset + numChars));
|
|
60
|
+
this._offset += numChars;
|
|
61
|
+
}
|
|
62
|
+
return ret;
|
|
63
|
+
}
|
|
39
64
|
readWideStringToTerminator(terminator) {
|
|
40
65
|
for (let i = this._offset; i < this._length; i += 2) {
|
|
41
66
|
const char = this._uint8Buffer[i] | (this._uint8Buffer[i + 1] << 8);
|
|
42
67
|
if (char === terminator) {
|
|
43
|
-
const ret = decoderUTF16.decode(this.
|
|
68
|
+
const ret = decoderUTF16.decode(this._uint8Buffer.subarray(this._offset, i));
|
|
44
69
|
// account for (skipping) the terminator as well as the slice we just pulled directly off above
|
|
45
70
|
const byteCount = (i + 2) - this._offset;
|
|
46
71
|
this._offset += byteCount;
|
|
@@ -52,7 +77,7 @@ export default class BinaryReader {
|
|
|
52
77
|
readStringToTerminator(terminator) {
|
|
53
78
|
for (let i = this._offset; i < this._length; i++) {
|
|
54
79
|
if (this._uint8Buffer[i] === terminator) {
|
|
55
|
-
const ret = decoderUTF8.decode(this.
|
|
80
|
+
const ret = decoderUTF8.decode(this._uint8Buffer.subarray(this._offset, i));
|
|
56
81
|
// account for (skipping) the terminator as well as the slice we just pulled directly off above
|
|
57
82
|
const byteCount = (i + 1) - this._offset;
|
|
58
83
|
this._offset += byteCount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryReader.js","sourceRoot":"","sources":["../../../src/utils/BinaryReader.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEpC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AAC5C,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,YAAY;IAGT;IACR;IACA;IAJJ,WAAW,CAAY;IACvB,YAAY,CAAa;IACjC,YAAoB,OAAwB,EAChC,UAAU,CAAC,EACX,UAAU,OAAO,CAAC,UAAU;QAFpB,YAAO,GAAP,OAAO,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAI;QACX,YAAO,GAAP,OAAO,CAAqB;QACpC,4FAA4F;QAC5F,4CAA4C;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,WAAW,EAAE,CAAC;YAC1C,8DAA8D;YAC9D,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,MAAM,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;QACvB,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BinaryReader.js","sourceRoot":"","sources":["../../../src/utils/BinaryReader.ts"],"names":[],"mappings":"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"}
|