@mrpelz/struct 2.0.0 → 3.0.0
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/dynamic.d.ts +1 -1
- package/dist/dynamic.d.ts.map +1 -1
- package/dist/dynamic.js +1 -1
- package/dist/dynamic.js.map +1 -1
- package/dist/main.d.ts +183 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +473 -2
- package/dist/main.js.map +1 -1
- package/package.json +1 -9
- package/dist/static.d.ts +0 -184
- package/dist/static.d.ts.map +0 -1
- package/dist/static.js +0 -473
- package/dist/static.js.map +0 -1
package/dist/static.d.ts
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { StringEncodings } from '@mrpelz/misc-utils/string';
|
|
2
|
-
export declare class StructMember<T = unknown, S extends number = number> {
|
|
3
|
-
private _buffer?;
|
|
4
|
-
readonly size: S;
|
|
5
|
-
constructor(size: S);
|
|
6
|
-
protected get buffer(): Buffer;
|
|
7
|
-
get value(): T;
|
|
8
|
-
set value(_input: T);
|
|
9
|
-
allocate(): Buffer;
|
|
10
|
-
assign(buffer: Buffer): void;
|
|
11
|
-
decode(input: Buffer): T;
|
|
12
|
-
encode(input: T): Buffer;
|
|
13
|
-
unassign(): void;
|
|
14
|
-
}
|
|
15
|
-
export declare class FixedBuffer extends StructMember<Buffer> {
|
|
16
|
-
private readonly _fixedValue;
|
|
17
|
-
constructor(fixedValue: Buffer);
|
|
18
|
-
get value(): Buffer;
|
|
19
|
-
set value(_input: Buffer);
|
|
20
|
-
allocate(): Buffer;
|
|
21
|
-
assign(buffer: Buffer): void;
|
|
22
|
-
}
|
|
23
|
-
export declare const staticValue: <T>(value: T, member: StructMember<T>) => FixedBuffer;
|
|
24
|
-
export declare class StaticBuffer extends StructMember<Buffer> {
|
|
25
|
-
get value(): Buffer;
|
|
26
|
-
set value(input: Buffer);
|
|
27
|
-
}
|
|
28
|
-
export declare class Bool extends StructMember<boolean> {
|
|
29
|
-
static readonly size = 1;
|
|
30
|
-
constructor();
|
|
31
|
-
get value(): boolean;
|
|
32
|
-
set value(input: boolean);
|
|
33
|
-
}
|
|
34
|
-
export type TBitmap = [
|
|
35
|
-
boolean,
|
|
36
|
-
boolean,
|
|
37
|
-
boolean,
|
|
38
|
-
boolean,
|
|
39
|
-
boolean,
|
|
40
|
-
boolean,
|
|
41
|
-
boolean,
|
|
42
|
-
boolean
|
|
43
|
-
];
|
|
44
|
-
export declare class Bitmap extends StructMember<TBitmap> {
|
|
45
|
-
static readonly size = 1;
|
|
46
|
-
constructor();
|
|
47
|
-
get value(): TBitmap;
|
|
48
|
-
set value(input: TBitmap);
|
|
49
|
-
}
|
|
50
|
-
export declare enum StringPadding {
|
|
51
|
-
NONE = 0,
|
|
52
|
-
START = 1,
|
|
53
|
-
END = 2
|
|
54
|
-
}
|
|
55
|
-
export type StringOptions = {
|
|
56
|
-
encoding?: StringEncodings;
|
|
57
|
-
fill?: string;
|
|
58
|
-
padding?: StringPadding;
|
|
59
|
-
unpad?: boolean;
|
|
60
|
-
};
|
|
61
|
-
export declare class StaticString extends StructMember<string> {
|
|
62
|
-
private readonly _encoding;
|
|
63
|
-
private readonly _fill;
|
|
64
|
-
private readonly _padding;
|
|
65
|
-
private readonly _unpad;
|
|
66
|
-
constructor(length: number, { encoding, padding, fill, unpad, }?: StringOptions);
|
|
67
|
-
get value(): string;
|
|
68
|
-
set value(input: string);
|
|
69
|
-
}
|
|
70
|
-
export type IntegerStructByteCount = 1 | 2 | 3 | 4 | 5 | 6;
|
|
71
|
-
declare class IntegerStructMember<T extends IntegerStructByteCount> extends StructMember<number, T> {
|
|
72
|
-
protected static contraint(input: number, [min, max]: readonly [number, number]): void;
|
|
73
|
-
constructor(bytes?: T);
|
|
74
|
-
}
|
|
75
|
-
export declare class UInt8<T extends number = number> extends IntegerStructMember<1> {
|
|
76
|
-
static readonly size = 1;
|
|
77
|
-
protected static contraint(input: number): void;
|
|
78
|
-
constructor();
|
|
79
|
-
get value(): T;
|
|
80
|
-
set value(input: T);
|
|
81
|
-
}
|
|
82
|
-
export declare class UIntBE extends IntegerStructMember<Exclude<IntegerStructByteCount, 1>> {
|
|
83
|
-
get value(): number;
|
|
84
|
-
set value(input: number);
|
|
85
|
-
}
|
|
86
|
-
export declare class UIntLE extends IntegerStructMember<Exclude<IntegerStructByteCount, 1>> {
|
|
87
|
-
get value(): number;
|
|
88
|
-
set value(input: number);
|
|
89
|
-
}
|
|
90
|
-
export declare class Int8 extends IntegerStructMember<1> {
|
|
91
|
-
static readonly size = 1;
|
|
92
|
-
protected static contraint(input: number): void;
|
|
93
|
-
constructor();
|
|
94
|
-
get value(): number;
|
|
95
|
-
set value(input: number);
|
|
96
|
-
}
|
|
97
|
-
export declare class IntBE extends IntegerStructMember<Exclude<IntegerStructByteCount, 1>> {
|
|
98
|
-
get value(): number;
|
|
99
|
-
set value(input: number);
|
|
100
|
-
}
|
|
101
|
-
export declare class IntLE extends IntegerStructMember<Exclude<IntegerStructByteCount, 1>> {
|
|
102
|
-
get value(): number;
|
|
103
|
-
set value(input: number);
|
|
104
|
-
}
|
|
105
|
-
declare class FloatStructMember extends StructMember<number> {
|
|
106
|
-
static readonly maxValue = 3.4028234663852886e+38;
|
|
107
|
-
static readonly minValue = -3.4028234663852886e+38;
|
|
108
|
-
static readonly size = 4;
|
|
109
|
-
protected static constraint(input: number): void;
|
|
110
|
-
constructor();
|
|
111
|
-
}
|
|
112
|
-
export declare class FloatBE extends FloatStructMember {
|
|
113
|
-
get value(): number;
|
|
114
|
-
set value(input: number);
|
|
115
|
-
}
|
|
116
|
-
export declare class FloatLE extends FloatStructMember {
|
|
117
|
-
get value(): number;
|
|
118
|
-
set value(input: number);
|
|
119
|
-
}
|
|
120
|
-
declare class DoubleStructMember extends StructMember<number> {
|
|
121
|
-
static readonly maxValue = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368n;
|
|
122
|
-
static readonly minValue = -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368n;
|
|
123
|
-
static readonly size = 8;
|
|
124
|
-
protected static constraint(input: number): void;
|
|
125
|
-
constructor();
|
|
126
|
-
}
|
|
127
|
-
export declare class DoubleBE extends DoubleStructMember {
|
|
128
|
-
get value(): number;
|
|
129
|
-
set value(input: number);
|
|
130
|
-
}
|
|
131
|
-
export declare class DoubleLE extends DoubleStructMember {
|
|
132
|
-
get value(): number;
|
|
133
|
-
set value(input: number);
|
|
134
|
-
}
|
|
135
|
-
export type TStructMember<T = unknown> = StructMember<T> | Struct<StructMembers> | MappedStruct<Record<string, TStructMember>>;
|
|
136
|
-
export type StructMembers = TStructMember[];
|
|
137
|
-
export type StructMemberValues<T extends StructMembers> = {
|
|
138
|
-
[P in keyof T]: T[P] extends FixedBuffer ? undefined : T[P]['value'];
|
|
139
|
-
};
|
|
140
|
-
export type MappedStructMembers = Record<string, TStructMember>;
|
|
141
|
-
export type MappedStructMemberValues<T extends MappedStructMembers> = {
|
|
142
|
-
[P in keyof T as T[P] extends FixedBuffer ? never : P]: T[P]['value'];
|
|
143
|
-
};
|
|
144
|
-
export declare enum DecodeOpenendedAlignment {
|
|
145
|
-
START = 0,
|
|
146
|
-
END = 1
|
|
147
|
-
}
|
|
148
|
-
export declare class Struct<T extends StructMembers> {
|
|
149
|
-
private static _assignSubarrays;
|
|
150
|
-
private static _calculateSize;
|
|
151
|
-
private static _unassignSubarrays;
|
|
152
|
-
private _buffer?;
|
|
153
|
-
private readonly _members;
|
|
154
|
-
readonly size: number;
|
|
155
|
-
constructor(...members: T);
|
|
156
|
-
get value(): StructMemberValues<T>;
|
|
157
|
-
set value(input: StructMemberValues<T>);
|
|
158
|
-
allocate(): Buffer;
|
|
159
|
-
assign(buffer: Buffer): void;
|
|
160
|
-
decode(input: Buffer): StructMemberValues<T>;
|
|
161
|
-
decodeOpenended(input: Buffer, alignment?: DecodeOpenendedAlignment): [StructMemberValues<T>, Buffer];
|
|
162
|
-
encode(input: StructMemberValues<T>): Buffer;
|
|
163
|
-
unassign(): void;
|
|
164
|
-
}
|
|
165
|
-
export declare class MappedStruct<T extends MappedStructMembers> {
|
|
166
|
-
private static _assignSubarrays;
|
|
167
|
-
private static _calculateSize;
|
|
168
|
-
private static _unassignSubarrays;
|
|
169
|
-
private _buffer?;
|
|
170
|
-
private readonly _members;
|
|
171
|
-
readonly size: number;
|
|
172
|
-
constructor(members: T);
|
|
173
|
-
get value(): MappedStructMemberValues<T>;
|
|
174
|
-
set value(input: MappedStructMemberValues<T>);
|
|
175
|
-
allocate(): Buffer;
|
|
176
|
-
assign(buffer: Buffer): void;
|
|
177
|
-
decode(input: Buffer): MappedStructMemberValues<T>;
|
|
178
|
-
decodeOpenended(input: Buffer, alignment?: DecodeOpenendedAlignment): [MappedStructMemberValues<T>, Buffer];
|
|
179
|
-
encode(input: MappedStructMemberValues<T>): Buffer;
|
|
180
|
-
unassign(): void;
|
|
181
|
-
}
|
|
182
|
-
export type TStruct<T extends Struct<StructMembers> | MappedStruct<MappedStructMembers>> = T['value'];
|
|
183
|
-
export {};
|
|
184
|
-
//# sourceMappingURL=static.d.ts.map
|
package/dist/static.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"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"}
|
package/dist/static.js
DELETED
|
@@ -1,473 +0,0 @@
|
|
|
1
|
-
import { NUMBER_RANGES } from '@mrpelz/misc-utils/number';
|
|
2
|
-
export class StructMember {
|
|
3
|
-
_buffer;
|
|
4
|
-
size;
|
|
5
|
-
constructor(size) {
|
|
6
|
-
if (!size) {
|
|
7
|
-
throw new Error('illegal zero length');
|
|
8
|
-
}
|
|
9
|
-
this.size = size;
|
|
10
|
-
}
|
|
11
|
-
get buffer() {
|
|
12
|
-
if (!this._buffer)
|
|
13
|
-
throw new Error('no buffer set');
|
|
14
|
-
return this._buffer;
|
|
15
|
-
}
|
|
16
|
-
get value() {
|
|
17
|
-
throw new Error('no getter defined');
|
|
18
|
-
}
|
|
19
|
-
set value(_input) {
|
|
20
|
-
throw new Error('no setter defined');
|
|
21
|
-
}
|
|
22
|
-
allocate() {
|
|
23
|
-
this._buffer = Buffer.alloc(this.size);
|
|
24
|
-
return this._buffer;
|
|
25
|
-
}
|
|
26
|
-
assign(buffer) {
|
|
27
|
-
if (buffer.length !== this.size) {
|
|
28
|
-
throw new Error('assigned buffer does not match requred size');
|
|
29
|
-
}
|
|
30
|
-
this._buffer = buffer;
|
|
31
|
-
}
|
|
32
|
-
decode(input) {
|
|
33
|
-
this.assign(input);
|
|
34
|
-
const result = this.value;
|
|
35
|
-
this.unassign();
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
encode(input) {
|
|
39
|
-
const result = this.allocate();
|
|
40
|
-
this.value = input;
|
|
41
|
-
this.unassign();
|
|
42
|
-
return result;
|
|
43
|
-
}
|
|
44
|
-
unassign() {
|
|
45
|
-
this._buffer = undefined;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export class FixedBuffer extends StructMember {
|
|
49
|
-
_fixedValue;
|
|
50
|
-
constructor(fixedValue) {
|
|
51
|
-
super(fixedValue.length);
|
|
52
|
-
this._fixedValue = fixedValue;
|
|
53
|
-
}
|
|
54
|
-
get value() {
|
|
55
|
-
return this.buffer;
|
|
56
|
-
}
|
|
57
|
-
set value(_input) {
|
|
58
|
-
// noop
|
|
59
|
-
}
|
|
60
|
-
allocate() {
|
|
61
|
-
const result = super.allocate();
|
|
62
|
-
this._fixedValue.copy(this.buffer);
|
|
63
|
-
return result;
|
|
64
|
-
}
|
|
65
|
-
assign(buffer) {
|
|
66
|
-
super.assign(buffer);
|
|
67
|
-
this._fixedValue.copy(this.buffer);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
export const staticValue = (value, member) => new FixedBuffer(member.encode(value));
|
|
71
|
-
export class StaticBuffer extends StructMember {
|
|
72
|
-
get value() {
|
|
73
|
-
const result = Buffer.alloc(this.size);
|
|
74
|
-
this.buffer.copy(result);
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
set value(input) {
|
|
78
|
-
if (input.length !== this.size) {
|
|
79
|
-
throw new Error('input buffer does not match requred size');
|
|
80
|
-
}
|
|
81
|
-
input.copy(this.buffer);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
export class Bool extends StructMember {
|
|
85
|
-
static size = 1;
|
|
86
|
-
constructor() {
|
|
87
|
-
super(Bool.size);
|
|
88
|
-
}
|
|
89
|
-
get value() {
|
|
90
|
-
return Boolean(this.buffer.readUInt8());
|
|
91
|
-
}
|
|
92
|
-
set value(input) {
|
|
93
|
-
this.buffer.writeUInt8(input ? 1 : 0);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
export class Bitmap extends StructMember {
|
|
97
|
-
static size = 1;
|
|
98
|
-
constructor() {
|
|
99
|
-
super(Bitmap.size);
|
|
100
|
-
}
|
|
101
|
-
get value() {
|
|
102
|
-
const byte = this.buffer.readUInt8();
|
|
103
|
-
const result = [];
|
|
104
|
-
for (let index = 0; index < 8; index += 1) {
|
|
105
|
-
// eslint-disable-next-line no-bitwise
|
|
106
|
-
result[index] = Boolean(byte & (1 << index));
|
|
107
|
-
}
|
|
108
|
-
return result;
|
|
109
|
-
}
|
|
110
|
-
set value(input) {
|
|
111
|
-
this.buffer.writeUInt8(input.reduce(
|
|
112
|
-
// eslint-disable-next-line no-bitwise
|
|
113
|
-
(accumulator, value, index) => accumulator | (value ? 1 : 0 << index), 0));
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
export var StringPadding;
|
|
117
|
-
(function (StringPadding) {
|
|
118
|
-
StringPadding[StringPadding["NONE"] = 0] = "NONE";
|
|
119
|
-
StringPadding[StringPadding["START"] = 1] = "START";
|
|
120
|
-
StringPadding[StringPadding["END"] = 2] = "END";
|
|
121
|
-
})(StringPadding || (StringPadding = {}));
|
|
122
|
-
export class StaticString extends StructMember {
|
|
123
|
-
_encoding;
|
|
124
|
-
_fill;
|
|
125
|
-
_padding;
|
|
126
|
-
_unpad;
|
|
127
|
-
constructor(length, { encoding = 'ascii', padding = StringPadding.START, fill = '\0', unpad = true, } = {}) {
|
|
128
|
-
super(length);
|
|
129
|
-
this._encoding = encoding;
|
|
130
|
-
this._padding = padding;
|
|
131
|
-
this._fill = fill;
|
|
132
|
-
this._unpad = unpad;
|
|
133
|
-
}
|
|
134
|
-
get value() {
|
|
135
|
-
if (this._padding !== StringPadding.NONE && this._unpad) {
|
|
136
|
-
return this.buffer.toString(this._encoding).replaceAll(this._fill, '');
|
|
137
|
-
}
|
|
138
|
-
return this.buffer.toString(this._encoding);
|
|
139
|
-
}
|
|
140
|
-
set value(input) {
|
|
141
|
-
if (input.length > this.size) {
|
|
142
|
-
throw new Error('string too long');
|
|
143
|
-
}
|
|
144
|
-
if (this._padding === StringPadding.NONE && input.length < this.size) {
|
|
145
|
-
throw new Error('padding=none and string too short');
|
|
146
|
-
}
|
|
147
|
-
switch (this._padding) {
|
|
148
|
-
case StringPadding.START: {
|
|
149
|
-
this.buffer.write(input.padStart(this.size, this._fill), this._encoding);
|
|
150
|
-
break;
|
|
151
|
-
}
|
|
152
|
-
case StringPadding.END: {
|
|
153
|
-
this.buffer.write(input.padEnd(this.size, this._fill), this._encoding);
|
|
154
|
-
break;
|
|
155
|
-
}
|
|
156
|
-
default: {
|
|
157
|
-
this.buffer.write(input, this._encoding);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
class IntegerStructMember extends StructMember {
|
|
163
|
-
static contraint(input, [min, max]) {
|
|
164
|
-
if (!Number.isInteger(input))
|
|
165
|
-
throw new Error('input is not integer');
|
|
166
|
-
if (input < min) {
|
|
167
|
-
throw new Error(`input below representable value (${min})`);
|
|
168
|
-
}
|
|
169
|
-
if (input > max) {
|
|
170
|
-
throw new Error(`input above representable value (${min})`);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
constructor(bytes = 2) {
|
|
174
|
-
super(bytes);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
export class UInt8 extends IntegerStructMember {
|
|
178
|
-
static size = 1;
|
|
179
|
-
static contraint(input) {
|
|
180
|
-
super.contraint(input, NUMBER_RANGES.uint[UInt8.size]);
|
|
181
|
-
}
|
|
182
|
-
constructor() {
|
|
183
|
-
super(UInt8.size);
|
|
184
|
-
}
|
|
185
|
-
get value() {
|
|
186
|
-
return this.buffer.readUInt8();
|
|
187
|
-
}
|
|
188
|
-
set value(input) {
|
|
189
|
-
UInt8.contraint(input);
|
|
190
|
-
this.buffer.writeUInt8(input);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
export class UIntBE extends IntegerStructMember {
|
|
194
|
-
get value() {
|
|
195
|
-
return this.buffer.readUIntBE(0, this.size);
|
|
196
|
-
}
|
|
197
|
-
set value(input) {
|
|
198
|
-
UIntBE.contraint(input, NUMBER_RANGES.uint[this.size]);
|
|
199
|
-
this.buffer.writeUIntBE(input, 0, this.size);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
export class UIntLE extends IntegerStructMember {
|
|
203
|
-
get value() {
|
|
204
|
-
return this.buffer.readUIntLE(0, this.size);
|
|
205
|
-
}
|
|
206
|
-
set value(input) {
|
|
207
|
-
UIntBE.contraint(input, NUMBER_RANGES.uint[this.size]);
|
|
208
|
-
this.buffer.writeUIntLE(input, 0, this.size);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
export class Int8 extends IntegerStructMember {
|
|
212
|
-
static size = 1;
|
|
213
|
-
static contraint(input) {
|
|
214
|
-
super.contraint(input, NUMBER_RANGES.uint[Int8.size]);
|
|
215
|
-
}
|
|
216
|
-
constructor() {
|
|
217
|
-
super(Int8.size);
|
|
218
|
-
}
|
|
219
|
-
get value() {
|
|
220
|
-
return this.buffer.readInt8();
|
|
221
|
-
}
|
|
222
|
-
set value(input) {
|
|
223
|
-
Int8.contraint(input);
|
|
224
|
-
this.buffer.writeInt8(input);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
export class IntBE extends IntegerStructMember {
|
|
228
|
-
get value() {
|
|
229
|
-
return this.buffer.readIntBE(0, this.size);
|
|
230
|
-
}
|
|
231
|
-
set value(input) {
|
|
232
|
-
UIntBE.contraint(input, NUMBER_RANGES.int[this.size]);
|
|
233
|
-
this.buffer.writeIntBE(input, 0, this.size);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
export class IntLE extends IntegerStructMember {
|
|
237
|
-
get value() {
|
|
238
|
-
return this.buffer.readIntLE(0, this.size);
|
|
239
|
-
}
|
|
240
|
-
set value(input) {
|
|
241
|
-
UIntBE.contraint(input, NUMBER_RANGES.int[this.size]);
|
|
242
|
-
this.buffer.writeIntLE(input, 0, this.size);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
class FloatStructMember extends StructMember {
|
|
246
|
-
static maxValue = 340_282_346_638_528_859_811_704_183_484_516_925_440;
|
|
247
|
-
static minValue = -340_282_346_638_528_859_811_704_183_484_516_925_440;
|
|
248
|
-
static size = 4;
|
|
249
|
-
static constraint(input) {
|
|
250
|
-
if (!Number.isFinite(input))
|
|
251
|
-
throw new Error('input is not finite');
|
|
252
|
-
if (input < FloatStructMember.minValue) {
|
|
253
|
-
throw new Error(`input below representable value (${FloatStructMember.minValue})`);
|
|
254
|
-
}
|
|
255
|
-
if (input > FloatStructMember.maxValue) {
|
|
256
|
-
throw new Error(`input above representable value (${FloatStructMember.maxValue})`);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
constructor() {
|
|
260
|
-
super(FloatStructMember.size);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
export class FloatBE extends FloatStructMember {
|
|
264
|
-
get value() {
|
|
265
|
-
return this.buffer.readFloatBE();
|
|
266
|
-
}
|
|
267
|
-
set value(input) {
|
|
268
|
-
FloatBE.constraint(input);
|
|
269
|
-
this.buffer.writeFloatBE(input);
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
export class FloatLE extends FloatStructMember {
|
|
273
|
-
get value() {
|
|
274
|
-
return this.buffer.readFloatLE();
|
|
275
|
-
}
|
|
276
|
-
set value(input) {
|
|
277
|
-
FloatLE.constraint(input);
|
|
278
|
-
this.buffer.writeFloatLE(input);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
class DoubleStructMember extends StructMember {
|
|
282
|
-
static maxValue = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368n;
|
|
283
|
-
static minValue = -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368n;
|
|
284
|
-
static size = 8;
|
|
285
|
-
static constraint(input) {
|
|
286
|
-
if (!Number.isFinite(input))
|
|
287
|
-
throw new Error('input is not finite');
|
|
288
|
-
if (input < DoubleStructMember.minValue) {
|
|
289
|
-
throw new Error(`input below representable value (${DoubleStructMember.minValue})`);
|
|
290
|
-
}
|
|
291
|
-
if (input > DoubleStructMember.maxValue) {
|
|
292
|
-
throw new Error(`input above representable value (${DoubleStructMember.maxValue})`);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
constructor() {
|
|
296
|
-
super(DoubleStructMember.size);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
export class DoubleBE extends DoubleStructMember {
|
|
300
|
-
get value() {
|
|
301
|
-
return this.buffer.readDoubleBE();
|
|
302
|
-
}
|
|
303
|
-
set value(input) {
|
|
304
|
-
DoubleBE.constraint(input);
|
|
305
|
-
this.buffer.writeDoubleBE(input);
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
export class DoubleLE extends DoubleStructMember {
|
|
309
|
-
get value() {
|
|
310
|
-
return this.buffer.readDoubleLE();
|
|
311
|
-
}
|
|
312
|
-
set value(input) {
|
|
313
|
-
DoubleLE.constraint(input);
|
|
314
|
-
this.buffer.writeDoubleLE(input);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
export var DecodeOpenendedAlignment;
|
|
318
|
-
(function (DecodeOpenendedAlignment) {
|
|
319
|
-
DecodeOpenendedAlignment[DecodeOpenendedAlignment["START"] = 0] = "START";
|
|
320
|
-
DecodeOpenendedAlignment[DecodeOpenendedAlignment["END"] = 1] = "END";
|
|
321
|
-
})(DecodeOpenendedAlignment || (DecodeOpenendedAlignment = {}));
|
|
322
|
-
export class Struct {
|
|
323
|
-
static _assignSubarrays(buffer, members) {
|
|
324
|
-
let offset = 0;
|
|
325
|
-
for (const member of members) {
|
|
326
|
-
const end = offset + member.size;
|
|
327
|
-
member.assign(buffer.subarray(offset, end));
|
|
328
|
-
offset = end;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
static _calculateSize(members) {
|
|
332
|
-
return members.reduce((accumulator, { size }) => accumulator + size, 0);
|
|
333
|
-
}
|
|
334
|
-
static _unassignSubarrays(members) {
|
|
335
|
-
for (const member of members) {
|
|
336
|
-
member.unassign();
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
_buffer;
|
|
340
|
-
_members;
|
|
341
|
-
size;
|
|
342
|
-
constructor(...members) {
|
|
343
|
-
this._members = members;
|
|
344
|
-
this.size = Struct._calculateSize(this._members);
|
|
345
|
-
}
|
|
346
|
-
get value() {
|
|
347
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
348
|
-
// @ts-ignore
|
|
349
|
-
return this._members.map((member) => member.value);
|
|
350
|
-
}
|
|
351
|
-
set value(input) {
|
|
352
|
-
for (const [index, memberInput] of input.entries()) {
|
|
353
|
-
const object = this._members[index];
|
|
354
|
-
if (object)
|
|
355
|
-
object.value = memberInput;
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
allocate() {
|
|
359
|
-
this._buffer = Buffer.alloc(this.size);
|
|
360
|
-
Struct._assignSubarrays(this._buffer, this._members);
|
|
361
|
-
return this._buffer;
|
|
362
|
-
}
|
|
363
|
-
assign(buffer) {
|
|
364
|
-
if (buffer.length !== this.size) {
|
|
365
|
-
throw new Error('assigned buffer does not match requred size');
|
|
366
|
-
}
|
|
367
|
-
this._buffer = buffer;
|
|
368
|
-
Struct._assignSubarrays(this._buffer, this._members);
|
|
369
|
-
}
|
|
370
|
-
decode(input) {
|
|
371
|
-
this.assign(input);
|
|
372
|
-
const result = this.value;
|
|
373
|
-
this.unassign();
|
|
374
|
-
return result;
|
|
375
|
-
}
|
|
376
|
-
decodeOpenended(input, alignment = DecodeOpenendedAlignment.START) {
|
|
377
|
-
if (input.length < this.size) {
|
|
378
|
-
throw new Error('input buffer too short');
|
|
379
|
-
}
|
|
380
|
-
const cutoff = alignment === DecodeOpenendedAlignment.START
|
|
381
|
-
? this.size
|
|
382
|
-
: input.length - this.size;
|
|
383
|
-
return [this.decode(input.subarray(0, cutoff)), input.subarray(cutoff)];
|
|
384
|
-
}
|
|
385
|
-
encode(input) {
|
|
386
|
-
const result = this.allocate();
|
|
387
|
-
this.value = input;
|
|
388
|
-
this.unassign();
|
|
389
|
-
return result;
|
|
390
|
-
}
|
|
391
|
-
unassign() {
|
|
392
|
-
Struct._unassignSubarrays(this._members);
|
|
393
|
-
this._buffer = undefined;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
export class MappedStruct {
|
|
397
|
-
static _assignSubarrays(buffer, members) {
|
|
398
|
-
let offset = 0;
|
|
399
|
-
for (const member of Object.values(members)) {
|
|
400
|
-
const end = offset + member.size;
|
|
401
|
-
member.assign(buffer.subarray(offset, end));
|
|
402
|
-
offset = end;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
static _calculateSize(members) {
|
|
406
|
-
return Object.values(members).reduce((accumulator, { size }) => accumulator + size, 0);
|
|
407
|
-
}
|
|
408
|
-
static _unassignSubarrays(members) {
|
|
409
|
-
for (const member of Object.values(members)) {
|
|
410
|
-
member.unassign();
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
_buffer;
|
|
414
|
-
_members;
|
|
415
|
-
size;
|
|
416
|
-
constructor(members) {
|
|
417
|
-
this._members = members;
|
|
418
|
-
this.size = MappedStruct._calculateSize(this._members);
|
|
419
|
-
}
|
|
420
|
-
get value() {
|
|
421
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
422
|
-
// @ts-ignore
|
|
423
|
-
return Object.fromEntries(Object.entries(this._members).map(
|
|
424
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
425
|
-
// @ts-ignore
|
|
426
|
-
([property, member]) => [property, member.value]));
|
|
427
|
-
}
|
|
428
|
-
set value(input) {
|
|
429
|
-
for (const [property, memberInput] of Object.entries(input)) {
|
|
430
|
-
const object = this._members[property];
|
|
431
|
-
if (object)
|
|
432
|
-
object.value = memberInput;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
allocate() {
|
|
436
|
-
this._buffer = Buffer.alloc(this.size);
|
|
437
|
-
MappedStruct._assignSubarrays(this._buffer, this._members);
|
|
438
|
-
return this._buffer;
|
|
439
|
-
}
|
|
440
|
-
assign(buffer) {
|
|
441
|
-
if (buffer.length !== this.size) {
|
|
442
|
-
throw new Error('assigned buffer does not match requred size');
|
|
443
|
-
}
|
|
444
|
-
this._buffer = buffer;
|
|
445
|
-
MappedStruct._assignSubarrays(this._buffer, this._members);
|
|
446
|
-
}
|
|
447
|
-
decode(input) {
|
|
448
|
-
this.assign(input);
|
|
449
|
-
const result = this.value;
|
|
450
|
-
this.unassign();
|
|
451
|
-
return result;
|
|
452
|
-
}
|
|
453
|
-
decodeOpenended(input, alignment = DecodeOpenendedAlignment.START) {
|
|
454
|
-
if (input.length < this.size) {
|
|
455
|
-
throw new Error('input buffer too short');
|
|
456
|
-
}
|
|
457
|
-
const cutoff = alignment === DecodeOpenendedAlignment.START
|
|
458
|
-
? this.size
|
|
459
|
-
: input.length - this.size;
|
|
460
|
-
return [this.decode(input.subarray(0, cutoff)), input.subarray(cutoff)];
|
|
461
|
-
}
|
|
462
|
-
encode(input) {
|
|
463
|
-
const result = this.allocate();
|
|
464
|
-
this.value = input;
|
|
465
|
-
this.unassign();
|
|
466
|
-
return result;
|
|
467
|
-
}
|
|
468
|
-
unassign() {
|
|
469
|
-
MappedStruct._unassignSubarrays(this._members);
|
|
470
|
-
this._buffer = undefined;
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
//# sourceMappingURL=static.js.map
|