@yume-chan/struct 0.0.17 → 0.0.18

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 (61) hide show
  1. package/CHANGELOG.json +12 -0
  2. package/CHANGELOG.md +8 -1
  3. package/LICENSE +1 -1
  4. package/esm/basic/definition.d.ts +4 -4
  5. package/esm/basic/definition.d.ts.map +1 -1
  6. package/esm/basic/definition.js.map +1 -1
  7. package/esm/basic/field-value.d.ts +7 -7
  8. package/esm/basic/field-value.d.ts.map +1 -1
  9. package/esm/basic/field-value.js +2 -2
  10. package/esm/basic/field-value.js.map +1 -1
  11. package/esm/basic/stream.d.ts +1 -1
  12. package/esm/basic/stream.d.ts.map +1 -1
  13. package/esm/basic/struct-value.d.ts +2 -2
  14. package/esm/basic/struct-value.d.ts.map +1 -1
  15. package/esm/basic/struct-value.js +10 -3
  16. package/esm/basic/struct-value.js.map +1 -1
  17. package/esm/struct.d.ts +19 -19
  18. package/esm/struct.d.ts.map +1 -1
  19. package/esm/struct.js +10 -8
  20. package/esm/struct.js.map +1 -1
  21. package/esm/sync-promise.d.ts.map +1 -1
  22. package/esm/sync-promise.js +4 -4
  23. package/esm/sync-promise.js.map +1 -1
  24. package/esm/types/bigint.d.ts +4 -4
  25. package/esm/types/bigint.d.ts.map +1 -1
  26. package/esm/types/bigint.js +6 -6
  27. package/esm/types/bigint.js.map +1 -1
  28. package/esm/types/buffer/base.d.ts +4 -4
  29. package/esm/types/buffer/base.d.ts.map +1 -1
  30. package/esm/types/buffer/base.js +5 -6
  31. package/esm/types/buffer/base.js.map +1 -1
  32. package/esm/types/buffer/fixed-length.d.ts.map +1 -1
  33. package/esm/types/buffer/fixed-length.js +0 -1
  34. package/esm/types/buffer/fixed-length.js.map +1 -1
  35. package/esm/types/buffer/variable-length.d.ts +7 -7
  36. package/esm/types/buffer/variable-length.d.ts.map +1 -1
  37. package/esm/types/buffer/variable-length.js +4 -4
  38. package/esm/types/buffer/variable-length.js.map +1 -1
  39. package/esm/types/number.d.ts +16 -22
  40. package/esm/types/number.d.ts.map +1 -1
  41. package/esm/types/number.js +89 -40
  42. package/esm/types/number.js.map +1 -1
  43. package/esm/utils.d.ts +6 -6
  44. package/esm/utils.d.ts.map +1 -1
  45. package/esm/utils.js +1 -8
  46. package/esm/utils.js.map +1 -1
  47. package/package.json +12 -9
  48. package/src/basic/definition.ts +12 -9
  49. package/src/basic/field-value.ts +18 -15
  50. package/src/basic/stream.ts +1 -1
  51. package/src/basic/struct-value.ts +17 -11
  52. package/src/struct.ts +207 -201
  53. package/src/sync-promise.ts +32 -12
  54. package/src/types/bigint.ts +58 -31
  55. package/src/types/buffer/base.ts +53 -35
  56. package/src/types/buffer/fixed-length.ts +3 -8
  57. package/src/types/buffer/variable-length.ts +41 -24
  58. package/src/types/number.ts +131 -79
  59. package/src/utils.ts +30 -8
  60. package/tsconfig.build.json +1 -1
  61. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/buffer/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/buffer/base.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { StructFieldDefinition, StructFieldValue } from '../../basic/index.js';
1
+ import { StructFieldDefinition, StructFieldValue, } from "../../basic/index.js";
2
2
  import { SyncPromise } from "../../sync-promise.js";
3
3
  import { decodeUtf8, encodeUtf8 } from "../../utils.js";
4
4
  /**
@@ -53,6 +53,7 @@ export class BufferLikeFieldDefinition extends StructFieldDefinition {
53
53
  this.type = type;
54
54
  }
55
55
  getDeserializeSize(struct) {
56
+ void struct;
56
57
  return this.getSize();
57
58
  }
58
59
  /**
@@ -62,8 +63,7 @@ export class BufferLikeFieldDefinition extends StructFieldDefinition {
62
63
  return new BufferLikeFieldValue(this, options, struct, value, array);
63
64
  }
64
65
  deserialize(options, stream, struct) {
65
- return SyncPromise
66
- .try(() => {
66
+ return SyncPromise.try(() => {
67
67
  const size = this.getDeserializeSize(struct);
68
68
  if (size === 0) {
69
69
  return EMPTY_UINT8_ARRAY;
@@ -72,7 +72,7 @@ export class BufferLikeFieldDefinition extends StructFieldDefinition {
72
72
  return stream.read(size);
73
73
  }
74
74
  })
75
- .then(array => {
75
+ .then((array) => {
76
76
  const value = this.type.toValue(array);
77
77
  return this.create(options, struct, value, array);
78
78
  })
@@ -95,8 +95,7 @@ export class BufferLikeFieldValue extends StructFieldValue {
95
95
  if (!this.array) {
96
96
  this.array = this.definition.type.toBuffer(this.value);
97
97
  }
98
- new Uint8Array(dataView.buffer, dataView.byteOffset, dataView.byteLength)
99
- .set(this.array, offset);
98
+ new Uint8Array(dataView.buffer, dataView.byteOffset, dataView.byteLength).set(this.array, offset);
100
99
  }
101
100
  }
102
101
  //# 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 +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,CACxC,SAAQ,yBAAyB,CACnC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,eAAe,CACd;IACM,OAAO,IAAI,MAAM;CAG3B"}
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"}
@@ -4,5 +4,4 @@ export class FixedLengthBufferLikeFieldDefinition extends BufferLikeFieldDefinit
4
4
  return this.options.length;
5
5
  }
6
6
  }
7
- ;
8
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,oCAIP,SAAQ,yBAKT;IACM,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;CACJ;AAAA,CAAC"}
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,7 +1,7 @@
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 declare type LengthField<TFields> = KeysOfType<TFields, number | string>;
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
5
  export interface VariableLengthBufferLikeFieldOptions<TFields = object, TLengthField extends LengthField<TFields> = any> {
6
6
  /**
7
7
  * The name of the field that contains the length of the buffer.
@@ -17,7 +17,7 @@ export interface VariableLengthBufferLikeFieldOptions<TFields = object, TLengthF
17
17
  */
18
18
  lengthFieldRadix?: number;
19
19
  }
20
- export declare class VariableLengthBufferLikeFieldDefinition<TType extends BufferFieldSubType = BufferFieldSubType, TOptions extends VariableLengthBufferLikeFieldOptions = VariableLengthBufferLikeFieldOptions, TTypeScriptType = TType["TTypeScriptType"]> extends BufferLikeFieldDefinition<TType, TOptions, TOptions['lengthField'], TTypeScriptType> {
20
+ export declare class VariableLengthBufferLikeFieldDefinition<TType extends BufferFieldSubType = BufferFieldSubType, TOptions extends VariableLengthBufferLikeFieldOptions = VariableLengthBufferLikeFieldOptions, TTypeScriptType = TType["TTypeScriptType"]> extends BufferLikeFieldDefinition<TType, TOptions, TOptions["lengthField"], TTypeScriptType> {
21
21
  getSize(): number;
22
22
  protected getDeserializeSize(struct: StructValue): number;
23
23
  create(options: Readonly<StructOptions>, struct: StructValue, value: TTypeScriptType, array?: Uint8Array): VariableLengthBufferLikeStructFieldValue<this>;
@@ -25,11 +25,11 @@ export declare class VariableLengthBufferLikeFieldDefinition<TType extends Buffe
25
25
  export declare class VariableLengthBufferLikeStructFieldValue<TDefinition extends VariableLengthBufferLikeFieldDefinition = VariableLengthBufferLikeFieldDefinition> extends BufferLikeFieldValue<TDefinition> {
26
26
  protected length: number | undefined;
27
27
  protected lengthFieldValue: VariableLengthBufferLikeFieldLengthValue;
28
- constructor(definition: TDefinition, options: Readonly<StructOptions>, struct: StructValue, value: TDefinition['TValue'], array?: Uint8Array);
28
+ constructor(definition: TDefinition, options: Readonly<StructOptions>, struct: StructValue, value: TDefinition["TValue"], array?: Uint8Array);
29
29
  getSize(): number;
30
30
  set(value: unknown): void;
31
31
  }
32
- declare type VariableLengthBufferLikeFieldValueLike = StructFieldValue<StructFieldDefinition<VariableLengthBufferLikeFieldOptions, any, any>>;
32
+ type VariableLengthBufferLikeFieldValueLike = StructFieldValue<StructFieldDefinition<VariableLengthBufferLikeFieldOptions, any, any>>;
33
33
  export declare class VariableLengthBufferLikeFieldLengthValue extends StructFieldValue {
34
34
  protected originalField: StructFieldValue;
35
35
  protected bufferField: VariableLengthBufferLikeFieldValueLike;
@@ -1 +1 @@
1
- {"version":3,"file":"variable-length.d.ts","sourceRoot":"","sources":["../../../src/types/buffer/variable-length.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1H,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAErG,oBAAY,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,CACxC,SAAQ,yBAAyB,CACnC,KAAK,EACL,QAAQ,EACR,QAAQ,CAAC,aAAa,CAAC,EACvB,eAAe,CACd;IACM,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,CACnG,SAAQ,oBAAoB,CAAC,WAAW,CAAC;IAC3C,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,aAAK,sCAAsC,GACvC,gBAAgB,CAAC,qBAAqB,CAAC,oCAAoC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE5F,qBAAa,wCACT,SAAQ,gBAAgB;IACxB,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAE1C,SAAS,CAAC,WAAW,EAAE,sCAAsC,CAAC;gBAG1D,aAAa,EAAE,gBAAgB,EAC/B,gBAAgB,EAAE,sCAAsC;IAO5C,OAAO;IAIP,GAAG;IAWH,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,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,12 +1,12 @@
1
- import { StructFieldValue } from '../../basic/index.js';
2
- import { BufferLikeFieldDefinition, BufferLikeFieldValue } from './base.js';
1
+ import { StructFieldValue, } from "../../basic/index.js";
2
+ import { BufferLikeFieldDefinition, BufferLikeFieldValue, } from "./base.js";
3
3
  export class VariableLengthBufferLikeFieldDefinition extends BufferLikeFieldDefinition {
4
4
  getSize() {
5
5
  return 0;
6
6
  }
7
7
  getDeserializeSize(struct) {
8
8
  let value = struct.value[this.options.lengthField];
9
- if (typeof value === 'string') {
9
+ if (typeof value === "string") {
10
10
  value = Number.parseInt(value, this.options.lengthFieldRadix ?? 10);
11
11
  }
12
12
  return value;
@@ -59,7 +59,7 @@ export class VariableLengthBufferLikeFieldLengthValue extends StructFieldValue {
59
59
  get() {
60
60
  let value = this.bufferField.getSize();
61
61
  const originalValue = this.originalField.get();
62
- if (typeof originalValue === 'string') {
62
+ if (typeof originalValue === "string") {
63
63
  value = value.toString(this.bufferField.definition.options.lengthFieldRadix ?? 10);
64
64
  }
65
65
  return value;
@@ -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,26 +1,21 @@
1
- import { StructFieldDefinition, StructFieldValue, StructValue, type StructAsyncDeserializeStream, type StructDeserializeStream, type StructOptions } from '../basic/index.js';
2
- declare type NumberTypeDeserializer = (array: Uint8Array, littleEndian: boolean) => number;
3
- export declare type DataViewSetters = {
4
- [TKey in keyof DataView]: TKey extends `set${string}` ? TKey : never;
5
- }[keyof DataView];
6
- export declare class NumberFieldType {
7
- readonly TTypeScriptType: number;
8
- readonly signed: boolean;
9
- readonly size: number;
10
- readonly deserializer: NumberTypeDeserializer;
11
- readonly convertSign: (value: number) => number;
12
- readonly dataViewSetter: DataViewSetters;
13
- constructor(size: number, signed: boolean, convertSign: (value: number) => number, dataViewSetter: DataViewSetters);
14
- static readonly Int8: NumberFieldType;
15
- static readonly Uint8: NumberFieldType;
16
- static readonly Int16: NumberFieldType;
17
- static readonly Uint16: NumberFieldType;
18
- static readonly Int32: NumberFieldType;
19
- static readonly Uint32: NumberFieldType;
1
+ import { StructFieldDefinition, StructFieldValue, type StructAsyncDeserializeStream, type StructDeserializeStream, type StructOptions, type StructValue } from "../basic/index.js";
2
+ export interface NumberFieldType {
3
+ signed: boolean;
4
+ size: number;
5
+ deserialize(array: Uint8Array, littleEndian: boolean): number;
6
+ serialize(dataView: DataView, offset: number, value: number, littleEndian: boolean): void;
20
7
  }
21
- export declare class NumberFieldDefinition<TType extends NumberFieldType = NumberFieldType, TTypeScriptType = TType["TTypeScriptType"]> extends StructFieldDefinition<void, TTypeScriptType> {
8
+ export declare namespace NumberFieldType {
9
+ const Uint8: NumberFieldType;
10
+ const Int8: NumberFieldType;
11
+ const Uint16: NumberFieldType;
12
+ const Int16: NumberFieldType;
13
+ const Uint32: NumberFieldType;
14
+ const Int32: NumberFieldType;
15
+ }
16
+ export declare class NumberFieldDefinition<TType extends NumberFieldType = NumberFieldType, TTypeScriptType = number> extends StructFieldDefinition<void, TTypeScriptType> {
22
17
  readonly type: TType;
23
- constructor(type: TType, _typescriptType?: TTypeScriptType);
18
+ constructor(type: TType, typescriptType?: TTypeScriptType);
24
19
  getSize(): number;
25
20
  create(options: Readonly<StructOptions>, struct: StructValue, value: TTypeScriptType): NumberFieldValue<this>;
26
21
  deserialize(options: Readonly<StructOptions>, stream: StructDeserializeStream, struct: StructValue): NumberFieldValue<this>;
@@ -29,5 +24,4 @@ export declare class NumberFieldDefinition<TType extends NumberFieldType = Numbe
29
24
  export declare class NumberFieldValue<TDefinition extends NumberFieldDefinition<NumberFieldType, any>> extends StructFieldValue<TDefinition> {
30
25
  serialize(dataView: DataView, offset: number): void;
31
26
  }
32
- export {};
33
27
  //# sourceMappingURL=number.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/types/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,4BAA4B,EAAE,KAAK,uBAAuB,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAI9K,aAAK,sBAAsB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,KAAK,MAAM,CAAC;AAanF,oBAAY,eAAe,GACvB;KAAG,IAAI,IAAI,MAAM,QAAQ,GAAG,IAAI,SAAS,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,KAAK;CAAE,CAAC,MAAM,QAAQ,CAAC,CAAC;AAE7F,qBAAa,eAAe;IACxB,SAAgB,eAAe,EAAG,MAAM,CAAC;IAEzC,SAAgB,MAAM,EAAE,OAAO,CAAC;IAEhC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,SAAgB,YAAY,EAAE,sBAAsB,CAAC;IACrD,SAAgB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAEvD,SAAgB,cAAc,EAAE,eAAe,CAAC;gBAG5C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EACtC,cAAc,EAAE,eAAe;IASnC,gBAAuB,IAAI,kBAAuE;IAElG,gBAAuB,KAAK,kBAA6D;IAEzF,gBAAuB,KAAK,kBAAwE;IAEpG,gBAAuB,MAAM,kBAA8D;IAE3F,gBAAuB,KAAK,kBAA4D;IAExF,gBAAuB,MAAM,kBAAoE;CACpG;AAED,qBAAa,qBAAqB,CAC9B,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/C,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC,CACxC,SAAQ,qBAAqB,CAC/B,IAAI,EACJ,eAAe,CACd;IACD,SAAgB,IAAI,EAAE,KAAK,CAAC;gBAET,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,eAAe;IAK1D,OAAO,IAAI,MAAM;IAIjB,MAAM,CACT,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,eAAe,GACvB,gBAAgB,CAAC,IAAI,CAAC;IAIT,WAAW,CACvB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,WAAW,GACpB,gBAAgB,CAAC,IAAI,CAAC;IACT,WAAW,CACvB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,4BAA4B,EACpC,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;CAkBrC;AAED,qBAAa,gBAAgB,CACzB,WAAW,SAAS,qBAAqB,CAAC,eAAe,EAAE,GAAG,CAAC,CAC7D,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAChC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAU7D"}
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/types/number.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,WAAW,EACnB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9D,SAAS,CACL,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,OAAO,GACtB,IAAI,CAAC;CACX;AAGD,yBAAiB,eAAe,CAAC;IACtB,MAAM,KAAK,EAAE,eASnB,CAAC;IAEK,MAAM,IAAI,EAAE,eAUlB,CAAC;IAEK,MAAM,MAAM,EAAE,eAiBpB,CAAC;IAEK,MAAM,KAAK,EAAE,eAUnB,CAAC;IAEK,MAAM,MAAM,EAAE,eAUpB,CAAC;IAEK,MAAM,KAAK,EAAE,eAoBnB,CAAC;CACL;AAED,qBAAa,qBAAqB,CAC9B,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/C,eAAe,GAAG,MAAM,CAC1B,SAAQ,qBAAqB,CAAC,IAAI,EAAE,eAAe,CAAC;IAClD,SAAgB,IAAI,EAAE,KAAK,CAAC;gBAET,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,eAAe;IAMzD,OAAO,IAAI,MAAM;IAIjB,MAAM,CACT,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,eAAe,GACvB,gBAAgB,CAAC,IAAI,CAAC;IAIT,WAAW,CACvB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,WAAW,GACpB,gBAAgB,CAAC,IAAI,CAAC;IACT,WAAW,CACvB,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,EAChC,MAAM,EAAE,4BAA4B,EACpC,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;CAkBrC;AAED,qBAAa,gBAAgB,CACzB,WAAW,SAAS,qBAAqB,CAAC,eAAe,EAAE,GAAG,CAAC,CACjE,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAC5B,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAQ7D"}
@@ -1,36 +1,91 @@
1
- import { StructFieldDefinition, StructFieldValue } from '../basic/index.js';
1
+ import { StructFieldDefinition, StructFieldValue, } from "../basic/index.js";
2
2
  import { SyncPromise } from "../sync-promise.js";
3
- const DESERIALIZERS = {
4
- 1: (array, littleEndian) => array[0],
5
- 2: (array, littleEndian) => ((array[1] << 8) | array[0]) * littleEndian |
6
- ((array[0] << 8) | array[1]) * !littleEndian,
7
- 4: (array, littleEndian) => ((array[3] << 24) | (array[2] << 16) | (array[1] << 8) | array[0]) * littleEndian |
8
- ((array[0] << 24) | (array[1] << 16) | (array[2] << 8) | array[3]) * !littleEndian,
9
- };
10
- export class NumberFieldType {
11
- TTypeScriptType;
12
- signed;
13
- size;
14
- deserializer;
15
- convertSign;
16
- dataViewSetter;
17
- constructor(size, signed, convertSign, dataViewSetter) {
18
- this.size = size;
19
- this.signed = signed;
20
- this.deserializer = DESERIALIZERS[size];
21
- this.convertSign = convertSign;
22
- this.dataViewSetter = dataViewSetter;
23
- }
24
- static Int8 = new NumberFieldType(1, true, value => value << 24 >> 24, 'setInt8');
25
- static Uint8 = new NumberFieldType(1, false, value => value, 'setUint8');
26
- static Int16 = new NumberFieldType(2, true, value => value << 16 >> 16, 'setInt16');
27
- static Uint16 = new NumberFieldType(2, false, value => value, 'setUint16');
28
- static Int32 = new NumberFieldType(4, true, value => value, 'setInt32');
29
- static Uint32 = new NumberFieldType(4, false, value => value >>> 0, 'setUint32');
30
- }
3
+ // eslint-disable-next-line @typescript-eslint/no-namespace
4
+ export var NumberFieldType;
5
+ (function (NumberFieldType) {
6
+ NumberFieldType.Uint8 = {
7
+ signed: false,
8
+ size: 1,
9
+ deserialize(array) {
10
+ return array[0];
11
+ },
12
+ serialize(dataView, offset, value) {
13
+ dataView.setUint8(offset, value);
14
+ },
15
+ };
16
+ NumberFieldType.Int8 = {
17
+ signed: true,
18
+ size: 1,
19
+ deserialize(array) {
20
+ const value = NumberFieldType.Uint8.deserialize(array, false);
21
+ return (value << 24) >> 24;
22
+ },
23
+ serialize(dataView, offset, value) {
24
+ dataView.setInt8(offset, value);
25
+ },
26
+ };
27
+ NumberFieldType.Uint16 = {
28
+ signed: false,
29
+ size: 2,
30
+ deserialize(array, littleEndian) {
31
+ // PERF: Chrome's `DataView#getUint16` uses inefficient operations,
32
+ // including branching, bit extending and 32-bit bit swapping.
33
+ // The best way should use 16-bit bit rotation and conditional move,
34
+ // like LLVM does for code similar to the below one.
35
+ // This code is much faster on V8, but the actual generated assembly is unknown.
36
+ return ((((array[1] << 8) | array[0]) * littleEndian) |
37
+ (((array[0] << 8) | array[1]) * !littleEndian));
38
+ },
39
+ serialize(dataView, offset, value, littleEndian) {
40
+ dataView.setUint16(offset, value, littleEndian);
41
+ },
42
+ };
43
+ NumberFieldType.Int16 = {
44
+ signed: true,
45
+ size: 2,
46
+ deserialize(array, littleEndian) {
47
+ const value = NumberFieldType.Uint16.deserialize(array, littleEndian);
48
+ return (value << 16) >> 16;
49
+ },
50
+ serialize(dataView, offset, value, littleEndian) {
51
+ dataView.setInt16(offset, value, littleEndian);
52
+ },
53
+ };
54
+ NumberFieldType.Uint32 = {
55
+ signed: false,
56
+ size: 4,
57
+ deserialize(array, littleEndian) {
58
+ const value = NumberFieldType.Int32.deserialize(array, littleEndian);
59
+ return value >>> 0;
60
+ },
61
+ serialize(dataView, offset, value, littleEndian) {
62
+ dataView.setUint32(offset, value, littleEndian);
63
+ },
64
+ };
65
+ NumberFieldType.Int32 = {
66
+ signed: true,
67
+ size: 4,
68
+ deserialize(array, littleEndian) {
69
+ return ((((array[3] << 24) |
70
+ (array[2] << 16) |
71
+ (array[1] << 8) |
72
+ array[0]) *
73
+ littleEndian) |
74
+ (((array[0] << 24) |
75
+ (array[1] << 16) |
76
+ (array[2] << 8) |
77
+ array[3]) *
78
+ !littleEndian));
79
+ },
80
+ serialize(dataView, offset, value, littleEndian) {
81
+ dataView.setInt32(offset, value, littleEndian);
82
+ },
83
+ };
84
+ })(NumberFieldType = NumberFieldType || (NumberFieldType = {}));
31
85
  export class NumberFieldDefinition extends StructFieldDefinition {
32
86
  type;
33
- constructor(type, _typescriptType) {
87
+ constructor(type, typescriptType) {
88
+ void typescriptType;
34
89
  super();
35
90
  this.type = type;
36
91
  }
@@ -41,14 +96,11 @@ export class NumberFieldDefinition extends StructFieldDefinition {
41
96
  return new NumberFieldValue(this, options, struct, value);
42
97
  }
43
98
  deserialize(options, stream, struct) {
44
- return SyncPromise
45
- .try(() => {
99
+ return SyncPromise.try(() => {
46
100
  return stream.read(this.getSize());
47
101
  })
48
- .then(array => {
49
- let value;
50
- value = this.type.deserializer(array, options.littleEndian);
51
- value = this.type.convertSign(value);
102
+ .then((array) => {
103
+ const value = this.type.deserialize(array, options.littleEndian);
52
104
  return this.create(options, struct, value);
53
105
  })
54
106
  .valueOrPromise();
@@ -56,10 +108,7 @@ export class NumberFieldDefinition extends StructFieldDefinition {
56
108
  }
57
109
  export class NumberFieldValue extends StructFieldValue {
58
110
  serialize(dataView, offset) {
59
- // `setBigInt64` requires a `bigint` while others require `number`
60
- // So `dataView[DataViewSetters]` requires `bigint & number`
61
- // and that is, `never`
62
- dataView[this.definition.type.dataViewSetter](offset, this.value, this.options.littleEndian);
111
+ this.definition.type.serialize(dataView, offset, this.value, this.options.littleEndian);
63
112
  }
64
113
  }
65
114
  //# sourceMappingURL=number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/types/number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/types/number.ts"],"names":[],"mappings":"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"}
package/esm/utils.d.ts CHANGED
@@ -15,30 +15,30 @@
15
15
  * // Hover on this one shows `WithoutIdentity<number>`
16
16
  * ```
17
17
  */
18
- export declare type Identity<T> = T;
18
+ export type Identity<T> = T;
19
19
  /**
20
20
  * Collapse an intersection type (`{ foo: string } & { bar: number }`) to a simple type (`{ foo: string, bar: number }`)
21
21
  */
22
- export declare type Evaluate<T> = T extends infer U ? {
22
+ export type Evaluate<T> = T extends infer U ? {
23
23
  [K in keyof U]: U[K];
24
24
  } : never;
25
25
  /**
26
26
  * Overwrite fields in `TBase` with fields in `TNew`
27
27
  */
28
- export declare type Overwrite<TBase extends object, TNew extends object> = Evaluate<Omit<TBase, keyof TNew> & TNew>;
28
+ export type Overwrite<TBase extends object, TNew extends object> = Evaluate<Omit<TBase, keyof TNew> & TNew>;
29
29
  /**
30
30
  * Remove fields with `never` type
31
31
  */
32
- export declare type OmitNever<T> = Pick<T, {
32
+ export type OmitNever<T> = Pick<T, {
33
33
  [K in keyof T]: [T[K]] extends [never] ? never : K;
34
34
  }[keyof T]>;
35
35
  /**
36
36
  * Extract keys of fields in `T` that has type `TValue`
37
37
  */
38
- export declare type KeysOfType<T, TValue> = {
38
+ export type KeysOfType<T, TValue> = {
39
39
  [TKey in keyof T]: T[TKey] extends TValue ? TKey : never;
40
40
  }[keyof T];
41
- export declare type ValueOrPromise<T> = T | PromiseLike<T>;
41
+ export type ValueOrPromise<T> = T | PromiseLike<T>;
42
42
  /**
43
43
  * Returns a (fake) value of the given type.
44
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,oBAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5B;;GAEG;AACH,oBAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,KAAK,CAAC;AAE/E;;GAEG;AACH,oBAAY,SAAS,CAAC,KAAK,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,IAC3D,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAE7C;;GAEG;AACH,oBAAY,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEpG;;GAEG;AACH,oBAAY,UAAU,CAAC,CAAC,EAAE,MAAM,IAC5B;KAAG,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,KAAK;CAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1E,oBAAY,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEnD;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,KAAK,CAAC,CAElC;AAeD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAEpD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,MAAM,CAExE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,KAAK,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,IAAI,QAAQ,CACvE,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,GAAG,IAAI,CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,IAAI,CAC3B,CAAC,EACD;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,CAClE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,MAAM,IAAI;KAC/B,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,KAAK;CAC3D,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEnD;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,KAAK,CAAC,CAElC;AAgCD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAEpD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,MAAM,CAExE"}
package/esm/utils.js CHANGED
@@ -4,15 +4,8 @@
4
4
  export function placeholder() {
5
5
  return undefined;
6
6
  }
7
- // This library can't use `@types/node` or `lib: dom`
8
- // because they will pollute the global scope
9
- // So `TextEncoder` and `TextDecoder` are not available
10
- // Node.js 8.3 ships `TextEncoder` and `TextDecoder` in `util` module.
11
- // But using top level await to load them requires Node.js 14.1.
12
- // So there is no point to do that. Let's just assume they exist in global.
13
- // @ts-expect-error
7
+ const { TextEncoder, TextDecoder } = globalThis;
14
8
  const Utf8Encoder = new TextEncoder();
15
- // @ts-expect-error
16
9
  const Utf8Decoder = new TextDecoder();
17
10
  export function encodeUtf8(input) {
18
11
  return Utf8Encoder.encode(input);
package/esm/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AA2CA;;GAEG;AACH,MAAM,UAAU,WAAW;IACvB,OAAO,SAAyB,CAAC;AACrC,CAAC;AAED,qDAAqD;AACrD,6CAA6C;AAC7C,uDAAuD;AAEvD,sEAAsE;AACtE,gEAAgE;AAChE,2EAA2E;AAE3E,mBAAmB;AACnB,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,mBAAmB;AACnB,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,MAAM,UAAU,UAAU,CAAC,KAAa;IACpC,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAqC;IAC5D,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAgDA;;GAEG;AACH,MAAM,UAAU,WAAW;IACvB,OAAO,SAAyB,CAAC;AACrC,CAAC;AA2BD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,UAAwC,CAAC;AAE9E,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,MAAM,UAAU,UAAU,CAAC,KAAa;IACpC,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAqC;IAC5D,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yume-chan/struct",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "description": "C-style structure serializer and deserializer.",
5
5
  "keywords": [
6
6
  "structure",
@@ -27,20 +27,23 @@
27
27
  "main": "esm/index.js",
28
28
  "types": "esm/index.d.ts",
29
29
  "dependencies": {
30
- "@yume-chan/dataview-bigint-polyfill": "^0.0.17",
31
- "tslib": "^2.4.0"
30
+ "@yume-chan/dataview-bigint-polyfill": "^0.0.18",
31
+ "tslib": "^2.4.1"
32
32
  },
33
33
  "devDependencies": {
34
- "@jest/globals": "^28.1.2",
35
- "@yume-chan/ts-package-builder": "^1.0.0",
34
+ "@jest/globals": "^29.3.1",
35
+ "@yume-chan/eslint-config": "^1.0.0",
36
+ "@yume-chan/tsconfig": "^1.0.0",
36
37
  "cross-env": "^7.0.3",
37
- "jest": "^28.1.2",
38
- "ts-jest": "^28.0.5",
39
- "typescript": "^4.7.4"
38
+ "eslint": "^8.31.0",
39
+ "jest": "^29.3.1",
40
+ "ts-jest": "^29.0.4",
41
+ "typescript": "^4.9.4"
40
42
  },
41
43
  "scripts": {
42
44
  "build": "tsc -b tsconfig.build.json",
43
45
  "build:watch": "tsc -b tsconfig.build.json",
44
- "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage"
46
+ "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage",
47
+ "lint": "eslint src/**/*.ts --fix"
45
48
  }
46
49
  }
@@ -1,7 +1,10 @@
1
- import type { StructAsyncDeserializeStream, StructDeserializeStream } from "./stream.js";
2
- import type { StructFieldValue } from "./field-value.js";
3
- import type { StructValue } from "./struct-value.js";
4
- import type { StructOptions } from "./options.js";
1
+ import { type StructFieldValue } from "./field-value.js";
2
+ import { type StructOptions } from "./options.js";
3
+ import {
4
+ type StructAsyncDeserializeStream,
5
+ type StructDeserializeStream,
6
+ } from "./stream.js";
7
+ import { type StructValue } from "./struct-value.js";
5
8
 
6
9
  /**
7
10
  * A field definition defines how to deserialize a field.
@@ -13,8 +16,8 @@ import type { StructOptions } from "./options.js";
13
16
  export abstract class StructFieldDefinition<
14
17
  TOptions = void,
15
18
  TValue = unknown,
16
- TOmitInitKey extends PropertyKey = never,
17
- > {
19
+ TOmitInitKey extends PropertyKey = never
20
+ > {
18
21
  /**
19
22
  * When `T` is a type initiated `StructFieldDefinition`,
20
23
  * use `T['TValue']` to retrieve its `TValue` type parameter.
@@ -46,7 +49,7 @@ export abstract class StructFieldDefinition<
46
49
  public abstract create(
47
50
  options: Readonly<StructOptions>,
48
51
  structValue: StructValue,
49
- value: TValue,
52
+ value: TValue
50
53
  ): StructFieldValue<this>;
51
54
 
52
55
  /**
@@ -58,11 +61,11 @@ export abstract class StructFieldDefinition<
58
61
  public abstract deserialize(
59
62
  options: Readonly<StructOptions>,
60
63
  stream: StructDeserializeStream,
61
- structValue: StructValue,
64
+ structValue: StructValue
62
65
  ): StructFieldValue<this>;
63
66
  public abstract deserialize(
64
67
  options: Readonly<StructOptions>,
65
68
  stream: StructAsyncDeserializeStream,
66
- struct: StructValue,
69
+ struct: StructValue
67
70
  ): Promise<StructFieldValue<this>>;
68
71
  }