@yume-chan/struct 0.0.18 → 0.0.20

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 (73) hide show
  1. package/CHANGELOG.json +27 -0
  2. package/CHANGELOG.md +16 -1
  3. package/README.md +126 -143
  4. package/esm/basic/definition.d.ts +43 -43
  5. package/esm/basic/definition.d.ts.map +1 -1
  6. package/esm/basic/definition.js +23 -23
  7. package/esm/basic/definition.js.map +1 -1
  8. package/esm/basic/field-value.d.ts +38 -38
  9. package/esm/basic/field-value.d.ts.map +1 -1
  10. package/esm/basic/field-value.js +45 -45
  11. package/esm/basic/index.d.ts +5 -5
  12. package/esm/basic/index.js +5 -5
  13. package/esm/basic/options.d.ts +9 -9
  14. package/esm/basic/options.js +3 -3
  15. package/esm/basic/stream.d.ts +24 -19
  16. package/esm/basic/stream.d.ts.map +1 -1
  17. package/esm/basic/stream.js +7 -1
  18. package/esm/basic/stream.js.map +1 -1
  19. package/esm/basic/struct-value.d.ts +25 -25
  20. package/esm/basic/struct-value.d.ts.map +1 -1
  21. package/esm/basic/struct-value.js +56 -56
  22. package/esm/index.d.ts +14 -13
  23. package/esm/index.d.ts.map +1 -1
  24. package/esm/index.js +6 -5
  25. package/esm/index.js.map +1 -1
  26. package/esm/struct.d.ts +140 -129
  27. package/esm/struct.d.ts.map +1 -1
  28. package/esm/struct.js +242 -210
  29. package/esm/struct.js.map +1 -1
  30. package/esm/sync-promise.d.ts +12 -12
  31. package/esm/sync-promise.js +70 -70
  32. package/esm/sync-promise.js.map +1 -1
  33. package/esm/types/bigint.d.ts +25 -24
  34. package/esm/types/bigint.d.ts.map +1 -1
  35. package/esm/types/bigint.js +47 -46
  36. package/esm/types/bigint.js.map +1 -1
  37. package/esm/types/buffer/base.d.ts +64 -63
  38. package/esm/types/buffer/base.d.ts.map +1 -1
  39. package/esm/types/buffer/base.js +102 -100
  40. package/esm/types/buffer/base.js.map +1 -1
  41. package/esm/types/buffer/fixed-length.d.ts +8 -7
  42. package/esm/types/buffer/fixed-length.d.ts.map +1 -1
  43. package/esm/types/buffer/fixed-length.js +6 -6
  44. package/esm/types/buffer/fixed-length.js.map +1 -1
  45. package/esm/types/buffer/index.d.ts +3 -3
  46. package/esm/types/buffer/index.js +3 -3
  47. package/esm/types/buffer/variable-length.d.ts +44 -42
  48. package/esm/types/buffer/variable-length.d.ts.map +1 -1
  49. package/esm/types/buffer/variable-length.js +75 -75
  50. package/esm/types/buffer/variable-length.js.map +1 -1
  51. package/esm/types/index.d.ts +3 -3
  52. package/esm/types/index.js +3 -3
  53. package/esm/types/number.d.ts +27 -26
  54. package/esm/types/number.d.ts.map +1 -1
  55. package/esm/types/number.js +111 -113
  56. package/esm/types/number.js.map +1 -1
  57. package/esm/utils.d.ts +47 -47
  58. package/esm/utils.js +15 -15
  59. package/package.json +9 -8
  60. package/src/basic/definition.ts +6 -9
  61. package/src/basic/field-value.ts +3 -3
  62. package/src/basic/index.ts +5 -5
  63. package/src/basic/stream.ts +18 -7
  64. package/src/basic/struct-value.ts +1 -1
  65. package/src/index.ts +6 -5
  66. package/src/struct.ts +91 -59
  67. package/src/sync-promise.ts +12 -12
  68. package/src/types/bigint.ts +11 -12
  69. package/src/types/buffer/base.ts +12 -12
  70. package/src/types/buffer/fixed-length.ts +2 -1
  71. package/src/types/buffer/variable-length.ts +8 -11
  72. package/src/types/number.ts +28 -33
  73. package/tsconfig.build.tsbuildinfo +1 -1
package/esm/struct.js CHANGED
@@ -1,211 +1,243 @@
1
- import { STRUCT_VALUE_SYMBOL, StructDefaultOptions, StructValue, } from "./basic/index.js";
2
- import { SyncPromise } from "./sync-promise.js";
3
- import { BigIntFieldDefinition, BigIntFieldType, FixedLengthBufferLikeFieldDefinition, NumberFieldDefinition, NumberFieldType, StringBufferFieldSubType, Uint8ArrayBufferFieldSubType, VariableLengthBufferLikeFieldDefinition, } from "./types/index.js";
4
- export class Struct {
5
- TFields;
6
- TOmitInitKey;
7
- TExtra;
8
- TInit;
9
- TDeserializeResult;
10
- options;
11
- _size = 0;
12
- /**
13
- * Gets the static size (exclude fields that can change size at runtime)
14
- */
15
- get size() {
16
- return this._size;
17
- }
18
- _fields = [];
19
- _extra = {};
20
- _postDeserialized;
21
- constructor(options) {
22
- this.options = { ...StructDefaultOptions, ...options };
23
- }
24
- /**
25
- * Appends a `StructFieldDefinition` to the `Struct
26
- */
27
- field(name, definition) {
28
- for (const field of this._fields) {
29
- if (field[0] === name) {
30
- throw new Error(`This struct already have a field with name '${String(name)}'`);
31
- }
32
- }
33
- this._fields.push([name, definition]);
34
- const size = definition.getSize();
35
- this._size += size;
36
- // Force cast `this` to another type
37
- return this;
38
- }
39
- /**
40
- * Merges (flats) another `Struct`'s fields and extra fields into this one.
41
- */
42
- fields(other) {
43
- for (const field of other._fields) {
44
- this._fields.push(field);
45
- }
46
- this._size += other._size;
47
- Object.defineProperties(this._extra, Object.getOwnPropertyDescriptors(other._extra));
48
- return this;
49
- }
50
- number(name, type, typeScriptType) {
51
- return this.field(name, new NumberFieldDefinition(type, typeScriptType));
52
- }
53
- /**
54
- * Appends an `int8` field to the `Struct`
55
- */
56
- int8(name, typeScriptType) {
57
- return this.number(name, NumberFieldType.Int8, typeScriptType);
58
- }
59
- /**
60
- * Appends an `uint8` field to the `Struct`
61
- */
62
- uint8(name, typeScriptType) {
63
- return this.number(name, NumberFieldType.Uint8, typeScriptType);
64
- }
65
- /**
66
- * Appends an `int16` field to the `Struct`
67
- */
68
- int16(name, typeScriptType) {
69
- return this.number(name, NumberFieldType.Int16, typeScriptType);
70
- }
71
- /**
72
- * Appends an `uint16` field to the `Struct`
73
- */
74
- uint16(name, typeScriptType) {
75
- return this.number(name, NumberFieldType.Uint16, typeScriptType);
76
- }
77
- /**
78
- * Appends an `int32` field to the `Struct`
79
- */
80
- int32(name, typeScriptType) {
81
- return this.number(name, NumberFieldType.Int32, typeScriptType);
82
- }
83
- /**
84
- * Appends an `uint32` field to the `Struct`
85
- */
86
- uint32(name, typeScriptType) {
87
- return this.number(name, NumberFieldType.Uint32, typeScriptType);
88
- }
89
- bigint(name, type, typeScriptType) {
90
- return this.field(name, new BigIntFieldDefinition(type, typeScriptType));
91
- }
92
- /**
93
- * Appends an `int64` field to the `Struct`
94
- *
95
- * Requires native `BigInt` support
96
- */
97
- int64(name, typeScriptType) {
98
- return this.bigint(name, BigIntFieldType.Int64, typeScriptType);
99
- }
100
- /**
101
- * Appends an `uint64` field to the `Struct`
102
- *
103
- * Requires native `BigInt` support
104
- */
105
- uint64(name, typeScriptType) {
106
- return this.bigint(name, BigIntFieldType.Uint64, typeScriptType);
107
- }
108
- arrayBufferLike = (name, type, options) => {
109
- if ("length" in options) {
110
- return this.field(name, new FixedLengthBufferLikeFieldDefinition(type, options));
111
- }
112
- else {
113
- return this.field(name, new VariableLengthBufferLikeFieldDefinition(type, options));
114
- }
115
- };
116
- uint8Array = (name, options, typeScriptType) => {
117
- return this.arrayBufferLike(name, Uint8ArrayBufferFieldSubType.Instance, options, typeScriptType);
118
- };
119
- string = (name, options, typeScriptType) => {
120
- return this.arrayBufferLike(name, StringBufferFieldSubType.Instance, options, typeScriptType);
121
- };
122
- /**
123
- * Adds some extra properties into every `Struct` value.
124
- *
125
- * Extra properties will not affect serialize or deserialize process.
126
- *
127
- * Multiple calls to `extra` will merge all properties together.
128
- *
129
- * @param value
130
- * An object containing properties to be added to the result value. Accessors and methods are also allowed.
131
- */
132
- extra(value) {
133
- Object.defineProperties(this._extra, Object.getOwnPropertyDescriptors(value));
134
- return this;
135
- }
136
- postDeserialize(callback) {
137
- this._postDeserialized = callback;
138
- return this;
139
- }
140
- deserialize(stream) {
141
- const structValue = new StructValue(this._extra);
142
- let promise = SyncPromise.resolve();
143
- for (const [name, definition] of this._fields) {
144
- promise = promise
145
- .then(() => definition.deserialize(this.options, stream, structValue))
146
- .then((fieldValue) => {
147
- structValue.set(name, fieldValue);
148
- });
149
- }
150
- return promise
151
- .then(() => {
152
- const object = structValue.value;
153
- // Run `postDeserialized`
154
- if (this._postDeserialized) {
155
- const override = this._postDeserialized.call(object, object);
156
- // If it returns a new value, use that as result
157
- // Otherwise it only inspects/mutates the object in place.
158
- if (override !== undefined) {
159
- return override;
160
- }
161
- }
162
- return object;
163
- })
164
- .valueOrPromise();
165
- }
166
- serialize(init, output) {
167
- let structValue;
168
- if (STRUCT_VALUE_SYMBOL in init) {
169
- structValue = init[STRUCT_VALUE_SYMBOL];
170
- for (const [key, value] of Object.entries(init)) {
171
- const fieldValue = structValue.get(key);
172
- if (fieldValue) {
173
- fieldValue.set(value);
174
- }
175
- }
176
- }
177
- else {
178
- structValue = new StructValue({});
179
- for (const [name, definition] of this._fields) {
180
- const fieldValue = definition.create(this.options, structValue, init[name]);
181
- structValue.set(name, fieldValue);
182
- }
183
- }
184
- let structSize = 0;
185
- const fieldsInfo = [];
186
- for (const [name] of this._fields) {
187
- const fieldValue = structValue.get(name);
188
- const size = fieldValue.getSize();
189
- fieldsInfo.push({ fieldValue, size });
190
- structSize += size;
191
- }
192
- let outputType = "number";
193
- if (!output) {
194
- output = new Uint8Array(structSize);
195
- outputType = "Uint8Array";
196
- }
197
- const dataView = new DataView(output.buffer, output.byteOffset, output.byteLength);
198
- let offset = 0;
199
- for (const { fieldValue, size } of fieldsInfo) {
200
- fieldValue.serialize(dataView, offset);
201
- offset += size;
202
- }
203
- if (outputType === "number") {
204
- return structSize;
205
- }
206
- else {
207
- return output;
208
- }
209
- }
210
- }
1
+ import { ExactReadableEndedError, STRUCT_VALUE_SYMBOL, StructDefaultOptions, StructValue, } from "./basic/index.js";
2
+ import { SyncPromise } from "./sync-promise.js";
3
+ import { BigIntFieldDefinition, BigIntFieldType, FixedLengthBufferLikeFieldDefinition, NumberFieldDefinition, NumberFieldType, StringBufferFieldSubType, Uint8ArrayBufferFieldSubType, VariableLengthBufferLikeFieldDefinition, } from "./types/index.js";
4
+ export class StructDeserializeError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ Object.setPrototypeOf(this, new.target.prototype);
8
+ }
9
+ }
10
+ export class StructNotEnoughDataError extends StructDeserializeError {
11
+ constructor() {
12
+ super("The underlying readable was ended before the struct was fully deserialized");
13
+ }
14
+ }
15
+ export class StructEmptyError extends StructDeserializeError {
16
+ constructor() {
17
+ super("The underlying readable doesn't contain any more struct");
18
+ }
19
+ }
20
+ export class Struct {
21
+ TFields;
22
+ TOmitInitKey;
23
+ TExtra;
24
+ TInit;
25
+ TDeserializeResult;
26
+ options;
27
+ #size = 0;
28
+ /**
29
+ * Gets the static size (exclude fields that can change size at runtime)
30
+ */
31
+ get size() {
32
+ return this.#size;
33
+ }
34
+ #fields = [];
35
+ get fields() {
36
+ return this.#fields;
37
+ }
38
+ #extra = {};
39
+ #postDeserialized;
40
+ constructor(options) {
41
+ this.options = { ...StructDefaultOptions, ...options };
42
+ }
43
+ /**
44
+ * Appends a `StructFieldDefinition` to the `Struct
45
+ */
46
+ field(name, definition) {
47
+ for (const field of this.#fields) {
48
+ if (field[0] === name) {
49
+ // Convert Symbol to string
50
+ const nameString = String(name);
51
+ throw new Error(`This struct already have a field with name '${nameString}'`);
52
+ }
53
+ }
54
+ this.#fields.push([name, definition]);
55
+ const size = definition.getSize();
56
+ this.#size += size;
57
+ // Force cast `this` to another type
58
+ return this;
59
+ }
60
+ /**
61
+ * Merges (flats) another `Struct`'s fields and extra fields into this one.
62
+ */
63
+ concat(other) {
64
+ for (const field of other.#fields) {
65
+ this.#fields.push(field);
66
+ }
67
+ this.#size += other.#size;
68
+ Object.defineProperties(this.#extra, Object.getOwnPropertyDescriptors(other.#extra));
69
+ return this;
70
+ }
71
+ number(name, type, typeScriptType) {
72
+ return this.field(name, new NumberFieldDefinition(type, typeScriptType));
73
+ }
74
+ /**
75
+ * Appends an `int8` field to the `Struct`
76
+ */
77
+ int8(name, typeScriptType) {
78
+ return this.number(name, NumberFieldType.Int8, typeScriptType);
79
+ }
80
+ /**
81
+ * Appends an `uint8` field to the `Struct`
82
+ */
83
+ uint8(name, typeScriptType) {
84
+ return this.number(name, NumberFieldType.Uint8, typeScriptType);
85
+ }
86
+ /**
87
+ * Appends an `int16` field to the `Struct`
88
+ */
89
+ int16(name, typeScriptType) {
90
+ return this.number(name, NumberFieldType.Int16, typeScriptType);
91
+ }
92
+ /**
93
+ * Appends an `uint16` field to the `Struct`
94
+ */
95
+ uint16(name, typeScriptType) {
96
+ return this.number(name, NumberFieldType.Uint16, typeScriptType);
97
+ }
98
+ /**
99
+ * Appends an `int32` field to the `Struct`
100
+ */
101
+ int32(name, typeScriptType) {
102
+ return this.number(name, NumberFieldType.Int32, typeScriptType);
103
+ }
104
+ /**
105
+ * Appends an `uint32` field to the `Struct`
106
+ */
107
+ uint32(name, typeScriptType) {
108
+ return this.number(name, NumberFieldType.Uint32, typeScriptType);
109
+ }
110
+ bigint(name, type, typeScriptType) {
111
+ return this.field(name, new BigIntFieldDefinition(type, typeScriptType));
112
+ }
113
+ /**
114
+ * Appends an `int64` field to the `Struct`
115
+ *
116
+ * Requires native `BigInt` support
117
+ */
118
+ int64(name, typeScriptType) {
119
+ return this.bigint(name, BigIntFieldType.Int64, typeScriptType);
120
+ }
121
+ /**
122
+ * Appends an `uint64` field to the `Struct`
123
+ *
124
+ * Requires native `BigInt` support
125
+ */
126
+ uint64(name, typeScriptType) {
127
+ return this.bigint(name, BigIntFieldType.Uint64, typeScriptType);
128
+ }
129
+ arrayBufferLike = (name, type, options) => {
130
+ if ("length" in options) {
131
+ return this.field(name, new FixedLengthBufferLikeFieldDefinition(type, options));
132
+ }
133
+ else {
134
+ return this.field(name, new VariableLengthBufferLikeFieldDefinition(type, options));
135
+ }
136
+ };
137
+ uint8Array = (name, options, typeScriptType) => {
138
+ return this.arrayBufferLike(name, Uint8ArrayBufferFieldSubType.Instance, options, typeScriptType);
139
+ };
140
+ string = (name, options, typeScriptType) => {
141
+ return this.arrayBufferLike(name, StringBufferFieldSubType.Instance, options, typeScriptType);
142
+ };
143
+ /**
144
+ * Adds some extra properties into every `Struct` value.
145
+ *
146
+ * Extra properties will not affect serialize or deserialize process.
147
+ *
148
+ * Multiple calls to `extra` will merge all properties together.
149
+ *
150
+ * @param value
151
+ * An object containing properties to be added to the result value. Accessors and methods are also allowed.
152
+ */
153
+ extra(value) {
154
+ Object.defineProperties(this.#extra, Object.getOwnPropertyDescriptors(value));
155
+ return this;
156
+ }
157
+ postDeserialize(callback) {
158
+ this.#postDeserialized = callback;
159
+ return this;
160
+ }
161
+ deserialize(stream) {
162
+ const structValue = new StructValue(this.#extra);
163
+ let promise = SyncPromise.resolve();
164
+ const startPosition = stream.position;
165
+ for (const [name, definition] of this.#fields) {
166
+ promise = promise
167
+ .then(() => definition.deserialize(this.options, stream, structValue))
168
+ .then((fieldValue) => {
169
+ structValue.set(name, fieldValue);
170
+ }, (e) => {
171
+ if (!(e instanceof ExactReadableEndedError)) {
172
+ throw e;
173
+ }
174
+ if (stream.position === startPosition) {
175
+ throw new StructEmptyError();
176
+ }
177
+ else {
178
+ throw new StructNotEnoughDataError();
179
+ }
180
+ });
181
+ }
182
+ return promise
183
+ .then(() => {
184
+ const value = structValue.value;
185
+ // Run `postDeserialized`
186
+ if (this.#postDeserialized) {
187
+ const override = this.#postDeserialized.call(value, value);
188
+ // If it returns a new value, use that as result
189
+ // Otherwise it only inspects/mutates the object in place.
190
+ if (override !== undefined) {
191
+ return override;
192
+ }
193
+ }
194
+ return value;
195
+ })
196
+ .valueOrPromise();
197
+ }
198
+ serialize(init, output) {
199
+ let structValue;
200
+ if (STRUCT_VALUE_SYMBOL in init) {
201
+ structValue = init[STRUCT_VALUE_SYMBOL];
202
+ for (const [key, value] of Object.entries(init)) {
203
+ const fieldValue = structValue.get(key);
204
+ if (fieldValue) {
205
+ fieldValue.set(value);
206
+ }
207
+ }
208
+ }
209
+ else {
210
+ structValue = new StructValue({});
211
+ for (const [name, definition] of this.#fields) {
212
+ const fieldValue = definition.create(this.options, structValue, init[name]);
213
+ structValue.set(name, fieldValue);
214
+ }
215
+ }
216
+ let structSize = 0;
217
+ const fieldsInfo = [];
218
+ for (const [name] of this.#fields) {
219
+ const fieldValue = structValue.get(name);
220
+ const size = fieldValue.getSize();
221
+ fieldsInfo.push({ fieldValue, size });
222
+ structSize += size;
223
+ }
224
+ let outputType = "number";
225
+ if (!output) {
226
+ output = new Uint8Array(structSize);
227
+ outputType = "Uint8Array";
228
+ }
229
+ const dataView = new DataView(output.buffer, output.byteOffset, output.byteLength);
230
+ let offset = 0;
231
+ for (const { fieldValue, size } of fieldsInfo) {
232
+ fieldValue.serialize(dataView, offset);
233
+ offset += size;
234
+ }
235
+ if (outputType === "number") {
236
+ return structSize;
237
+ }
238
+ else {
239
+ return output;
240
+ }
241
+ }
242
+ }
211
243
  //# sourceMappingURL=struct.js.map
package/esm/struct.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"struct.js","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"struct.js","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- export interface SyncPromise<T> {
2
- then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): SyncPromise<TResult1 | TResult2>;
3
- valueOrPromise(): T | PromiseLike<T>;
4
- }
5
- interface SyncPromiseStatic {
6
- reject<T = never>(reason?: any): SyncPromise<T>;
7
- resolve(): SyncPromise<void>;
8
- resolve<T>(value: T | PromiseLike<T>): SyncPromise<T>;
9
- try<T>(executor: () => T | PromiseLike<T>): SyncPromise<T>;
10
- }
11
- export declare const SyncPromise: SyncPromiseStatic;
12
- export {};
1
+ export interface SyncPromise<T> {
2
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined): SyncPromise<TResult1 | TResult2>;
3
+ valueOrPromise(): T | PromiseLike<T>;
4
+ }
5
+ interface SyncPromiseStatic {
6
+ reject<T = never>(reason?: any): SyncPromise<T>;
7
+ resolve(): SyncPromise<void>;
8
+ resolve<T>(value: T | PromiseLike<T>): SyncPromise<T>;
9
+ try<T>(executor: () => T | PromiseLike<T>): SyncPromise<T>;
10
+ }
11
+ export declare const SyncPromise: SyncPromiseStatic;
12
+ export {};
13
13
  //# sourceMappingURL=sync-promise.d.ts.map