seroval 1.5.6 → 1.6.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/dist/index.d.ts +761 -0
- package/dist/index.js +2928 -0
- package/package.json +14 -23
- package/dist/cjs/development/index.cjs +0 -4232
- package/dist/cjs/development/index.cjs.map +0 -7
- package/dist/cjs/production/index.cjs +0 -3
- package/dist/esm/development/index.mjs +0 -4209
- package/dist/esm/development/index.mjs.map +0 -7
- package/dist/esm/production/index.mjs +0 -3
- package/dist/types/core/Serializer.d.ts +0 -28
- package/dist/types/core/Serializer.d.ts.map +0 -1
- package/dist/types/core/base-primitives.d.ts +0 -28
- package/dist/types/core/base-primitives.d.ts.map +0 -1
- package/dist/types/core/compat.d.ts +0 -15
- package/dist/types/core/compat.d.ts.map +0 -1
- package/dist/types/core/constants.d.ts +0 -105
- package/dist/types/core/constants.d.ts.map +0 -1
- package/dist/types/core/constructors.d.ts +0 -50
- package/dist/types/core/constructors.d.ts.map +0 -1
- package/dist/types/core/context/async-parser.d.ts +0 -20
- package/dist/types/core/context/async-parser.d.ts.map +0 -1
- package/dist/types/core/context/deserializer.d.ts +0 -52
- package/dist/types/core/context/deserializer.d.ts.map +0 -1
- package/dist/types/core/context/parser.d.ts +0 -62
- package/dist/types/core/context/parser.d.ts.map +0 -1
- package/dist/types/core/context/serializer.d.ts +0 -103
- package/dist/types/core/context/serializer.d.ts.map +0 -1
- package/dist/types/core/context/sync-parser.d.ts +0 -61
- package/dist/types/core/context/sync-parser.d.ts.map +0 -1
- package/dist/types/core/cross/index.d.ts +0 -24
- package/dist/types/core/cross/index.d.ts.map +0 -1
- package/dist/types/core/errors.d.ts +0 -47
- package/dist/types/core/errors.d.ts.map +0 -1
- package/dist/types/core/function-string.d.ts +0 -3
- package/dist/types/core/function-string.d.ts.map +0 -1
- package/dist/types/core/keys.d.ts +0 -4
- package/dist/types/core/keys.d.ts.map +0 -1
- package/dist/types/core/literals.d.ts +0 -10
- package/dist/types/core/literals.d.ts.map +0 -1
- package/dist/types/core/node.d.ts +0 -8
- package/dist/types/core/node.d.ts.map +0 -1
- package/dist/types/core/opaque-reference.d.ts +0 -9
- package/dist/types/core/opaque-reference.d.ts.map +0 -1
- package/dist/types/core/plugin.d.ts +0 -52
- package/dist/types/core/plugin.d.ts.map +0 -1
- package/dist/types/core/reference.d.ts +0 -6
- package/dist/types/core/reference.d.ts.map +0 -1
- package/dist/types/core/sequence.d.ts +0 -11
- package/dist/types/core/sequence.d.ts.map +0 -1
- package/dist/types/core/special-reference.d.ts +0 -16
- package/dist/types/core/special-reference.d.ts.map +0 -1
- package/dist/types/core/stream.d.ts +0 -17
- package/dist/types/core/stream.d.ts.map +0 -1
- package/dist/types/core/string.d.ts +0 -4
- package/dist/types/core/string.d.ts.map +0 -1
- package/dist/types/core/symbols.d.ts +0 -14
- package/dist/types/core/symbols.d.ts.map +0 -1
- package/dist/types/core/tree/index.d.ts +0 -21
- package/dist/types/core/tree/index.d.ts.map +0 -1
- package/dist/types/core/types.d.ts +0 -233
- package/dist/types/core/types.d.ts.map +0 -1
- package/dist/types/core/utils/error.d.ts +0 -6
- package/dist/types/core/utils/error.d.ts.map +0 -1
- package/dist/types/core/utils/get-identifier.d.ts +0 -2
- package/dist/types/core/utils/get-identifier.d.ts.map +0 -1
- package/dist/types/core/utils/get-object-flag.d.ts +0 -3
- package/dist/types/core/utils/get-object-flag.d.ts.map +0 -1
- package/dist/types/core/utils/is-valid-identifier.d.ts +0 -2
- package/dist/types/core/utils/is-valid-identifier.d.ts.map +0 -1
- package/dist/types/core/utils/promise-to-result.d.ts +0 -2
- package/dist/types/core/utils/promise-to-result.d.ts.map +0 -1
- package/dist/types/core/utils/typed-array.d.ts +0 -6
- package/dist/types/core/utils/typed-array.d.ts.map +0 -1
- package/dist/types/core/utils/valid-properties.d.ts +0 -3
- package/dist/types/core/utils/valid-properties.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -18
- package/dist/types/index.d.ts.map +0 -1
- package/src/core/Serializer.ts +0 -119
- package/src/core/base-primitives.ts +0 -537
- package/src/core/compat.ts +0 -23
- package/src/core/constants.ts +0 -202
- package/src/core/constructors.ts +0 -265
- package/src/core/context/async-parser.ts +0 -666
- package/src/core/context/deserializer.ts +0 -832
- package/src/core/context/parser.ts +0 -335
- package/src/core/context/serializer.ts +0 -1524
- package/src/core/context/sync-parser.ts +0 -943
- package/src/core/cross/index.ts +0 -190
- package/src/core/errors.ts +0 -196
- package/src/core/function-string.ts +0 -31
- package/src/core/keys.ts +0 -17
- package/src/core/literals.ts +0 -43
- package/src/core/node.ts +0 -40
- package/src/core/opaque-reference.ts +0 -9
- package/src/core/plugin.ts +0 -105
- package/src/core/reference.ts +0 -66
- package/src/core/sequence.ts +0 -59
- package/src/core/special-reference.ts +0 -42
- package/src/core/stream.ts +0 -71
- package/src/core/string.ts +0 -86
- package/src/core/symbols.ts +0 -20
- package/src/core/tree/index.ts +0 -134
- package/src/core/types.ts +0 -377
- package/src/core/utils/error.ts +0 -73
- package/src/core/utils/get-identifier.ts +0 -18
- package/src/core/utils/get-object-flag.ts +0 -14
- package/src/core/utils/is-valid-identifier.ts +0 -12
- package/src/core/utils/promise-to-result.ts +0 -9
- package/src/core/utils/typed-array.ts +0 -56
- package/src/core/utils/valid-properties.ts +0 -34
- package/src/index.ts +0 -36
package/src/core/types.ts
DELETED
|
@@ -1,377 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
ErrorConstructorTag,
|
|
3
|
-
SerovalConstant,
|
|
4
|
-
SerovalNodeType,
|
|
5
|
-
SerovalObjectFlags,
|
|
6
|
-
Symbols,
|
|
7
|
-
} from './constants';
|
|
8
|
-
import type { SpecialReference } from './special-reference';
|
|
9
|
-
|
|
10
|
-
export interface SerovalBaseNode {
|
|
11
|
-
// Type of the node
|
|
12
|
-
t: SerovalNodeType;
|
|
13
|
-
// Reference ID
|
|
14
|
-
i: number | undefined;
|
|
15
|
-
// Serialized value
|
|
16
|
-
s: unknown;
|
|
17
|
-
// Constructor name / RegExp source
|
|
18
|
-
c: string | undefined;
|
|
19
|
-
// message/flags
|
|
20
|
-
m: string | undefined;
|
|
21
|
-
// properties (objects)
|
|
22
|
-
p: SerovalObjectRecordNode | undefined;
|
|
23
|
-
// entries (for Map, etc.)
|
|
24
|
-
e: SerovalMapRecordNode | undefined;
|
|
25
|
-
// array of nodes
|
|
26
|
-
a: (SerovalNode | 0)[] | undefined;
|
|
27
|
-
// fulfilled node
|
|
28
|
-
f: SerovalNode | undefined;
|
|
29
|
-
// byte offset/object flags
|
|
30
|
-
b: number | undefined;
|
|
31
|
-
// object flag
|
|
32
|
-
o: SerovalObjectFlags | undefined;
|
|
33
|
-
// length
|
|
34
|
-
l: number | undefined;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export type SerovalObjectRecordKey = string | SerovalNode;
|
|
38
|
-
|
|
39
|
-
export interface SerovalObjectRecordNode {
|
|
40
|
-
k: SerovalObjectRecordKey[];
|
|
41
|
-
v: SerovalNode[];
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface SerovalMapRecordNode {
|
|
45
|
-
k: SerovalNode[];
|
|
46
|
-
v: SerovalNode[];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface SerovalNumberNode extends SerovalBaseNode {
|
|
50
|
-
t: SerovalNodeType.Number;
|
|
51
|
-
s: number;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface SerovalStringNode extends SerovalBaseNode {
|
|
55
|
-
t: SerovalNodeType.String;
|
|
56
|
-
s: string;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface SerovalConstantNode extends SerovalBaseNode {
|
|
60
|
-
t: SerovalNodeType.Constant;
|
|
61
|
-
s: SerovalConstant;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export type SerovalPrimitiveNode =
|
|
65
|
-
| SerovalNumberNode
|
|
66
|
-
| SerovalStringNode
|
|
67
|
-
| SerovalConstantNode;
|
|
68
|
-
|
|
69
|
-
export interface SerovalIndexedValueNode extends SerovalBaseNode {
|
|
70
|
-
t: SerovalNodeType.IndexedValue;
|
|
71
|
-
// id
|
|
72
|
-
i: number;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export interface SerovalBigIntNode extends SerovalBaseNode {
|
|
76
|
-
t: SerovalNodeType.BigInt;
|
|
77
|
-
// value in string
|
|
78
|
-
s: string;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export interface SerovalDateNode extends SerovalBaseNode {
|
|
82
|
-
t: SerovalNodeType.Date;
|
|
83
|
-
// id (Dates are stateful)
|
|
84
|
-
i: number;
|
|
85
|
-
// value in ISO string
|
|
86
|
-
s: string;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export interface SerovalRegExpNode extends SerovalBaseNode {
|
|
90
|
-
t: SerovalNodeType.RegExp;
|
|
91
|
-
// id (RegExp are stateful)
|
|
92
|
-
i: number;
|
|
93
|
-
// source
|
|
94
|
-
c: string;
|
|
95
|
-
// flags
|
|
96
|
-
m: string;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export interface SerovalArrayBufferNode extends SerovalBaseNode {
|
|
100
|
-
t: SerovalNodeType.ArrayBuffer;
|
|
101
|
-
// id
|
|
102
|
-
i: number;
|
|
103
|
-
// byte string
|
|
104
|
-
s: string;
|
|
105
|
-
// array buffer constructor
|
|
106
|
-
f: SerovalNodeWithID;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
export interface SerovalTypedArrayNode extends SerovalBaseNode {
|
|
110
|
-
t: SerovalNodeType.TypedArray;
|
|
111
|
-
// id
|
|
112
|
-
i: number;
|
|
113
|
-
// TypedArray Constructor
|
|
114
|
-
c: string;
|
|
115
|
-
// ArrayBuffer reference
|
|
116
|
-
f: SerovalNode;
|
|
117
|
-
// Byte Offset
|
|
118
|
-
b: number;
|
|
119
|
-
// length
|
|
120
|
-
l: number;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export interface SerovalBigIntTypedArrayNode extends SerovalBaseNode {
|
|
124
|
-
t: SerovalNodeType.BigIntTypedArray;
|
|
125
|
-
i: number;
|
|
126
|
-
// TypedArray Constructor
|
|
127
|
-
c: string;
|
|
128
|
-
// ArrayBuffer reference
|
|
129
|
-
f: SerovalNode;
|
|
130
|
-
// Byte Offset
|
|
131
|
-
b: number;
|
|
132
|
-
// length
|
|
133
|
-
l: number;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export type SerovalSemiPrimitiveNode =
|
|
137
|
-
| SerovalBigIntNode
|
|
138
|
-
| SerovalDateNode
|
|
139
|
-
| SerovalRegExpNode
|
|
140
|
-
| SerovalTypedArrayNode
|
|
141
|
-
| SerovalBigIntTypedArrayNode;
|
|
142
|
-
|
|
143
|
-
export interface SerovalSetNode extends SerovalBaseNode {
|
|
144
|
-
t: SerovalNodeType.Set;
|
|
145
|
-
// id
|
|
146
|
-
i: number;
|
|
147
|
-
// Items in Set (as array)
|
|
148
|
-
a: SerovalNode[];
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export interface SerovalMapNode extends SerovalBaseNode {
|
|
152
|
-
t: SerovalNodeType.Map;
|
|
153
|
-
i: number;
|
|
154
|
-
// key/value pairs
|
|
155
|
-
e: SerovalMapRecordNode;
|
|
156
|
-
f: SerovalNodeWithID;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export interface SerovalArrayNode extends SerovalBaseNode {
|
|
160
|
-
t: SerovalNodeType.Array;
|
|
161
|
-
// items
|
|
162
|
-
a: (SerovalNode | 0)[];
|
|
163
|
-
i: number;
|
|
164
|
-
o: SerovalObjectFlags;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
export interface SerovalObjectNode extends SerovalBaseNode {
|
|
168
|
-
t: SerovalNodeType.Object;
|
|
169
|
-
// key/value pairs
|
|
170
|
-
p: SerovalObjectRecordNode;
|
|
171
|
-
i: number;
|
|
172
|
-
o: SerovalObjectFlags;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
export interface SerovalNullConstructorNode extends SerovalBaseNode {
|
|
176
|
-
t: SerovalNodeType.NullConstructor;
|
|
177
|
-
// key/value pairs
|
|
178
|
-
p: SerovalObjectRecordNode;
|
|
179
|
-
i: number;
|
|
180
|
-
o: SerovalObjectFlags;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
export interface SerovalPromiseNode extends SerovalBaseNode {
|
|
184
|
-
t: SerovalNodeType.Promise;
|
|
185
|
-
s: 0 | 1;
|
|
186
|
-
// resolved value
|
|
187
|
-
f: SerovalNode;
|
|
188
|
-
i: number;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
export interface SerovalErrorNode extends SerovalBaseNode {
|
|
192
|
-
t: SerovalNodeType.Error;
|
|
193
|
-
// constructor name
|
|
194
|
-
s: ErrorConstructorTag;
|
|
195
|
-
// message
|
|
196
|
-
m: string;
|
|
197
|
-
// other properties
|
|
198
|
-
p: SerovalObjectRecordNode | undefined;
|
|
199
|
-
i: number;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
export interface SerovalAggregateErrorNode extends SerovalBaseNode {
|
|
203
|
-
t: SerovalNodeType.AggregateError;
|
|
204
|
-
i: number;
|
|
205
|
-
// message
|
|
206
|
-
m: string;
|
|
207
|
-
// other properties
|
|
208
|
-
p: SerovalObjectRecordNode | undefined;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
export interface SerovalWKSymbolNode extends SerovalBaseNode {
|
|
212
|
-
t: SerovalNodeType.WKSymbol;
|
|
213
|
-
i: number;
|
|
214
|
-
s: Symbols;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
export interface SerovalReferenceNode extends SerovalBaseNode {
|
|
218
|
-
t: SerovalNodeType.Reference;
|
|
219
|
-
i: number;
|
|
220
|
-
// id of the reference in the map
|
|
221
|
-
s: string;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
export interface SerovalDataViewNode extends SerovalBaseNode {
|
|
225
|
-
t: SerovalNodeType.DataView;
|
|
226
|
-
i: number;
|
|
227
|
-
// reference to array buffer
|
|
228
|
-
f: SerovalNode;
|
|
229
|
-
// byte offset
|
|
230
|
-
b: number;
|
|
231
|
-
// byte length
|
|
232
|
-
l: number;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
export interface SerovalBoxedNode extends SerovalBaseNode {
|
|
236
|
-
t: SerovalNodeType.Boxed;
|
|
237
|
-
i: number;
|
|
238
|
-
f: SerovalNode;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
export interface SerovalPromiseConstructorNode extends SerovalBaseNode {
|
|
242
|
-
t: SerovalNodeType.PromiseConstructor;
|
|
243
|
-
i: number;
|
|
244
|
-
s: number;
|
|
245
|
-
f: SerovalNodeWithID;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
export interface SerovalPromiseResolveNode extends SerovalBaseNode {
|
|
249
|
-
t: SerovalNodeType.PromiseSuccess;
|
|
250
|
-
i: number;
|
|
251
|
-
a: [resolver: SerovalNodeWithID, resolved: SerovalNode];
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
export interface SerovalPromiseRejectNode extends SerovalBaseNode {
|
|
255
|
-
t: SerovalNodeType.PromiseFailure;
|
|
256
|
-
i: number;
|
|
257
|
-
a: [resolver: SerovalNodeWithID, resolved: SerovalNode];
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export interface SerovalPluginNode extends SerovalBaseNode {
|
|
261
|
-
t: SerovalNodeType.Plugin;
|
|
262
|
-
i: number;
|
|
263
|
-
// value
|
|
264
|
-
s: Record<string, SerovalNode>;
|
|
265
|
-
// tag name
|
|
266
|
-
c: string;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Represents special values as placeholders
|
|
271
|
-
*/
|
|
272
|
-
export interface SerovalSpecialReferenceNode extends SerovalBaseNode {
|
|
273
|
-
t: SerovalNodeType.SpecialReference;
|
|
274
|
-
i: number;
|
|
275
|
-
s: SpecialReference;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
export interface SerovalIteratorFactoryNode extends SerovalBaseNode {
|
|
279
|
-
t: SerovalNodeType.IteratorFactory;
|
|
280
|
-
i: number;
|
|
281
|
-
f: SerovalNodeWithID;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
export interface SerovalIteratorFactoryInstanceNode extends SerovalBaseNode {
|
|
285
|
-
t: SerovalNodeType.IteratorFactoryInstance;
|
|
286
|
-
a: [instance: SerovalNodeWithID, sequence: SerovalNodeWithID];
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
export interface SerovalAsyncIteratorFactoryNode extends SerovalBaseNode {
|
|
290
|
-
t: SerovalNodeType.AsyncIteratorFactory;
|
|
291
|
-
i: number;
|
|
292
|
-
a: [promise: SerovalNodeWithID, symbol: SerovalNodeWithID];
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
export interface SerovalAsyncIteratorFactoryInstanceNode
|
|
296
|
-
extends SerovalBaseNode {
|
|
297
|
-
t: SerovalNodeType.AsyncIteratorFactoryInstance;
|
|
298
|
-
a: [instance: SerovalNodeWithID, sequence: SerovalNodeWithID];
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
export interface SerovalStreamConstructorNode extends SerovalBaseNode {
|
|
302
|
-
t: SerovalNodeType.StreamConstructor;
|
|
303
|
-
i: number;
|
|
304
|
-
a: SerovalNode[];
|
|
305
|
-
// special reference to the constructor
|
|
306
|
-
f: SerovalNodeWithID;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
export interface SerovalStreamNextNode extends SerovalBaseNode {
|
|
310
|
-
t: SerovalNodeType.StreamNext;
|
|
311
|
-
i: number;
|
|
312
|
-
// Next value
|
|
313
|
-
f: SerovalNode;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
export interface SerovalStreamThrowNode extends SerovalBaseNode {
|
|
317
|
-
t: SerovalNodeType.StreamThrow;
|
|
318
|
-
i: number;
|
|
319
|
-
// Throw value
|
|
320
|
-
f: SerovalNode;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
export interface SerovalStreamReturnNode extends SerovalBaseNode {
|
|
324
|
-
t: SerovalNodeType.StreamReturn;
|
|
325
|
-
i: number;
|
|
326
|
-
// Return value
|
|
327
|
-
f: SerovalNode;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
export interface SerovalSequenceNode extends SerovalBaseNode {
|
|
331
|
-
t: SerovalNodeType.Sequence;
|
|
332
|
-
i: number;
|
|
333
|
-
// Throw at
|
|
334
|
-
s: number;
|
|
335
|
-
a: SerovalNode[];
|
|
336
|
-
// Done at
|
|
337
|
-
l: number;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
export type SerovalSyncNode =
|
|
341
|
-
| SerovalPrimitiveNode
|
|
342
|
-
| SerovalIndexedValueNode
|
|
343
|
-
| SerovalSemiPrimitiveNode
|
|
344
|
-
| SerovalSetNode
|
|
345
|
-
| SerovalMapNode
|
|
346
|
-
| SerovalArrayNode
|
|
347
|
-
| SerovalObjectNode
|
|
348
|
-
| SerovalNullConstructorNode
|
|
349
|
-
| SerovalPromiseNode
|
|
350
|
-
| SerovalErrorNode
|
|
351
|
-
| SerovalAggregateErrorNode
|
|
352
|
-
| SerovalWKSymbolNode
|
|
353
|
-
| SerovalReferenceNode
|
|
354
|
-
| SerovalArrayBufferNode
|
|
355
|
-
| SerovalDataViewNode
|
|
356
|
-
| SerovalBoxedNode
|
|
357
|
-
| SerovalPluginNode
|
|
358
|
-
| SerovalSpecialReferenceNode
|
|
359
|
-
| SerovalIteratorFactoryNode
|
|
360
|
-
| SerovalIteratorFactoryInstanceNode
|
|
361
|
-
| SerovalAsyncIteratorFactoryNode
|
|
362
|
-
| SerovalAsyncIteratorFactoryInstanceNode
|
|
363
|
-
| SerovalSequenceNode;
|
|
364
|
-
|
|
365
|
-
export type SerovalAsyncNode =
|
|
366
|
-
| SerovalPromiseNode
|
|
367
|
-
| SerovalPromiseConstructorNode
|
|
368
|
-
| SerovalPromiseResolveNode
|
|
369
|
-
| SerovalPromiseRejectNode
|
|
370
|
-
| SerovalStreamConstructorNode
|
|
371
|
-
| SerovalStreamNextNode
|
|
372
|
-
| SerovalStreamThrowNode
|
|
373
|
-
| SerovalStreamReturnNode;
|
|
374
|
-
|
|
375
|
-
export type SerovalNode = SerovalSyncNode | SerovalAsyncNode;
|
|
376
|
-
|
|
377
|
-
export type SerovalNodeWithID = Extract<SerovalNode, { i: number }>;
|
package/src/core/utils/error.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Feature } from '../compat';
|
|
2
|
-
import { ERROR_CONSTRUCTOR_STRING, ErrorConstructorTag } from '../constants';
|
|
3
|
-
|
|
4
|
-
type ErrorValue =
|
|
5
|
-
| Error
|
|
6
|
-
| AggregateError
|
|
7
|
-
| EvalError
|
|
8
|
-
| RangeError
|
|
9
|
-
| ReferenceError
|
|
10
|
-
| TypeError
|
|
11
|
-
| SyntaxError
|
|
12
|
-
| URIError;
|
|
13
|
-
|
|
14
|
-
export function getErrorConstructor(error: ErrorValue): ErrorConstructorTag {
|
|
15
|
-
if (error instanceof EvalError) {
|
|
16
|
-
return ErrorConstructorTag.EvalError;
|
|
17
|
-
}
|
|
18
|
-
if (error instanceof RangeError) {
|
|
19
|
-
return ErrorConstructorTag.RangeError;
|
|
20
|
-
}
|
|
21
|
-
if (error instanceof ReferenceError) {
|
|
22
|
-
return ErrorConstructorTag.ReferenceError;
|
|
23
|
-
}
|
|
24
|
-
if (error instanceof SyntaxError) {
|
|
25
|
-
return ErrorConstructorTag.SyntaxError;
|
|
26
|
-
}
|
|
27
|
-
if (error instanceof TypeError) {
|
|
28
|
-
return ErrorConstructorTag.TypeError;
|
|
29
|
-
}
|
|
30
|
-
if (error instanceof URIError) {
|
|
31
|
-
return ErrorConstructorTag.URIError;
|
|
32
|
-
}
|
|
33
|
-
return ErrorConstructorTag.Error;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function getInitialErrorOptions(
|
|
37
|
-
error: Error,
|
|
38
|
-
): Record<string, unknown> | undefined {
|
|
39
|
-
const construct = ERROR_CONSTRUCTOR_STRING[getErrorConstructor(error)];
|
|
40
|
-
// Name has been modified
|
|
41
|
-
if (error.name !== construct) {
|
|
42
|
-
return { name: error.name };
|
|
43
|
-
}
|
|
44
|
-
if (error.constructor.name !== construct) {
|
|
45
|
-
// Otherwise, name is overriden because
|
|
46
|
-
// the Error class is extended
|
|
47
|
-
return { name: error.constructor.name };
|
|
48
|
-
}
|
|
49
|
-
return {};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export function getErrorOptions(
|
|
53
|
-
error: Error,
|
|
54
|
-
features: number,
|
|
55
|
-
): Record<string, unknown> | undefined {
|
|
56
|
-
let options = getInitialErrorOptions(error);
|
|
57
|
-
const names = Object.getOwnPropertyNames(error);
|
|
58
|
-
for (let i = 0, len = names.length, name: string; i < len; i++) {
|
|
59
|
-
name = names[i];
|
|
60
|
-
if (name !== 'name' && name !== 'message') {
|
|
61
|
-
if (name === 'stack') {
|
|
62
|
-
if (features & Feature.ErrorPrototypeStack) {
|
|
63
|
-
options = options || {};
|
|
64
|
-
options[name] = error[name as keyof Error];
|
|
65
|
-
}
|
|
66
|
-
} else {
|
|
67
|
-
options = options || {};
|
|
68
|
-
options[name] = error[name as keyof Error];
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return options;
|
|
73
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// Written by https://github.com/DylanPiercey and is distributed under the MIT license.
|
|
2
|
-
const REF_START_CHARS = /* @__PURE__ */ 'hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_'; // Avoids chars that could evaluate to a reserved word.
|
|
3
|
-
const REF_START_CHARS_LEN = /* @__PURE__ */ REF_START_CHARS.length;
|
|
4
|
-
const REF_CHARS =
|
|
5
|
-
/* @__PURE__ */ 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_';
|
|
6
|
-
const REF_CHARS_LEN = /* @__PURE__ */ REF_CHARS.length;
|
|
7
|
-
|
|
8
|
-
export default function getIdentifier(index: number): string {
|
|
9
|
-
let mod = index % REF_START_CHARS_LEN;
|
|
10
|
-
let ref = REF_START_CHARS[mod];
|
|
11
|
-
index = (index - mod) / REF_START_CHARS_LEN;
|
|
12
|
-
while (index > 0) {
|
|
13
|
-
mod = index % REF_CHARS_LEN;
|
|
14
|
-
ref += REF_CHARS[mod];
|
|
15
|
-
index = (index - mod) / REF_CHARS_LEN;
|
|
16
|
-
}
|
|
17
|
-
return ref;
|
|
18
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SerovalObjectFlags } from '../constants';
|
|
2
|
-
|
|
3
|
-
export function getObjectFlag(obj: unknown): SerovalObjectFlags {
|
|
4
|
-
if (Object.isFrozen(obj)) {
|
|
5
|
-
return SerovalObjectFlags.Frozen;
|
|
6
|
-
}
|
|
7
|
-
if (Object.isSealed(obj)) {
|
|
8
|
-
return SerovalObjectFlags.Sealed;
|
|
9
|
-
}
|
|
10
|
-
if (Object.isExtensible(obj)) {
|
|
11
|
-
return SerovalObjectFlags.None;
|
|
12
|
-
}
|
|
13
|
-
return SerovalObjectFlags.NonExtensible;
|
|
14
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
const IDENTIFIER_CHECK = /^[$A-Z_][0-9A-Z_$]*$/i;
|
|
2
|
-
|
|
3
|
-
export function isValidIdentifier(name: string): boolean {
|
|
4
|
-
const char = name[0];
|
|
5
|
-
return (
|
|
6
|
-
(char === '$' ||
|
|
7
|
-
char === '_' ||
|
|
8
|
-
(char >= 'A' && char <= 'Z') ||
|
|
9
|
-
(char >= 'a' && char <= 'z')) &&
|
|
10
|
-
IDENTIFIER_CHECK.test(name)
|
|
11
|
-
);
|
|
12
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { SerovalUnknownTypedArrayError } from '../errors';
|
|
2
|
-
|
|
3
|
-
type TypedArrayConstructor =
|
|
4
|
-
| Int8ArrayConstructor
|
|
5
|
-
| Int16ArrayConstructor
|
|
6
|
-
| Int32ArrayConstructor
|
|
7
|
-
| Uint8ArrayConstructor
|
|
8
|
-
| Uint16ArrayConstructor
|
|
9
|
-
| Uint32ArrayConstructor
|
|
10
|
-
| Uint8ClampedArrayConstructor
|
|
11
|
-
| Float32ArrayConstructor
|
|
12
|
-
| Float64ArrayConstructor
|
|
13
|
-
| BigInt64ArrayConstructor
|
|
14
|
-
| BigUint64ArrayConstructor;
|
|
15
|
-
|
|
16
|
-
export type TypedArrayValue =
|
|
17
|
-
| Int8Array
|
|
18
|
-
| Int16Array
|
|
19
|
-
| Int32Array
|
|
20
|
-
| Uint8Array
|
|
21
|
-
| Uint16Array
|
|
22
|
-
| Uint32Array
|
|
23
|
-
| Uint8ClampedArray
|
|
24
|
-
| Float32Array
|
|
25
|
-
| Float64Array;
|
|
26
|
-
|
|
27
|
-
export type BigIntTypedArrayValue = BigInt64Array | BigUint64Array;
|
|
28
|
-
|
|
29
|
-
export function getTypedArrayConstructor(name: string): TypedArrayConstructor {
|
|
30
|
-
switch (name) {
|
|
31
|
-
case 'Int8Array':
|
|
32
|
-
return Int8Array;
|
|
33
|
-
case 'Int16Array':
|
|
34
|
-
return Int16Array;
|
|
35
|
-
case 'Int32Array':
|
|
36
|
-
return Int32Array;
|
|
37
|
-
case 'Uint8Array':
|
|
38
|
-
return Uint8Array;
|
|
39
|
-
case 'Uint16Array':
|
|
40
|
-
return Uint16Array;
|
|
41
|
-
case 'Uint32Array':
|
|
42
|
-
return Uint32Array;
|
|
43
|
-
case 'Uint8ClampedArray':
|
|
44
|
-
return Uint8ClampedArray;
|
|
45
|
-
case 'Float32Array':
|
|
46
|
-
return Float32Array;
|
|
47
|
-
case 'Float64Array':
|
|
48
|
-
return Float64Array;
|
|
49
|
-
case 'BigInt64Array':
|
|
50
|
-
return BigInt64Array;
|
|
51
|
-
case 'BigUint64Array':
|
|
52
|
-
return BigUint64Array;
|
|
53
|
-
default:
|
|
54
|
-
throw new SerovalUnknownTypedArrayError(name);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
SYM_ASYNC_ITERATOR,
|
|
3
|
-
SYM_IS_CONCAT_SPREADABLE,
|
|
4
|
-
SYM_ITERATOR,
|
|
5
|
-
SYM_TO_STRING_TAG,
|
|
6
|
-
} from '../symbols';
|
|
7
|
-
|
|
8
|
-
export function isValidKey(key: string): boolean {
|
|
9
|
-
switch (key) {
|
|
10
|
-
case 'constructor':
|
|
11
|
-
case '__proto__':
|
|
12
|
-
case 'prototype':
|
|
13
|
-
case '__defineGetter__':
|
|
14
|
-
case '__defineSetter__':
|
|
15
|
-
case '__lookupGetter__':
|
|
16
|
-
case '__lookupSetter__':
|
|
17
|
-
// case 'then':
|
|
18
|
-
return false;
|
|
19
|
-
default:
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function isValidSymbol(symbol: symbol): boolean {
|
|
25
|
-
switch (symbol) {
|
|
26
|
-
case SYM_ASYNC_ITERATOR:
|
|
27
|
-
case SYM_IS_CONCAT_SPREADABLE:
|
|
28
|
-
case SYM_TO_STRING_TAG:
|
|
29
|
-
case SYM_ITERATOR:
|
|
30
|
-
return true;
|
|
31
|
-
default:
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export { Feature } from './core/compat';
|
|
2
|
-
export type {
|
|
3
|
-
AsyncParsePluginContext,
|
|
4
|
-
AsyncParserContextOptions,
|
|
5
|
-
} from './core/context/async-parser';
|
|
6
|
-
export type {
|
|
7
|
-
BaseDeserializerContextOptions,
|
|
8
|
-
CrossDeserializerContextOptions,
|
|
9
|
-
DeserializePluginContext,
|
|
10
|
-
VanillaDeserializerContextOptions,
|
|
11
|
-
} from './core/context/deserializer';
|
|
12
|
-
export type { BaseParserContextOptions } from './core/context/parser';
|
|
13
|
-
export type {
|
|
14
|
-
BaseSerializerContextOptions,
|
|
15
|
-
CrossContextOptions,
|
|
16
|
-
CrossSerializerContextOptions,
|
|
17
|
-
SerializePluginContext,
|
|
18
|
-
VanillaSerializerContextOptions,
|
|
19
|
-
} from './core/context/serializer';
|
|
20
|
-
export type {
|
|
21
|
-
StreamParsePluginContext,
|
|
22
|
-
StreamParserContextOptions,
|
|
23
|
-
SyncParsePluginContext,
|
|
24
|
-
SyncParserContextOptions,
|
|
25
|
-
} from './core/context/sync-parser';
|
|
26
|
-
export * from './core/cross';
|
|
27
|
-
export * from './core/errors';
|
|
28
|
-
export { getCrossReferenceHeader } from './core/keys';
|
|
29
|
-
export { OpaqueReference } from './core/opaque-reference';
|
|
30
|
-
export * from './core/plugin';
|
|
31
|
-
export { createReference } from './core/reference';
|
|
32
|
-
export { default as Serializer } from './core/Serializer';
|
|
33
|
-
export { createStream } from './core/stream';
|
|
34
|
-
export type { Stream, StreamListener } from './core/stream';
|
|
35
|
-
export * from './core/tree';
|
|
36
|
-
export type { SerovalNode } from './core/types';
|