@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.d.ts CHANGED
@@ -1,130 +1,141 @@
1
- import { type StructAsyncDeserializeStream, type StructDeserializeStream, type StructFieldDefinition, type StructOptions } from "./basic/index.js";
2
- import { BigIntFieldType, FixedLengthBufferLikeFieldDefinition, StringBufferFieldSubType, Uint8ArrayBufferFieldSubType, VariableLengthBufferLikeFieldDefinition, type BufferFieldSubType, type FixedLengthBufferLikeFieldOptions, type LengthField, type VariableLengthBufferLikeFieldOptions } from "./types/index.js";
3
- import { type Evaluate, type Identity, type Overwrite } from "./utils.js";
4
- export interface StructLike<TValue> {
5
- deserialize(stream: StructDeserializeStream | StructAsyncDeserializeStream): Promise<TValue>;
6
- }
7
- /**
8
- * Extract the value type of the specified `Struct`
9
- */
10
- export type StructValueType<T extends StructLike<unknown>> = Awaited<ReturnType<T["deserialize"]>>;
11
- /**
12
- * Create a new `Struct` type with `TDefinition` appended
13
- */
14
- type AddFieldDescriptor<TFields extends object, TOmitInitKey extends PropertyKey, TExtra extends object, TPostDeserialized, TFieldName extends PropertyKey, TDefinition extends StructFieldDefinition<any, any, any>> = Identity<Struct<Evaluate<TFields & Record<TFieldName, TDefinition["TValue"]>>, TOmitInitKey | TDefinition["TOmitInitKey"], TExtra, TPostDeserialized>>;
15
- /**
16
- * Similar to `ArrayBufferLikeFieldCreator`, but bind to `TType`
17
- */
18
- interface BoundArrayBufferLikeFieldDefinitionCreator<TFields extends object, TOmitInitKey extends PropertyKey, TExtra extends object, TPostDeserialized, TType extends BufferFieldSubType<any, any>> {
19
- <TName extends PropertyKey, TTypeScriptType = TType["TTypeScriptType"]>(name: TName, options: FixedLengthBufferLikeFieldOptions, typeScriptType?: TTypeScriptType): AddFieldDescriptor<TFields, TOmitInitKey, TExtra, TPostDeserialized, TName, FixedLengthBufferLikeFieldDefinition<TType, FixedLengthBufferLikeFieldOptions, TTypeScriptType>>;
20
- <TName extends PropertyKey, TLengthField extends LengthField<TFields>, TOptions extends VariableLengthBufferLikeFieldOptions<TFields, TLengthField>, TTypeScriptType = TType["TTypeScriptType"]>(name: TName, options: TOptions, typeScriptType?: TTypeScriptType): AddFieldDescriptor<TFields, TOmitInitKey, TExtra, TPostDeserialized, TName, VariableLengthBufferLikeFieldDefinition<TType, TOptions, TTypeScriptType>>;
21
- }
22
- export type StructPostDeserialized<TFields, TPostDeserialized> = (this: TFields, object: TFields) => TPostDeserialized;
23
- export type StructDeserializedResult<TFields extends object, TExtra extends object, TPostDeserialized> = TPostDeserialized extends undefined ? Overwrite<TExtra, TFields> : TPostDeserialized;
24
- export declare class Struct<TFields extends object = Record<never, never>, TOmitInitKey extends PropertyKey = never, TExtra extends object = Record<never, never>, TPostDeserialized = undefined> implements StructLike<StructDeserializedResult<TFields, TExtra, TPostDeserialized>> {
25
- readonly TFields: TFields;
26
- readonly TOmitInitKey: TOmitInitKey;
27
- readonly TExtra: TExtra;
28
- readonly TInit: Evaluate<Omit<TFields, TOmitInitKey>>;
29
- readonly TDeserializeResult: StructDeserializedResult<TFields, TExtra, TPostDeserialized>;
30
- readonly options: Readonly<StructOptions>;
31
- private _size;
32
- /**
33
- * Gets the static size (exclude fields that can change size at runtime)
34
- */
35
- get size(): number;
36
- private _fields;
37
- private _extra;
38
- private _postDeserialized?;
39
- constructor(options?: Partial<Readonly<StructOptions>>);
40
- /**
41
- * Appends a `StructFieldDefinition` to the `Struct
42
- */
43
- field<TName extends PropertyKey, TDefinition extends StructFieldDefinition<any, any, any>>(name: TName, definition: TDefinition): AddFieldDescriptor<TFields, TOmitInitKey, TExtra, TPostDeserialized, TName, TDefinition>;
44
- /**
45
- * Merges (flats) another `Struct`'s fields and extra fields into this one.
46
- */
47
- fields<TOther extends Struct<any, any, any, any>>(other: TOther): Struct<TFields & TOther["TFields"], TOmitInitKey | TOther["TOmitInitKey"], TExtra & TOther["TExtra"], TPostDeserialized>;
48
- private number;
49
- /**
50
- * Appends an `int8` field to the `Struct`
51
- */
52
- int8<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
53
- /**
54
- * Appends an `uint8` field to the `Struct`
55
- */
56
- uint8<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
57
- /**
58
- * Appends an `int16` field to the `Struct`
59
- */
60
- int16<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
61
- /**
62
- * Appends an `uint16` field to the `Struct`
63
- */
64
- uint16<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
65
- /**
66
- * Appends an `int32` field to the `Struct`
67
- */
68
- int32<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
69
- /**
70
- * Appends an `uint32` field to the `Struct`
71
- */
72
- uint32<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
73
- private bigint;
74
- /**
75
- * Appends an `int64` field to the `Struct`
76
- *
77
- * Requires native `BigInt` support
78
- */
79
- int64<TName extends PropertyKey, TTypeScriptType = BigIntFieldType["TTypeScriptType"]>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
80
- /**
81
- * Appends an `uint64` field to the `Struct`
82
- *
83
- * Requires native `BigInt` support
84
- */
85
- uint64<TName extends PropertyKey, TTypeScriptType = BigIntFieldType["TTypeScriptType"]>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
86
- private arrayBufferLike;
87
- uint8Array: BoundArrayBufferLikeFieldDefinitionCreator<TFields, TOmitInitKey, TExtra, TPostDeserialized, Uint8ArrayBufferFieldSubType>;
88
- string: BoundArrayBufferLikeFieldDefinitionCreator<TFields, TOmitInitKey, TExtra, TPostDeserialized, StringBufferFieldSubType>;
89
- /**
90
- * Adds some extra properties into every `Struct` value.
91
- *
92
- * Extra properties will not affect serialize or deserialize process.
93
- *
94
- * Multiple calls to `extra` will merge all properties together.
95
- *
96
- * @param value
97
- * An object containing properties to be added to the result value. Accessors and methods are also allowed.
98
- */
99
- extra<T extends Record<Exclude<keyof T, Exclude<keyof T, keyof TFields>>, never>>(value: T & ThisType<Overwrite<Overwrite<TExtra, T>, TFields>>): Struct<TFields, TOmitInitKey, Overwrite<TExtra, T>, TPostDeserialized>;
100
- /**
101
- * Registers (or replaces) a custom callback to be run after deserialized.
102
- *
103
- * A callback returning `never` (always throw an error)
104
- * will also change the return type of `deserialize` to `never`.
105
- */
106
- postDeserialize(callback: StructPostDeserialized<TFields, never>): Struct<TFields, TOmitInitKey, TExtra, never>;
107
- /**
108
- * Registers (or replaces) a custom callback to be run after deserialized.
109
- *
110
- * A callback returning `void` means it modify the result object in-place
111
- * (or doesn't modify it at all), so `deserialize` will still return the result object.
112
- */
113
- postDeserialize(callback?: StructPostDeserialized<TFields, void>): Struct<TFields, TOmitInitKey, TExtra, undefined>;
114
- /**
115
- * Registers (or replaces) a custom callback to be run after deserialized.
116
- *
117
- * A callback returning anything other than `undefined`
118
- * will `deserialize` to return that object instead.
119
- */
120
- postDeserialize<TPostSerialize>(callback?: StructPostDeserialized<TFields, TPostSerialize>): Struct<TFields, TOmitInitKey, TExtra, TPostSerialize>;
121
- /**
122
- * Deserialize a struct value from `stream`.
123
- */
124
- deserialize(stream: StructDeserializeStream): StructDeserializedResult<TFields, TExtra, TPostDeserialized>;
125
- deserialize(stream: StructAsyncDeserializeStream): Promise<StructDeserializedResult<TFields, TExtra, TPostDeserialized>>;
126
- serialize(init: Evaluate<Omit<TFields, TOmitInitKey>>): Uint8Array;
127
- serialize(init: Evaluate<Omit<TFields, TOmitInitKey>>, output: Uint8Array): number;
128
- }
129
- export {};
1
+ import type { AsyncExactReadable, ExactReadable, StructFieldDefinition, StructOptions } from "./basic/index.js";
2
+ import type { BufferFieldSubType, FixedLengthBufferLikeFieldOptions, LengthField, VariableLengthBufferLikeFieldOptions } from "./types/index.js";
3
+ import { BigIntFieldType, FixedLengthBufferLikeFieldDefinition, StringBufferFieldSubType, Uint8ArrayBufferFieldSubType, VariableLengthBufferLikeFieldDefinition } from "./types/index.js";
4
+ import type { Evaluate, Identity, Overwrite } from "./utils.js";
5
+ export interface StructLike<TValue> {
6
+ deserialize(stream: ExactReadable | AsyncExactReadable): Promise<TValue>;
7
+ }
8
+ /**
9
+ * Extract the value type of the specified `Struct`
10
+ */
11
+ export type StructValueType<T extends StructLike<unknown>> = Awaited<ReturnType<T["deserialize"]>>;
12
+ /**
13
+ * Create a new `Struct` type with `TDefinition` appended
14
+ */
15
+ type AddFieldDescriptor<TFields extends object, TOmitInitKey extends PropertyKey, TExtra extends object, TPostDeserialized, TFieldName extends PropertyKey, TDefinition extends StructFieldDefinition<any, any, any>> = Identity<Struct<Evaluate<TFields & Record<TFieldName, TDefinition["TValue"]>>, TOmitInitKey | TDefinition["TOmitInitKey"], TExtra, TPostDeserialized>>;
16
+ /**
17
+ * Similar to `ArrayBufferLikeFieldCreator`, but bind to `TType`
18
+ */
19
+ interface BoundArrayBufferLikeFieldDefinitionCreator<TFields extends object, TOmitInitKey extends PropertyKey, TExtra extends object, TPostDeserialized, TType extends BufferFieldSubType<any, any>> {
20
+ <TName extends PropertyKey, TTypeScriptType = TType["TTypeScriptType"]>(name: TName, options: FixedLengthBufferLikeFieldOptions, typeScriptType?: TTypeScriptType): AddFieldDescriptor<TFields, TOmitInitKey, TExtra, TPostDeserialized, TName, FixedLengthBufferLikeFieldDefinition<TType, FixedLengthBufferLikeFieldOptions, TTypeScriptType>>;
21
+ <TName extends PropertyKey, TLengthField extends LengthField<TFields>, TOptions extends VariableLengthBufferLikeFieldOptions<TFields, TLengthField>, TTypeScriptType = TType["TTypeScriptType"]>(name: TName, options: TOptions, typeScriptType?: TTypeScriptType): AddFieldDescriptor<TFields, TOmitInitKey, TExtra, TPostDeserialized, TName, VariableLengthBufferLikeFieldDefinition<TType, TOptions, TTypeScriptType>>;
22
+ }
23
+ export type StructPostDeserialized<TFields, TPostDeserialized> = (this: TFields, object: TFields) => TPostDeserialized;
24
+ export type StructDeserializedResult<TFields extends object, TExtra extends object, TPostDeserialized> = TPostDeserialized extends undefined ? Overwrite<TExtra, TFields> : TPostDeserialized;
25
+ export declare class StructDeserializeError extends Error {
26
+ constructor(message: string);
27
+ }
28
+ export declare class StructNotEnoughDataError extends StructDeserializeError {
29
+ constructor();
30
+ }
31
+ export declare class StructEmptyError extends StructDeserializeError {
32
+ constructor();
33
+ }
34
+ export declare class Struct<TFields extends object = Record<never, never>, TOmitInitKey extends PropertyKey = never, TExtra extends object = Record<never, never>, TPostDeserialized = undefined> implements StructLike<StructDeserializedResult<TFields, TExtra, TPostDeserialized>> {
35
+ #private;
36
+ readonly TFields: TFields;
37
+ readonly TOmitInitKey: TOmitInitKey;
38
+ readonly TExtra: TExtra;
39
+ readonly TInit: Evaluate<Omit<TFields, TOmitInitKey>>;
40
+ readonly TDeserializeResult: StructDeserializedResult<TFields, TExtra, TPostDeserialized>;
41
+ readonly options: Readonly<StructOptions>;
42
+ /**
43
+ * Gets the static size (exclude fields that can change size at runtime)
44
+ */
45
+ get size(): number;
46
+ get fields(): readonly [
47
+ name: PropertyKey,
48
+ definition: StructFieldDefinition<any, any, any>
49
+ ][];
50
+ constructor(options?: Partial<Readonly<StructOptions>>);
51
+ /**
52
+ * Appends a `StructFieldDefinition` to the `Struct
53
+ */
54
+ field<TName extends PropertyKey, TDefinition extends StructFieldDefinition<any, any, any>>(name: TName, definition: TDefinition): AddFieldDescriptor<TFields, TOmitInitKey, TExtra, TPostDeserialized, TName, TDefinition>;
55
+ /**
56
+ * Merges (flats) another `Struct`'s fields and extra fields into this one.
57
+ */
58
+ concat<TOther extends Struct<any, any, any, any>>(other: TOther): Struct<TFields & TOther["TFields"], TOmitInitKey | TOther["TOmitInitKey"], TExtra & TOther["TExtra"], TPostDeserialized>;
59
+ private number;
60
+ /**
61
+ * Appends an `int8` field to the `Struct`
62
+ */
63
+ int8<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
64
+ /**
65
+ * Appends an `uint8` field to the `Struct`
66
+ */
67
+ uint8<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
68
+ /**
69
+ * Appends an `int16` field to the `Struct`
70
+ */
71
+ int16<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
72
+ /**
73
+ * Appends an `uint16` field to the `Struct`
74
+ */
75
+ uint16<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
76
+ /**
77
+ * Appends an `int32` field to the `Struct`
78
+ */
79
+ int32<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
80
+ /**
81
+ * Appends an `uint32` field to the `Struct`
82
+ */
83
+ uint32<TName extends PropertyKey, TTypeScriptType = number>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
84
+ private bigint;
85
+ /**
86
+ * Appends an `int64` field to the `Struct`
87
+ *
88
+ * Requires native `BigInt` support
89
+ */
90
+ int64<TName extends PropertyKey, TTypeScriptType = BigIntFieldType["TTypeScriptType"]>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
91
+ /**
92
+ * Appends an `uint64` field to the `Struct`
93
+ *
94
+ * Requires native `BigInt` support
95
+ */
96
+ uint64<TName extends PropertyKey, TTypeScriptType = BigIntFieldType["TTypeScriptType"]>(name: TName, typeScriptType?: TTypeScriptType): Struct<Evaluate<TFields & Record<TName, TTypeScriptType>>, TOmitInitKey, TExtra, TPostDeserialized>;
97
+ private arrayBufferLike;
98
+ uint8Array: BoundArrayBufferLikeFieldDefinitionCreator<TFields, TOmitInitKey, TExtra, TPostDeserialized, Uint8ArrayBufferFieldSubType>;
99
+ string: BoundArrayBufferLikeFieldDefinitionCreator<TFields, TOmitInitKey, TExtra, TPostDeserialized, StringBufferFieldSubType>;
100
+ /**
101
+ * Adds some extra properties into every `Struct` value.
102
+ *
103
+ * Extra properties will not affect serialize or deserialize process.
104
+ *
105
+ * Multiple calls to `extra` will merge all properties together.
106
+ *
107
+ * @param value
108
+ * An object containing properties to be added to the result value. Accessors and methods are also allowed.
109
+ */
110
+ extra<T extends Record<Exclude<keyof T, Exclude<keyof T, keyof TFields>>, never>>(value: T & ThisType<Overwrite<Overwrite<TExtra, T>, TFields>>): Struct<TFields, TOmitInitKey, Overwrite<TExtra, T>, TPostDeserialized>;
111
+ /**
112
+ * Registers (or replaces) a custom callback to be run after deserialized.
113
+ *
114
+ * A callback returning `never` (always throw an error)
115
+ * will also change the return type of `deserialize` to `never`.
116
+ */
117
+ postDeserialize(callback: StructPostDeserialized<TFields, never>): Struct<TFields, TOmitInitKey, TExtra, never>;
118
+ /**
119
+ * Registers (or replaces) a custom callback to be run after deserialized.
120
+ *
121
+ * A callback returning `void` means it modify the result object in-place
122
+ * (or doesn't modify it at all), so `deserialize` will still return the result object.
123
+ */
124
+ postDeserialize(callback?: StructPostDeserialized<TFields, void>): Struct<TFields, TOmitInitKey, TExtra, undefined>;
125
+ /**
126
+ * Registers (or replaces) a custom callback to be run after deserialized.
127
+ *
128
+ * A callback returning anything other than `undefined`
129
+ * will `deserialize` to return that object instead.
130
+ */
131
+ postDeserialize<TPostSerialize>(callback?: StructPostDeserialized<TFields, TPostSerialize>): Struct<TFields, TOmitInitKey, TExtra, TPostSerialize>;
132
+ /**
133
+ * Deserialize a struct value from `stream`.
134
+ */
135
+ deserialize(stream: ExactReadable): StructDeserializedResult<TFields, TExtra, TPostDeserialized>;
136
+ deserialize(stream: AsyncExactReadable): Promise<StructDeserializedResult<TFields, TExtra, TPostDeserialized>>;
137
+ serialize(init: Evaluate<Omit<TFields, TOmitInitKey>>): Uint8Array;
138
+ serialize(init: Evaluate<Omit<TFields, TOmitInitKey>>, output: Uint8Array): number;
139
+ }
140
+ export {};
130
141
  //# sourceMappingURL=struct.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EAErB,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACR,kBAAkB,EAClB,iCAAiC,EACjC,WAAW,EACX,oCAAoC,EACvC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEH,eAAe,EACf,oCAAoC,EAGpC,wBAAwB,EACxB,4BAA4B,EAC5B,uCAAuC,EAC1C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAkB,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,UAAU,CAAC,MAAM;IAC9B,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5E;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,CAChE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAC/B,CAAC;AAEF;;GAEG;AACH,KAAK,kBAAkB,CACnB,OAAO,SAAS,MAAM,EACtB,YAAY,SAAS,WAAW,EAChC,MAAM,SAAS,MAAM,EACrB,iBAAiB,EACjB,UAAU,SAAS,WAAW,EAC9B,WAAW,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACxD,QAAQ,CACR,MAAM,CAGF,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAE7D,YAAY,GAAG,WAAW,CAAC,cAAc,CAAC,EAC1C,MAAM,EACN,iBAAiB,CACpB,CACJ,CAAC;AAgEF;;GAEG;AACH,UAAU,0CAA0C,CAChD,OAAO,SAAS,MAAM,EACtB,YAAY,SAAS,WAAW,EAChC,MAAM,SAAS,MAAM,EACrB,iBAAiB,EACjB,KAAK,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;IAE1C,CAAC,KAAK,SAAS,WAAW,EAAE,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,EAClE,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,iCAAiC,EAC1C,cAAc,CAAC,EAAE,eAAe,GACjC,kBAAkB,CACjB,OAAO,EACP,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,KAAK,EACL,oCAAoC,CAChC,KAAK,EACL,iCAAiC,EACjC,eAAe,CAClB,CACJ,CAAC;IAEF,CACI,KAAK,SAAS,WAAW,EACzB,YAAY,SAAS,WAAW,CAAC,OAAO,CAAC,EACzC,QAAQ,SAAS,oCAAoC,CACjD,OAAO,EACP,YAAY,CACf,EACD,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,EAE1C,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,cAAc,CAAC,EAAE,eAAe,GACjC,kBAAkB,CACjB,OAAO,EACP,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,KAAK,EACL,uCAAuC,CACnC,KAAK,EACL,QAAQ,EACR,eAAe,CAClB,CACJ,CAAC;CACL;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,IAAI,CAC7D,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,KACd,iBAAiB,CAAC;AAEvB,MAAM,MAAM,wBAAwB,CAChC,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,EACrB,iBAAiB,IACjB,iBAAiB,SAAS,SAAS,GACjC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1B,iBAAiB,CAAC;AAExB,qBAAa,sBAAuB,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAIrC;AAED,qBAAa,wBAAyB,SAAQ,sBAAsB;;CAMnE;AAED,qBAAa,gBAAiB,SAAQ,sBAAsB;;CAI3D;AAED,qBAAa,MAAM,CACf,OAAO,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC7C,YAAY,SAAS,WAAW,GAAG,KAAK,EACxC,MAAM,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5C,iBAAiB,GAAG,SAAS,CAC/B,YACM,UAAU,CACN,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAC/D;;IAEL,SAAgB,OAAO,EAAG,OAAO,CAAC;IAElC,SAAgB,YAAY,EAAG,YAAY,CAAC;IAE5C,SAAgB,MAAM,EAAG,MAAM,CAAC;IAEhC,SAAgB,KAAK,EAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9D,SAAgB,kBAAkB,EAAG,wBAAwB,CACzD,OAAO,EACP,MAAM,EACN,iBAAiB,CACpB,CAAC;IAEF,SAAgB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAGjD;;OAEG;IACH,IAAW,IAAI,WAEd;IAMD,IAAW,MAAM,IAAI,SAAS;QAC1B,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACnD,EAAE,CAEF;gBAMkB,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAI7D;;OAEG;IACI,KAAK,CACR,KAAK,SAAS,WAAW,EACzB,WAAW,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAExD,IAAI,EAAE,KAAK,EACX,UAAU,EAAE,WAAW,GACxB,kBAAkB,CACjB,OAAO,EACP,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,KAAK,EACL,WAAW,CACd;IAoBD;;OAEG;IACI,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACnD,KAAK,EAAE,MAAM,GACd,MAAM,CACL,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAC3B,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,EACrC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EACzB,iBAAiB,CACpB;IAYD,OAAO,CAAC,MAAM;IAWd;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,WAAW,EAAE,eAAe,GAAG,MAAM,EAC3D,IAAI,EAAE,KAAK,EACX,cAAc,CAAC,EAAE,eAAe;IAKpC;;OAEG;IACI,KAAK,CAAC,KAAK,SAAS,WAAW,EAAE,eAAe,GAAG,MAAM,EAC5D,IAAI,EAAE,KAAK,EACX,cAAc,CAAC,EAAE,eAAe;IAKpC;;OAEG;IACI,KAAK,CAAC,KAAK,SAAS,WAAW,EAAE,eAAe,GAAG,MAAM,EAC5D,IAAI,EAAE,KAAK,EACX,cAAc,CAAC,EAAE,eAAe;IAKpC;;OAEG;IACI,MAAM,CAAC,KAAK,SAAS,WAAW,EAAE,eAAe,GAAG,MAAM,EAC7D,IAAI,EAAE,KAAK,EACX,cAAc,CAAC,EAAE,eAAe;IAKpC;;OAEG;IACI,KAAK,CAAC,KAAK,SAAS,WAAW,EAAE,eAAe,GAAG,MAAM,EAC5D,IAAI,EAAE,KAAK,EACX,cAAc,CAAC,EAAE,eAAe;IAKpC;;OAEG;IACI,MAAM,CAAC,KAAK,SAAS,WAAW,EAAE,eAAe,GAAG,MAAM,EAC7D,IAAI,EAAE,KAAK,EACX,cAAc,CAAC,EAAE,eAAe;IAKpC,OAAO,CAAC,MAAM;IAWd;;;;OAIG;IACI,KAAK,CACR,KAAK,SAAS,WAAW,EACzB,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC,EACtD,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,eAAe;IAI/C;;;;OAIG;IACI,MAAM,CACT,KAAK,SAAS,WAAW,EACzB,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC,EACtD,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,eAAe;IAI/C,OAAO,CAAC,eAAe,CAuBrB;IAEK,UAAU,EAAE,0CAA0C,CACzD,OAAO,EACP,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,4BAA4B,CAC/B,CAOC;IAEK,MAAM,EAAE,0CAA0C,CACrD,OAAO,EACP,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,wBAAwB,CAC3B,CAOC;IAEF;;;;;;;;;OASG;IACI,KAAK,CACR,CAAC,SAAS,MAAM,CAEZ,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,EACjD,KAAK,CACR,EAED,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAC9D,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC;IAQzE;;;;;OAKG;IACI,eAAe,CAClB,QAAQ,EAAE,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,GACjD,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC;IAC/C;;;;;OAKG;IACI,eAAe,CAClB,QAAQ,CAAC,EAAE,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,GACjD,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC;IACnD;;;;;OAKG;IACI,eAAe,CAAC,cAAc,EACjC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,GAC3D,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC;IAMxD;;OAEG;IACI,WAAW,CACd,MAAM,EAAE,aAAa,GACtB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC;IACxD,WAAW,CACd,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAqDjE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,UAAU;IAClE,SAAS,CACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAC3C,MAAM,EAAE,UAAU,GACnB,MAAM;CA2DZ"}