@vaitosoi/minejs 0.4.3 → 0.5.1

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.
Files changed (133) hide show
  1. package/README.md +12 -4
  2. package/assets/minecraft/26.2/effects.json +42 -0
  3. package/assets/minecraft/26.2/packets.json +1 -1
  4. package/dist/base/bitset.d.ts +43 -4
  5. package/dist/base/bitset.d.ts.map +1 -1
  6. package/dist/base/bitset.js +251 -30
  7. package/dist/base/bitset.js.map +1 -1
  8. package/dist/base/buffer.d.ts +1 -0
  9. package/dist/base/buffer.d.ts.map +1 -1
  10. package/dist/base/buffer.js +1 -0
  11. package/dist/base/buffer.js.map +1 -1
  12. package/dist/base/cache.d.ts +24 -0
  13. package/dist/base/cache.d.ts.map +1 -0
  14. package/dist/base/cache.js +58 -0
  15. package/dist/base/cache.js.map +1 -0
  16. package/dist/base/error.d.ts +7 -0
  17. package/dist/base/error.d.ts.map +1 -1
  18. package/dist/base/error.js +12 -1
  19. package/dist/base/error.js.map +1 -1
  20. package/dist/base/http.d.ts +1 -0
  21. package/dist/base/http.d.ts.map +1 -1
  22. package/dist/base/http.js +1 -0
  23. package/dist/base/http.js.map +1 -1
  24. package/dist/base/math.d.ts +14 -0
  25. package/dist/base/math.d.ts.map +1 -1
  26. package/dist/base/math.js +41 -0
  27. package/dist/base/math.js.map +1 -1
  28. package/dist/base/typing.d.ts +12 -0
  29. package/dist/base/typing.d.ts.map +1 -1
  30. package/dist/{packet → binary}/decoder.d.ts +4 -0
  31. package/dist/binary/decoder.d.ts.map +1 -0
  32. package/dist/{packet → binary}/decoder.js +4 -0
  33. package/dist/binary/decoder.js.map +1 -0
  34. package/dist/{packet → binary}/encoder.d.ts +6 -2
  35. package/dist/binary/encoder.d.ts.map +1 -0
  36. package/dist/{packet → binary}/encoder.js +10 -2
  37. package/dist/binary/encoder.js.map +1 -0
  38. package/dist/{packet → binary}/static.d.ts.map +1 -1
  39. package/dist/{packet → binary}/static.js.map +1 -1
  40. package/dist/client/client.d.ts +23 -2
  41. package/dist/client/client.d.ts.map +1 -1
  42. package/dist/client/client.js +32 -15
  43. package/dist/client/client.js.map +1 -1
  44. package/dist/index.d.ts +12 -4
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +12 -4
  47. package/dist/index.js.map +1 -1
  48. package/dist/message/link.d.ts +3 -0
  49. package/dist/message/link.d.ts.map +1 -1
  50. package/dist/message/link.js +3 -0
  51. package/dist/message/link.js.map +1 -1
  52. package/dist/message/sigCache.d.ts +5 -0
  53. package/dist/message/sigCache.d.ts.map +1 -1
  54. package/dist/message/sigCache.js +5 -0
  55. package/dist/message/sigCache.js.map +1 -1
  56. package/dist/{client → net}/tcp.d.ts +3 -3
  57. package/dist/net/tcp.d.ts.map +1 -0
  58. package/dist/{client → net}/tcp.js +3 -3
  59. package/dist/net/tcp.js.map +1 -0
  60. package/dist/packet/{dispatcher.d.ts → listener.d.ts} +10 -18
  61. package/dist/packet/listener.d.ts.map +1 -0
  62. package/dist/packet/{dispatcher.js → listener.js} +74 -137
  63. package/dist/packet/listener.js.map +1 -0
  64. package/dist/packet/sender.d.ts +28 -0
  65. package/dist/packet/sender.d.ts.map +1 -0
  66. package/dist/packet/sender.js +147 -0
  67. package/dist/packet/sender.js.map +1 -0
  68. package/dist/physics/aabb.d.ts +3 -0
  69. package/dist/physics/aabb.d.ts.map +1 -1
  70. package/dist/physics/aabb.js +12 -8
  71. package/dist/physics/aabb.js.map +1 -1
  72. package/dist/physics/direction.d.ts +3 -0
  73. package/dist/physics/direction.d.ts.map +1 -1
  74. package/dist/physics/direction.js +3 -0
  75. package/dist/physics/direction.js.map +1 -1
  76. package/dist/physics/player.d.ts +4 -0
  77. package/dist/physics/player.d.ts.map +1 -1
  78. package/dist/physics/player.js +24 -3
  79. package/dist/physics/player.js.map +1 -1
  80. package/dist/version/codec.d.ts +5 -1
  81. package/dist/version/codec.d.ts.map +1 -1
  82. package/dist/version/codec.js +25 -5
  83. package/dist/version/codec.js.map +1 -1
  84. package/dist/version/registry.d.ts +25 -2
  85. package/dist/version/registry.d.ts.map +1 -1
  86. package/dist/version/registry.js +43 -6
  87. package/dist/version/registry.js.map +1 -1
  88. package/dist/world/block.d.ts +5 -0
  89. package/dist/world/block.d.ts.map +1 -1
  90. package/dist/world/block.js +56 -0
  91. package/dist/world/block.js.map +1 -1
  92. package/dist/world/state.d.ts +22 -0
  93. package/dist/world/state.d.ts.map +1 -1
  94. package/dist/world/state.js +19 -0
  95. package/dist/world/state.js.map +1 -1
  96. package/package.json +8 -10
  97. package/src/base/bitset.ts +311 -31
  98. package/src/base/buffer.ts +1 -0
  99. package/src/base/cache.ts +62 -0
  100. package/src/base/error.ts +9 -0
  101. package/src/base/http.ts +1 -0
  102. package/src/base/math.ts +45 -1
  103. package/src/base/typing.ts +11 -0
  104. package/src/{packet → binary}/decoder.ts +4 -0
  105. package/src/{packet → binary}/encoder.ts +10 -2
  106. package/src/client/client.ts +54 -19
  107. package/src/index.ts +12 -4
  108. package/src/message/link.ts +3 -0
  109. package/src/message/sigCache.ts +5 -0
  110. package/src/{client → net}/tcp.ts +4 -8
  111. package/src/packet/{dispatcher.ts → listener.ts} +93 -175
  112. package/src/packet/sender.ts +179 -0
  113. package/src/physics/aabb.ts +12 -8
  114. package/src/physics/direction.ts +3 -0
  115. package/src/physics/player.ts +22 -3
  116. package/src/version/codec.ts +27 -6
  117. package/src/version/registry.ts +59 -3
  118. package/src/world/block.ts +72 -2
  119. package/src/world/state.ts +42 -2
  120. package/test/bitset/index.ts +3 -8
  121. package/test/client/index.ts +12 -2
  122. package/test/state/index.ts +7 -0
  123. package/dist/client/tcp.d.ts.map +0 -1
  124. package/dist/client/tcp.js.map +0 -1
  125. package/dist/packet/decoder.d.ts.map +0 -1
  126. package/dist/packet/decoder.js.map +0 -1
  127. package/dist/packet/dispatcher.d.ts.map +0 -1
  128. package/dist/packet/dispatcher.js.map +0 -1
  129. package/dist/packet/encoder.d.ts.map +0 -1
  130. package/dist/packet/encoder.js.map +0 -1
  131. /package/dist/{packet → binary}/static.d.ts +0 -0
  132. /package/dist/{packet → binary}/static.js +0 -0
  133. /package/src/{packet → binary}/static.ts +0 -0
package/README.md CHANGED
@@ -38,8 +38,8 @@ const client = new Client({
38
38
  // openBrowser: true,
39
39
  // port: 12345
40
40
  // },
41
- shouldVerifyMessageOrder: true,
42
- shouldVerifyMessageSignature: true
41
+ // shouldVerifyMessageOrder: true,
42
+ // shouldVerifyMessageSignature: true
43
43
  });
44
44
  client.connect();
45
45
  client.on("disconnect", (...args) => console.dir({ name: "disconnect", args }, { depth: null }));
@@ -80,7 +80,15 @@ client.on("message", (message) => {
80
80
  case "at": {
81
81
  const [, x, y, z] = args.map(val => parseInt(val)) as [any, number, number, number];
82
82
  const state = client.at(x, y, z);
83
- // console.log(state);
83
+ console.log(state);
84
+ break;
85
+ }
86
+
87
+ case "e":
88
+ case "echo":
89
+ case "say": {
90
+ const message = args.slice(1).join(" ");
91
+ client.chat(message);
84
92
  break;
85
93
  }
86
94
 
@@ -108,7 +116,7 @@ See [documentation](https://minejs.vaito.dev)
108
116
 
109
117
  + `Offline server` is a server you can join with a cracked account, meaning that you don't have to own Minecraft to join.
110
118
 
111
- + `Online server`, on the other hand, require a account that owns Minecraft.
119
+ + `Online server`, on the other hand, require an account that owns Minecraft.
112
120
 
113
121
  ### 2. Why I can't join online server yet:
114
122
 
@@ -0,0 +1,42 @@
1
+ {
2
+ "minecraft:absorption": 21,
3
+ "minecraft:bad_omen": 30,
4
+ "minecraft:blindness": 14,
5
+ "minecraft:breath_of_the_nautilus": 39,
6
+ "minecraft:conduit_power": 28,
7
+ "minecraft:darkness": 32,
8
+ "minecraft:dolphins_grace": 29,
9
+ "minecraft:fire_resistance": 11,
10
+ "minecraft:glowing": 23,
11
+ "minecraft:haste": 2,
12
+ "minecraft:health_boost": 20,
13
+ "minecraft:hero_of_the_village": 31,
14
+ "minecraft:hunger": 16,
15
+ "minecraft:infested": 38,
16
+ "minecraft:instant_damage": 6,
17
+ "minecraft:instant_health": 5,
18
+ "minecraft:invisibility": 13,
19
+ "minecraft:jump_boost": 7,
20
+ "minecraft:levitation": 24,
21
+ "minecraft:luck": 25,
22
+ "minecraft:mining_fatigue": 3,
23
+ "minecraft:nausea": 8,
24
+ "minecraft:night_vision": 15,
25
+ "minecraft:oozing": 37,
26
+ "minecraft:poison": 18,
27
+ "minecraft:raid_omen": 34,
28
+ "minecraft:regeneration": 9,
29
+ "minecraft:resistance": 10,
30
+ "minecraft:saturation": 22,
31
+ "minecraft:slow_falling": 27,
32
+ "minecraft:slowness": 1,
33
+ "minecraft:speed": 0,
34
+ "minecraft:strength": 4,
35
+ "minecraft:trial_omen": 33,
36
+ "minecraft:unluck": 26,
37
+ "minecraft:water_breathing": 12,
38
+ "minecraft:weakness": 17,
39
+ "minecraft:weaving": 36,
40
+ "minecraft:wind_charged": 35,
41
+ "minecraft:wither": 19
42
+ }
@@ -3712,7 +3712,7 @@
3712
3712
  "type": "var_int"
3713
3713
  },
3714
3714
  "acknowledged": {
3715
- "type": "not_implemented",
3715
+ "type": "fixed_bitset",
3716
3716
  "length": 20
3717
3717
  },
3718
3718
  "checksum": {
@@ -1,9 +1,48 @@
1
- import BitSet_ from "bitset";
2
1
  /**
3
- * Custom implementation of BitSet to implement missing method
2
+ * Simplified implementation of the Java's BitSet class
3
+ *
4
+ * @see https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/BitSet.java
5
+ * @hidden
4
6
  */
5
- export declare class BitSet extends BitSet_ {
6
- nextClearBit(fromIndex: number): number;
7
+ export declare class BitSet {
8
+ static readonly ADDRESS_BITS_PER_WORD = 6;
9
+ static readonly BITS_PER_WORD: number;
10
+ static readonly WORD_MASK = 18446744073709551615n;
11
+ words: BigUint64Array;
12
+ wordsInUse: number;
13
+ private static wordIndex;
14
+ private static bitIndexInWord;
15
+ /**
16
+ * Create a mask with lowest `n` bits set to 1
17
+ *
18
+ * For example:
19
+ * * n = 0 -> `0b0n`
20
+ * * n = 3 -> `0b111n`
21
+ * * n = 5 -> `0b11111n`
22
+ *
23
+ * @param nBits
24
+ * @returns
25
+ */
26
+ private static lowBits;
27
+ private initWords;
28
+ private static checkRange;
29
+ constructor(nBits?: number);
7
30
  clone(): BitSet;
31
+ private expandTo;
32
+ private ensureCapacity;
33
+ private recalculateWordsInUse;
34
+ private checkInvariants;
35
+ toByteArray(): number[];
36
+ flip(bitIndex: number): void;
37
+ set(bitIndex: number): void;
38
+ setRange(fromIndex: number, toIndex: number): void;
39
+ clear(bitIndex: number): void;
40
+ clearRange(fromIndex: number, toIndex: number): void;
41
+ get(bitIndex: number): boolean;
42
+ nextSetBit(fromIndex: number): number;
43
+ nextClearBit(fromIndex: number): number;
44
+ length(): number;
45
+ isEmpty(): boolean;
8
46
  }
47
+ export default BitSet;
9
48
  //# sourceMappingURL=bitset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitset.d.ts","sourceRoot":"","sources":["../../src/base/bitset.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,QAAQ,CAAC;AAE7B;;GAEG;AACH,qBAAa,MAAO,SAAQ,OAAO;IACxB,YAAY,CAAC,SAAS,EAAE,MAAM,UA8BpC;IAEe,KAAK,IAAI,MAAM,CAE9B;CACJ"}
1
+ {"version":3,"file":"bitset.d.ts","sourceRoot":"","sources":["../../src/base/bitset.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,qBAAa,MAAM;IACf,gBAAuB,qBAAqB,KAAK;IACjD,gBAAuB,aAAa,SAAmC;IACvE,gBAAuB,SAAS,yBAAuB;IAEhD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,MAAM,CAAK;IAE9B,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAItB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,MAAM,CAAC,UAAU;IAUzB,YAAY,KAAK,CAAC,EAAE,MAAM,EAIzB;IAEM,KAAK,WAMX;IAED,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,eAAe;IAOhB,WAAW,aAiBjB;IAEM,IAAI,CAAC,QAAQ,EAAE,MAAM,QAW3B;IAEM,GAAG,CAAC,QAAQ,EAAE,MAAM,QAU1B;IACM,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAgDjD;IAGM,KAAK,CAAC,QAAQ,EAAE,MAAM,QAY5B;IACM,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAyCnD;IAGM,GAAG,CAAC,QAAQ,EAAE,MAAM,WAW1B;IAEM,UAAU,CAAC,SAAS,EAAE,MAAM,UAmBlC;IAEM,YAAY,CAAC,SAAS,EAAE,MAAM,UAqBpC;IAEM,MAAM,WAMZ;IAEM,OAAO,YAEb;CACJ;eAEc,MAAM"}
@@ -4,43 +4,264 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BitSet = void 0;
7
- const bitset_1 = __importDefault(require("bitset"));
7
+ const node_assert_1 = __importDefault(require("node:assert"));
8
+ const error_1 = require("./error");
9
+ const math_1 = require("./math");
8
10
  /**
9
- * Custom implementation of BitSet to implement missing method
11
+ * Simplified implementation of the Java's BitSet class
12
+ *
13
+ * @see https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/BitSet.java
14
+ * @hidden
10
15
  */
11
- class BitSet extends bitset_1.default {
16
+ class BitSet {
17
+ static ADDRESS_BITS_PER_WORD = 6;
18
+ static BITS_PER_WORD = 1 << this.ADDRESS_BITS_PER_WORD;
19
+ static WORD_MASK = 0xffffffffffffffffn;
20
+ words;
21
+ wordsInUse = 0;
22
+ static wordIndex(bitIndex) {
23
+ return bitIndex >> this.ADDRESS_BITS_PER_WORD;
24
+ }
25
+ static bitIndexInWord(bitIndex) {
26
+ return bitIndex & (this.BITS_PER_WORD - 1); // should be bitIndex & 63
27
+ }
28
+ /**
29
+ * Create a mask with lowest `n` bits set to 1
30
+ *
31
+ * For example:
32
+ * * n = 0 -> `0b0n`
33
+ * * n = 3 -> `0b111n`
34
+ * * n = 5 -> `0b11111n`
35
+ *
36
+ * @param nBits
37
+ * @returns
38
+ */
39
+ static lowBits(nBits) {
40
+ return (1n << BigInt(nBits)) - 1n;
41
+ }
42
+ initWords(nBits) {
43
+ return new BigUint64Array(BitSet.wordIndex(nBits - 1) + 1);
44
+ }
45
+ static checkRange(fromIndex, toIndex) {
46
+ if (fromIndex < 0)
47
+ throw new error_1.UnexpectedValue("value of fromIndex", fromIndex.toString(), "non-negative number");
48
+ if (toIndex < 0)
49
+ throw new error_1.UnexpectedValue("value of toIndex", toIndex.toString(), "non-negative number");
50
+ if (fromIndex > toIndex)
51
+ throw new error_1.UnexpectedValue("fromIndex and toIndex", `fromIndex ${fromIndex}; toIndex ${toIndex}`, "fromIndex has to be smaller than toIndex");
52
+ }
53
+ constructor(nBits) {
54
+ if (nBits && nBits < 0)
55
+ throw new error_1.UnexpectedValue("length of bitset", nBits.toString(), "non-negative number");
56
+ this.words = this.initWords(nBits ?? BitSet.BITS_PER_WORD);
57
+ }
58
+ clone() {
59
+ const bitset = new BitSet(0);
60
+ bitset.words = structuredClone(this.words);
61
+ bitset.wordsInUse = this.wordsInUse;
62
+ bitset.checkInvariants();
63
+ return bitset;
64
+ }
65
+ expandTo(wordIndex) {
66
+ const wordsRequired = wordIndex + 1;
67
+ if (this.wordsInUse < wordsRequired) {
68
+ this.ensureCapacity(wordsRequired);
69
+ this.wordsInUse = wordsRequired;
70
+ }
71
+ }
72
+ ensureCapacity(wordsRequired) {
73
+ if (wordsRequired > this.words.length) {
74
+ // Allocate larger of doubled size or required size
75
+ const request = Math.max(2 * this.words.length, wordsRequired);
76
+ const newWords = new BigUint64Array(request);
77
+ newWords.set(this.words);
78
+ this.words = newWords;
79
+ }
80
+ }
81
+ recalculateWordsInUse() {
82
+ let i = this.wordsInUse - 1;
83
+ while (i >= 0 && this.words[i] === 0n)
84
+ i--;
85
+ this.wordsInUse = i + 1; // The new logical size
86
+ }
87
+ checkInvariants() {
88
+ (0, node_assert_1.default)(this.wordsInUse === 0 || this.words[this.wordsInUse - 1] !== 0n);
89
+ (0, node_assert_1.default)(this.wordsInUse >= 0 && this.wordsInUse <= this.words.length);
90
+ (0, node_assert_1.default)(this.wordsInUse === this.words.length || this.words[this.wordsInUse] === 0n);
91
+ }
92
+ toByteArray() {
93
+ const n = this.wordsInUse;
94
+ if (n == 0)
95
+ return [];
96
+ const bytes = [];
97
+ for (const word of this.words) {
98
+ let coppiedWord = structuredClone(word);
99
+ // Slice a 64-bit (or 8-byte word) into 8 8-bit (or 1-byte) slices
100
+ for (let i = 0; i < 8; i++) {
101
+ bytes.push(Number(coppiedWord & 0xffn));
102
+ coppiedWord >>= 8n;
103
+ }
104
+ }
105
+ while (bytes.length > 0 && bytes.at(-1) === 0)
106
+ bytes.pop();
107
+ return bytes;
108
+ }
109
+ flip(bitIndex) {
110
+ if (bitIndex < 0)
111
+ throw new error_1.UnexpectedValue("value of bitIndex", bitIndex.toString(), "non-negative number");
112
+ const wordIndex = BitSet.wordIndex(bitIndex);
113
+ this.expandTo(wordIndex);
114
+ this.words[wordIndex] ^= BigInt(BitSet.bitIndexInWord(bitIndex));
115
+ this.recalculateWordsInUse();
116
+ this.checkInvariants();
117
+ }
118
+ set(bitIndex) {
119
+ if (bitIndex < 0)
120
+ throw new error_1.UnexpectedValue("value of bitIndex", bitIndex.toString(), "non-negative number");
121
+ const wordIndex = BitSet.wordIndex(bitIndex);
122
+ this.expandTo(wordIndex);
123
+ this.words[wordIndex] |= 1n << BigInt(BitSet.bitIndexInWord(bitIndex)); // Restores invariants
124
+ this.checkInvariants();
125
+ }
126
+ setRange(fromIndex, toIndex) {
127
+ BitSet.checkRange(fromIndex, toIndex);
128
+ if (fromIndex == toIndex)
129
+ return;
130
+ // Increase capacity if necessary
131
+ const startWordIndex = BitSet.wordIndex(fromIndex);
132
+ const endWordIndex = BitSet.wordIndex(toIndex - 1);
133
+ this.expandTo(endWordIndex);
134
+ const fromBit = BitSet.bitIndexInWord(fromIndex), toBitInclusive = BitSet.bitIndexInWord(toIndex - 1) + 1,
135
+ /**
136
+ * The NOT (~) bitwise meaning:
137
+ *
138
+ * Let say we want to set 2 to 6:
139
+ * ```
140
+ * 110010100
141
+ * ^ ^
142
+ * | +-- this is the 2nd bit
143
+ * and this is the 6th bit
144
+ * ```
145
+ *
146
+ * So we call lowBits(2) and it return `...0011`
147
+ *
148
+ * Then we have to flip it to `...1100` to access the '2nd bit and the bits after it'
149
+ */
150
+ firstWordMask = ~BitSet.lowBits(fromBit), lastWordMask = BitSet.lowBits(toBitInclusive);
151
+ if (startWordIndex == endWordIndex) {
152
+ // Case 1: One word
153
+ this.words[startWordIndex] |= (firstWordMask & lastWordMask);
154
+ }
155
+ else {
156
+ // Case 2: Multiple words
157
+ // Handle first word
158
+ this.words[startWordIndex] |= firstWordMask;
159
+ // Handle intermediate words, if any
160
+ for (let i = startWordIndex + 1; i < endWordIndex; i++)
161
+ this.words[i] = BitSet.WORD_MASK;
162
+ // Handle last word (restores invariants)
163
+ this.words[endWordIndex] |= lastWordMask;
164
+ }
165
+ this.checkInvariants();
166
+ }
167
+ clear(bitIndex) {
168
+ if (bitIndex < 0)
169
+ throw new error_1.UnexpectedValue("value of bitIndex", bitIndex.toString(), "non-negative number");
170
+ const wordIndex = BitSet.wordIndex(bitIndex);
171
+ if (wordIndex >= this.wordsInUse)
172
+ return;
173
+ this.words[wordIndex] &= ~(1n << BigInt(bitIndex));
174
+ this.recalculateWordsInUse();
175
+ this.checkInvariants();
176
+ }
177
+ clearRange(fromIndex, toIndex) {
178
+ BitSet.checkRange(fromIndex, toIndex);
179
+ if (fromIndex == toIndex)
180
+ return;
181
+ const startWordIndex = BitSet.wordIndex(fromIndex);
182
+ if (startWordIndex >= this.wordsInUse)
183
+ return;
184
+ let endWordIndex = BitSet.wordIndex(toIndex - 1);
185
+ if (endWordIndex >= this.wordsInUse) {
186
+ toIndex = this.length();
187
+ endWordIndex = this.wordsInUse - 1;
188
+ }
189
+ const fromBit = BitSet.bitIndexInWord(fromIndex), toBitInclusive = BitSet.bitIndexInWord(toIndex - 1) + 1,
190
+ /**
191
+ * See the explaination in the setRange function
192
+ */
193
+ firstWordMask = ~BitSet.lowBits(fromBit), lastWordMask = BitSet.lowBits(toBitInclusive);
194
+ if (startWordIndex == endWordIndex) {
195
+ // Case 1: One word
196
+ this.words[startWordIndex] &= ~(firstWordMask & lastWordMask);
197
+ }
198
+ else {
199
+ // Case 2: Multiple words
200
+ // Handle first word
201
+ this.words[startWordIndex] &= ~firstWordMask;
202
+ // Handle intermediate words, if any
203
+ for (let i = startWordIndex + 1; i < endWordIndex; i++)
204
+ this.words[i] = 0n;
205
+ // Handle last word
206
+ this.words[endWordIndex] &= ~lastWordMask;
207
+ }
208
+ this.recalculateWordsInUse();
209
+ this.checkInvariants();
210
+ }
211
+ get(bitIndex) {
212
+ if (bitIndex < 0)
213
+ throw new error_1.UnexpectedValue("value of bitIndex", bitIndex.toString(), "non-negative number");
214
+ this.checkInvariants();
215
+ const wordIndex = BitSet.wordIndex(bitIndex);
216
+ if (wordIndex >= this.wordsInUse)
217
+ return false;
218
+ const bit = 1n << BigInt(BitSet.bitIndexInWord(bitIndex));
219
+ return (Number(this.words[wordIndex] & bit) != 0);
220
+ }
221
+ nextSetBit(fromIndex) {
222
+ if (fromIndex < 0)
223
+ throw new error_1.UnexpectedValue("value of fromIndex", fromIndex.toString(), "non-negative number");
224
+ this.checkInvariants();
225
+ let u = BitSet.wordIndex(fromIndex);
226
+ if (u >= this.wordsInUse)
227
+ return -1;
228
+ let word = this.words[u] & (~0n << BigInt(BitSet.bitIndexInWord(fromIndex)));
229
+ while (true) {
230
+ if (word != 0n)
231
+ return (u * BitSet.BITS_PER_WORD) + (0, math_1.numberOfTrailingZeros)(word);
232
+ if (++u == this.wordsInUse)
233
+ return -1;
234
+ word = this.words[u];
235
+ }
236
+ }
12
237
  nextClearBit(fromIndex) {
13
- fromIndex = fromIndex || 0;
14
- const data = this['data'];
15
- let wordIndex = fromIndex >>> 5;
16
- if (wordIndex >= data.length) {
17
- // Past the stored words — depends on the infinite tail bit
18
- return this['_'] === 0 ? fromIndex : Infinity;
19
- }
20
- // ~word marks clear bits; mask off anything before fromIndex.
21
- // JS's << only uses the low 5 bits of the shift amount, so
22
- // `-1 << fromIndex` masks correctly even when fromIndex > 31.
23
- let word = ~data[wordIndex] & (-1 << fromIndex);
238
+ // Neither spec nor implementation handle bitsets of maximal length.
239
+ // See 4816253.
240
+ if (fromIndex < 0)
241
+ throw new error_1.UnexpectedValue("value of fromIndex", fromIndex.toString(), "non-negative number");
242
+ this.checkInvariants();
243
+ let u = BitSet.wordIndex(fromIndex);
244
+ if (u >= this.wordsInUse)
245
+ return fromIndex;
246
+ let word = ~this.words[u] & (BitSet.WORD_MASK << BigInt(fromIndex));
24
247
  while (true) {
25
- if (word !== 0) {
26
- const lowestSet = word & -word; // isolate lowest set bit
27
- let c = 0;
28
- for (let v = lowestSet; (v >>>= 1); c++) {
29
- //
30
- }
31
- return wordIndex * 32 + c;
32
- }
33
- wordIndex++;
34
- if (wordIndex >= data.length) {
35
- return this['_'] === 0 ? wordIndex * 32 : Infinity;
36
- }
37
- word = ~data[wordIndex];
248
+ if (word != 0n)
249
+ return (u * BitSet.BITS_PER_WORD) + (0, math_1.numberOfTrailingZeros)(word);
250
+ if (++u == this.wordsInUse)
251
+ return this.wordsInUse * BitSet.BITS_PER_WORD;
252
+ word = ~this.words[u];
38
253
  }
39
254
  }
40
- ;
41
- clone() {
42
- return new BitSet(this.toString());
255
+ length() {
256
+ if (this.wordsInUse == 0)
257
+ return 0;
258
+ return BitSet.BITS_PER_WORD * (this.wordsInUse - 1) +
259
+ (BitSet.BITS_PER_WORD - (0, math_1.numberOfLeadingZeros)(this.words[this.wordsInUse - 1]));
260
+ }
261
+ isEmpty() {
262
+ return this.wordsInUse == 0;
43
263
  }
44
264
  }
45
265
  exports.BitSet = BitSet;
266
+ exports.default = BitSet;
46
267
  //# sourceMappingURL=bitset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitset.js","sourceRoot":"","sources":["../../src/base/bitset.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA6B;AAE7B;;GAEG;AACH,YAAoB,SAAQ,gBAAO;IACxB,YAAY,CAAC,SAAiB;QACjC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAI,IAAY,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC;QAEhC,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,2DAA2D;YAC3D,OAAQ,IAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,CAAC;QAED,8DAA8D;QAC9D,2DAA2D;QAC3D,8DAA8D;QAC9D,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;QAEhD,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAG,yBAAyB;gBAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,EAAE;gBACN,CAAC;gBACD,OAAO,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9B,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAQ,IAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAChE,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAAA,CAAC;IAEc,KAAK;QACjB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvC,CAAC;CACJ"}
1
+ {"version":3,"file":"bitset.js","sourceRoot":"","sources":["../../src/base/bitset.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ /** @hidden */
1
2
  export declare function sliceBuffer<T = Buffer>(buf: Buffer, byteLength: number, transform?: (buf: Buffer, ind: number) => T): T[];
2
3
  //# sourceMappingURL=buffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/base/buffer.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,CAAC,GAAG,MAAM,EAClC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,GAC5C,CAAC,EAAE,CAOL"}
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/base/buffer.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,wBAAgB,WAAW,CAAC,CAAC,GAAG,MAAM,EAClC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,GAC5C,CAAC,EAAE,CAOL"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sliceBuffer = sliceBuffer;
4
+ /** @hidden */
4
5
  function sliceBuffer(buf, byteLength, transform) {
5
6
  const chunks = [];
6
7
  for (let i = 0; i < buf.length; i += byteLength)
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/base/buffer.ts"],"names":[],"mappings":";;;AAAA,qBACI,GAAW,EACX,UAAkB,EAClB,SAA2C;IAE3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU;QAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IACjD,IAAI,SAAS;QACT,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,MAAa,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/base/buffer.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,qBACI,GAAW,EACX,UAAkB,EAClB,SAA2C;IAE3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU;QAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IACjD,IAAI,SAAS;QACT,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,MAAa,CAAC;AACzB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The base implementation for the Cache class
3
+ */
4
+ export declare abstract class CacheImplementation<T = any> {
5
+ abstract put(key: string, item: T): void;
6
+ abstract get(key: string): T | undefined;
7
+ abstract del(key: string): void;
8
+ }
9
+ /**
10
+ * The LRU cache implementation.
11
+ *
12
+ * @see https://en.wikipedia.org/wiki/Cache_replacement_policies#Time-Aware,_Least_Recently_Used_(TLRU)
13
+ */
14
+ export declare class LRUCache<T> extends CacheImplementation<T> {
15
+ private capacity;
16
+ private hash;
17
+ private list;
18
+ constructor(capacity: number);
19
+ put(key: string, item: T): void;
20
+ get(key: string): T | undefined;
21
+ del(key: string): void;
22
+ private truncateHash;
23
+ }
24
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/base/cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,8BAAsB,mBAAmB,CAAC,CAAC,GAAG,GAAG;IAC7C,SAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAChD,SAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAChD,SAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED;;;;GAIG;AACH,qBAAa,QAAQ,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAIvC,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,IAAI,CAAgB;IAE5B,YAAoB,QAAQ,EAAE,MAAM,EAEnC;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAWrC;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,iBAUrB;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAK5B;IAED,OAAO,CAAC,YAAY;CAOvB"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LRUCache = exports.CacheImplementation = void 0;
4
+ /**
5
+ * The base implementation for the Cache class
6
+ */
7
+ class CacheImplementation {
8
+ }
9
+ exports.CacheImplementation = CacheImplementation;
10
+ /**
11
+ * The LRU cache implementation.
12
+ *
13
+ * @see https://en.wikipedia.org/wiki/Cache_replacement_policies#Time-Aware,_Least_Recently_Used_(TLRU)
14
+ */
15
+ class LRUCache extends CacheImplementation {
16
+ capacity;
17
+ hash = new Map();
18
+ list = [];
19
+ constructor(capacity) {
20
+ super();
21
+ this.capacity = capacity;
22
+ }
23
+ put(key, item) {
24
+ if (this.hash.has(key)) {
25
+ const oldIndex = this.list.indexOf(key);
26
+ if (oldIndex > -1)
27
+ this.list.splice(oldIndex, 1);
28
+ }
29
+ this.hash.set(key, item);
30
+ this.list.push(key);
31
+ this.truncateHash();
32
+ }
33
+ get(key) {
34
+ if (!this.hash.has(key))
35
+ return undefined;
36
+ const item = this.hash.get(key);
37
+ const oldIndex = this.list.indexOf(key);
38
+ if (oldIndex > -1)
39
+ this.list.splice(oldIndex, 1);
40
+ this.list.push(key);
41
+ return item;
42
+ }
43
+ del(key) {
44
+ const oldIndex = this.list.indexOf(key);
45
+ if (oldIndex > -1)
46
+ this.list.splice(oldIndex, 1);
47
+ this.hash.delete(key);
48
+ }
49
+ truncateHash() {
50
+ while (this.list.length > this.capacity) {
51
+ const popping = this.list.pop();
52
+ if (popping)
53
+ this.hash.delete(popping);
54
+ }
55
+ }
56
+ }
57
+ exports.LRUCache = LRUCache;
58
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/base/cache.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH;CAIC;;AAED;;;;GAIG;AACH,cAAyB,SAAQ,mBAAsB;IAI/B,QAAQ;IAHpB,IAAI,GAAmB,IAAI,GAAG,EAAE,CAAC;IACjC,IAAI,GAAa,EAAE,CAAC;IAE5B,YAAoB,QAAgB;QAChC,KAAK,EAAE,CAAC;wBADQ,QAAQ;IAE5B,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,IAAO;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEM,GAAG,CAAC,GAAW;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAE1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,GAAG,CAAC,GAAW;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEO,YAAY;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,OAAO;gBACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;CACJ"}
@@ -135,4 +135,11 @@ export declare class MessageLinkNotFound extends Error {
135
135
  export declare class HaveSignatureButNotIndex extends Error {
136
136
  constructor();
137
137
  }
138
+ /**
139
+ * @hidden
140
+ */
141
+ export declare class MessageTooLong extends Error {
142
+ message: string;
143
+ constructor(message: string);
144
+ }
138
145
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/base/error.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,qBAAa,cAAe,SAAQ,KAAK;IACrC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,eAAgB,SAAQ,KAAK;IAE3B,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,MAAM,CAAC,EAAE,MAAM;IAH1B,YACW,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,YAAA,EAMzB;CACJ;AAED,cAAc;AACd,qBAAa,YAAa,SAAQ,KAAK;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM;IAA1C,YAAmB,MAAM,EAAE,MAAM,GAAG,MAAM,EAEzC;CACJ;AAED,cAAc;AACd,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,YAAa,SAAQ,KAAK;IAChB,IAAI,EAAE,MAAM;IAAS,GAAG,EAAE,MAAM;IAAnD,YAAmB,IAAI,EAAE,MAAM,EAAS,GAAG,EAAE,MAAM,EAElD;CACJ;AAMD,cAAc;AACd,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,cAEC;CACJ;AAMD,cAAc;AACd,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,UAAW,SAAQ,KAAK;IACd,KAAK,EAAE,MAAM;IAAS,MAAM,CAAC,EAAE,GAAG;IAArD,YAAmB,KAAK,EAAE,MAAM,EAAS,MAAM,CAAC,EAAE,GAAG,EAEpD;CACJ;AAED,cAAc;AACd,qBAAa,eAAgB,SAAQ,KAAK;IACnB,KAAK,EAAE,MAAM;IAAS,MAAM,CAAC,EAAE,GAAG;IAArD,YAAmB,KAAK,EAAE,MAAM,EAAS,MAAM,CAAC,EAAE,GAAG,EAEpD;CACJ;AAED,cAAc;AACd,qBAAa,SAAU,SAAQ,KAAK;IACb,IAAI,EAAE,MAAM;IAA/B,YAAmB,IAAI,EAAE,MAAM,EAE9B;CACJ;AAED,cAAc;AACd,qBAAa,cAAe,SAAQ,KAAK;IAClB,KAAK,EAAE,MAAM;IAAhC,YAAmB,KAAK,EAAE,MAAM,EAE/B;CACJ;AACD,cAAc;AACd,qBAAa,eAAgB,SAAQ,KAAK;IACtC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,YAAa,SAAQ,KAAK;IAChB,IAAI,EAAE,MAAM;IAAS,OAAO,EAAE,MAAM;IAAvD,YAAmB,IAAI,EAAE,MAAM,EAAS,OAAO,EAAE,MAAM,EAEtD;CACJ;AAED,cAAc;AACd,qBAAa,UAAW,SAAQ,KAAK;IACjC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,iBAAkB,SAAQ,KAAK;IACxC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,mBAAoB,SAAQ,KAAK;IACvB,SAAS,EAAE,MAAM;IAApC,YAAmB,SAAS,EAAE,MAAM,EAEnC;CACJ;AAMD,cAAc;AACd,qBAAa,oBAAqB,SAAQ,KAAK;IACxB,IAAI,EAAE,MAAM;IAA/B,YAAmB,IAAI,EAAE,MAAM,EAE9B;CACJ;AACD,cAAc;AACd,qBAAa,iBAAkB,SAAQ,KAAK;IACrB,OAAO,EAAE,MAAM;IAAlC,YAAmB,OAAO,EAAE,MAAM,EAEjC;CACJ;AAED,cAAc;AACd,qBAAa,YAAa,SAAQ,KAAK;IAChB,IAAI,EAAE,MAAM;IAA/B,YAAmB,IAAI,EAAE,MAAM,EAE9B;CACJ;AAED,cAAc;AACd,qBAAa,sBAAuB,SAAQ,KAAK;IAC1B,IAAI,EAAE,MAAM;IAAS,QAAQ,CAAC,EAAE,GAAG,EAAE;IAAxD,YAAmB,IAAI,EAAE,MAAM,EAAS,QAAQ,CAAC,EAAE,GAAG,EAAE,YAAA,EAEvD;CACJ;AAGD,cAAc;AACd,qBAAa,kBAAmB,SAAQ,KAAK;IACtB,QAAQ,EAAE,MAAM;IAAS,KAAK,EAAE,MAAM;IAAS,IAAI,EAAE,MAAM;IAA9E,YAAmB,QAAQ,EAAE,MAAM,EAAS,KAAK,EAAE,MAAM,EAAS,IAAI,EAAE,MAAM,EAE7E;CACJ;AAED,cAAc;AACd,qBAAa,YAAa,SAAQ,KAAK;IAChB,KAAK,EAAE,MAAM;IAAS,KAAK,EAAE,MAAM;IAAtD,YAAmB,KAAK,EAAE,MAAM,EAAS,KAAK,EAAE,MAAM,EAErD;CACJ;AAED,cAAc;AACd,qBAAa,cAAe,SAAQ,KAAK;IACrC,cAEC;CACJ;AAGD,cAAc;AACd,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AAMrD,cAAc;AACd,qBAAa,mBAAoB,SAAQ,KAAK;IACvB,UAAU,EAAE,MAAM;IAArC,YAAmB,UAAU,EAAE,MAAM,EAEpC;CACJ;AAED,cAAc;AACd,qBAAa,wBAAyB,SAAQ,KAAK;IAC/C,cAEC;CACJ"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/base/error.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HaveSignatureButNotIndex = exports.MessageLinkNotFound = exports.SkippableNotImplemented = exports.NotImplemented = exports.MissingField = exports.MissingPacketField = exports.InvalidPacketStructure = exports.CantReadFile = exports.VersionNotSupport = exports.RegistryItemNotFound = exports.AuthRelatedNotFound = exports.MissingAuthOption = exports.AuthTokenExpired = exports.AuthDenied = exports.ProfileError = exports.ProfileNotFound = exports.MinecraftError = exports.XboxError = exports.AuthClientError = exports.OAuthError = exports.CantGetMsAccessToken = exports.CantGetMsAuthToken = exports.SockerIsNotWritable = exports.InvalidValue = exports.StringSizeExceedLimit = exports.NumberTooBig = exports.UnexpectedValue = exports.ClientNotReady = void 0;
3
+ exports.MessageTooLong = exports.HaveSignatureButNotIndex = exports.MessageLinkNotFound = exports.SkippableNotImplemented = exports.NotImplemented = exports.MissingField = exports.MissingPacketField = exports.InvalidPacketStructure = exports.CantReadFile = exports.VersionNotSupport = exports.RegistryItemNotFound = exports.AuthRelatedNotFound = exports.MissingAuthOption = exports.AuthTokenExpired = exports.AuthDenied = exports.ProfileError = exports.ProfileNotFound = exports.MinecraftError = exports.XboxError = exports.AuthClientError = exports.OAuthError = exports.CantGetMsAccessToken = exports.CantGetMsAuthToken = exports.SockerIsNotWritable = exports.InvalidValue = exports.StringSizeExceedLimit = exports.NumberTooBig = exports.UnexpectedValue = exports.ClientNotReady = void 0;
4
4
  /** @hidden */
5
5
  class ClientNotReady extends Error {
6
6
  constructor() {
@@ -261,4 +261,15 @@ class HaveSignatureButNotIndex extends Error {
261
261
  }
262
262
  }
263
263
  exports.HaveSignatureButNotIndex = HaveSignatureButNotIndex;
264
+ /**
265
+ * @hidden
266
+ */
267
+ class MessageTooLong extends Error {
268
+ message;
269
+ constructor(message) {
270
+ super(`your message is exceeding the 256 characters long limit, got ${message.length} characters`);
271
+ this.message = message;
272
+ }
273
+ }
274
+ exports.MessageTooLong = MessageTooLong;
264
275
  //# sourceMappingURL=error.js.map