@yume-chan/struct 2.0.1 → 3.0.0-beta.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/LICENSE +1 -1
- package/esm/bipedal.d.ts +1 -1
- package/esm/bipedal.d.ts.map +1 -1
- package/esm/buffer.d.ts +65 -20
- package/esm/buffer.d.ts.map +1 -1
- package/esm/buffer.js +114 -117
- package/esm/buffer.js.map +1 -1
- package/esm/concat.js.map +1 -1
- package/esm/extend.js.map +1 -1
- package/esm/field/types.d.ts +8 -2
- package/esm/field/types.d.ts.map +1 -1
- package/esm/index.d.ts +0 -8
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/readable.d.ts +4 -0
- package/esm/readable.d.ts.map +1 -1
- package/esm/readable.js +5 -0
- package/esm/readable.js.map +1 -1
- package/esm/struct.d.ts +6 -2
- package/esm/struct.d.ts.map +1 -1
- package/esm/struct.js +6 -3
- package/esm/struct.js.map +1 -1
- package/esm/utils.d.ts +7 -2
- package/esm/utils.d.ts.map +1 -1
- package/esm/utils.js +1 -1
- package/esm/utils.js.map +1 -1
- package/package.json +11 -11
- package/src/bipedal.ts +1 -1
- package/src/buffer.ts +226 -228
- package/src/concat.ts +1 -1
- package/src/extend.ts +1 -1
- package/src/field/types.ts +10 -6
- package/src/index.ts +0 -12
- package/src/readable.ts +12 -0
- package/src/struct.ts +16 -5
- package/src/utils.ts +7 -3
- package/tsconfig.build.json +0 -5
- package/CHANGELOG.md +0 -153
- package/tsconfig.build.tsbuildinfo +0 -1
package/LICENSE
CHANGED
package/esm/bipedal.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
|
-
export type BipedalGenerator<This, T, A extends unknown[]> = (this: This, then: <U>(value: MaybePromiseLike<U>) => Iterable<unknown, U, unknown>, ...args: A) => Generator<unknown, T
|
|
2
|
+
export type BipedalGenerator<This, T, A extends unknown[]> = (this: This, then: <U>(value: MaybePromiseLike<U>) => Iterable<unknown, U, unknown>, ...args: A) => Generator<unknown, MaybePromiseLike<T>, unknown>;
|
|
3
3
|
export declare function bipedal<This, T, A extends unknown[]>(fn: BipedalGenerator<This, T, A>, bindThis?: This): {
|
|
4
4
|
(this: This, ...args: A): MaybePromiseLike<T>;
|
|
5
5
|
};
|
package/esm/bipedal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bipedal.d.ts","sourceRoot":"","sources":["../src/bipedal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAsBzD,MAAM,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CACzD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EACtE,GAAG,IAAI,EAAE,CAAC,KACT,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bipedal.d.ts","sourceRoot":"","sources":["../src/bipedal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAsBzD,MAAM,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CACzD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EACtE,GAAG,IAAI,EAAE,CAAC,KACT,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAGtD,wBAAgB,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,EAChD,EAAE,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAChC,QAAQ,CAAC,EAAE,IAAI,GAChB;IAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,CAgCnD"}
|
package/esm/buffer.d.ts
CHANGED
|
@@ -7,24 +7,69 @@ export interface Converter<From, To> {
|
|
|
7
7
|
export interface BufferLengthConverter<K, KT> extends Converter<KT, number> {
|
|
8
8
|
field: K;
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
declare function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export
|
|
10
|
+
/**
|
|
11
|
+
* Create a fixed-length `Uint8Array` field.
|
|
12
|
+
*
|
|
13
|
+
* @param length Length of the field
|
|
14
|
+
*/
|
|
15
|
+
export declare function buffer(length: number): Field<Uint8Array, never, never, Uint8Array>;
|
|
16
|
+
/**
|
|
17
|
+
* Create a custom-typed field, backed by a fixed-length `Uint8Array`.
|
|
18
|
+
*
|
|
19
|
+
* @param length Length of the field
|
|
20
|
+
* @param converter A value converter to convert between `Uint8Array` and the target type
|
|
21
|
+
*/
|
|
22
|
+
export declare function buffer<U>(length: number, converter: Converter<Uint8Array, U>): Field<U, never, never, Uint8Array>;
|
|
23
|
+
/**
|
|
24
|
+
* Create a variable-length `Uint8Array` field.
|
|
25
|
+
* The length is determined by another number-typed field.
|
|
26
|
+
*
|
|
27
|
+
* @param lengthField Name of the length field. Must be declared before this field
|
|
28
|
+
*/
|
|
29
|
+
export declare function buffer<K extends string>(lengthField: K): Field<Uint8Array, K, Record<K, number>, Uint8Array>;
|
|
30
|
+
/**
|
|
31
|
+
* Create a custom-typed field, backed by a variable-length `Uint8Array`.
|
|
32
|
+
* The length is determined by another number-typed field.
|
|
33
|
+
*
|
|
34
|
+
* @param lengthField Name of the length field. Must be declared before this field
|
|
35
|
+
* @param converter A value converter to convert between `Uint8Array` and the target type
|
|
36
|
+
*/
|
|
37
|
+
export declare function buffer<K extends string, U>(lengthField: K, converter: Converter<Uint8Array, U>): Field<U, K, Record<K, number>, Uint8Array>;
|
|
38
|
+
/**
|
|
39
|
+
* Create a variable-length `Uint8Array` field.
|
|
40
|
+
* The length is determined by converting another field to `number`.
|
|
41
|
+
*
|
|
42
|
+
* @param length
|
|
43
|
+
* Name of the length field,
|
|
44
|
+
* and a converter to convert between source type and `number`.
|
|
45
|
+
* Must be declared before this field
|
|
46
|
+
*/
|
|
47
|
+
export declare function buffer<K extends string, KT>(length: BufferLengthConverter<K, KT>): Field<Uint8Array, K, Record<K, KT>, Uint8Array>;
|
|
48
|
+
/**
|
|
49
|
+
* Create a custom-typed field, backed by a variable-length `Uint8Array`.
|
|
50
|
+
* The length is determined by converting another field to `number`.
|
|
51
|
+
*
|
|
52
|
+
* @param length
|
|
53
|
+
* Name of the length field,
|
|
54
|
+
* and a converter to convert between source type and `number`.
|
|
55
|
+
* Must be declared before this field
|
|
56
|
+
* @param converter
|
|
57
|
+
* A value converter to convert between `Uint8Array` and the target type
|
|
58
|
+
*/
|
|
59
|
+
export declare function buffer<K extends string, KT, U>(length: BufferLengthConverter<K, KT>, converter: Converter<Uint8Array, U>): Field<U, K, Record<K, KT>, Uint8Array>;
|
|
60
|
+
/**
|
|
61
|
+
* Create a length field, and a variable-length `Uint8Array` field.
|
|
62
|
+
* This is a shortcut when the length field is directly before the data field.
|
|
63
|
+
*
|
|
64
|
+
* @param length The length field declaration
|
|
65
|
+
*/
|
|
66
|
+
export declare function buffer<LengthOmitInit extends string, LengthDependencies>(length: Field<number, LengthOmitInit, LengthDependencies, number>): Field<Uint8Array, LengthOmitInit, LengthDependencies, Uint8Array>;
|
|
67
|
+
/**
|
|
68
|
+
* Create a length field, and a custom-typed field, backed by a variable-length `Uint8Array`.
|
|
69
|
+
* This is a shortcut when the length field is directly before the data field.
|
|
70
|
+
*
|
|
71
|
+
* @param length The length field declaration
|
|
72
|
+
* @param converter A value converter to convert between `Uint8Array` and the target type
|
|
73
|
+
*/
|
|
74
|
+
export declare function buffer<LengthOmitInit extends string, LengthDependencies, U>(length: Field<number, LengthOmitInit, LengthDependencies, number>, converter: Converter<Uint8Array, U>): Field<U, LengthOmitInit, LengthDependencies, Uint8Array>;
|
|
30
75
|
//# sourceMappingURL=buffer.d.ts.map
|
package/esm/buffer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGR,KAAK,EACR,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,eAAe,yBAAoB,CAAC;AAmBjD,MAAM,WAAW,SAAS,CAAC,IAAI,EAAE,EAAE;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;IAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAE,SAAQ,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC;CACZ;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAClB,MAAM,EAAE,MAAM,GACf,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/C;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,GACpC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EACnC,WAAW,EAAE,CAAC,GACf,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AACvD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EACtC,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,GACpC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EACvC,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,GACrC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACnD;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAC1C,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EACpC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,GACpC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,cAAc,SAAS,MAAM,EAAE,kBAAkB,EACpE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,CAAC,GAClE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;AACrE;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,cAAc,SAAS,MAAM,EAAE,kBAAkB,EAAE,CAAC,EACvE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,CAAC,EACjE,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,GACpC,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC"}
|
package/esm/buffer.js
CHANGED
|
@@ -1,82 +1,89 @@
|
|
|
1
1
|
import { field } from "./field/index.js";
|
|
2
2
|
export const EmptyUint8Array = new Uint8Array(0);
|
|
3
|
+
function copyMaybeDifferentLength(dest, source, index, length) {
|
|
4
|
+
if (source.length < length) {
|
|
5
|
+
dest.set(source, index);
|
|
6
|
+
// Clear trailing bytes
|
|
7
|
+
dest.fill(0, index + source.length, index + length);
|
|
8
|
+
}
|
|
9
|
+
else if (source.length === length) {
|
|
10
|
+
dest.set(source, index);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
dest.set(source.subarray(0, length), index);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
3
16
|
/* #__NO_SIDE_EFFECTS__ */
|
|
4
|
-
function
|
|
17
|
+
export function buffer(lengthOrField, converter) {
|
|
5
18
|
// Fixed length
|
|
6
19
|
if (typeof lengthOrField === "number") {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
20
|
+
let serialize;
|
|
21
|
+
let deserialize;
|
|
22
|
+
let init;
|
|
23
|
+
if (lengthOrField === 0) {
|
|
24
|
+
serialize = () => { };
|
|
25
|
+
if (converter) {
|
|
10
26
|
// eslint-disable-next-line require-yield
|
|
11
|
-
function* () {
|
|
27
|
+
deserialize = function* () {
|
|
12
28
|
return converter.convert(EmptyUint8Array);
|
|
13
|
-
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// eslint-disable-next-line require-yield
|
|
33
|
+
deserialize = function* () {
|
|
34
|
+
return EmptyUint8Array;
|
|
35
|
+
};
|
|
14
36
|
}
|
|
15
|
-
return field(lengthOrField, "byob", (value, { buffer, index }) => {
|
|
16
|
-
buffer.set(value.slice(0, lengthOrField), index);
|
|
17
|
-
}, function* (then, reader) {
|
|
18
|
-
const array = yield* then(reader.readExactly(lengthOrField));
|
|
19
|
-
return converter.convert(array);
|
|
20
|
-
}, {
|
|
21
|
-
init(value) {
|
|
22
|
-
return converter.back(value);
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
37
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
else {
|
|
39
|
+
serialize = (value, { buffer, index }) => copyMaybeDifferentLength(buffer, value, index, lengthOrField);
|
|
40
|
+
if (converter) {
|
|
41
|
+
deserialize = function* (then, reader) {
|
|
42
|
+
const array = reader.readExactly(lengthOrField);
|
|
43
|
+
return converter.convert(yield* then(array));
|
|
44
|
+
};
|
|
45
|
+
init = (value) => converter.back(value);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// eslint-disable-next-line require-yield
|
|
49
|
+
deserialize = function* (_then, reader) {
|
|
50
|
+
const array = reader.readExactly(lengthOrField);
|
|
51
|
+
return array;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
32
54
|
}
|
|
33
|
-
return field(lengthOrField, "byob",
|
|
34
|
-
buffer.set(value.slice(0, lengthOrField), index);
|
|
35
|
-
},
|
|
36
|
-
// eslint-disable-next-line require-yield
|
|
37
|
-
function* (_then, reader) {
|
|
38
|
-
return reader.readExactly(lengthOrField);
|
|
39
|
-
});
|
|
55
|
+
return field(lengthOrField, "byob", serialize, deserialize, { init });
|
|
40
56
|
}
|
|
41
57
|
// Declare length field
|
|
42
58
|
// Some field types are `function`s
|
|
43
59
|
if ((typeof lengthOrField === "object" ||
|
|
44
60
|
typeof lengthOrField === "function") &&
|
|
45
61
|
"serialize" in lengthOrField) {
|
|
62
|
+
let deserialize;
|
|
63
|
+
let init;
|
|
46
64
|
if (converter) {
|
|
47
|
-
|
|
48
|
-
if (lengthOrField.type === "default") {
|
|
49
|
-
const lengthBuffer = lengthOrField.serialize(value.length, { littleEndian });
|
|
50
|
-
const result = new Uint8Array(lengthBuffer.length + value.length);
|
|
51
|
-
result.set(lengthBuffer, 0);
|
|
52
|
-
result.set(value, lengthBuffer.length);
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
const result = new Uint8Array(lengthOrField.size + value.length);
|
|
57
|
-
lengthOrField.serialize(value.length, {
|
|
58
|
-
buffer: result,
|
|
59
|
-
index: 0,
|
|
60
|
-
littleEndian,
|
|
61
|
-
});
|
|
62
|
-
result.set(value, lengthOrField.size);
|
|
63
|
-
return result;
|
|
64
|
-
}
|
|
65
|
-
}, function* (then, reader, context) {
|
|
65
|
+
deserialize = function* (then, reader, context) {
|
|
66
66
|
const length = yield* then(lengthOrField.deserialize(reader, context));
|
|
67
|
-
const array =
|
|
68
|
-
return converter.convert(array);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
const array = length !== 0 ? reader.readExactly(length) : EmptyUint8Array;
|
|
68
|
+
return converter.convert(yield* then(array));
|
|
69
|
+
};
|
|
70
|
+
init = (value) => converter.back(value);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
deserialize = function* (then, reader, context) {
|
|
74
|
+
const length = yield* then(lengthOrField.deserialize(reader, context));
|
|
75
|
+
const array = length !== 0 ? reader.readExactly(length) : EmptyUint8Array;
|
|
76
|
+
return array;
|
|
77
|
+
};
|
|
74
78
|
}
|
|
75
79
|
return field(lengthOrField.size, "default", (value, { littleEndian }) => {
|
|
76
80
|
if (lengthOrField.type === "default") {
|
|
77
81
|
const lengthBuffer = lengthOrField.serialize(value.length, {
|
|
78
82
|
littleEndian,
|
|
79
83
|
});
|
|
84
|
+
if (value.length === 0) {
|
|
85
|
+
return lengthBuffer;
|
|
86
|
+
}
|
|
80
87
|
const result = new Uint8Array(lengthBuffer.length + value.length);
|
|
81
88
|
result.set(lengthBuffer, 0);
|
|
82
89
|
result.set(value, lengthBuffer.length);
|
|
@@ -92,79 +99,69 @@ function _buffer(lengthOrField, converter) {
|
|
|
92
99
|
result.set(value, lengthOrField.size);
|
|
93
100
|
return result;
|
|
94
101
|
}
|
|
95
|
-
},
|
|
96
|
-
const length = yield* then(lengthOrField.deserialize(reader, context));
|
|
97
|
-
return yield* then(reader.readExactly(length));
|
|
98
|
-
});
|
|
102
|
+
}, deserialize, { init });
|
|
99
103
|
}
|
|
100
|
-
// Reference
|
|
104
|
+
// Reference existing length field
|
|
101
105
|
if (typeof lengthOrField === "string") {
|
|
106
|
+
let deserialize;
|
|
107
|
+
let init;
|
|
102
108
|
if (converter) {
|
|
103
|
-
|
|
109
|
+
deserialize = function* (then, reader, { dependencies }) {
|
|
110
|
+
const length = dependencies[lengthOrField];
|
|
111
|
+
const array = length !== 0 ? reader.readExactly(length) : EmptyUint8Array;
|
|
112
|
+
return converter.convert(yield* then(array));
|
|
113
|
+
};
|
|
114
|
+
init = (value, dependencies) => {
|
|
115
|
+
const array = converter.back(value);
|
|
116
|
+
dependencies[lengthOrField] = array.length;
|
|
117
|
+
return array;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
104
121
|
// eslint-disable-next-line require-yield
|
|
105
|
-
function* (_then, reader, { dependencies }) {
|
|
122
|
+
deserialize = function* (_then, reader, { dependencies }) {
|
|
106
123
|
const length = dependencies[lengthOrField];
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return array;
|
|
116
|
-
},
|
|
117
|
-
});
|
|
124
|
+
const array = length !== 0 ? reader.readExactly(length) : EmptyUint8Array;
|
|
125
|
+
return array;
|
|
126
|
+
};
|
|
127
|
+
init = (value, dependencies) => {
|
|
128
|
+
const array = value;
|
|
129
|
+
dependencies[lengthOrField] = array.length;
|
|
130
|
+
return array;
|
|
131
|
+
};
|
|
118
132
|
}
|
|
119
|
-
return field(0, "default", (source) => source,
|
|
120
|
-
// eslint-disable-next-line require-yield
|
|
121
|
-
function* (_then, reader, { dependencies }) {
|
|
122
|
-
const length = dependencies[lengthOrField];
|
|
123
|
-
if (length === 0) {
|
|
124
|
-
return EmptyUint8Array;
|
|
125
|
-
}
|
|
126
|
-
return reader.readExactly(length);
|
|
127
|
-
}, {
|
|
128
|
-
init(value, dependencies) {
|
|
129
|
-
dependencies[lengthOrField] = value.length;
|
|
130
|
-
return undefined;
|
|
131
|
-
},
|
|
132
|
-
});
|
|
133
|
+
return field(0, "default", (source) => source, deserialize, { init });
|
|
133
134
|
}
|
|
134
|
-
|
|
135
|
+
let deserialize;
|
|
136
|
+
let init;
|
|
137
|
+
// Reference existing length field + length converter
|
|
135
138
|
if (converter) {
|
|
136
|
-
|
|
139
|
+
deserialize = function* (then, reader, { dependencies }) {
|
|
140
|
+
const rawLength = dependencies[lengthOrField.field];
|
|
141
|
+
const length = lengthOrField.convert(rawLength);
|
|
142
|
+
const array = length !== 0 ? reader.readExactly(length) : EmptyUint8Array;
|
|
143
|
+
return converter.convert(yield* then(array));
|
|
144
|
+
};
|
|
145
|
+
init = (value, dependencies) => {
|
|
146
|
+
const array = converter.back(value);
|
|
147
|
+
dependencies[lengthOrField.field] = lengthOrField.back(array.length);
|
|
148
|
+
return array;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
137
152
|
// eslint-disable-next-line require-yield
|
|
138
|
-
function* (_then, reader, { dependencies }) {
|
|
153
|
+
deserialize = function* (_then, reader, { dependencies }) {
|
|
139
154
|
const rawLength = dependencies[lengthOrField.field];
|
|
140
155
|
const length = lengthOrField.convert(rawLength);
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
return array;
|
|
150
|
-
},
|
|
151
|
-
});
|
|
156
|
+
const array = length !== 0 ? reader.readExactly(length) : EmptyUint8Array;
|
|
157
|
+
return array;
|
|
158
|
+
};
|
|
159
|
+
init = (value, dependencies) => {
|
|
160
|
+
const array = value;
|
|
161
|
+
dependencies[lengthOrField.field] = lengthOrField.back(array.length);
|
|
162
|
+
return array;
|
|
163
|
+
};
|
|
152
164
|
}
|
|
153
|
-
return field(0, "default", (source) => source,
|
|
154
|
-
// eslint-disable-next-line require-yield
|
|
155
|
-
function* (_then, reader, { dependencies }) {
|
|
156
|
-
const rawLength = dependencies[lengthOrField.field];
|
|
157
|
-
const length = lengthOrField.convert(rawLength);
|
|
158
|
-
if (length === 0) {
|
|
159
|
-
return EmptyUint8Array;
|
|
160
|
-
}
|
|
161
|
-
return reader.readExactly(length);
|
|
162
|
-
}, {
|
|
163
|
-
init(value, dependencies) {
|
|
164
|
-
dependencies[lengthOrField.field] = lengthOrField.back(value.length);
|
|
165
|
-
return undefined;
|
|
166
|
-
},
|
|
167
|
-
});
|
|
165
|
+
return field(0, "default", (source) => source, deserialize, { init });
|
|
168
166
|
}
|
|
169
|
-
export const buffer = _buffer;
|
|
170
167
|
//# sourceMappingURL=buffer.js.map
|
package/esm/buffer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"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"}
|
package/esm/concat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concat.js","sourceRoot":"","sources":["../src/concat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAwCrC,0BAA0B;AAC1B,MAAM,UAAU,MAAM,CAQlB,OAMC,EACD,GAAG,OAAU;IAEb,OAAO,MAAM,CACT,OAAO,CAAC,MAAM,CACV,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EACxD,EAAE,CACI,EACV;QACI,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,KAAK,EAAE,OAAO,CAAC,MAAM,CACjB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACf,MAAM,CAAC,gBAAgB,CACnB,MAAM,EACN,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CACjD,EACL,EAAE,CACI;KACb,
|
|
1
|
+
{"version":3,"file":"concat.js","sourceRoot":"","sources":["../src/concat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAwCrC,0BAA0B;AAC1B,MAAM,UAAU,MAAM,CAQlB,OAMC,EACD,GAAG,OAAU;IAEb,OAAO,MAAM,CACT,OAAO,CAAC,MAAM,CACV,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EACxD,EAAE,CACI,EACV;QACI,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,KAAK,EAAE,OAAO,CAAC,MAAM,CACjB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACf,MAAM,CAAC,gBAAgB,CACnB,MAAM,EACN,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CACjD,EACL,EAAE,CACI;KACb,CACJ,CAAC;AACN,CAAC"}
|
package/esm/extend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend.js","sourceRoot":"","sources":["../src/extend.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,0BAA0B;AAC1B,MAAM,UAAU,MAAM,CAUlB,IAAU,EACV,MAAc,EACd,OAQC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QAClD,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,YAAY;QACxD,KAAK,EAAE,IAAI,CAAC,KAAc;QAC1B,eAAe,EAAE,OAAO,EAAE,eAAe;KAC5C,
|
|
1
|
+
{"version":3,"file":"extend.js","sourceRoot":"","sources":["../src/extend.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,0BAA0B;AAC1B,MAAM,UAAU,MAAM,CAUlB,IAAU,EACV,MAAc,EACd,OAQC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QAClD,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,YAAY;QACxD,KAAK,EAAE,IAAI,CAAC,KAAc;QAC1B,eAAe,EAAE,OAAO,EAAE,eAAe;KAC5C,CAAC,CAAC;AACP,CAAC"}
|
package/esm/field/types.d.ts
CHANGED
|
@@ -15,7 +15,10 @@ export interface FieldSerializer<T> {
|
|
|
15
15
|
}
|
|
16
16
|
export interface Field<T, OmitInit extends string, D, Raw = T> extends FieldSerializer<Raw>, FieldDeserializer<T, D> {
|
|
17
17
|
omitInit: OmitInit | undefined;
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* A function to convert deserialized value back to raw value for serialization.
|
|
20
|
+
*/
|
|
21
|
+
init?(value: T, dependencies: D): Raw;
|
|
19
22
|
}
|
|
20
23
|
export interface FieldDeserializeContext<D> {
|
|
21
24
|
littleEndian: boolean;
|
|
@@ -28,6 +31,9 @@ export interface FieldDeserializer<T, D> {
|
|
|
28
31
|
export interface FieldOptions<T, OmitInit extends string, D, Raw = T> {
|
|
29
32
|
omitInit?: OmitInit;
|
|
30
33
|
dependencies?: D;
|
|
31
|
-
|
|
34
|
+
/**
|
|
35
|
+
* A function to convert deserialized value back to raw value for serialization.
|
|
36
|
+
*/
|
|
37
|
+
init?: ((value: T, dependencies: D) => Raw) | undefined;
|
|
32
38
|
}
|
|
33
39
|
//# sourceMappingURL=types.d.ts.map
|
package/esm/field/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,WAAW,4BAA4B;IACzC,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,WAAW,4BAA4B;IACzC,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,yBAA0B,SAAQ,4BAA4B;IAC3E,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,4BAA4B,GAAG,UAAU,CAAC;IACxE,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAAC;CACpE;AAED,MAAM,WAAW,KAAK,CAAC,CAAC,EAAE,QAAQ,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CACzD,SAAQ,eAAe,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IACrD,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACnC,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3E,WAAW,CACP,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACpC,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,QAAQ,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;CAC3D"}
|
package/esm/index.d.ts
CHANGED
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
package/esm/readable.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { MaybePromiseLike } from "@yume-chan/async";
|
|
2
|
+
declare const ExactReadableEndedErrorBrand: unique symbol;
|
|
2
3
|
export declare class ExactReadableEndedError extends Error {
|
|
4
|
+
[ExactReadableEndedErrorBrand]: boolean;
|
|
5
|
+
static [Symbol.hasInstance](value: unknown): boolean;
|
|
3
6
|
constructor();
|
|
4
7
|
}
|
|
5
8
|
export interface ExactReadable {
|
|
@@ -28,4 +31,5 @@ export interface AsyncExactReadable {
|
|
|
28
31
|
*/
|
|
29
32
|
readExactly(length: number): MaybePromiseLike<Uint8Array>;
|
|
30
33
|
}
|
|
34
|
+
export {};
|
|
31
35
|
//# sourceMappingURL=readable.d.ts.map
|
package/esm/readable.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../src/readable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,uBAAwB,SAAQ,KAAK;;
|
|
1
|
+
{"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../src/readable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,QAAA,MAAM,4BAA4B,eAEjC,CAAC;AAEF,qBAAa,uBAAwB,SAAQ,KAAK;IAC9C,CAAC,4BAA4B,CAAC,UAAQ;WAEtB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO;;CAStD;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3C;AAED,qBAAa,uBAAwB,YAAW,aAAa;;IAIzD,IAAI,QAAQ,WAEX;gBAEW,IAAI,EAAE,UAAU;IAK5B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;CAa1C;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;CAC7D"}
|
package/esm/readable.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
// TODO: allow over reading (returning a `Uint8Array`, an `offset` and a `length`) to avoid copying
|
|
2
|
+
const ExactReadableEndedErrorBrand = Symbol.for("ExactReadableEndedError.brand");
|
|
2
3
|
export class ExactReadableEndedError extends Error {
|
|
4
|
+
[ExactReadableEndedErrorBrand] = true;
|
|
5
|
+
static [Symbol.hasInstance](value) {
|
|
6
|
+
return !!value?.[ExactReadableEndedErrorBrand];
|
|
7
|
+
}
|
|
3
8
|
constructor() {
|
|
4
9
|
super("ExactReadable ended");
|
|
5
10
|
}
|
package/esm/readable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable.js","sourceRoot":"","sources":["../src/readable.ts"],"names":[],"mappings":"AAAA,mGAAmG;AAInG,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;CACJ;AAcD,MAAM,OAAO,uBAAuB;IAChC,KAAK,CAAa;IAClB,SAAS,CAAS;IAElB,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,YAAY,IAAgB;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,uBAAuB,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAC9B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,GAAG,MAAM,CAC1B,CAAC;QAEF,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"readable.js","sourceRoot":"","sources":["../src/readable.ts"],"names":[],"mappings":"AAAA,mGAAmG;AAInG,MAAM,4BAA4B,GAAG,MAAM,CAAC,GAAG,CAC3C,+BAA+B,CAClC,CAAC;AAEF,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;IAEtC,MAAM,CAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAc;QAC/C,OAAO,CAAC,CAAE,KAA6C,EAAE,CACrD,4BAA4B,CAC/B,CAAC;IACN,CAAC;IAED;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;CACJ;AAcD,MAAM,OAAO,uBAAuB;IAChC,KAAK,CAAa;IAClB,SAAS,CAAS;IAElB,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,YAAY,IAAgB;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,uBAAuB,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAC9B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,GAAG,MAAM,CAC1B,CAAC;QAEF,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
package/esm/struct.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Field, FieldDeserializer } from "./field/index.js";
|
|
2
|
-
import type { StructDeserializer, StructSerializer } from "./types.js";
|
|
2
|
+
import type { StructDeserializer, StructLike, StructSerializer } from "./types.js";
|
|
3
3
|
export type StructField = Field<unknown, string, unknown, unknown> | (StructSerializer<unknown> & StructDeserializer<unknown>);
|
|
4
4
|
export type StructFields = Record<string, StructField>;
|
|
5
5
|
export type FieldsValue<T extends StructFields> = {
|
|
@@ -16,7 +16,10 @@ export declare class StructDeserializeError extends Error {
|
|
|
16
16
|
export declare class StructNotEnoughDataError extends StructDeserializeError {
|
|
17
17
|
constructor();
|
|
18
18
|
}
|
|
19
|
+
declare const StructEmptyErrorBrand: unique symbol;
|
|
19
20
|
export declare class StructEmptyError extends StructDeserializeError {
|
|
21
|
+
[StructEmptyErrorBrand]: boolean;
|
|
22
|
+
static [Symbol.hasInstance](value: unknown): boolean;
|
|
20
23
|
constructor();
|
|
21
24
|
}
|
|
22
25
|
export type ExtraToIntersection<Extra extends Record<PropertyKey, unknown> | undefined> = Extra extends undefined ? unknown : Extra;
|
|
@@ -25,9 +28,10 @@ export interface Struct<Fields extends StructFields, Extra extends Record<Proper
|
|
|
25
28
|
fields: Fields;
|
|
26
29
|
extra: Extra;
|
|
27
30
|
}
|
|
28
|
-
export declare function struct<Fields extends Record<string, Field<unknown, string, Partial<FieldsValue<Fields>>, unknown> |
|
|
31
|
+
export declare function struct<Fields extends Record<string, Field<unknown, string, Partial<FieldsValue<Fields>>, unknown> | StructLike<unknown>>, Extra extends Record<PropertyKey, unknown> | undefined = undefined, PostDeserialize = FieldsValue<Fields> & ExtraToIntersection<Extra>>(fields: Fields, options: {
|
|
29
32
|
littleEndian: boolean;
|
|
30
33
|
extra?: (Extra & ThisType<FieldsValue<Fields>>) | undefined;
|
|
31
34
|
postDeserialize?: ((this: FieldsValue<Fields> & ExtraToIntersection<Extra>, value: FieldsValue<Fields> & ExtraToIntersection<Extra>) => PostDeserialize) | undefined;
|
|
32
35
|
}): Struct<Fields, Extra, PostDeserialize>;
|
|
36
|
+
export {};
|
|
33
37
|
//# sourceMappingURL=struct.d.ts.map
|
package/esm/struct.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,KAAK,EAIL,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EACR,kBAAkB,
|
|
1
|
+
{"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../src/struct.ts"],"names":[],"mappings":"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"}
|