seroval 1.2.1 → 1.3.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.
Files changed (50) hide show
  1. package/LICENSE +1 -1
  2. package/dist/cjs/development/index.cjs +259 -381
  3. package/dist/cjs/development/index.cjs.map +3 -3
  4. package/dist/cjs/production/index.cjs +6 -6
  5. package/dist/esm/development/index.mjs +259 -381
  6. package/dist/esm/development/index.mjs.map +3 -3
  7. package/dist/esm/production/index.mjs +6 -6
  8. package/dist/types/core/base-primitives.d.ts +1 -2
  9. package/dist/types/core/base-primitives.d.ts.map +1 -1
  10. package/dist/types/core/compat.d.ts +2 -3
  11. package/dist/types/core/compat.d.ts.map +1 -1
  12. package/dist/types/core/constants.d.ts +3 -6
  13. package/dist/types/core/constants.d.ts.map +1 -1
  14. package/dist/types/core/context/deserializer.d.ts +0 -3
  15. package/dist/types/core/context/deserializer.d.ts.map +1 -1
  16. package/dist/types/core/context/parser/async.d.ts +1 -2
  17. package/dist/types/core/context/parser/async.d.ts.map +1 -1
  18. package/dist/types/core/context/parser/stream.d.ts +8 -8
  19. package/dist/types/core/context/parser/stream.d.ts.map +1 -1
  20. package/dist/types/core/context/parser/sync.d.ts +2 -3
  21. package/dist/types/core/context/parser/sync.d.ts.map +1 -1
  22. package/dist/types/core/context/parser.d.ts +3 -3
  23. package/dist/types/core/context/parser.d.ts.map +1 -1
  24. package/dist/types/core/context/serializer.d.ts +1 -5
  25. package/dist/types/core/context/serializer.d.ts.map +1 -1
  26. package/dist/types/core/function-string.d.ts +3 -0
  27. package/dist/types/core/function-string.d.ts.map +1 -0
  28. package/dist/types/core/special-reference.d.ts +4 -5
  29. package/dist/types/core/special-reference.d.ts.map +1 -1
  30. package/dist/types/core/tree/serializer.d.ts +1 -2
  31. package/dist/types/core/tree/serializer.d.ts.map +1 -1
  32. package/dist/types/core/types.d.ts +5 -19
  33. package/dist/types/core/types.d.ts.map +1 -1
  34. package/package.json +8 -8
  35. package/src/core/base-primitives.ts +2 -22
  36. package/src/core/compat.ts +6 -2
  37. package/src/core/constants.ts +2 -5
  38. package/src/core/context/deserializer.ts +2 -35
  39. package/src/core/context/parser/async.ts +54 -83
  40. package/src/core/context/parser/stream.ts +64 -111
  41. package/src/core/context/parser/sync.ts +53 -83
  42. package/src/core/context/parser.ts +9 -24
  43. package/src/core/context/serializer.ts +12 -128
  44. package/src/core/function-string.ts +31 -0
  45. package/src/core/special-reference.ts +96 -8
  46. package/src/core/tree/serializer.ts +0 -7
  47. package/src/core/types.ts +5 -27
  48. package/dist/types/core/abort-signal.d.ts +0 -2
  49. package/dist/types/core/abort-signal.d.ts.map +0 -1
  50. package/src/core/abort-signal.ts +0 -19
@@ -0,0 +1,3 @@
1
+ export declare function createFunction(features: number, parameters: string[], body: string): string;
2
+ export declare function createEffectfulFunction(features: number, parameters: string[], body: string): string;
3
+ //# sourceMappingURL=function-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-string.d.ts","sourceRoot":"","sources":["../../../src/core/function-string.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,GACX,MAAM,CASR;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,GACX,MAAM,CASR"}
@@ -3,14 +3,13 @@ export declare const ASYNC_ITERATOR: {};
3
3
  export declare const enum SpecialReference {
4
4
  MapSentinel = 0,
5
5
  PromiseConstructor = 1,
6
- PromiseResolve = 2,
7
- PromiseReject = 3,
8
- StreamConstructor = 4,
9
- AbortSignalConstructor = 5,
10
- AbortSignalAbort = 6
6
+ PromiseSuccess = 2,
7
+ PromiseFailure = 3,
8
+ StreamConstructor = 4
11
9
  }
12
10
  /**
13
11
  * Placeholder references
14
12
  */
15
13
  export declare const SPECIAL_REFS: Record<SpecialReference, unknown>;
14
+ export declare function serializeSpecialReferenceValue(features: number, ref: SpecialReference): string;
16
15
  //# sourceMappingURL=special-reference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"special-reference.d.ts","sourceRoot":"","sources":["../../../src/core/special-reference.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,IAAK,CAAC;AAE3B,eAAO,MAAM,cAAc,IAAK,CAAC;AAEjC,0BAAkB,gBAAgB;IAChC,WAAW,IAAI;IACf,kBAAkB,IAAI;IACtB,cAAc,IAAI;IAClB,aAAa,IAAI;IACjB,iBAAiB,IAAI;IACrB,sBAAsB,IAAI;IAC1B,gBAAgB,IAAI;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAQ1D,CAAC"}
1
+ {"version":3,"file":"special-reference.d.ts","sourceRoot":"","sources":["../../../src/core/special-reference.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,IAAK,CAAC;AAE3B,eAAO,MAAM,cAAc,IAAK,CAAC;AAEjC,0BAAkB,gBAAgB;IAChC,WAAW,IAAI;IACf,kBAAkB,IAAI;IACtB,cAAc,IAAI;IAClB,cAAc,IAAI;IAClB,iBAAiB,IAAI;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAM1D,CAAC;AAwEF,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,gBAAgB,GACpB,MAAM,CAeR"}
@@ -1,7 +1,7 @@
1
1
  import type { BaseSerializerContextOptions } from '../context/serializer';
2
2
  import BaseSerializerContext from '../context/serializer';
3
3
  import type { SerovalMode } from '../plugin';
4
- import type { SerovalAbortSignalAbortNode, SerovalNode, SerovalPromiseConstructorNode, SerovalPromiseRejectNode, SerovalPromiseResolveNode } from '../types';
4
+ import type { SerovalNode, SerovalPromiseConstructorNode, SerovalPromiseRejectNode, SerovalPromiseResolveNode } from '../types';
5
5
  export type VanillaSerializerContextOptions = BaseSerializerContextOptions;
6
6
  export default class VanillaSerializerContext extends BaseSerializerContext {
7
7
  readonly mode: SerovalMode;
@@ -24,7 +24,6 @@ export default class VanillaSerializerContext extends BaseSerializerContext {
24
24
  protected serializePromiseConstructor(node: SerovalPromiseConstructorNode): string;
25
25
  protected serializePromiseResolve(node: SerovalPromiseResolveNode): string;
26
26
  protected serializePromiseReject(node: SerovalPromiseRejectNode): string;
27
- protected serializeAbortSignalAbort(node: SerovalAbortSignalAbortNode): string;
28
27
  serializeTop(tree: SerovalNode): string;
29
28
  }
30
29
  //# sourceMappingURL=serializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../../src/core/tree/serializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,qBAAqB,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACV,2BAA2B,EAC3B,WAAW,EACX,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAGlB,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,qBAAqB;IACzE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAa;IAEvC;;;OAGG;IACH,KAAK,sBAA6B;IAElC;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,CAAM;IAEpB;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAoBlC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlE,SAAS,CAAC,2BAA2B,CACnC,IAAI,EAAE,6BAA6B,GAClC,MAAM;IAIT,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM;IAI1E,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM;IAIxE,SAAS,CAAC,yBAAyB,CACjC,IAAI,EAAE,2BAA2B,GAChC,MAAM;IAIT,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAsBxC"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../../src/core/tree/serializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,qBAAqB,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACV,WAAW,EACX,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAGlB,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,qBAAqB;IACzE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAa;IAEvC;;;OAGG;IACH,KAAK,sBAA6B;IAElC;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,CAAM;IAEpB;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAoBlC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlE,SAAS,CAAC,2BAA2B,CACnC,IAAI,EAAE,6BAA6B,GAClC,MAAM;IAIT,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM;IAI1E,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM;IAIxE,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAsBxC"}
@@ -154,15 +154,16 @@ export interface SerovalBoxedNode extends SerovalBaseNode {
154
154
  export interface SerovalPromiseConstructorNode extends SerovalBaseNode {
155
155
  t: SerovalNodeType.PromiseConstructor;
156
156
  i: number;
157
+ s: number;
157
158
  f: SerovalNodeWithID;
158
159
  }
159
160
  export interface SerovalPromiseResolveNode extends SerovalBaseNode {
160
- t: SerovalNodeType.PromiseResolve;
161
+ t: SerovalNodeType.PromiseSuccess;
161
162
  i: number;
162
163
  a: [resolver: SerovalNodeWithID, resolved: SerovalNode];
163
164
  }
164
165
  export interface SerovalPromiseRejectNode extends SerovalBaseNode {
165
- t: SerovalNodeType.PromiseReject;
166
+ t: SerovalNodeType.PromiseFailure;
166
167
  i: number;
167
168
  a: [resolver: SerovalNodeWithID, resolved: SerovalNode];
168
169
  }
@@ -219,23 +220,8 @@ export interface SerovalStreamReturnNode extends SerovalBaseNode {
219
220
  i: number;
220
221
  f: SerovalNode;
221
222
  }
222
- export interface SerovalAbortSignalConstructorNode extends SerovalBaseNode {
223
- t: SerovalNodeType.AbortSignalConstructor;
224
- i: number;
225
- f: SerovalNodeWithID;
226
- }
227
- export interface SerovalAbortSignalAbortNode extends SerovalBaseNode {
228
- t: SerovalNodeType.AbortSignalAbort;
229
- i: number;
230
- a: [resolver: SerovalNodeWithID, resolved: SerovalNode];
231
- }
232
- export interface SerovalAbortSignalSyncNode extends SerovalBaseNode {
233
- t: SerovalNodeType.AbortSignalSync;
234
- i: number;
235
- f: SerovalNode;
236
- }
237
- export type SerovalSyncNode = SerovalPrimitiveNode | SerovalIndexedValueNode | SerovalSemiPrimitiveNode | SerovalSetNode | SerovalMapNode | SerovalArrayNode | SerovalObjectNode | SerovalNullConstructorNode | SerovalPromiseNode | SerovalErrorNode | SerovalAggregateErrorNode | SerovalWKSymbolNode | SerovalReferenceNode | SerovalArrayBufferNode | SerovalDataViewNode | SerovalBoxedNode | SerovalPluginNode | SerovalSpecialReferenceNode | SerovalIteratorFactoryNode | SerovalIteratorFactoryInstanceNode | SerovalAsyncIteratorFactoryNode | SerovalAsyncIteratorFactoryInstanceNode | SerovalAbortSignalSyncNode;
238
- export type SerovalAsyncNode = SerovalPromiseNode | SerovalPromiseConstructorNode | SerovalPromiseResolveNode | SerovalPromiseRejectNode | SerovalStreamConstructorNode | SerovalStreamNextNode | SerovalStreamThrowNode | SerovalStreamReturnNode | SerovalAbortSignalConstructorNode | SerovalAbortSignalAbortNode;
223
+ export type SerovalSyncNode = SerovalPrimitiveNode | SerovalIndexedValueNode | SerovalSemiPrimitiveNode | SerovalSetNode | SerovalMapNode | SerovalArrayNode | SerovalObjectNode | SerovalNullConstructorNode | SerovalPromiseNode | SerovalErrorNode | SerovalAggregateErrorNode | SerovalWKSymbolNode | SerovalReferenceNode | SerovalArrayBufferNode | SerovalDataViewNode | SerovalBoxedNode | SerovalPluginNode | SerovalSpecialReferenceNode | SerovalIteratorFactoryNode | SerovalIteratorFactoryInstanceNode | SerovalAsyncIteratorFactoryNode | SerovalAsyncIteratorFactoryInstanceNode;
224
+ export type SerovalAsyncNode = SerovalPromiseNode | SerovalPromiseConstructorNode | SerovalPromiseResolveNode | SerovalPromiseRejectNode | SerovalStreamConstructorNode | SerovalStreamNextNode | SerovalStreamThrowNode | SerovalStreamReturnNode;
239
225
  export type SerovalNode = SerovalSyncNode | SerovalAsyncNode;
240
226
  export type SerovalNodeWithID = Extract<SerovalNode, {
241
227
  i: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,eAAe;IAE9B,CAAC,EAAE,eAAe,CAAC;IAEnB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtB,CAAC,EAAE,OAAO,CAAC;IAEX,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtB,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAEvC,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAEpC,CAAC,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAE3C,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE3B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtB,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACtC,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC5B,CAAC,EAAE,WAAW,EAAE,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,WAAW,EAAE,CAAC;IACjB,CAAC,EAAE,WAAW,EAAE,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAC1B,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAC1B,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC;IAC5B,CAAC,EAAE,eAAe,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAC5B,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC;IAEhC,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAE1B,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IAExB,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAE1B,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC;IAE/B,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,EAAE,CAAC;CACb;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC;IAE9B,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,WAAW,CAAC;IAEf,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,2BAA4B,SAAQ,eAAe;IAClE,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC;IACpC,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,WAAW,CAAC;IAEf,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,wBAAwB,GAChC,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,qBAAqB,GACrB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC;IAEvB,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,WAAW,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,oBAAoB,CAAC;IACxB,CAAC,EAAE,iBAAiB,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC;IAEzB,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,kBAAkB,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAE1B,CAAC,EAAE,uBAAuB,CAAC;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,kBAAkB,CAAC;CACvB;AAED,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IACjE,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC;IAEnC,CAAC,EAAE,uBAAuB,CAAC;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,kBAAkB,CAAC;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IAC3B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAET,CAAC,EAAE,WAAW,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC;IAEzB,CAAC,EAAE,mBAAmB,CAAC;IAEvB,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IACvC,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC;IAClC,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,OAAO,CAAC;CACZ;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC;IAC7B,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC;IAC5B,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,WAAW,CAAC;IAEf,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,6BAA8B,SAAQ,eAAe;IACpE,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC;IACtC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,iBAAiB,CAAC;CACtB;AAED,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAC1B,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,OAAO,CAAC;IAEX,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,eAAe;IAClE,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,gBAAgB,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IACjE,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC;IACnC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,iBAAiB,CAAC;CACtB;AAED,MAAM,WAAW,kCAAmC,SAAQ,eAAe;IACzE,CAAC,EAAE,eAAe,CAAC,uBAAuB,CAAC;IAC3C,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,+BAAgC,SAAQ,eAAe;IACtE,CAAC,EAAE,eAAe,CAAC,oBAAoB,CAAC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,uCACf,SAAQ,eAAe;IACvB,CAAC,EAAE,eAAe,CAAC,4BAA4B,CAAC;IAChD,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACnE,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,WAAW,EAAE,CAAC;IAEjB,CAAC,EAAE,iBAAiB,CAAC;CACtB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC;IAC9B,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC;IAC/B,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC;IAChC,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,uBAAuB,GACvB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,0BAA0B,GAC1B,kBAAkB,GAClB,gBAAgB,GAChB,yBAAyB,GACzB,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,2BAA2B,GAC3B,0BAA0B,GAC1B,kCAAkC,GAClC,+BAA+B,GAC/B,uCAAuC,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,6BAA6B,GAC7B,yBAAyB,GACzB,wBAAwB,GACxB,4BAA4B,GAC5B,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "seroval",
3
3
  "type": "module",
4
- "version": "1.2.1",
4
+ "version": "1.3.0",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
@@ -14,13 +14,13 @@
14
14
  "pridepack"
15
15
  ],
16
16
  "devDependencies": {
17
- "@types/node": "^22.10.10",
18
- "@vitest/ui": "^3.0.4",
17
+ "@types/node": "^22.15.12",
18
+ "@vitest/ui": "^3.1.3",
19
19
  "pridepack": "2.6.4",
20
20
  "ts-prune": "^0.10.3",
21
21
  "tslib": "^2.8.1",
22
- "typescript": "^5.7.3",
23
- "vitest": "^3.0.4"
22
+ "typescript": "^5.8.3",
23
+ "vitest": "^3.1.3"
24
24
  },
25
25
  "scripts": {
26
26
  "prepublishOnly": "pridepack clean && pridepack build",
@@ -53,17 +53,17 @@
53
53
  "module": "./dist/esm/production/index.mjs",
54
54
  "exports": {
55
55
  ".": {
56
+ "types": "./dist/types/index.d.ts",
56
57
  "development": {
57
58
  "require": "./dist/cjs/development/index.cjs",
58
59
  "import": "./dist/esm/development/index.mjs"
59
60
  },
60
61
  "require": "./dist/cjs/production/index.cjs",
61
- "import": "./dist/esm/production/index.mjs",
62
- "types": "./dist/types/index.d.ts"
62
+ "import": "./dist/esm/production/index.mjs"
63
63
  }
64
64
  },
65
65
  "typesVersions": {
66
66
  "*": {}
67
67
  },
68
- "gitHead": "c90be6d96271c63791fd4627672813f3d74fe2eb"
68
+ "gitHead": "d068e79701dd00e5e0fc969adc9f1be36df95c33"
69
69
  }
@@ -10,7 +10,6 @@ import { createSerovalNode } from './node';
10
10
  import { getReferenceID } from './reference';
11
11
  import { serializeString } from './string';
12
12
  import type {
13
- SerovalAbortSignalSyncNode,
14
13
  SerovalAggregateErrorNode,
15
14
  SerovalArrayBufferNode,
16
15
  SerovalArrayNode,
@@ -130,10 +129,11 @@ export function createIndexedValueNode(id: number): SerovalIndexedValueNode {
130
129
  }
131
130
 
132
131
  export function createDateNode(id: number, current: Date): SerovalDateNode {
132
+ const timestamp = current.valueOf();
133
133
  return createSerovalNode(
134
134
  SerovalNodeType.Date,
135
135
  id,
136
- current.toISOString(),
136
+ timestamp !== timestamp ? '' : current.toISOString(),
137
137
  NIL,
138
138
  NIL,
139
139
  NIL,
@@ -540,23 +540,3 @@ export function createStreamReturnNode(
540
540
  NIL,
541
541
  );
542
542
  }
543
-
544
- export function createAbortSignalSyncNode(
545
- id: number,
546
- parsed: SerovalNode,
547
- ): SerovalAbortSignalSyncNode {
548
- return createSerovalNode(
549
- SerovalNodeType.AbortSignalSync,
550
- id,
551
- NIL,
552
- NIL,
553
- NIL,
554
- NIL,
555
- NIL,
556
- NIL,
557
- NIL,
558
- parsed,
559
- NIL,
560
- NIL,
561
- );
562
- }
@@ -10,7 +10,11 @@ export const enum Feature {
10
10
  ErrorPrototypeStack = 0x04,
11
11
  ObjectAssign = 0x08,
12
12
  BigIntTypedArray = 0x10,
13
- AbortSignal = 0x20,
14
13
  }
15
14
 
16
- export const ALL_ENABLED = 0x2f;
15
+ export const ALL_ENABLED =
16
+ Feature.AggregateError |
17
+ Feature.ArrowFunction |
18
+ Feature.ErrorPrototypeStack |
19
+ Feature.ObjectAssign |
20
+ Feature.BigIntTypedArray;
@@ -33,8 +33,8 @@ export const enum SerovalNodeType {
33
33
  DataView = 20,
34
34
  Boxed = 21,
35
35
  PromiseConstructor = 22,
36
- PromiseResolve = 23,
37
- PromiseReject = 24,
36
+ PromiseSuccess = 23,
37
+ PromiseFailure = 24,
38
38
  Plugin = 25,
39
39
  SpecialReference = 26,
40
40
  IteratorFactory = 27,
@@ -45,9 +45,6 @@ export const enum SerovalNodeType {
45
45
  StreamNext = 32,
46
46
  StreamThrow = 33,
47
47
  StreamReturn = 34,
48
- AbortSignalConstructor = 35,
49
- AbortSignalAbort = 36,
50
- AbortSignalSync = 37,
51
48
  }
52
49
 
53
50
  export const enum SerovalObjectFlags {
@@ -17,9 +17,6 @@ import type { Stream } from '../stream';
17
17
  import { createStream, streamToAsyncIterable } from '../stream';
18
18
  import { deserializeString } from '../string';
19
19
  import type {
20
- SerovalAbortSignalAbortNode,
21
- SerovalAbortSignalConstructorNode,
22
- SerovalAbortSignalSyncNode,
23
20
  SerovalAggregateErrorNode,
24
21
  SerovalArrayBufferNode,
25
22
  SerovalArrayNode,
@@ -372,30 +369,6 @@ export default abstract class BaseDeserializerContext
372
369
  return undefined;
373
370
  }
374
371
 
375
- private deserializeAbortSignalConstructor(
376
- node: SerovalAbortSignalConstructorNode,
377
- ): unknown {
378
- return this.assignIndexedValue(node.i, new AbortController()).signal;
379
- }
380
-
381
- private deserializeAbortSignalAbort(
382
- node: SerovalAbortSignalAbortNode,
383
- ): unknown {
384
- const controller = this.refs.get(node.i) as AbortController | undefined;
385
- assert(controller, new SerovalMissingInstanceError('AbortSignal'));
386
- controller.abort(this.deserialize(node.a[1]));
387
- return undefined;
388
- }
389
-
390
- private deserializeAbortSignalSync(
391
- node: SerovalAbortSignalSyncNode,
392
- ): unknown {
393
- return this.assignIndexedValue(
394
- node.i,
395
- AbortSignal.abort(this.deserialize(node.f)),
396
- );
397
- }
398
-
399
372
  deserialize(node: SerovalNode): unknown {
400
373
  try {
401
374
  switch (node.t) {
@@ -445,9 +418,9 @@ export default abstract class BaseDeserializerContext
445
418
  return this.deserializePlugin(node);
446
419
  case SerovalNodeType.PromiseConstructor:
447
420
  return this.deserializePromiseConstructor(node);
448
- case SerovalNodeType.PromiseResolve:
421
+ case SerovalNodeType.PromiseSuccess:
449
422
  return this.deserializePromiseResolve(node);
450
- case SerovalNodeType.PromiseReject:
423
+ case SerovalNodeType.PromiseFailure:
451
424
  return this.deserializePromiseReject(node);
452
425
  case SerovalNodeType.IteratorFactoryInstance:
453
426
  return this.deserializeIteratorFactoryInstance(node);
@@ -465,12 +438,6 @@ export default abstract class BaseDeserializerContext
465
438
  return this.deserializeIteratorFactory(node);
466
439
  case SerovalNodeType.AsyncIteratorFactory:
467
440
  return this.deserializeAsyncIteratorFactory(node);
468
- case SerovalNodeType.AbortSignalAbort:
469
- return this.deserializeAbortSignalAbort(node);
470
- case SerovalNodeType.AbortSignalConstructor:
471
- return this.deserializeAbortSignalConstructor(node);
472
- case SerovalNodeType.AbortSignalSync:
473
- return this.deserializeAbortSignalSync(node);
474
441
  // case SerovalNodeType.SpecialReference:
475
442
  default:
476
443
  throw new SerovalUnsupportedNodeError(node);
@@ -1,4 +1,3 @@
1
- import { abortSignalToPromise } from '../../abort-signal';
2
1
  import {
3
2
  createAggregateErrorNode,
4
3
  createArrayBufferNode,
@@ -38,7 +37,6 @@ import type { Stream } from '../../stream';
38
37
  import { createStreamFromAsyncIterable, isStream } from '../../stream';
39
38
  import { serializeString } from '../../string';
40
39
  import type {
41
- SerovalAbortSignalSyncNode,
42
40
  SerovalAggregateErrorNode,
43
41
  SerovalArrayNode,
44
42
  SerovalBigIntTypedArrayNode,
@@ -77,7 +75,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
77
75
  for (let i = 0, len = current.length; i < len; i++) {
78
76
  // For consistency in holes
79
77
  if (i in current) {
80
- nodes[i] = await this.parse(current[i]);
78
+ nodes[i] = await this.parseTop(current[i]);
81
79
  }
82
80
  }
83
81
  return nodes;
@@ -98,7 +96,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
98
96
  const valueNodes: SerovalNode[] = [];
99
97
  for (let i = 0, len = entries.length; i < len; i++) {
100
98
  keyNodes.push(serializeString(entries[i][0]));
101
- valueNodes.push(await this.parse(entries[i][1]));
99
+ valueNodes.push(await this.parseTop(entries[i][1]));
102
100
  }
103
101
  // Check special properties
104
102
  let symbol = Symbol.iterator;
@@ -107,7 +105,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
107
105
  valueNodes.push(
108
106
  createIteratorFactoryInstanceNode(
109
107
  this.parseIteratorFactory(),
110
- await this.parse(
108
+ await this.parseTop(
111
109
  iteratorToSequence(properties as unknown as Iterable<unknown>),
112
110
  ),
113
111
  ),
@@ -119,7 +117,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
119
117
  valueNodes.push(
120
118
  createAsyncIteratorFactoryInstanceNode(
121
119
  this.parseAsyncIteratorFactory(),
122
- await this.parse(
120
+ await this.parseTop(
123
121
  createStreamFromAsyncIterable(
124
122
  properties as unknown as AsyncIterable<unknown>,
125
123
  ),
@@ -161,14 +159,18 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
161
159
  id: number,
162
160
  current: object,
163
161
  ): Promise<SerovalBoxedNode> {
164
- return createBoxedNode(id, await this.parse(current.valueOf()));
162
+ return createBoxedNode(id, await this.parseTop(current.valueOf()));
165
163
  }
166
164
 
167
165
  private async parseTypedArray(
168
166
  id: number,
169
167
  current: TypedArrayValue,
170
168
  ): Promise<SerovalTypedArrayNode> {
171
- return createTypedArrayNode(id, current, await this.parse(current.buffer));
169
+ return createTypedArrayNode(
170
+ id,
171
+ current,
172
+ await this.parseTop(current.buffer),
173
+ );
172
174
  }
173
175
 
174
176
  private async parseBigIntTypedArray(
@@ -178,7 +180,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
178
180
  return createBigIntTypedArrayNode(
179
181
  id,
180
182
  current,
181
- await this.parse(current.buffer),
183
+ await this.parseTop(current.buffer),
182
184
  );
183
185
  }
184
186
 
@@ -186,7 +188,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
186
188
  id: number,
187
189
  current: DataView,
188
190
  ): Promise<SerovalDataViewNode> {
189
- return createDataViewNode(id, current, await this.parse(current.buffer));
191
+ return createDataViewNode(id, current, await this.parseTop(current.buffer));
190
192
  }
191
193
 
192
194
  private async parseError(
@@ -220,8 +222,8 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
220
222
  const keyNodes: SerovalNode[] = [];
221
223
  const valueNodes: SerovalNode[] = [];
222
224
  for (const [key, value] of current.entries()) {
223
- keyNodes.push(await this.parse(key));
224
- valueNodes.push(await this.parse(value));
225
+ keyNodes.push(await this.parseTop(key));
226
+ valueNodes.push(await this.parseTop(value));
225
227
  }
226
228
  return this.createMapNode(id, keyNodes, valueNodes, current.size);
227
229
  }
@@ -232,7 +234,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
232
234
  ): Promise<SerovalSetNode> {
233
235
  const items: SerovalNode[] = [];
234
236
  for (const item of current.keys()) {
235
- items.push(await this.parse(item));
237
+ items.push(await this.parseTop(item));
236
238
  }
237
239
  return createSetNode(id, current.size, items);
238
240
  }
@@ -253,7 +255,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
253
255
  NIL,
254
256
  NIL,
255
257
  NIL,
256
- await this.parse(result),
258
+ await this.parseTop(result),
257
259
  NIL,
258
260
  NIL,
259
261
  );
@@ -293,7 +295,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
293
295
  const cleanup = current.on({
294
296
  next: value => {
295
297
  this.markRef(id);
296
- this.parse(value).then(
298
+ this.parseTop(value).then(
297
299
  data => {
298
300
  sequence.push(createStreamNextNode(id, data));
299
301
  },
@@ -305,7 +307,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
305
307
  },
306
308
  throw: value => {
307
309
  this.markRef(id);
308
- this.parse(value).then(
310
+ this.parseTop(value).then(
309
311
  data => {
310
312
  sequence.push(createStreamThrowNode(id, data));
311
313
  resolve(sequence);
@@ -319,7 +321,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
319
321
  },
320
322
  return: value => {
321
323
  this.markRef(id);
322
- this.parse(value).then(
324
+ this.parseTop(value).then(
323
325
  data => {
324
326
  sequence.push(createStreamReturnNode(id, data));
325
327
  resolve(sequence);
@@ -336,36 +338,6 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
336
338
  );
337
339
  }
338
340
 
339
- private async parseAbortSignalSync(
340
- id: number,
341
- current: AbortSignal,
342
- ): Promise<SerovalAbortSignalSyncNode> {
343
- return createSerovalNode(
344
- SerovalNodeType.AbortSignalSync,
345
- id,
346
- NIL,
347
- NIL,
348
- NIL,
349
- NIL,
350
- NIL,
351
- NIL,
352
- NIL,
353
- await this.parse(current.reason),
354
- NIL,
355
- NIL,
356
- );
357
- }
358
-
359
- private async parseAbortSignal(
360
- id: number,
361
- current: AbortSignal,
362
- ): Promise<SerovalAbortSignalSyncNode> {
363
- if (!current.aborted) {
364
- await abortSignalToPromise(current);
365
- }
366
- return this.parseAbortSignalSync(id, current);
367
- }
368
-
369
341
  // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: ehh
370
342
  private async parseObject(id: number, current: object): Promise<SerovalNode> {
371
343
  if (Array.isArray(current)) {
@@ -376,7 +348,7 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
376
348
  }
377
349
  const currentClass = current.constructor;
378
350
  if (currentClass === OpaqueReference) {
379
- return this.parse(
351
+ return this.parseTop(
380
352
  (current as OpaqueReference<unknown, unknown>).replacement,
381
353
  );
382
354
  }
@@ -440,13 +412,6 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
440
412
  return this.parsePromise(id, current as unknown as Promise<unknown>);
441
413
  }
442
414
  const currentFeatures = this.features;
443
- if (
444
- currentFeatures & Feature.AbortSignal &&
445
- typeof AbortSignal !== 'undefined' &&
446
- currentClass === AbortSignal
447
- ) {
448
- return this.parseAbortSignal(id, current as unknown as AbortSignal);
449
- }
450
415
  // BigInt Typed Arrays
451
416
  if (currentFeatures & Feature.BigIntTypedArray) {
452
417
  switch (currentClass) {
@@ -492,37 +457,43 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
492
457
  throw new SerovalUnsupportedTypeError(current);
493
458
  }
494
459
 
495
- async parse<T>(current: T): Promise<SerovalNode> {
496
- try {
497
- switch (typeof current) {
498
- case 'boolean':
499
- return current ? TRUE_NODE : FALSE_NODE;
500
- case 'undefined':
501
- return UNDEFINED_NODE;
502
- case 'string':
503
- return createStringNode(current as string);
504
- case 'number':
505
- return createNumberNode(current as number);
506
- case 'bigint':
507
- return createBigIntNode(current as bigint);
508
- case 'object': {
509
- if (current) {
510
- const ref = this.getReference(current);
511
- return ref.type === 0
512
- ? await this.parseObject(ref.value, current as object)
513
- : ref.value;
514
- }
515
- return NULL_NODE;
460
+ async parseTop<T>(current: T): Promise<SerovalNode> {
461
+ switch (typeof current) {
462
+ case 'boolean':
463
+ return current ? TRUE_NODE : FALSE_NODE;
464
+ case 'undefined':
465
+ return UNDEFINED_NODE;
466
+ case 'string':
467
+ return createStringNode(current as string);
468
+ case 'number':
469
+ return createNumberNode(current as number);
470
+ case 'bigint':
471
+ return createBigIntNode(current as bigint);
472
+ case 'object': {
473
+ if (current) {
474
+ const ref = this.getReference(current);
475
+ return ref.type === 0
476
+ ? await this.parseObject(ref.value, current as object)
477
+ : ref.value;
516
478
  }
517
- case 'symbol':
518
- return this.parseWellKnownSymbol(current);
519
- case 'function':
520
- return this.parseFunction(current);
521
- default:
522
- throw new SerovalUnsupportedTypeError(current);
479
+ return NULL_NODE;
523
480
  }
481
+ case 'symbol':
482
+ return this.parseWellKnownSymbol(current);
483
+ case 'function':
484
+ return this.parseFunction(current);
485
+ default:
486
+ throw new SerovalUnsupportedTypeError(current);
487
+ }
488
+ }
489
+
490
+ async parse<T>(current: T): Promise<SerovalNode> {
491
+ try {
492
+ return await this.parseTop(current);
524
493
  } catch (error) {
525
- throw new SerovalParserError(error);
494
+ throw error instanceof SerovalParserError
495
+ ? error
496
+ : new SerovalParserError(error);
526
497
  }
527
498
  }
528
499
  }