seroval 1.4.0 → 1.4.2
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/dist/cjs/development/index.cjs +553 -350
- package/dist/cjs/development/index.cjs.map +3 -3
- package/dist/cjs/production/index.cjs +3 -3
- package/dist/esm/development/index.mjs +553 -350
- package/dist/esm/development/index.mjs.map +3 -3
- package/dist/esm/production/index.mjs +3 -3
- package/dist/types/core/base-primitives.d.ts +2 -2
- package/dist/types/core/base-primitives.d.ts.map +1 -1
- package/dist/types/core/compat.d.ts +2 -1
- package/dist/types/core/compat.d.ts.map +1 -1
- package/dist/types/core/constants.d.ts +2 -2
- package/dist/types/core/constants.d.ts.map +1 -1
- package/dist/types/core/constructors.d.ts +1 -1
- package/dist/types/core/constructors.d.ts.map +1 -1
- package/dist/types/core/context/async-parser.d.ts +5 -4
- package/dist/types/core/context/async-parser.d.ts.map +1 -1
- package/dist/types/core/context/deserializer.d.ts +7 -2
- package/dist/types/core/context/deserializer.d.ts.map +1 -1
- package/dist/types/core/context/parser.d.ts +3 -1
- package/dist/types/core/context/parser.d.ts.map +1 -1
- package/dist/types/core/context/serializer.d.ts.map +1 -1
- package/dist/types/core/context/sync-parser.d.ts +5 -5
- package/dist/types/core/context/sync-parser.d.ts.map +1 -1
- package/dist/types/core/cross/index.d.ts.map +1 -1
- package/dist/types/core/errors.d.ts +9 -0
- package/dist/types/core/errors.d.ts.map +1 -1
- package/dist/types/core/node.d.ts +1 -1
- package/dist/types/core/string.d.ts.map +1 -1
- package/dist/types/core/tree/index.d.ts +4 -1
- package/dist/types/core/tree/index.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +6 -11
- package/dist/types/core/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/base-primitives.ts +17 -18
- package/src/core/compat.ts +3 -1
- package/src/core/constants.ts +18 -4
- package/src/core/constructors.ts +2 -1
- package/src/core/context/async-parser.ts +102 -50
- package/src/core/context/deserializer.ts +269 -105
- package/src/core/context/parser.ts +12 -10
- package/src/core/context/serializer.ts +31 -36
- package/src/core/context/sync-parser.ts +149 -75
- package/src/core/cross/index.ts +2 -0
- package/src/core/errors.ts +33 -0
- package/src/core/node.ts +2 -2
- package/src/core/string.ts +3 -1
- package/src/core/tree/index.ts +10 -1
- package/src/core/types.ts +10 -19
|
@@ -4,26 +4,24 @@ export interface SerovalBaseNode {
|
|
|
4
4
|
t: SerovalNodeType;
|
|
5
5
|
i: number | undefined;
|
|
6
6
|
s: unknown;
|
|
7
|
-
l: number | undefined;
|
|
8
7
|
c: string | undefined;
|
|
9
8
|
m: string | undefined;
|
|
10
9
|
p: SerovalObjectRecordNode | undefined;
|
|
11
10
|
e: SerovalMapRecordNode | undefined;
|
|
12
|
-
a: (SerovalNode |
|
|
11
|
+
a: (SerovalNode | 0)[] | undefined;
|
|
13
12
|
f: SerovalNode | undefined;
|
|
14
13
|
b: number | undefined;
|
|
15
14
|
o: SerovalObjectFlags | undefined;
|
|
15
|
+
l: number | undefined;
|
|
16
16
|
}
|
|
17
17
|
export type SerovalObjectRecordKey = string | SerovalNode;
|
|
18
18
|
export interface SerovalObjectRecordNode {
|
|
19
19
|
k: SerovalObjectRecordKey[];
|
|
20
20
|
v: SerovalNode[];
|
|
21
|
-
s: number;
|
|
22
21
|
}
|
|
23
22
|
export interface SerovalMapRecordNode {
|
|
24
23
|
k: SerovalNode[];
|
|
25
24
|
v: SerovalNode[];
|
|
26
|
-
s: number;
|
|
27
25
|
}
|
|
28
26
|
export interface SerovalNumberNode extends SerovalBaseNode {
|
|
29
27
|
t: SerovalNodeType.Number;
|
|
@@ -61,30 +59,28 @@ export interface SerovalArrayBufferNode extends SerovalBaseNode {
|
|
|
61
59
|
t: SerovalNodeType.ArrayBuffer;
|
|
62
60
|
i: number;
|
|
63
61
|
s: string;
|
|
64
|
-
l: number;
|
|
65
62
|
f: SerovalNodeWithID;
|
|
66
63
|
}
|
|
67
64
|
export interface SerovalTypedArrayNode extends SerovalBaseNode {
|
|
68
65
|
t: SerovalNodeType.TypedArray;
|
|
69
66
|
i: number;
|
|
70
|
-
l: number;
|
|
71
67
|
c: string;
|
|
72
68
|
f: SerovalNode;
|
|
73
69
|
b: number;
|
|
70
|
+
l: number;
|
|
74
71
|
}
|
|
75
72
|
export interface SerovalBigIntTypedArrayNode extends SerovalBaseNode {
|
|
76
73
|
t: SerovalNodeType.BigIntTypedArray;
|
|
77
74
|
i: number;
|
|
78
|
-
l: number;
|
|
79
75
|
c: string;
|
|
80
76
|
f: SerovalNode;
|
|
81
77
|
b: number;
|
|
78
|
+
l: number;
|
|
82
79
|
}
|
|
83
80
|
export type SerovalSemiPrimitiveNode = SerovalBigIntNode | SerovalDateNode | SerovalRegExpNode | SerovalTypedArrayNode | SerovalBigIntTypedArrayNode;
|
|
84
81
|
export interface SerovalSetNode extends SerovalBaseNode {
|
|
85
82
|
t: SerovalNodeType.Set;
|
|
86
83
|
i: number;
|
|
87
|
-
l: number;
|
|
88
84
|
a: SerovalNode[];
|
|
89
85
|
}
|
|
90
86
|
export interface SerovalMapNode extends SerovalBaseNode {
|
|
@@ -95,8 +91,7 @@ export interface SerovalMapNode extends SerovalBaseNode {
|
|
|
95
91
|
}
|
|
96
92
|
export interface SerovalArrayNode extends SerovalBaseNode {
|
|
97
93
|
t: SerovalNodeType.Array;
|
|
98
|
-
|
|
99
|
-
a: (SerovalNode | undefined)[];
|
|
94
|
+
a: (SerovalNode | 0)[];
|
|
100
95
|
i: number;
|
|
101
96
|
o: SerovalObjectFlags;
|
|
102
97
|
}
|
|
@@ -144,9 +139,9 @@ export interface SerovalReferenceNode extends SerovalBaseNode {
|
|
|
144
139
|
export interface SerovalDataViewNode extends SerovalBaseNode {
|
|
145
140
|
t: SerovalNodeType.DataView;
|
|
146
141
|
i: number;
|
|
147
|
-
l: number;
|
|
148
142
|
f: SerovalNode;
|
|
149
143
|
b: number;
|
|
144
|
+
l: number;
|
|
150
145
|
}
|
|
151
146
|
export interface SerovalBoxedNode extends SerovalBaseNode {
|
|
152
147
|
t: SerovalNodeType.Boxed;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -153,7 +153,6 @@ export function createRegExpNode(
|
|
|
153
153
|
SerovalNodeType.RegExp,
|
|
154
154
|
id,
|
|
155
155
|
NIL,
|
|
156
|
-
NIL,
|
|
157
156
|
serializeString(current.source),
|
|
158
157
|
current.flags,
|
|
159
158
|
NIL,
|
|
@@ -162,6 +161,7 @@ export function createRegExpNode(
|
|
|
162
161
|
NIL,
|
|
163
162
|
NIL,
|
|
164
163
|
NIL,
|
|
164
|
+
NIL,
|
|
165
165
|
);
|
|
166
166
|
}
|
|
167
167
|
|
|
@@ -214,7 +214,6 @@ export function createPluginNode(
|
|
|
214
214
|
SerovalNodeType.Plugin,
|
|
215
215
|
id,
|
|
216
216
|
value,
|
|
217
|
-
NIL,
|
|
218
217
|
serializeString(tag),
|
|
219
218
|
NIL,
|
|
220
219
|
NIL,
|
|
@@ -223,19 +222,19 @@ export function createPluginNode(
|
|
|
223
222
|
NIL,
|
|
224
223
|
NIL,
|
|
225
224
|
NIL,
|
|
225
|
+
NIL,
|
|
226
226
|
);
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
export function createArrayNode(
|
|
230
230
|
id: number,
|
|
231
231
|
current: unknown[],
|
|
232
|
-
parsedItems:
|
|
232
|
+
parsedItems: SerovalArrayNode['a'],
|
|
233
233
|
): SerovalArrayNode {
|
|
234
234
|
return createSerovalNode(
|
|
235
235
|
SerovalNodeType.Array,
|
|
236
236
|
id,
|
|
237
237
|
NIL,
|
|
238
|
-
current.length,
|
|
239
238
|
NIL,
|
|
240
239
|
NIL,
|
|
241
240
|
NIL,
|
|
@@ -244,6 +243,7 @@ export function createArrayNode(
|
|
|
244
243
|
NIL,
|
|
245
244
|
NIL,
|
|
246
245
|
getObjectFlag(current),
|
|
246
|
+
NIL,
|
|
247
247
|
);
|
|
248
248
|
}
|
|
249
249
|
|
|
@@ -260,10 +260,10 @@ export function createBoxedNode(
|
|
|
260
260
|
NIL,
|
|
261
261
|
NIL,
|
|
262
262
|
NIL,
|
|
263
|
-
NIL,
|
|
264
263
|
boxed,
|
|
265
264
|
NIL,
|
|
266
265
|
NIL,
|
|
266
|
+
NIL,
|
|
267
267
|
);
|
|
268
268
|
}
|
|
269
269
|
|
|
@@ -276,7 +276,6 @@ export function createTypedArrayNode(
|
|
|
276
276
|
SerovalNodeType.TypedArray,
|
|
277
277
|
id,
|
|
278
278
|
NIL,
|
|
279
|
-
current.length,
|
|
280
279
|
current.constructor.name,
|
|
281
280
|
NIL,
|
|
282
281
|
NIL,
|
|
@@ -285,6 +284,7 @@ export function createTypedArrayNode(
|
|
|
285
284
|
buffer,
|
|
286
285
|
current.byteOffset,
|
|
287
286
|
NIL,
|
|
287
|
+
current.length,
|
|
288
288
|
);
|
|
289
289
|
}
|
|
290
290
|
|
|
@@ -297,7 +297,6 @@ export function createBigIntTypedArrayNode(
|
|
|
297
297
|
SerovalNodeType.BigIntTypedArray,
|
|
298
298
|
id,
|
|
299
299
|
NIL,
|
|
300
|
-
current.length,
|
|
301
300
|
current.constructor.name,
|
|
302
301
|
NIL,
|
|
303
302
|
NIL,
|
|
@@ -306,6 +305,7 @@ export function createBigIntTypedArrayNode(
|
|
|
306
305
|
buffer,
|
|
307
306
|
current.byteOffset,
|
|
308
307
|
NIL,
|
|
308
|
+
current.byteLength,
|
|
309
309
|
);
|
|
310
310
|
}
|
|
311
311
|
|
|
@@ -318,7 +318,6 @@ export function createDataViewNode(
|
|
|
318
318
|
SerovalNodeType.DataView,
|
|
319
319
|
id,
|
|
320
320
|
NIL,
|
|
321
|
-
current.byteLength,
|
|
322
321
|
NIL,
|
|
323
322
|
NIL,
|
|
324
323
|
NIL,
|
|
@@ -327,6 +326,7 @@ export function createDataViewNode(
|
|
|
327
326
|
buffer,
|
|
328
327
|
current.byteOffset,
|
|
329
328
|
NIL,
|
|
329
|
+
current.byteLength,
|
|
330
330
|
);
|
|
331
331
|
}
|
|
332
332
|
|
|
@@ -340,7 +340,6 @@ export function createErrorNode(
|
|
|
340
340
|
id,
|
|
341
341
|
getErrorConstructor(current),
|
|
342
342
|
NIL,
|
|
343
|
-
NIL,
|
|
344
343
|
serializeString(current.message),
|
|
345
344
|
options,
|
|
346
345
|
NIL,
|
|
@@ -348,6 +347,7 @@ export function createErrorNode(
|
|
|
348
347
|
NIL,
|
|
349
348
|
NIL,
|
|
350
349
|
NIL,
|
|
350
|
+
NIL,
|
|
351
351
|
);
|
|
352
352
|
}
|
|
353
353
|
|
|
@@ -361,7 +361,6 @@ export function createAggregateErrorNode(
|
|
|
361
361
|
id,
|
|
362
362
|
getErrorConstructor(current),
|
|
363
363
|
NIL,
|
|
364
|
-
NIL,
|
|
365
364
|
serializeString(current.message),
|
|
366
365
|
options,
|
|
367
366
|
NIL,
|
|
@@ -369,19 +368,18 @@ export function createAggregateErrorNode(
|
|
|
369
368
|
NIL,
|
|
370
369
|
NIL,
|
|
371
370
|
NIL,
|
|
371
|
+
NIL,
|
|
372
372
|
);
|
|
373
373
|
}
|
|
374
374
|
|
|
375
375
|
export function createSetNode(
|
|
376
376
|
id: number,
|
|
377
|
-
size: number,
|
|
378
377
|
items: SerovalNode[],
|
|
379
378
|
): SerovalSetNode {
|
|
380
379
|
return createSerovalNode(
|
|
381
380
|
SerovalNodeType.Set,
|
|
382
381
|
id,
|
|
383
382
|
NIL,
|
|
384
|
-
size,
|
|
385
383
|
NIL,
|
|
386
384
|
NIL,
|
|
387
385
|
NIL,
|
|
@@ -390,6 +388,7 @@ export function createSetNode(
|
|
|
390
388
|
NIL,
|
|
391
389
|
NIL,
|
|
392
390
|
NIL,
|
|
391
|
+
NIL,
|
|
393
392
|
);
|
|
394
393
|
}
|
|
395
394
|
|
|
@@ -405,11 +404,11 @@ export function createIteratorFactoryInstanceNode(
|
|
|
405
404
|
NIL,
|
|
406
405
|
NIL,
|
|
407
406
|
NIL,
|
|
408
|
-
NIL,
|
|
409
407
|
[factory, items],
|
|
410
408
|
NIL,
|
|
411
409
|
NIL,
|
|
412
410
|
NIL,
|
|
411
|
+
NIL,
|
|
413
412
|
);
|
|
414
413
|
}
|
|
415
414
|
|
|
@@ -425,11 +424,11 @@ export function createAsyncIteratorFactoryInstanceNode(
|
|
|
425
424
|
NIL,
|
|
426
425
|
NIL,
|
|
427
426
|
NIL,
|
|
428
|
-
NIL,
|
|
429
427
|
[factory, items],
|
|
430
428
|
NIL,
|
|
431
429
|
NIL,
|
|
432
430
|
NIL,
|
|
431
|
+
NIL,
|
|
433
432
|
);
|
|
434
433
|
}
|
|
435
434
|
|
|
@@ -446,11 +445,11 @@ export function createStreamConstructorNode(
|
|
|
446
445
|
NIL,
|
|
447
446
|
NIL,
|
|
448
447
|
NIL,
|
|
449
|
-
NIL,
|
|
450
448
|
sequence,
|
|
451
449
|
factory,
|
|
452
450
|
NIL,
|
|
453
451
|
NIL,
|
|
452
|
+
NIL,
|
|
454
453
|
);
|
|
455
454
|
}
|
|
456
455
|
|
|
@@ -467,10 +466,10 @@ export function createStreamNextNode(
|
|
|
467
466
|
NIL,
|
|
468
467
|
NIL,
|
|
469
468
|
NIL,
|
|
470
|
-
NIL,
|
|
471
469
|
parsed,
|
|
472
470
|
NIL,
|
|
473
471
|
NIL,
|
|
472
|
+
NIL,
|
|
474
473
|
);
|
|
475
474
|
}
|
|
476
475
|
|
|
@@ -487,10 +486,10 @@ export function createStreamThrowNode(
|
|
|
487
486
|
NIL,
|
|
488
487
|
NIL,
|
|
489
488
|
NIL,
|
|
490
|
-
NIL,
|
|
491
489
|
parsed,
|
|
492
490
|
NIL,
|
|
493
491
|
NIL,
|
|
492
|
+
NIL,
|
|
494
493
|
);
|
|
495
494
|
}
|
|
496
495
|
|
|
@@ -507,9 +506,9 @@ export function createStreamReturnNode(
|
|
|
507
506
|
NIL,
|
|
508
507
|
NIL,
|
|
509
508
|
NIL,
|
|
510
|
-
NIL,
|
|
511
509
|
parsed,
|
|
512
510
|
NIL,
|
|
513
511
|
NIL,
|
|
512
|
+
NIL,
|
|
514
513
|
);
|
|
515
514
|
}
|
package/src/core/compat.ts
CHANGED
|
@@ -11,6 +11,7 @@ export enum Feature {
|
|
|
11
11
|
ErrorPrototypeStack = 0x04,
|
|
12
12
|
ObjectAssign = 0x08,
|
|
13
13
|
BigIntTypedArray = 0x10,
|
|
14
|
+
RegExp = 0x20,
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
export const ALL_ENABLED =
|
|
@@ -18,4 +19,5 @@ export const ALL_ENABLED =
|
|
|
18
19
|
Feature.ArrowFunction |
|
|
19
20
|
Feature.ErrorPrototypeStack |
|
|
20
21
|
Feature.ObjectAssign |
|
|
21
|
-
Feature.BigIntTypedArray
|
|
22
|
+
Feature.BigIntTypedArray |
|
|
23
|
+
Feature.RegExp;
|
package/src/core/constants.ts
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
SYM_ASYNC_ITERATOR,
|
|
3
|
+
SYM_HAS_INSTANCE,
|
|
4
|
+
SYM_IS_CONCAT_SPREADABLE,
|
|
5
|
+
SYM_ITERATOR,
|
|
6
|
+
SYM_MATCH,
|
|
7
|
+
SYM_MATCH_ALL,
|
|
8
|
+
SYM_REPLACE,
|
|
9
|
+
SYM_SEARCH,
|
|
10
|
+
SYM_SPECIES,
|
|
11
|
+
SYM_SPLIT,
|
|
12
|
+
SYM_TO_PRIMITIVE,
|
|
13
|
+
SYM_TO_STRING_TAG,
|
|
14
|
+
SYM_UNSCOPABLES,
|
|
15
|
+
} from './symbols';
|
|
2
16
|
|
|
3
17
|
export const enum SerovalConstant {
|
|
4
18
|
Null = 0,
|
|
@@ -133,10 +147,12 @@ export const CONSTANT_STRING: Record<SerovalConstant, string> = {
|
|
|
133
147
|
[SerovalConstant.Nan]: '0/0',
|
|
134
148
|
};
|
|
135
149
|
|
|
150
|
+
export const NIL = void 0;
|
|
151
|
+
|
|
136
152
|
export const CONSTANT_VAL: Record<SerovalConstant, unknown> = {
|
|
137
153
|
[SerovalConstant.True]: true,
|
|
138
154
|
[SerovalConstant.False]: false,
|
|
139
|
-
[SerovalConstant.Undefined]:
|
|
155
|
+
[SerovalConstant.Undefined]: NIL,
|
|
140
156
|
[SerovalConstant.Null]: null,
|
|
141
157
|
[SerovalConstant.NegZero]: -0,
|
|
142
158
|
[SerovalConstant.Inf]: Number.POSITIVE_INFINITY,
|
|
@@ -183,5 +199,3 @@ export const ERROR_CONSTRUCTOR: Record<ErrorConstructorTag, ErrorConstructors> =
|
|
|
183
199
|
[ErrorConstructorTag.TypeError]: TypeError,
|
|
184
200
|
[ErrorConstructorTag.URIError]: URIError,
|
|
185
201
|
};
|
|
186
|
-
|
|
187
|
-
export const NIL = undefined;
|
package/src/core/constructors.ts
CHANGED
|
@@ -256,8 +256,9 @@ export const ASYNC_ITERATOR_CONSTRUCTOR =
|
|
|
256
256
|
export const SERIALIZED_ASYNC_ITERATOR_CONSTRUCTOR =
|
|
257
257
|
/* @__PURE__ */ ASYNC_ITERATOR_CONSTRUCTOR.toString();
|
|
258
258
|
|
|
259
|
-
export const ARRAY_BUFFER_CONSTRUCTOR = (
|
|
259
|
+
export const ARRAY_BUFFER_CONSTRUCTOR = (b64: string) => {
|
|
260
260
|
const decoded = atob(b64);
|
|
261
|
+
const length = decoded.length;
|
|
261
262
|
const arr = new Uint8Array(length);
|
|
262
263
|
for (let i = 0; i < length; i++) {
|
|
263
264
|
arr[i] = decoded.charCodeAt(i);
|