@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
@@ -1,101 +1,103 @@
1
- import { StructFieldDefinition, StructFieldValue, } from "../../basic/index.js";
2
- import { SyncPromise } from "../../sync-promise.js";
3
- import { decodeUtf8, encodeUtf8 } from "../../utils.js";
4
- /**
5
- * Base class for all types that
6
- * can be converted from an `Uint8Array` when deserialized,
7
- * and need to be converted to an `Uint8Array` when serializing
8
- *
9
- * @template TValue The actual TypeScript type of this type
10
- * @template TTypeScriptType Optional another type (should be compatible with `TType`)
11
- * specified by user when creating field definitions.
12
- */
13
- export class BufferFieldSubType {
14
- TTypeScriptType;
15
- }
16
- /** An `BufferFieldSubType` that's actually an `Uint8Array` */
17
- export class Uint8ArrayBufferFieldSubType extends BufferFieldSubType {
18
- static Instance = new Uint8ArrayBufferFieldSubType();
19
- constructor() {
20
- super();
21
- }
22
- toBuffer(value) {
23
- return value;
24
- }
25
- toValue(buffer) {
26
- return buffer;
27
- }
28
- getSize(value) {
29
- return value.byteLength;
30
- }
31
- }
32
- /** An `BufferFieldSubType` that converts between `Uint8Array` and `string` */
33
- export class StringBufferFieldSubType extends BufferFieldSubType {
34
- static Instance = new StringBufferFieldSubType();
35
- toBuffer(value) {
36
- return encodeUtf8(value);
37
- }
38
- toValue(array) {
39
- return decodeUtf8(array);
40
- }
41
- getSize() {
42
- // Return `-1`, so `BufferLikeFieldDefinition` will
43
- // convert this `value` into an `Uint8Array` (and cache the result),
44
- // Then get the size from that `Uint8Array`
45
- return -1;
46
- }
47
- }
48
- export const EMPTY_UINT8_ARRAY = new Uint8Array(0);
49
- export class BufferLikeFieldDefinition extends StructFieldDefinition {
50
- type;
51
- constructor(type, options) {
52
- super(options);
53
- this.type = type;
54
- }
55
- getDeserializeSize(struct) {
56
- void struct;
57
- return this.getSize();
58
- }
59
- /**
60
- * When implemented in derived classes, creates a `StructFieldValue` for the current field definition.
61
- */
62
- create(options, struct, value, array) {
63
- return new BufferLikeFieldValue(this, options, struct, value, array);
64
- }
65
- deserialize(options, stream, struct) {
66
- return SyncPromise.try(() => {
67
- const size = this.getDeserializeSize(struct);
68
- if (size === 0) {
69
- return EMPTY_UINT8_ARRAY;
70
- }
71
- else {
72
- return stream.read(size);
73
- }
74
- })
75
- .then((array) => {
76
- const value = this.type.toValue(array);
77
- return this.create(options, struct, value, array);
78
- })
79
- .valueOrPromise();
80
- }
81
- }
82
- export class BufferLikeFieldValue extends StructFieldValue {
83
- array;
84
- constructor(definition, options, struct, value, array) {
85
- super(definition, options, struct, value);
86
- this.array = array;
87
- }
88
- set(value) {
89
- super.set(value);
90
- // When value changes, clear the cached `array`
91
- // It will be lazily calculated in `serialize()`
92
- this.array = undefined;
93
- }
94
- serialize(dataView, offset) {
95
- if (!this.array) {
96
- this.array = this.definition.type.toBuffer(this.value);
97
- }
98
- new Uint8Array(dataView.buffer, dataView.byteOffset, dataView.byteLength).set(this.array, offset);
99
- }
100
- }
1
+ import { StructFieldDefinition, StructFieldValue } from "../../basic/index.js";
2
+ import { SyncPromise } from "../../sync-promise.js";
3
+ import { decodeUtf8, encodeUtf8 } from "../../utils.js";
4
+ /**
5
+ * Base class for all types that
6
+ * can be converted from an `Uint8Array` when deserialized,
7
+ * and need to be converted to an `Uint8Array` when serializing
8
+ *
9
+ * @template TValue The actual TypeScript type of this type
10
+ * @template TTypeScriptType Optional another type (should be compatible with `TType`)
11
+ * specified by user when creating field definitions.
12
+ */
13
+ export class BufferFieldSubType {
14
+ TTypeScriptType;
15
+ }
16
+ /** An `BufferFieldSubType` that's actually an `Uint8Array` */
17
+ class Uint8ArrayBufferFieldSubType extends BufferFieldSubType {
18
+ static Instance = new Uint8ArrayBufferFieldSubType();
19
+ constructor() {
20
+ super();
21
+ }
22
+ toBuffer(value) {
23
+ return value;
24
+ }
25
+ toValue(buffer) {
26
+ return buffer;
27
+ }
28
+ getSize(value) {
29
+ return value.byteLength;
30
+ }
31
+ }
32
+ export { Uint8ArrayBufferFieldSubType };
33
+ /** An `BufferFieldSubType` that converts between `Uint8Array` and `string` */
34
+ class StringBufferFieldSubType extends BufferFieldSubType {
35
+ static Instance = new StringBufferFieldSubType();
36
+ toBuffer(value) {
37
+ return encodeUtf8(value);
38
+ }
39
+ toValue(array) {
40
+ return decodeUtf8(array);
41
+ }
42
+ getSize() {
43
+ // Return `-1`, so `BufferLikeFieldDefinition` will
44
+ // convert this `value` into an `Uint8Array` (and cache the result),
45
+ // Then get the size from that `Uint8Array`
46
+ return -1;
47
+ }
48
+ }
49
+ export { StringBufferFieldSubType };
50
+ export const EMPTY_UINT8_ARRAY = new Uint8Array(0);
51
+ export class BufferLikeFieldDefinition extends StructFieldDefinition {
52
+ type;
53
+ constructor(type, options) {
54
+ super(options);
55
+ this.type = type;
56
+ }
57
+ getDeserializeSize(struct) {
58
+ void struct;
59
+ return this.getSize();
60
+ }
61
+ /**
62
+ * When implemented in derived classes, creates a `StructFieldValue` for the current field definition.
63
+ */
64
+ create(options, struct, value, array) {
65
+ return new BufferLikeFieldValue(this, options, struct, value, array);
66
+ }
67
+ deserialize(options, stream, struct) {
68
+ return SyncPromise.try(() => {
69
+ const size = this.getDeserializeSize(struct);
70
+ if (size === 0) {
71
+ return EMPTY_UINT8_ARRAY;
72
+ }
73
+ else {
74
+ return stream.readExactly(size);
75
+ }
76
+ })
77
+ .then((array) => {
78
+ const value = this.type.toValue(array);
79
+ return this.create(options, struct, value, array);
80
+ })
81
+ .valueOrPromise();
82
+ }
83
+ }
84
+ export class BufferLikeFieldValue extends StructFieldValue {
85
+ array;
86
+ constructor(definition, options, struct, value, array) {
87
+ super(definition, options, struct, value);
88
+ this.array = array;
89
+ }
90
+ set(value) {
91
+ super.set(value);
92
+ // When value changes, clear the cached `array`
93
+ // It will be lazily calculated in `serialize()`
94
+ this.array = undefined;
95
+ }
96
+ serialize(dataView, offset) {
97
+ if (!this.array) {
98
+ this.array = this.definition.type.toBuffer(this.value);
99
+ }
100
+ new Uint8Array(dataView.buffer, dataView.byteOffset, dataView.byteLength).set(this.array, offset);
101
+ }
102
+ }
101
103
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/buffer/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/buffer/base.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { BufferLikeFieldDefinition, type BufferFieldSubType } from "./base.js";
2
- export interface FixedLengthBufferLikeFieldOptions {
3
- length: number;
4
- }
5
- export declare class FixedLengthBufferLikeFieldDefinition<TType extends BufferFieldSubType = BufferFieldSubType, TOptions extends FixedLengthBufferLikeFieldOptions = FixedLengthBufferLikeFieldOptions, TTypeScriptType = TType["TTypeScriptType"]> extends BufferLikeFieldDefinition<TType, TOptions, never, TTypeScriptType> {
6
- getSize(): number;
7
- }
1
+ import type { BufferFieldSubType } from "./base.js";
2
+ import { BufferLikeFieldDefinition } from "./base.js";
3
+ export interface FixedLengthBufferLikeFieldOptions {
4
+ length: number;
5
+ }
6
+ export declare class FixedLengthBufferLikeFieldDefinition<TType extends BufferFieldSubType = BufferFieldSubType, TOptions extends FixedLengthBufferLikeFieldOptions = FixedLengthBufferLikeFieldOptions, TTypeScriptType = TType["TTypeScriptType"]> extends BufferLikeFieldDefinition<TType, TOptions, never, TTypeScriptType> {
7
+ getSize(): number;
8
+ }
8
9
  //# sourceMappingURL=fixed-length.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-length.d.ts","sourceRoot":"","sources":["../../../src/types/buffer/fixed-length.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/E,MAAM,WAAW,iCAAiC;IAC9C,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oCAAoC,CAC7C,KAAK,SAAS,kBAAkB,GAAG,kBAAkB,EACrD,QAAQ,SAAS,iCAAiC,GAAG,iCAAiC,EACtF,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAC5C,SAAQ,yBAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC;IACjE,OAAO,IAAI,MAAM;CAG3B"}
1
+ {"version":3,"file":"fixed-length.d.ts","sourceRoot":"","sources":["../../../src/types/buffer/fixed-length.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,iCAAiC;IAC9C,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oCAAoC,CAC7C,KAAK,SAAS,kBAAkB,GAAG,kBAAkB,EACrD,QAAQ,SAAS,iCAAiC,GAAG,iCAAiC,EACtF,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAC5C,SAAQ,yBAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC;IACjE,OAAO,IAAI,MAAM;CAG3B"}
@@ -1,7 +1,7 @@
1
- import { BufferLikeFieldDefinition } from "./base.js";
2
- export class FixedLengthBufferLikeFieldDefinition extends BufferLikeFieldDefinition {
3
- getSize() {
4
- return this.options.length;
5
- }
6
- }
1
+ import { BufferLikeFieldDefinition } from "./base.js";
2
+ export class FixedLengthBufferLikeFieldDefinition extends BufferLikeFieldDefinition {
3
+ getSize() {
4
+ return this.options.length;
5
+ }
6
+ }
7
7
  //# sourceMappingURL=fixed-length.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-length.js","sourceRoot":"","sources":["../../../src/types/buffer/fixed-length.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA2B,MAAM,WAAW,CAAC;AAM/E,MAAM,OAAO,oCAIX,SAAQ,yBAAkE;IACjE,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;CACJ"}
1
+ {"version":3,"file":"fixed-length.js","sourceRoot":"","sources":["../../../src/types/buffer/fixed-length.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAMtD,MAAM,OAAO,oCAIX,SAAQ,yBAAkE;IACjE,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;CACJ"}
@@ -1,4 +1,4 @@
1
- export * from "./base.js";
2
- export * from "./fixed-length.js";
3
- export * from "./variable-length.js";
1
+ export * from "./base.js";
2
+ export * from "./fixed-length.js";
3
+ export * from "./variable-length.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- export * from "./base.js";
2
- export * from "./fixed-length.js";
3
- export * from "./variable-length.js";
1
+ export * from "./base.js";
2
+ export * from "./fixed-length.js";
3
+ export * from "./variable-length.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1,43 +1,45 @@
1
- import { StructFieldValue, type StructFieldDefinition, type StructOptions, type StructValue } from "../../basic/index.js";
2
- import { type KeysOfType } from "../../utils.js";
3
- import { BufferLikeFieldDefinition, BufferLikeFieldValue, type BufferFieldSubType } from "./base.js";
4
- export type LengthField<TFields> = KeysOfType<TFields, number | string>;
5
- export interface VariableLengthBufferLikeFieldOptions<TFields = object, TLengthField extends LengthField<TFields> = any> {
6
- /**
7
- * The name of the field that contains the length of the buffer.
8
- *
9
- * This field must be a `number` or `string` (can't be `bigint`) field.
10
- */
11
- lengthField: TLengthField;
12
- /**
13
- * If the `lengthField` refers to a string field,
14
- * what radix to use when converting the string to a number.
15
- *
16
- * @default 10
17
- */
18
- lengthFieldRadix?: number;
19
- }
20
- export declare class VariableLengthBufferLikeFieldDefinition<TType extends BufferFieldSubType = BufferFieldSubType, TOptions extends VariableLengthBufferLikeFieldOptions = VariableLengthBufferLikeFieldOptions, TTypeScriptType = TType["TTypeScriptType"]> extends BufferLikeFieldDefinition<TType, TOptions, TOptions["lengthField"], TTypeScriptType> {
21
- getSize(): number;
22
- protected getDeserializeSize(struct: StructValue): number;
23
- create(options: Readonly<StructOptions>, struct: StructValue, value: TTypeScriptType, array?: Uint8Array): VariableLengthBufferLikeStructFieldValue<this>;
24
- }
25
- export declare class VariableLengthBufferLikeStructFieldValue<TDefinition extends VariableLengthBufferLikeFieldDefinition = VariableLengthBufferLikeFieldDefinition> extends BufferLikeFieldValue<TDefinition> {
26
- protected length: number | undefined;
27
- protected lengthFieldValue: VariableLengthBufferLikeFieldLengthValue;
28
- constructor(definition: TDefinition, options: Readonly<StructOptions>, struct: StructValue, value: TDefinition["TValue"], array?: Uint8Array);
29
- getSize(): number;
30
- set(value: unknown): void;
31
- }
32
- type VariableLengthBufferLikeFieldValueLike = StructFieldValue<StructFieldDefinition<VariableLengthBufferLikeFieldOptions, any, any>>;
33
- export declare class VariableLengthBufferLikeFieldLengthValue extends StructFieldValue {
34
- protected originalField: StructFieldValue;
35
- protected bufferField: VariableLengthBufferLikeFieldValueLike;
36
- constructor(originalField: StructFieldValue, arrayBufferField: VariableLengthBufferLikeFieldValueLike);
37
- getSize(): number;
38
- get(): string | number;
39
- set(): void;
40
- serialize(dataView: DataView, offset: number): void;
41
- }
42
- export {};
1
+ import type { StructFieldDefinition, StructOptions, StructValue } from "../../basic/index.js";
2
+ import { StructFieldValue } from "../../basic/index.js";
3
+ import type { KeysOfType } from "../../utils.js";
4
+ import type { BufferFieldSubType } from "./base.js";
5
+ import { BufferLikeFieldDefinition, BufferLikeFieldValue } from "./base.js";
6
+ export type LengthField<TFields> = KeysOfType<TFields, number | string>;
7
+ export interface VariableLengthBufferLikeFieldOptions<TFields = object, TLengthField extends LengthField<TFields> = any> {
8
+ /**
9
+ * The name of the field that contains the length of the buffer.
10
+ *
11
+ * This field must be a `number` or `string` (can't be `bigint`) field.
12
+ */
13
+ lengthField: TLengthField;
14
+ /**
15
+ * If the `lengthField` refers to a string field,
16
+ * what radix to use when converting the string to a number.
17
+ *
18
+ * @default 10
19
+ */
20
+ lengthFieldRadix?: number;
21
+ }
22
+ export declare class VariableLengthBufferLikeFieldDefinition<TType extends BufferFieldSubType = BufferFieldSubType, TOptions extends VariableLengthBufferLikeFieldOptions = VariableLengthBufferLikeFieldOptions, TTypeScriptType = TType["TTypeScriptType"]> extends BufferLikeFieldDefinition<TType, TOptions, TOptions["lengthField"], TTypeScriptType> {
23
+ getSize(): number;
24
+ protected getDeserializeSize(struct: StructValue): number;
25
+ create(options: Readonly<StructOptions>, struct: StructValue, value: TTypeScriptType, array?: Uint8Array): VariableLengthBufferLikeStructFieldValue<this>;
26
+ }
27
+ export declare class VariableLengthBufferLikeStructFieldValue<TDefinition extends VariableLengthBufferLikeFieldDefinition = VariableLengthBufferLikeFieldDefinition> extends BufferLikeFieldValue<TDefinition> {
28
+ protected length: number | undefined;
29
+ protected lengthFieldValue: VariableLengthBufferLikeFieldLengthValue;
30
+ constructor(definition: TDefinition, options: Readonly<StructOptions>, struct: StructValue, value: TDefinition["TValue"], array?: Uint8Array);
31
+ getSize(): number;
32
+ set(value: unknown): void;
33
+ }
34
+ type VariableLengthBufferLikeFieldValueLike = StructFieldValue<StructFieldDefinition<VariableLengthBufferLikeFieldOptions, any, any>>;
35
+ export declare class VariableLengthBufferLikeFieldLengthValue extends StructFieldValue {
36
+ protected originalField: StructFieldValue;
37
+ protected bufferField: VariableLengthBufferLikeFieldValueLike;
38
+ constructor(originalField: StructFieldValue, arrayBufferField: VariableLengthBufferLikeFieldValueLike);
39
+ getSize(): number;
40
+ get(): string | number;
41
+ set(): void;
42
+ serialize(dataView: DataView, offset: number): void;
43
+ }
44
+ export {};
43
45
  //# sourceMappingURL=variable-length.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable-length.d.ts","sourceRoot":"","sources":["../../../src/types/buffer/variable-length.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,WAAW,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EACH,yBAAyB,EACzB,oBAAoB,EACpB,KAAK,kBAAkB,EAC1B,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAExE,MAAM,WAAW,oCAAoC,CACjD,OAAO,GAAG,MAAM,EAChB,YAAY,SAAS,WAAW,CAAC,OAAO,CAAC,GAAG,GAAG;IAE/C;;;;OAIG;IACH,WAAW,EAAE,YAAY,CAAC;IAE1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,uCAAuC,CAChD,KAAK,SAAS,kBAAkB,GAAG,kBAAkB,EACrD,QAAQ,SAAS,oCAAoC,GAAG,oCAAoC,EAC5F,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAC5C,SAAQ,yBAAyB,CAC/B,KAAK,EACL,QAAQ,EACR,QAAQ,CAAC,aAAa,CAAC,EACvB,eAAe,CAClB;IACU,OAAO,IAAI,MAAM;cAIL,kBAAkB,CAAC,MAAM,EAAE,WAAW;IAQzC,MAAM,CAClB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,eAAe,EACtB,KAAK,CAAC,EAAE,UAAU,GACnB,wCAAwC,CAAC,IAAI,CAAC;CASpD;AAED,qBAAa,wCAAwC,CACjD,WAAW,SAAS,uCAAuC,GAAG,uCAAuC,CACvG,SAAQ,oBAAoB,CAAC,WAAW,CAAC;IACvC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,SAAS,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;gBAGjE,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAC5B,KAAK,CAAC,EAAE,UAAU;IAmBN,OAAO;IAYP,GAAG,CAAC,KAAK,EAAE,OAAO;CAKrC;AAGD,KAAK,sCAAsC,GAAG,gBAAgB,CAC1D,qBAAqB,CAAC,oCAAoC,EAAE,GAAG,EAAE,GAAG,CAAC,CACxE,CAAC;AAEF,qBAAa,wCAAyC,SAAQ,gBAAgB;IAC1E,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAE1C,SAAS,CAAC,WAAW,EAAE,sCAAsC,CAAC;gBAG1D,aAAa,EAAE,gBAAgB,EAC/B,gBAAgB,EAAE,sCAAsC;IAY5C,OAAO;IAIP,GAAG;IAaH,GAAG;IAKnB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;CAI/C"}
1
+ {"version":3,"file":"variable-length.d.ts","sourceRoot":"","sources":["../../../src/types/buffer/variable-length.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,qBAAqB,EACrB,aAAa,EACb,WAAW,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAE5E,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAExE,MAAM,WAAW,oCAAoC,CACjD,OAAO,GAAG,MAAM,EAChB,YAAY,SAAS,WAAW,CAAC,OAAO,CAAC,GAAG,GAAG;IAE/C;;;;OAIG;IACH,WAAW,EAAE,YAAY,CAAC;IAE1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,uCAAuC,CAChD,KAAK,SAAS,kBAAkB,GAAG,kBAAkB,EACrD,QAAQ,SAAS,oCAAoC,GAAG,oCAAoC,EAC5F,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAC5C,SAAQ,yBAAyB,CAC/B,KAAK,EACL,QAAQ,EACR,QAAQ,CAAC,aAAa,CAAC,EACvB,eAAe,CAClB;IACU,OAAO,IAAI,MAAM;cAIL,kBAAkB,CAAC,MAAM,EAAE,WAAW;IAQzC,MAAM,CAClB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,eAAe,EACtB,KAAK,CAAC,EAAE,UAAU,GACnB,wCAAwC,CAAC,IAAI,CAAC;CASpD;AAED,qBAAa,wCAAwC,CACjD,WAAW,SAAS,uCAAuC,GAAG,uCAAuC,CACvG,SAAQ,oBAAoB,CAAC,WAAW,CAAC;IACvC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,SAAS,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;gBAGjE,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAC5B,KAAK,CAAC,EAAE,UAAU;IAmBN,OAAO;IAYP,GAAG,CAAC,KAAK,EAAE,OAAO;CAKrC;AAGD,KAAK,sCAAsC,GAAG,gBAAgB,CAC1D,qBAAqB,CAAC,oCAAoC,EAAE,GAAG,EAAE,GAAG,CAAC,CACxE,CAAC;AAEF,qBAAa,wCAAyC,SAAQ,gBAAgB;IAC1E,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAE1C,SAAS,CAAC,WAAW,EAAE,sCAAsC,CAAC;gBAG1D,aAAa,EAAE,gBAAgB,EAC/B,gBAAgB,EAAE,sCAAsC;IAY5C,OAAO;IAIP,GAAG;IAaH,GAAG;IAKnB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;CAI/C"}
@@ -1,76 +1,76 @@
1
- import { StructFieldValue, } from "../../basic/index.js";
2
- import { BufferLikeFieldDefinition, BufferLikeFieldValue, } from "./base.js";
3
- export class VariableLengthBufferLikeFieldDefinition extends BufferLikeFieldDefinition {
4
- getSize() {
5
- return 0;
6
- }
7
- getDeserializeSize(struct) {
8
- let value = struct.value[this.options.lengthField];
9
- if (typeof value === "string") {
10
- value = Number.parseInt(value, this.options.lengthFieldRadix ?? 10);
11
- }
12
- return value;
13
- }
14
- create(options, struct, value, array) {
15
- return new VariableLengthBufferLikeStructFieldValue(this, options, struct, value, array);
16
- }
17
- }
18
- export class VariableLengthBufferLikeStructFieldValue extends BufferLikeFieldValue {
19
- length;
20
- lengthFieldValue;
21
- constructor(definition, options, struct, value, array) {
22
- super(definition, options, struct, value, array);
23
- if (array) {
24
- this.length = array.byteLength;
25
- }
26
- // Patch the associated length field.
27
- const lengthField = this.definition.options.lengthField;
28
- const originalValue = struct.get(lengthField);
29
- this.lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue(originalValue, this);
30
- struct.set(lengthField, this.lengthFieldValue);
31
- }
32
- getSize() {
33
- if (this.length === undefined) {
34
- this.length = this.definition.type.getSize(this.value);
35
- if (this.length === -1) {
36
- this.array = this.definition.type.toBuffer(this.value);
37
- this.length = this.array.byteLength;
38
- }
39
- }
40
- return this.length;
41
- }
42
- set(value) {
43
- super.set(value);
44
- this.array = undefined;
45
- this.length = undefined;
46
- }
47
- }
48
- export class VariableLengthBufferLikeFieldLengthValue extends StructFieldValue {
49
- originalField;
50
- bufferField;
51
- constructor(originalField, arrayBufferField) {
52
- super(originalField.definition, originalField.options, originalField.struct, 0);
53
- this.originalField = originalField;
54
- this.bufferField = arrayBufferField;
55
- }
56
- getSize() {
57
- return this.originalField.getSize();
58
- }
59
- get() {
60
- let value = this.bufferField.getSize();
61
- const originalValue = this.originalField.get();
62
- if (typeof originalValue === "string") {
63
- value = value.toString(this.bufferField.definition.options.lengthFieldRadix ?? 10);
64
- }
65
- return value;
66
- }
67
- set() {
68
- // Ignore setting
69
- // It will always be in sync with the buffer size
70
- }
71
- serialize(dataView, offset) {
72
- this.originalField.set(this.get());
73
- this.originalField.serialize(dataView, offset);
74
- }
75
- }
1
+ import { StructFieldValue } from "../../basic/index.js";
2
+ import { BufferLikeFieldDefinition, BufferLikeFieldValue } from "./base.js";
3
+ export class VariableLengthBufferLikeFieldDefinition extends BufferLikeFieldDefinition {
4
+ getSize() {
5
+ return 0;
6
+ }
7
+ getDeserializeSize(struct) {
8
+ let value = struct.value[this.options.lengthField];
9
+ if (typeof value === "string") {
10
+ value = Number.parseInt(value, this.options.lengthFieldRadix ?? 10);
11
+ }
12
+ return value;
13
+ }
14
+ create(options, struct, value, array) {
15
+ return new VariableLengthBufferLikeStructFieldValue(this, options, struct, value, array);
16
+ }
17
+ }
18
+ export class VariableLengthBufferLikeStructFieldValue extends BufferLikeFieldValue {
19
+ length;
20
+ lengthFieldValue;
21
+ constructor(definition, options, struct, value, array) {
22
+ super(definition, options, struct, value, array);
23
+ if (array) {
24
+ this.length = array.byteLength;
25
+ }
26
+ // Patch the associated length field.
27
+ const lengthField = this.definition.options.lengthField;
28
+ const originalValue = struct.get(lengthField);
29
+ this.lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue(originalValue, this);
30
+ struct.set(lengthField, this.lengthFieldValue);
31
+ }
32
+ getSize() {
33
+ if (this.length === undefined) {
34
+ this.length = this.definition.type.getSize(this.value);
35
+ if (this.length === -1) {
36
+ this.array = this.definition.type.toBuffer(this.value);
37
+ this.length = this.array.byteLength;
38
+ }
39
+ }
40
+ return this.length;
41
+ }
42
+ set(value) {
43
+ super.set(value);
44
+ this.array = undefined;
45
+ this.length = undefined;
46
+ }
47
+ }
48
+ export class VariableLengthBufferLikeFieldLengthValue extends StructFieldValue {
49
+ originalField;
50
+ bufferField;
51
+ constructor(originalField, arrayBufferField) {
52
+ super(originalField.definition, originalField.options, originalField.struct, 0);
53
+ this.originalField = originalField;
54
+ this.bufferField = arrayBufferField;
55
+ }
56
+ getSize() {
57
+ return this.originalField.getSize();
58
+ }
59
+ get() {
60
+ let value = this.bufferField.getSize();
61
+ const originalValue = this.originalField.get();
62
+ if (typeof originalValue === "string") {
63
+ value = value.toString(this.bufferField.definition.options.lengthFieldRadix ?? 10);
64
+ }
65
+ return value;
66
+ }
67
+ set() {
68
+ // Ignore setting
69
+ // It will always be in sync with the buffer size
70
+ }
71
+ serialize(dataView, offset) {
72
+ this.originalField.set(this.get());
73
+ this.originalField.serialize(dataView, offset);
74
+ }
75
+ }
76
76
  //# sourceMappingURL=variable-length.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable-length.js","sourceRoot":"","sources":["../../../src/types/buffer/variable-length.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variable-length.js","sourceRoot":"","sources":["../../../src/types/buffer/variable-length.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export * from "./bigint.js";
2
- export * from "./buffer/index.js";
3
- export * from "./number.js";
1
+ export * from "./bigint.js";
2
+ export * from "./buffer/index.js";
3
+ export * from "./number.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- export * from "./bigint.js";
2
- export * from "./buffer/index.js";
3
- export * from "./number.js";
1
+ export * from "./bigint.js";
2
+ export * from "./buffer/index.js";
3
+ export * from "./number.js";
4
4
  //# sourceMappingURL=index.js.map