@sapphire/string-store 2.0.0-next.8a922c42 → 2.0.1-next.014a7928
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/CHANGELOG.md +13 -0
- package/dist/cjs/index.cjs +241 -241
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +51 -11
- package/dist/esm/index.d.mts +51 -11
- package/dist/esm/index.mjs +241 -241
- package/dist/esm/index.mjs.map +1 -1
- package/dist/iife/index.global.js +241 -241
- package/dist/iife/index.global.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.d.mts
CHANGED
|
@@ -23,7 +23,47 @@ type PointerLike = Pointer | {
|
|
|
23
23
|
[Symbol.toPrimitive](hint: 'number'): number;
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
interface DuplexBuffer {
|
|
27
|
+
at(index: number): number | undefined;
|
|
28
|
+
get maxLength(): number;
|
|
29
|
+
get maxBitLength(): number;
|
|
30
|
+
get length(): number;
|
|
31
|
+
get bitLength(): number;
|
|
32
|
+
writeBit(value: number): void;
|
|
33
|
+
writeInt2(value: number): void;
|
|
34
|
+
writeInt4(value: number): void;
|
|
35
|
+
writeInt8(value: number): void;
|
|
36
|
+
writeInt16(value: number): void;
|
|
37
|
+
writeInt32(value: number): void;
|
|
38
|
+
writeInt64(value: number): void;
|
|
39
|
+
writeBigInt32(value: bigint): void;
|
|
40
|
+
writeBigInt64(value: bigint): void;
|
|
41
|
+
writeFloat32(value: number): void;
|
|
42
|
+
writeFloat64(value: number): void;
|
|
43
|
+
readBit(offset: PointerLike): 0 | 1;
|
|
44
|
+
readInt2(offset: PointerLike): number;
|
|
45
|
+
readUint2(offset: PointerLike): number;
|
|
46
|
+
readInt4(offset: PointerLike): number;
|
|
47
|
+
readUint4(offset: PointerLike): number;
|
|
48
|
+
readInt8(offset: PointerLike): number;
|
|
49
|
+
readUint8(offset: PointerLike): number;
|
|
50
|
+
readInt16(offset: PointerLike): number;
|
|
51
|
+
readUint16(offset: PointerLike): number;
|
|
52
|
+
readInt32(offset: PointerLike): number;
|
|
53
|
+
readUint32(offset: PointerLike): number;
|
|
54
|
+
readInt64(offset: PointerLike): number;
|
|
55
|
+
readUint64(offset: PointerLike): number;
|
|
56
|
+
readBigInt32(offset: PointerLike): bigint;
|
|
57
|
+
readBigUint32(offset: PointerLike): bigint;
|
|
58
|
+
readBigInt64(offset: PointerLike): bigint;
|
|
59
|
+
readBigUint64(offset: PointerLike): bigint;
|
|
60
|
+
readFloat32(offset: PointerLike): number;
|
|
61
|
+
readFloat64(offset: PointerLike): number;
|
|
62
|
+
toString(): string;
|
|
63
|
+
toArray(): Uint16Array;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
declare class UnalignedUint16Array implements DuplexBuffer {
|
|
27
67
|
#private;
|
|
28
68
|
constructor(maxLength: number);
|
|
29
69
|
at(index: number): number | undefined;
|
|
@@ -63,7 +103,7 @@ declare class UnalignedUint16Array {
|
|
|
63
103
|
readFloat64(offset: PointerLike): number;
|
|
64
104
|
toString(): string;
|
|
65
105
|
toArray(): Uint16Array;
|
|
66
|
-
static from(value: string |
|
|
106
|
+
static from(value: string | DuplexBuffer): DuplexBuffer;
|
|
67
107
|
}
|
|
68
108
|
|
|
69
109
|
interface IType<ValueType, BitSize extends number | null, InputValue = ValueType> {
|
|
@@ -73,14 +113,14 @@ interface IType<ValueType, BitSize extends number | null, InputValue = ValueType
|
|
|
73
113
|
* @param buffer The buffer to write to
|
|
74
114
|
* @param value The value to write
|
|
75
115
|
*/
|
|
76
|
-
serialize(buffer:
|
|
116
|
+
serialize(buffer: DuplexBuffer, value: InputValue): void;
|
|
77
117
|
/**
|
|
78
118
|
* Deserialize a value from a buffer.
|
|
79
119
|
*
|
|
80
120
|
* @param buffer The buffer to read from
|
|
81
121
|
* @param pointer The pointer indicating the current position in the buffer
|
|
82
122
|
*/
|
|
83
|
-
deserialize(buffer:
|
|
123
|
+
deserialize(buffer: DuplexBuffer, pointer: Pointer): ValueType;
|
|
84
124
|
/**
|
|
85
125
|
* The size of the value in bits, or `null` if the size is variable.
|
|
86
126
|
*/
|
|
@@ -226,7 +266,7 @@ declare class Schema<Id extends number = number, Entries extends object = object
|
|
|
226
266
|
* @param defaultMaximumArrayLength The default maximum array length, if any
|
|
227
267
|
* @returns The newly created buffer.
|
|
228
268
|
*/
|
|
229
|
-
serializeRaw(value: Readonly<SerializeValueEntries<Entries>>, defaultMaximumArrayLength?: number):
|
|
269
|
+
serializeRaw(value: Readonly<SerializeValueEntries<Entries>>, defaultMaximumArrayLength?: number): DuplexBuffer;
|
|
230
270
|
/**
|
|
231
271
|
* Serialize a value into a buffer.
|
|
232
272
|
*
|
|
@@ -238,7 +278,7 @@ declare class Schema<Id extends number = number, Entries extends object = object
|
|
|
238
278
|
* The schema's ID is written to the buffer first, followed by each property
|
|
239
279
|
* in the schema.
|
|
240
280
|
*/
|
|
241
|
-
serializeInto(buffer:
|
|
281
|
+
serializeInto(buffer: DuplexBuffer, value: Readonly<SerializeValueEntries<Entries>>): void;
|
|
242
282
|
/**
|
|
243
283
|
* Deserialize a value from a buffer.
|
|
244
284
|
*
|
|
@@ -251,7 +291,7 @@ declare class Schema<Id extends number = number, Entries extends object = object
|
|
|
251
291
|
* Unlike {@link Schema.serializeInto}, this method does not read the schema's ID
|
|
252
292
|
* from the buffer, that is reserved for the {@link SchemaStore}.
|
|
253
293
|
*/
|
|
254
|
-
deserialize(buffer:
|
|
294
|
+
deserialize(buffer: DuplexBuffer | string, pointer: PointerLike): UnwrapSchemaEntries<Entries>;
|
|
255
295
|
/**
|
|
256
296
|
* Adds an array property to the schema.
|
|
257
297
|
*
|
|
@@ -622,14 +662,14 @@ declare class SchemaStore<Entries extends object = object> {
|
|
|
622
662
|
* @param value The value to serialize
|
|
623
663
|
* @returns The serialized buffer
|
|
624
664
|
*/
|
|
625
|
-
serializeRaw<const Id extends KeyOfStore<this>>(id: Id, value: SerializeValue<Entries[Id] & object>):
|
|
665
|
+
serializeRaw<const Id extends KeyOfStore<this>>(id: Id, value: SerializeValue<Entries[Id] & object>): DuplexBuffer;
|
|
626
666
|
/**
|
|
627
667
|
* Deserializes a buffer
|
|
628
668
|
*
|
|
629
669
|
* @param buffer The buffer to deserialize
|
|
630
670
|
* @returns The resolved value, including the id of the schema used for deserialization
|
|
631
671
|
*/
|
|
632
|
-
deserialize(buffer: string |
|
|
672
|
+
deserialize(buffer: string | DuplexBuffer): DeserializationResult<Entries>;
|
|
633
673
|
/**
|
|
634
674
|
* Gets the serialized ID from a buffer
|
|
635
675
|
*
|
|
@@ -640,7 +680,7 @@ declare class SchemaStore<Entries extends object = object> {
|
|
|
640
680
|
*
|
|
641
681
|
* If an empty value is passed, a {@linkcode RangeError} will be thrown.
|
|
642
682
|
*/
|
|
643
|
-
getIdentifier(buffer: string |
|
|
683
|
+
getIdentifier(buffer: string | DuplexBuffer): KeyOfStore<this>;
|
|
644
684
|
/**
|
|
645
685
|
* Iterates over the stores's schema identifiers.
|
|
646
686
|
*
|
|
@@ -697,4 +737,4 @@ declare function toUTF16(buffer: TypedArray): string;
|
|
|
697
737
|
*/
|
|
698
738
|
declare function fromUTF16(buffer: string): Uint16Array;
|
|
699
739
|
|
|
700
|
-
export { ArrayType, BigInt32Type, BigInt64Type, BigUint32Type, BigUint64Type, BitType, BooleanType, ConstantType, type DeserializationResult, type EntryOfSchema, type EntryOfStore, FixedLengthArrayType, Float32Type, Float64Type, type IType, Int16Type, Int2Type, Int32Type, Int4Type, Int64Type, Int8Type, type KeyOfSchema, type KeyOfStore, NullableType, Pointer, type PointerLike, Schema, SchemaStore, type SerializeValue, type SerializeValueEntries, type SerializeValueType, SnowflakeType, StringType, type TypedArray, Uint16Type, Uint2Type, Uint32Type, Uint4Type, Uint64Type, Uint8Type, UnalignedUint16Array, type UnwrapSchema, type UnwrapSchemaEntries, type UnwrapSchemaType, type ValueOfSchema, type ValueOfStore, fromUTF16, t, toUTF16 };
|
|
740
|
+
export { ArrayType, BigInt32Type, BigInt64Type, BigUint32Type, BigUint64Type, BitType, BooleanType, ConstantType, type DeserializationResult, type DuplexBuffer, type EntryOfSchema, type EntryOfStore, FixedLengthArrayType, Float32Type, Float64Type, type IType, Int16Type, Int2Type, Int32Type, Int4Type, Int64Type, Int8Type, type KeyOfSchema, type KeyOfStore, NullableType, Pointer, type PointerLike, Schema, SchemaStore, type SerializeValue, type SerializeValueEntries, type SerializeValueType, SnowflakeType, StringType, type TypedArray, Uint16Type, Uint2Type, Uint32Type, Uint4Type, Uint64Type, Uint8Type, UnalignedUint16Array, type UnwrapSchema, type UnwrapSchemaEntries, type UnwrapSchemaType, type ValueOfSchema, type ValueOfStore, fromUTF16, t, toUTF16 };
|
package/dist/esm/index.mjs
CHANGED
|
@@ -71,6 +71,247 @@ _value = new WeakMap();
|
|
|
71
71
|
__name(_Pointer, "Pointer");
|
|
72
72
|
var Pointer = _Pointer;
|
|
73
73
|
|
|
74
|
+
// src/lib/buffer/UnalignedUint16Array.ts
|
|
75
|
+
var ConverterUint8 = new Uint8Array(8);
|
|
76
|
+
var ConverterUint16 = new Uint16Array(ConverterUint8.buffer);
|
|
77
|
+
var ConverterUint32 = new Uint32Array(ConverterUint8.buffer);
|
|
78
|
+
var ConverterUint64 = new BigUint64Array(ConverterUint8.buffer);
|
|
79
|
+
var ConverterInt32 = new Int32Array(ConverterUint8.buffer);
|
|
80
|
+
var ConverterInt64 = new BigInt64Array(ConverterUint8.buffer);
|
|
81
|
+
var ConverterFloat = new Float32Array(ConverterUint8.buffer);
|
|
82
|
+
var ConverterDouble = new Float64Array(ConverterUint8.buffer);
|
|
83
|
+
var _buffer, _bitLength, _wordIndex, _wordLength, _UnalignedUint16Array_instances, readBit_fn, readByte_fn, bufferRead16_fn, bufferRead32_fn, bufferRead64_fn, writeBit_fn, bufferWrite16_fn;
|
|
84
|
+
var _UnalignedUint16Array = class _UnalignedUint16Array {
|
|
85
|
+
constructor(maxLength) {
|
|
86
|
+
__privateAdd(this, _UnalignedUint16Array_instances);
|
|
87
|
+
__privateAdd(this, _buffer);
|
|
88
|
+
__privateAdd(this, _bitLength, 0);
|
|
89
|
+
__privateAdd(this, _wordIndex, 0);
|
|
90
|
+
__privateAdd(this, _wordLength, 0);
|
|
91
|
+
__privateSet(this, _buffer, new Uint16Array(maxLength));
|
|
92
|
+
}
|
|
93
|
+
at(index) {
|
|
94
|
+
return __privateGet(this, _buffer).at(index);
|
|
95
|
+
}
|
|
96
|
+
get maxLength() {
|
|
97
|
+
return __privateGet(this, _buffer).length;
|
|
98
|
+
}
|
|
99
|
+
get maxBitLength() {
|
|
100
|
+
return __privateGet(this, _buffer).length * 16;
|
|
101
|
+
}
|
|
102
|
+
get length() {
|
|
103
|
+
return __privateGet(this, _wordLength);
|
|
104
|
+
}
|
|
105
|
+
get bitLength() {
|
|
106
|
+
return __privateGet(this, _bitLength);
|
|
107
|
+
}
|
|
108
|
+
writeBit(value) {
|
|
109
|
+
__privateMethod(this, _UnalignedUint16Array_instances, writeBit_fn).call(this, value);
|
|
110
|
+
}
|
|
111
|
+
writeInt2(value) {
|
|
112
|
+
this.writeBit(value & 1);
|
|
113
|
+
this.writeBit(value >> 1);
|
|
114
|
+
}
|
|
115
|
+
writeInt4(value) {
|
|
116
|
+
this.writeInt2(value & 3);
|
|
117
|
+
this.writeInt2(value >> 2);
|
|
118
|
+
}
|
|
119
|
+
writeInt8(value) {
|
|
120
|
+
this.writeInt4(value & 15);
|
|
121
|
+
this.writeInt4(value >> 4);
|
|
122
|
+
}
|
|
123
|
+
writeInt16(value) {
|
|
124
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, value);
|
|
125
|
+
}
|
|
126
|
+
writeInt32(value) {
|
|
127
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, value);
|
|
128
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, value >> 16);
|
|
129
|
+
}
|
|
130
|
+
writeInt64(value) {
|
|
131
|
+
this.writeBigInt64(BigInt(value));
|
|
132
|
+
}
|
|
133
|
+
writeBigInt32(value) {
|
|
134
|
+
ConverterInt64[0] = value;
|
|
135
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[0]);
|
|
136
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[1]);
|
|
137
|
+
}
|
|
138
|
+
writeBigInt64(value) {
|
|
139
|
+
ConverterInt64[0] = value;
|
|
140
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[0]);
|
|
141
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[1]);
|
|
142
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[2]);
|
|
143
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[3]);
|
|
144
|
+
}
|
|
145
|
+
writeFloat32(value) {
|
|
146
|
+
ConverterFloat[0] = value;
|
|
147
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[0]);
|
|
148
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[1]);
|
|
149
|
+
}
|
|
150
|
+
writeFloat64(value) {
|
|
151
|
+
ConverterDouble[0] = value;
|
|
152
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[0]);
|
|
153
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[1]);
|
|
154
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[2]);
|
|
155
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[3]);
|
|
156
|
+
}
|
|
157
|
+
readBit(offset) {
|
|
158
|
+
const ptr = Pointer.from(offset);
|
|
159
|
+
return __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr);
|
|
160
|
+
}
|
|
161
|
+
readInt2(offset) {
|
|
162
|
+
return this.readUint2(offset) << 30 >> 30;
|
|
163
|
+
}
|
|
164
|
+
readUint2(offset) {
|
|
165
|
+
const ptr = Pointer.from(offset);
|
|
166
|
+
return __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 1;
|
|
167
|
+
}
|
|
168
|
+
readInt4(offset) {
|
|
169
|
+
return this.readUint4(offset) << 28 >> 28;
|
|
170
|
+
}
|
|
171
|
+
readUint4(offset) {
|
|
172
|
+
const ptr = Pointer.from(offset);
|
|
173
|
+
return __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 1 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 2 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 3;
|
|
174
|
+
}
|
|
175
|
+
readInt8(offset) {
|
|
176
|
+
return this.readUint8(offset) << 24 >> 24;
|
|
177
|
+
}
|
|
178
|
+
readUint8(offset) {
|
|
179
|
+
const ptr = Pointer.from(offset);
|
|
180
|
+
return __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
181
|
+
}
|
|
182
|
+
readInt16(offset) {
|
|
183
|
+
return this.readUint16(offset) << 16 >> 16;
|
|
184
|
+
}
|
|
185
|
+
readUint16(offset) {
|
|
186
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead16_fn).call(this, Pointer.from(offset));
|
|
187
|
+
return ConverterUint16[0];
|
|
188
|
+
}
|
|
189
|
+
readInt32(offset) {
|
|
190
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
191
|
+
return ConverterInt32[0];
|
|
192
|
+
}
|
|
193
|
+
readUint32(offset) {
|
|
194
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
195
|
+
return ConverterUint32[0];
|
|
196
|
+
}
|
|
197
|
+
readInt64(offset) {
|
|
198
|
+
return Number(this.readBigInt64(offset));
|
|
199
|
+
}
|
|
200
|
+
readUint64(offset) {
|
|
201
|
+
return Number(this.readBigUint64(offset));
|
|
202
|
+
}
|
|
203
|
+
readBigInt32(offset) {
|
|
204
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
205
|
+
return BigInt(ConverterInt32[0]);
|
|
206
|
+
}
|
|
207
|
+
readBigUint32(offset) {
|
|
208
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
209
|
+
return BigInt(ConverterUint32[0]);
|
|
210
|
+
}
|
|
211
|
+
readBigInt64(offset) {
|
|
212
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead64_fn).call(this, Pointer.from(offset));
|
|
213
|
+
return ConverterInt64[0];
|
|
214
|
+
}
|
|
215
|
+
readBigUint64(offset) {
|
|
216
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead64_fn).call(this, Pointer.from(offset));
|
|
217
|
+
return ConverterUint64[0];
|
|
218
|
+
}
|
|
219
|
+
readFloat32(offset) {
|
|
220
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
221
|
+
return ConverterFloat[0];
|
|
222
|
+
}
|
|
223
|
+
readFloat64(offset) {
|
|
224
|
+
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead64_fn).call(this, Pointer.from(offset));
|
|
225
|
+
return ConverterDouble[0];
|
|
226
|
+
}
|
|
227
|
+
toString() {
|
|
228
|
+
let result = "";
|
|
229
|
+
for (let i = 0; i < this.length; i++) {
|
|
230
|
+
result += String.fromCharCode(__privateGet(this, _buffer)[i]);
|
|
231
|
+
}
|
|
232
|
+
return result;
|
|
233
|
+
}
|
|
234
|
+
toArray() {
|
|
235
|
+
return __privateGet(this, _buffer).slice(0, this.length);
|
|
236
|
+
}
|
|
237
|
+
static from(value) {
|
|
238
|
+
if (typeof value !== "string") return value;
|
|
239
|
+
const buffer = new _UnalignedUint16Array(value.length);
|
|
240
|
+
for (let i = 0; i < value.length; i++) {
|
|
241
|
+
__privateGet(buffer, _buffer)[i] = value.charCodeAt(i);
|
|
242
|
+
}
|
|
243
|
+
__privateSet(buffer, _bitLength, value.length << 4);
|
|
244
|
+
return buffer;
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
_buffer = new WeakMap();
|
|
248
|
+
_bitLength = new WeakMap();
|
|
249
|
+
_wordIndex = new WeakMap();
|
|
250
|
+
_wordLength = new WeakMap();
|
|
251
|
+
_UnalignedUint16Array_instances = new WeakSet();
|
|
252
|
+
readBit_fn = /* @__PURE__ */ __name(function(pointer) {
|
|
253
|
+
const bitOffset = pointer.value;
|
|
254
|
+
const index = bitOffset >> 4;
|
|
255
|
+
const bitIndex = bitOffset & 15;
|
|
256
|
+
pointer.add(1);
|
|
257
|
+
return __privateGet(this, _buffer)[index] >> bitIndex & 1;
|
|
258
|
+
}, "#readBit");
|
|
259
|
+
readByte_fn = /* @__PURE__ */ __name(function(ptr) {
|
|
260
|
+
return __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 1 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 2 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 3 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 4 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 5 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 6 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 7;
|
|
261
|
+
}, "#readByte");
|
|
262
|
+
bufferRead16_fn = /* @__PURE__ */ __name(function(ptr) {
|
|
263
|
+
ConverterUint8[0] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
264
|
+
ConverterUint8[1] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
265
|
+
}, "#bufferRead16");
|
|
266
|
+
bufferRead32_fn = /* @__PURE__ */ __name(function(ptr) {
|
|
267
|
+
ConverterUint8[0] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
268
|
+
ConverterUint8[1] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
269
|
+
ConverterUint8[2] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
270
|
+
ConverterUint8[3] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
271
|
+
}, "#bufferRead32");
|
|
272
|
+
bufferRead64_fn = /* @__PURE__ */ __name(function(ptr) {
|
|
273
|
+
ConverterUint8[0] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
274
|
+
ConverterUint8[1] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
275
|
+
ConverterUint8[2] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
276
|
+
ConverterUint8[3] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
277
|
+
ConverterUint8[4] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
278
|
+
ConverterUint8[5] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
279
|
+
ConverterUint8[6] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
280
|
+
ConverterUint8[7] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
281
|
+
}, "#bufferRead64");
|
|
282
|
+
writeBit_fn = /* @__PURE__ */ __name(function(value) {
|
|
283
|
+
if (__privateGet(this, _wordIndex) === this.maxLength) {
|
|
284
|
+
throw new RangeError(`The buffer is full`);
|
|
285
|
+
}
|
|
286
|
+
if (value) {
|
|
287
|
+
const index = __privateGet(this, _wordIndex);
|
|
288
|
+
const bitIndex = this.bitLength & 15;
|
|
289
|
+
__privateGet(this, _buffer)[index] |= 1 << bitIndex;
|
|
290
|
+
}
|
|
291
|
+
if ((__privateGet(this, _bitLength) & 15) === 0) __privateWrapper(this, _wordLength)._++;
|
|
292
|
+
__privateWrapper(this, _bitLength)._++;
|
|
293
|
+
if ((__privateGet(this, _bitLength) & 15) === 0) __privateWrapper(this, _wordIndex)._++;
|
|
294
|
+
}, "#writeBit");
|
|
295
|
+
bufferWrite16_fn = /* @__PURE__ */ __name(function(value) {
|
|
296
|
+
const wordIndex = __privateGet(this, _wordIndex);
|
|
297
|
+
const bitIndex = this.bitLength & 15;
|
|
298
|
+
if (wordIndex + (bitIndex === 0 ? 0 : 1) === this.maxLength) {
|
|
299
|
+
throw new RangeError(`The buffer is full`);
|
|
300
|
+
}
|
|
301
|
+
if (bitIndex === 0) {
|
|
302
|
+
__privateGet(this, _buffer)[wordIndex] = value;
|
|
303
|
+
} else {
|
|
304
|
+
value &= 65535;
|
|
305
|
+
__privateGet(this, _buffer)[wordIndex] |= value << bitIndex;
|
|
306
|
+
__privateGet(this, _buffer)[wordIndex + 1] = value >> 16 - bitIndex;
|
|
307
|
+
}
|
|
308
|
+
__privateSet(this, _bitLength, __privateGet(this, _bitLength) + 16);
|
|
309
|
+
__privateWrapper(this, _wordIndex)._++;
|
|
310
|
+
__privateWrapper(this, _wordLength)._++;
|
|
311
|
+
}, "#bufferWrite16");
|
|
312
|
+
__name(_UnalignedUint16Array, "UnalignedUint16Array");
|
|
313
|
+
var UnalignedUint16Array = _UnalignedUint16Array;
|
|
314
|
+
|
|
74
315
|
// src/lib/types/Array.ts
|
|
75
316
|
function ArrayType(type) {
|
|
76
317
|
return {
|
|
@@ -434,247 +675,6 @@ var t = {
|
|
|
434
675
|
uint8: Uint8Type
|
|
435
676
|
};
|
|
436
677
|
|
|
437
|
-
// src/lib/UnalignedUint16Array.ts
|
|
438
|
-
var ConverterUint8 = new Uint8Array(8);
|
|
439
|
-
var ConverterUint16 = new Uint16Array(ConverterUint8.buffer);
|
|
440
|
-
var ConverterUint32 = new Uint32Array(ConverterUint8.buffer);
|
|
441
|
-
var ConverterUint64 = new BigUint64Array(ConverterUint8.buffer);
|
|
442
|
-
var ConverterInt32 = new Int32Array(ConverterUint8.buffer);
|
|
443
|
-
var ConverterInt64 = new BigInt64Array(ConverterUint8.buffer);
|
|
444
|
-
var ConverterFloat = new Float32Array(ConverterUint8.buffer);
|
|
445
|
-
var ConverterDouble = new Float64Array(ConverterUint8.buffer);
|
|
446
|
-
var _buffer, _bitLength, _wordIndex, _wordLength, _UnalignedUint16Array_instances, readBit_fn, readByte_fn, bufferRead16_fn, bufferRead32_fn, bufferRead64_fn, writeBit_fn, bufferWrite16_fn;
|
|
447
|
-
var _UnalignedUint16Array = class _UnalignedUint16Array {
|
|
448
|
-
constructor(maxLength) {
|
|
449
|
-
__privateAdd(this, _UnalignedUint16Array_instances);
|
|
450
|
-
__privateAdd(this, _buffer);
|
|
451
|
-
__privateAdd(this, _bitLength, 0);
|
|
452
|
-
__privateAdd(this, _wordIndex, 0);
|
|
453
|
-
__privateAdd(this, _wordLength, 0);
|
|
454
|
-
__privateSet(this, _buffer, new Uint16Array(maxLength));
|
|
455
|
-
}
|
|
456
|
-
at(index) {
|
|
457
|
-
return __privateGet(this, _buffer).at(index);
|
|
458
|
-
}
|
|
459
|
-
get maxLength() {
|
|
460
|
-
return __privateGet(this, _buffer).length;
|
|
461
|
-
}
|
|
462
|
-
get maxBitLength() {
|
|
463
|
-
return __privateGet(this, _buffer).length * 16;
|
|
464
|
-
}
|
|
465
|
-
get length() {
|
|
466
|
-
return __privateGet(this, _wordLength);
|
|
467
|
-
}
|
|
468
|
-
get bitLength() {
|
|
469
|
-
return __privateGet(this, _bitLength);
|
|
470
|
-
}
|
|
471
|
-
writeBit(value) {
|
|
472
|
-
__privateMethod(this, _UnalignedUint16Array_instances, writeBit_fn).call(this, value);
|
|
473
|
-
}
|
|
474
|
-
writeInt2(value) {
|
|
475
|
-
this.writeBit(value & 1);
|
|
476
|
-
this.writeBit(value >> 1);
|
|
477
|
-
}
|
|
478
|
-
writeInt4(value) {
|
|
479
|
-
this.writeInt2(value & 3);
|
|
480
|
-
this.writeInt2(value >> 2);
|
|
481
|
-
}
|
|
482
|
-
writeInt8(value) {
|
|
483
|
-
this.writeInt4(value & 15);
|
|
484
|
-
this.writeInt4(value >> 4);
|
|
485
|
-
}
|
|
486
|
-
writeInt16(value) {
|
|
487
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, value);
|
|
488
|
-
}
|
|
489
|
-
writeInt32(value) {
|
|
490
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, value);
|
|
491
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, value >> 16);
|
|
492
|
-
}
|
|
493
|
-
writeInt64(value) {
|
|
494
|
-
this.writeBigInt64(BigInt(value));
|
|
495
|
-
}
|
|
496
|
-
writeBigInt32(value) {
|
|
497
|
-
ConverterInt64[0] = value;
|
|
498
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[0]);
|
|
499
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[1]);
|
|
500
|
-
}
|
|
501
|
-
writeBigInt64(value) {
|
|
502
|
-
ConverterInt64[0] = value;
|
|
503
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[0]);
|
|
504
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[1]);
|
|
505
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[2]);
|
|
506
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[3]);
|
|
507
|
-
}
|
|
508
|
-
writeFloat32(value) {
|
|
509
|
-
ConverterFloat[0] = value;
|
|
510
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[0]);
|
|
511
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[1]);
|
|
512
|
-
}
|
|
513
|
-
writeFloat64(value) {
|
|
514
|
-
ConverterDouble[0] = value;
|
|
515
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[0]);
|
|
516
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[1]);
|
|
517
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[2]);
|
|
518
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferWrite16_fn).call(this, ConverterUint16[3]);
|
|
519
|
-
}
|
|
520
|
-
readBit(offset) {
|
|
521
|
-
const ptr = Pointer.from(offset);
|
|
522
|
-
return __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr);
|
|
523
|
-
}
|
|
524
|
-
readInt2(offset) {
|
|
525
|
-
return this.readUint2(offset) << 30 >> 30;
|
|
526
|
-
}
|
|
527
|
-
readUint2(offset) {
|
|
528
|
-
const ptr = Pointer.from(offset);
|
|
529
|
-
return __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 1;
|
|
530
|
-
}
|
|
531
|
-
readInt4(offset) {
|
|
532
|
-
return this.readUint4(offset) << 28 >> 28;
|
|
533
|
-
}
|
|
534
|
-
readUint4(offset) {
|
|
535
|
-
const ptr = Pointer.from(offset);
|
|
536
|
-
return __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 1 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 2 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 3;
|
|
537
|
-
}
|
|
538
|
-
readInt8(offset) {
|
|
539
|
-
return this.readUint8(offset) << 24 >> 24;
|
|
540
|
-
}
|
|
541
|
-
readUint8(offset) {
|
|
542
|
-
const ptr = Pointer.from(offset);
|
|
543
|
-
return __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
544
|
-
}
|
|
545
|
-
readInt16(offset) {
|
|
546
|
-
return this.readUint16(offset) << 16 >> 16;
|
|
547
|
-
}
|
|
548
|
-
readUint16(offset) {
|
|
549
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead16_fn).call(this, Pointer.from(offset));
|
|
550
|
-
return ConverterUint16[0];
|
|
551
|
-
}
|
|
552
|
-
readInt32(offset) {
|
|
553
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
554
|
-
return ConverterInt32[0];
|
|
555
|
-
}
|
|
556
|
-
readUint32(offset) {
|
|
557
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
558
|
-
return ConverterUint32[0];
|
|
559
|
-
}
|
|
560
|
-
readInt64(offset) {
|
|
561
|
-
return Number(this.readBigInt64(offset));
|
|
562
|
-
}
|
|
563
|
-
readUint64(offset) {
|
|
564
|
-
return Number(this.readBigUint64(offset));
|
|
565
|
-
}
|
|
566
|
-
readBigInt32(offset) {
|
|
567
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
568
|
-
return BigInt(ConverterInt32[0]);
|
|
569
|
-
}
|
|
570
|
-
readBigUint32(offset) {
|
|
571
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
572
|
-
return BigInt(ConverterUint32[0]);
|
|
573
|
-
}
|
|
574
|
-
readBigInt64(offset) {
|
|
575
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead64_fn).call(this, Pointer.from(offset));
|
|
576
|
-
return ConverterInt64[0];
|
|
577
|
-
}
|
|
578
|
-
readBigUint64(offset) {
|
|
579
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead64_fn).call(this, Pointer.from(offset));
|
|
580
|
-
return ConverterUint64[0];
|
|
581
|
-
}
|
|
582
|
-
readFloat32(offset) {
|
|
583
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead32_fn).call(this, Pointer.from(offset));
|
|
584
|
-
return ConverterFloat[0];
|
|
585
|
-
}
|
|
586
|
-
readFloat64(offset) {
|
|
587
|
-
__privateMethod(this, _UnalignedUint16Array_instances, bufferRead64_fn).call(this, Pointer.from(offset));
|
|
588
|
-
return ConverterDouble[0];
|
|
589
|
-
}
|
|
590
|
-
toString() {
|
|
591
|
-
let result = "";
|
|
592
|
-
for (let i = 0; i < this.length; i++) {
|
|
593
|
-
result += String.fromCharCode(__privateGet(this, _buffer)[i]);
|
|
594
|
-
}
|
|
595
|
-
return result;
|
|
596
|
-
}
|
|
597
|
-
toArray() {
|
|
598
|
-
return __privateGet(this, _buffer).slice(0, this.length);
|
|
599
|
-
}
|
|
600
|
-
static from(value) {
|
|
601
|
-
if (value instanceof _UnalignedUint16Array) return value;
|
|
602
|
-
const buffer = new _UnalignedUint16Array(value.length);
|
|
603
|
-
for (let i = 0; i < value.length; i++) {
|
|
604
|
-
__privateGet(buffer, _buffer)[i] = value.charCodeAt(i);
|
|
605
|
-
}
|
|
606
|
-
__privateSet(buffer, _bitLength, value.length << 4);
|
|
607
|
-
return buffer;
|
|
608
|
-
}
|
|
609
|
-
};
|
|
610
|
-
_buffer = new WeakMap();
|
|
611
|
-
_bitLength = new WeakMap();
|
|
612
|
-
_wordIndex = new WeakMap();
|
|
613
|
-
_wordLength = new WeakMap();
|
|
614
|
-
_UnalignedUint16Array_instances = new WeakSet();
|
|
615
|
-
readBit_fn = /* @__PURE__ */ __name(function(pointer) {
|
|
616
|
-
const bitOffset = pointer.value;
|
|
617
|
-
const index = bitOffset >> 4;
|
|
618
|
-
const bitIndex = bitOffset & 15;
|
|
619
|
-
pointer.add(1);
|
|
620
|
-
return __privateGet(this, _buffer)[index] >> bitIndex & 1;
|
|
621
|
-
}, "#readBit");
|
|
622
|
-
readByte_fn = /* @__PURE__ */ __name(function(ptr) {
|
|
623
|
-
return __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 1 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 2 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 3 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 4 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 5 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 6 | __privateMethod(this, _UnalignedUint16Array_instances, readBit_fn).call(this, ptr) << 7;
|
|
624
|
-
}, "#readByte");
|
|
625
|
-
bufferRead16_fn = /* @__PURE__ */ __name(function(ptr) {
|
|
626
|
-
ConverterUint8[0] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
627
|
-
ConverterUint8[1] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
628
|
-
}, "#bufferRead16");
|
|
629
|
-
bufferRead32_fn = /* @__PURE__ */ __name(function(ptr) {
|
|
630
|
-
ConverterUint8[0] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
631
|
-
ConverterUint8[1] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
632
|
-
ConverterUint8[2] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
633
|
-
ConverterUint8[3] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
634
|
-
}, "#bufferRead32");
|
|
635
|
-
bufferRead64_fn = /* @__PURE__ */ __name(function(ptr) {
|
|
636
|
-
ConverterUint8[0] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
637
|
-
ConverterUint8[1] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
638
|
-
ConverterUint8[2] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
639
|
-
ConverterUint8[3] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
640
|
-
ConverterUint8[4] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
641
|
-
ConverterUint8[5] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
642
|
-
ConverterUint8[6] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
643
|
-
ConverterUint8[7] = __privateMethod(this, _UnalignedUint16Array_instances, readByte_fn).call(this, ptr);
|
|
644
|
-
}, "#bufferRead64");
|
|
645
|
-
writeBit_fn = /* @__PURE__ */ __name(function(value) {
|
|
646
|
-
if (__privateGet(this, _wordIndex) === this.maxLength) {
|
|
647
|
-
throw new RangeError(`The buffer is full`);
|
|
648
|
-
}
|
|
649
|
-
if (value) {
|
|
650
|
-
const index = __privateGet(this, _wordIndex);
|
|
651
|
-
const bitIndex = this.bitLength & 15;
|
|
652
|
-
__privateGet(this, _buffer)[index] |= 1 << bitIndex;
|
|
653
|
-
}
|
|
654
|
-
if ((__privateGet(this, _bitLength) & 15) === 0) __privateWrapper(this, _wordLength)._++;
|
|
655
|
-
__privateWrapper(this, _bitLength)._++;
|
|
656
|
-
if ((__privateGet(this, _bitLength) & 15) === 0) __privateWrapper(this, _wordIndex)._++;
|
|
657
|
-
}, "#writeBit");
|
|
658
|
-
bufferWrite16_fn = /* @__PURE__ */ __name(function(value) {
|
|
659
|
-
const wordIndex = __privateGet(this, _wordIndex);
|
|
660
|
-
const bitIndex = this.bitLength & 15;
|
|
661
|
-
if (wordIndex + (bitIndex === 0 ? 0 : 1) === this.maxLength) {
|
|
662
|
-
throw new RangeError(`The buffer is full`);
|
|
663
|
-
}
|
|
664
|
-
if (bitIndex === 0) {
|
|
665
|
-
__privateGet(this, _buffer)[wordIndex] = value;
|
|
666
|
-
} else {
|
|
667
|
-
value &= 65535;
|
|
668
|
-
__privateGet(this, _buffer)[wordIndex] |= value << bitIndex;
|
|
669
|
-
__privateGet(this, _buffer)[wordIndex + 1] = value >> 16 - bitIndex;
|
|
670
|
-
}
|
|
671
|
-
__privateSet(this, _bitLength, __privateGet(this, _bitLength) + 16);
|
|
672
|
-
__privateWrapper(this, _wordIndex)._++;
|
|
673
|
-
__privateWrapper(this, _wordLength)._++;
|
|
674
|
-
}, "#bufferWrite16");
|
|
675
|
-
__name(_UnalignedUint16Array, "UnalignedUint16Array");
|
|
676
|
-
var UnalignedUint16Array = _UnalignedUint16Array;
|
|
677
|
-
|
|
678
678
|
// src/lib/schema/Schema.ts
|
|
679
679
|
var _id, _types, _bitSize, _Schema_instances, addType_fn;
|
|
680
680
|
var _Schema = class _Schema {
|