seroval 1.1.1 → 1.2.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/cjs/development/index.cjs +702 -504
- package/dist/cjs/development/index.cjs.map +3 -3
- package/dist/cjs/production/index.cjs +7 -7
- package/dist/esm/development/index.mjs +702 -504
- package/dist/esm/development/index.mjs.map +3 -3
- package/dist/esm/production/index.mjs +7 -7
- package/dist/types/core/abort-signal.d.ts +2 -0
- package/dist/types/core/abort-signal.d.ts.map +1 -0
- package/dist/types/core/base-primitives.d.ts +2 -1
- package/dist/types/core/base-primitives.d.ts.map +1 -1
- package/dist/types/core/compat.d.ts +3 -2
- package/dist/types/core/compat.d.ts.map +1 -1
- package/dist/types/core/constants.d.ts +5 -1
- package/dist/types/core/constants.d.ts.map +1 -1
- package/dist/types/core/context/deserializer.d.ts +3 -0
- package/dist/types/core/context/deserializer.d.ts.map +1 -1
- package/dist/types/core/context/parser/async.d.ts +2 -0
- package/dist/types/core/context/parser/async.d.ts.map +1 -1
- package/dist/types/core/context/parser/stream.d.ts +2 -1
- package/dist/types/core/context/parser/stream.d.ts.map +1 -1
- package/dist/types/core/context/parser/sync.d.ts +3 -1
- package/dist/types/core/context/parser/sync.d.ts.map +1 -1
- package/dist/types/core/context/parser.d.ts +2 -1
- package/dist/types/core/context/parser.d.ts.map +1 -1
- package/dist/types/core/context/serializer.d.ts +4 -1
- package/dist/types/core/context/serializer.d.ts.map +1 -1
- package/dist/types/core/literals.d.ts.map +1 -1
- package/dist/types/core/node.d.ts +8 -0
- package/dist/types/core/node.d.ts.map +1 -0
- package/dist/types/core/special-reference.d.ts +6 -1
- package/dist/types/core/special-reference.d.ts.map +1 -1
- package/dist/types/core/tree/serializer.d.ts +2 -1
- package/dist/types/core/tree/serializer.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +20 -2
- package/dist/types/core/types.d.ts.map +1 -1
- package/dist/types/core/utils/iterator-to-sequence.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/core/abort-signal.ts +13 -0
- package/src/core/base-primitives.ts +359 -337
- package/src/core/compat.ts +2 -1
- package/src/core/constants.ts +5 -0
- package/src/core/context/deserializer.ts +34 -1
- package/src/core/context/parser/async.ts +61 -20
- package/src/core/context/parser/stream.ts +89 -37
- package/src/core/context/parser/sync.ts +44 -3
- package/src/core/context/parser.ts +106 -85
- package/src/core/context/serializer.ts +55 -9
- package/src/core/literals.ts +16 -15
- package/src/core/node.ts +40 -0
- package/src/core/special-reference.ts +7 -0
- package/src/core/tree/serializer.ts +7 -0
- package/src/core/types.ts +32 -2
- package/src/core/utils/iterator-to-sequence.ts +3 -1
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import type { WellKnownSymbols } from './constants';
|
|
2
|
-
import { INV_SYMBOL_REF, SerovalNodeType } from './constants';
|
|
2
|
+
import { INV_SYMBOL_REF, NIL, SerovalNodeType } from './constants';
|
|
3
3
|
import {
|
|
4
4
|
INFINITY_NODE,
|
|
5
5
|
NAN_NODE,
|
|
6
6
|
NEG_INFINITY_NODE,
|
|
7
7
|
NEG_ZERO_NODE,
|
|
8
8
|
} from './literals';
|
|
9
|
+
import { createSerovalNode } from './node';
|
|
9
10
|
import { getReferenceID } from './reference';
|
|
10
11
|
import { serializeString } from './string';
|
|
11
12
|
import type {
|
|
13
|
+
SerovalAbortSignalSyncNode,
|
|
12
14
|
SerovalAggregateErrorNode,
|
|
13
15
|
SerovalArrayBufferNode,
|
|
14
16
|
SerovalArrayNode,
|
|
@@ -60,108 +62,108 @@ export function createNumberNode(
|
|
|
60
62
|
if (Object.is(value, -0)) {
|
|
61
63
|
return NEG_ZERO_NODE;
|
|
62
64
|
}
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
65
|
+
return createSerovalNode(
|
|
66
|
+
SerovalNodeType.Number,
|
|
67
|
+
NIL,
|
|
68
|
+
value,
|
|
69
|
+
NIL,
|
|
70
|
+
NIL,
|
|
71
|
+
NIL,
|
|
72
|
+
NIL,
|
|
73
|
+
NIL,
|
|
74
|
+
NIL,
|
|
75
|
+
NIL,
|
|
76
|
+
NIL,
|
|
77
|
+
NIL,
|
|
78
|
+
);
|
|
77
79
|
}
|
|
78
80
|
|
|
79
81
|
export function createStringNode(value: string): SerovalStringNode {
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
82
|
+
return createSerovalNode(
|
|
83
|
+
SerovalNodeType.String,
|
|
84
|
+
NIL,
|
|
85
|
+
serializeString(value),
|
|
86
|
+
NIL,
|
|
87
|
+
NIL,
|
|
88
|
+
NIL,
|
|
89
|
+
NIL,
|
|
90
|
+
NIL,
|
|
91
|
+
NIL,
|
|
92
|
+
NIL,
|
|
93
|
+
NIL,
|
|
94
|
+
NIL,
|
|
95
|
+
);
|
|
94
96
|
}
|
|
95
97
|
|
|
96
98
|
export function createBigIntNode(current: bigint): SerovalBigIntNode {
|
|
97
|
-
return
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
99
|
+
return createSerovalNode(
|
|
100
|
+
SerovalNodeType.BigInt,
|
|
101
|
+
NIL,
|
|
102
|
+
'' + current,
|
|
103
|
+
NIL,
|
|
104
|
+
NIL,
|
|
105
|
+
NIL,
|
|
106
|
+
NIL,
|
|
107
|
+
NIL,
|
|
108
|
+
NIL,
|
|
109
|
+
NIL,
|
|
110
|
+
NIL,
|
|
111
|
+
NIL,
|
|
112
|
+
);
|
|
111
113
|
}
|
|
112
114
|
|
|
113
115
|
export function createIndexedValueNode(id: number): SerovalIndexedValueNode {
|
|
114
|
-
return
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
116
|
+
return createSerovalNode(
|
|
117
|
+
SerovalNodeType.IndexedValue,
|
|
118
|
+
id,
|
|
119
|
+
NIL,
|
|
120
|
+
NIL,
|
|
121
|
+
NIL,
|
|
122
|
+
NIL,
|
|
123
|
+
NIL,
|
|
124
|
+
NIL,
|
|
125
|
+
NIL,
|
|
126
|
+
NIL,
|
|
127
|
+
NIL,
|
|
128
|
+
NIL,
|
|
129
|
+
);
|
|
128
130
|
}
|
|
129
131
|
|
|
130
132
|
export function createDateNode(id: number, current: Date): SerovalDateNode {
|
|
131
|
-
return
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
133
|
+
return createSerovalNode(
|
|
134
|
+
SerovalNodeType.Date,
|
|
135
|
+
id,
|
|
136
|
+
current.toISOString(),
|
|
137
|
+
NIL,
|
|
138
|
+
NIL,
|
|
139
|
+
NIL,
|
|
140
|
+
NIL,
|
|
141
|
+
NIL,
|
|
142
|
+
NIL,
|
|
143
|
+
NIL,
|
|
144
|
+
NIL,
|
|
145
|
+
NIL,
|
|
146
|
+
);
|
|
145
147
|
}
|
|
146
148
|
|
|
147
149
|
export function createRegExpNode(
|
|
148
150
|
id: number,
|
|
149
151
|
current: RegExp,
|
|
150
152
|
): SerovalRegExpNode {
|
|
151
|
-
return
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
153
|
+
return createSerovalNode(
|
|
154
|
+
SerovalNodeType.RegExp,
|
|
155
|
+
id,
|
|
156
|
+
NIL,
|
|
157
|
+
NIL,
|
|
158
|
+
serializeString(current.source),
|
|
159
|
+
current.flags,
|
|
160
|
+
NIL,
|
|
161
|
+
NIL,
|
|
162
|
+
NIL,
|
|
163
|
+
NIL,
|
|
164
|
+
NIL,
|
|
165
|
+
NIL,
|
|
166
|
+
);
|
|
165
167
|
}
|
|
166
168
|
|
|
167
169
|
export function createArrayBufferNode(
|
|
@@ -174,60 +176,60 @@ export function createArrayBufferNode(
|
|
|
174
176
|
for (let i = 0; i < len; i++) {
|
|
175
177
|
values[i] = bytes[i];
|
|
176
178
|
}
|
|
177
|
-
return
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
179
|
+
return createSerovalNode(
|
|
180
|
+
SerovalNodeType.ArrayBuffer,
|
|
181
|
+
id,
|
|
182
|
+
values,
|
|
183
|
+
NIL,
|
|
184
|
+
NIL,
|
|
185
|
+
NIL,
|
|
186
|
+
NIL,
|
|
187
|
+
NIL,
|
|
188
|
+
NIL,
|
|
189
|
+
NIL,
|
|
190
|
+
NIL,
|
|
191
|
+
NIL,
|
|
192
|
+
);
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
export function createWKSymbolNode(
|
|
194
196
|
id: number,
|
|
195
197
|
current: WellKnownSymbols,
|
|
196
198
|
): SerovalWKSymbolNode {
|
|
197
|
-
return
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
199
|
+
return createSerovalNode(
|
|
200
|
+
SerovalNodeType.WKSymbol,
|
|
201
|
+
id,
|
|
202
|
+
INV_SYMBOL_REF[current],
|
|
203
|
+
NIL,
|
|
204
|
+
NIL,
|
|
205
|
+
NIL,
|
|
206
|
+
NIL,
|
|
207
|
+
NIL,
|
|
208
|
+
NIL,
|
|
209
|
+
NIL,
|
|
210
|
+
NIL,
|
|
211
|
+
NIL,
|
|
212
|
+
);
|
|
211
213
|
}
|
|
212
214
|
|
|
213
215
|
export function createReferenceNode<T>(
|
|
214
216
|
id: number,
|
|
215
217
|
ref: T,
|
|
216
218
|
): SerovalReferenceNode {
|
|
217
|
-
return
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
219
|
+
return createSerovalNode(
|
|
220
|
+
SerovalNodeType.Reference,
|
|
221
|
+
id,
|
|
222
|
+
serializeString(getReferenceID(ref)),
|
|
223
|
+
NIL,
|
|
224
|
+
NIL,
|
|
225
|
+
NIL,
|
|
226
|
+
NIL,
|
|
227
|
+
NIL,
|
|
228
|
+
NIL,
|
|
229
|
+
NIL,
|
|
230
|
+
NIL,
|
|
231
|
+
NIL,
|
|
232
|
+
);
|
|
231
233
|
}
|
|
232
234
|
|
|
233
235
|
export function createPluginNode(
|
|
@@ -235,20 +237,20 @@ export function createPluginNode(
|
|
|
235
237
|
tag: string,
|
|
236
238
|
value: unknown,
|
|
237
239
|
): SerovalPluginNode {
|
|
238
|
-
return
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
240
|
+
return createSerovalNode(
|
|
241
|
+
SerovalNodeType.Plugin,
|
|
242
|
+
id,
|
|
243
|
+
value,
|
|
244
|
+
NIL,
|
|
245
|
+
serializeString(tag),
|
|
246
|
+
NIL,
|
|
247
|
+
NIL,
|
|
248
|
+
NIL,
|
|
249
|
+
NIL,
|
|
250
|
+
NIL,
|
|
251
|
+
NIL,
|
|
252
|
+
NIL,
|
|
253
|
+
);
|
|
252
254
|
}
|
|
253
255
|
|
|
254
256
|
export function createArrayNode(
|
|
@@ -256,40 +258,40 @@ export function createArrayNode(
|
|
|
256
258
|
current: unknown[],
|
|
257
259
|
parsedItems: SerovalNode[],
|
|
258
260
|
): SerovalArrayNode {
|
|
259
|
-
return
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
261
|
+
return createSerovalNode(
|
|
262
|
+
SerovalNodeType.Array,
|
|
263
|
+
id,
|
|
264
|
+
NIL,
|
|
265
|
+
current.length,
|
|
266
|
+
NIL,
|
|
267
|
+
NIL,
|
|
268
|
+
NIL,
|
|
269
|
+
NIL,
|
|
270
|
+
parsedItems,
|
|
271
|
+
NIL,
|
|
272
|
+
NIL,
|
|
273
|
+
getObjectFlag(current),
|
|
274
|
+
);
|
|
273
275
|
}
|
|
274
276
|
|
|
275
277
|
export function createBoxedNode(
|
|
276
278
|
id: number,
|
|
277
279
|
boxed: SerovalNode,
|
|
278
280
|
): SerovalBoxedNode {
|
|
279
|
-
return
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
281
|
+
return createSerovalNode(
|
|
282
|
+
SerovalNodeType.Boxed,
|
|
283
|
+
id,
|
|
284
|
+
NIL,
|
|
285
|
+
NIL,
|
|
286
|
+
NIL,
|
|
287
|
+
NIL,
|
|
288
|
+
NIL,
|
|
289
|
+
NIL,
|
|
290
|
+
NIL,
|
|
291
|
+
boxed,
|
|
292
|
+
NIL,
|
|
293
|
+
NIL,
|
|
294
|
+
);
|
|
293
295
|
}
|
|
294
296
|
|
|
295
297
|
export function createTypedArrayNode(
|
|
@@ -297,20 +299,20 @@ export function createTypedArrayNode(
|
|
|
297
299
|
current: TypedArrayValue,
|
|
298
300
|
buffer: SerovalNode,
|
|
299
301
|
): SerovalTypedArrayNode {
|
|
300
|
-
return
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
302
|
+
return createSerovalNode(
|
|
303
|
+
SerovalNodeType.TypedArray,
|
|
304
|
+
id,
|
|
305
|
+
NIL,
|
|
306
|
+
current.length,
|
|
307
|
+
current.constructor.name,
|
|
308
|
+
NIL,
|
|
309
|
+
NIL,
|
|
310
|
+
NIL,
|
|
311
|
+
NIL,
|
|
312
|
+
buffer,
|
|
313
|
+
current.byteOffset,
|
|
314
|
+
NIL,
|
|
315
|
+
);
|
|
314
316
|
}
|
|
315
317
|
|
|
316
318
|
export function createBigIntTypedArrayNode(
|
|
@@ -318,20 +320,20 @@ export function createBigIntTypedArrayNode(
|
|
|
318
320
|
current: BigIntTypedArrayValue,
|
|
319
321
|
buffer: SerovalNode,
|
|
320
322
|
): SerovalBigIntTypedArrayNode {
|
|
321
|
-
return
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
323
|
+
return createSerovalNode(
|
|
324
|
+
SerovalNodeType.BigIntTypedArray,
|
|
325
|
+
id,
|
|
326
|
+
NIL,
|
|
327
|
+
current.length,
|
|
328
|
+
current.constructor.name,
|
|
329
|
+
NIL,
|
|
330
|
+
NIL,
|
|
331
|
+
NIL,
|
|
332
|
+
NIL,
|
|
333
|
+
buffer,
|
|
334
|
+
current.byteOffset,
|
|
335
|
+
NIL,
|
|
336
|
+
);
|
|
335
337
|
}
|
|
336
338
|
|
|
337
339
|
export function createDataViewNode(
|
|
@@ -339,20 +341,20 @@ export function createDataViewNode(
|
|
|
339
341
|
current: DataView,
|
|
340
342
|
buffer: SerovalNode,
|
|
341
343
|
): SerovalDataViewNode {
|
|
342
|
-
return
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
344
|
+
return createSerovalNode(
|
|
345
|
+
SerovalNodeType.DataView,
|
|
346
|
+
id,
|
|
347
|
+
NIL,
|
|
348
|
+
current.byteLength,
|
|
349
|
+
NIL,
|
|
350
|
+
NIL,
|
|
351
|
+
NIL,
|
|
352
|
+
NIL,
|
|
353
|
+
NIL,
|
|
354
|
+
buffer,
|
|
355
|
+
current.byteOffset,
|
|
356
|
+
NIL,
|
|
357
|
+
);
|
|
356
358
|
}
|
|
357
359
|
|
|
358
360
|
export function createErrorNode(
|
|
@@ -360,20 +362,20 @@ export function createErrorNode(
|
|
|
360
362
|
current: Error,
|
|
361
363
|
options: SerovalObjectRecordNode | undefined,
|
|
362
364
|
): SerovalErrorNode {
|
|
363
|
-
return
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
365
|
+
return createSerovalNode(
|
|
366
|
+
SerovalNodeType.Error,
|
|
367
|
+
id,
|
|
368
|
+
getErrorConstructor(current),
|
|
369
|
+
NIL,
|
|
370
|
+
NIL,
|
|
371
|
+
serializeString(current.message),
|
|
372
|
+
options,
|
|
373
|
+
NIL,
|
|
374
|
+
NIL,
|
|
375
|
+
NIL,
|
|
376
|
+
NIL,
|
|
377
|
+
NIL,
|
|
378
|
+
);
|
|
377
379
|
}
|
|
378
380
|
|
|
379
381
|
export function createAggregateErrorNode(
|
|
@@ -381,20 +383,20 @@ export function createAggregateErrorNode(
|
|
|
381
383
|
current: AggregateError,
|
|
382
384
|
options: SerovalObjectRecordNode | undefined,
|
|
383
385
|
): SerovalAggregateErrorNode {
|
|
384
|
-
return
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
386
|
+
return createSerovalNode(
|
|
387
|
+
SerovalNodeType.AggregateError,
|
|
388
|
+
id,
|
|
389
|
+
getErrorConstructor(current),
|
|
390
|
+
NIL,
|
|
391
|
+
NIL,
|
|
392
|
+
serializeString(current.message),
|
|
393
|
+
options,
|
|
394
|
+
NIL,
|
|
395
|
+
NIL,
|
|
396
|
+
NIL,
|
|
397
|
+
NIL,
|
|
398
|
+
NIL,
|
|
399
|
+
);
|
|
398
400
|
}
|
|
399
401
|
|
|
400
402
|
export function createSetNode(
|
|
@@ -402,60 +404,60 @@ export function createSetNode(
|
|
|
402
404
|
size: number,
|
|
403
405
|
items: SerovalNode[],
|
|
404
406
|
): SerovalSetNode {
|
|
405
|
-
return
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
407
|
+
return createSerovalNode(
|
|
408
|
+
SerovalNodeType.Set,
|
|
409
|
+
id,
|
|
410
|
+
NIL,
|
|
411
|
+
size,
|
|
412
|
+
NIL,
|
|
413
|
+
NIL,
|
|
414
|
+
NIL,
|
|
415
|
+
NIL,
|
|
416
|
+
items,
|
|
417
|
+
NIL,
|
|
418
|
+
NIL,
|
|
419
|
+
NIL,
|
|
420
|
+
);
|
|
419
421
|
}
|
|
420
422
|
|
|
421
423
|
export function createIteratorFactoryInstanceNode(
|
|
422
424
|
factory: SerovalNodeWithID,
|
|
423
425
|
items: SerovalNode,
|
|
424
426
|
): SerovalIteratorFactoryInstanceNode {
|
|
425
|
-
return
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
427
|
+
return createSerovalNode(
|
|
428
|
+
SerovalNodeType.IteratorFactoryInstance,
|
|
429
|
+
NIL,
|
|
430
|
+
NIL,
|
|
431
|
+
NIL,
|
|
432
|
+
NIL,
|
|
433
|
+
NIL,
|
|
434
|
+
NIL,
|
|
435
|
+
NIL,
|
|
436
|
+
[factory, items],
|
|
437
|
+
NIL,
|
|
438
|
+
NIL,
|
|
439
|
+
NIL,
|
|
440
|
+
);
|
|
439
441
|
}
|
|
440
442
|
|
|
441
443
|
export function createAsyncIteratorFactoryInstanceNode(
|
|
442
444
|
factory: SerovalNodeWithID,
|
|
443
445
|
items: SerovalNode,
|
|
444
446
|
): SerovalAsyncIteratorFactoryInstanceNode {
|
|
445
|
-
return
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
447
|
+
return createSerovalNode(
|
|
448
|
+
SerovalNodeType.AsyncIteratorFactoryInstance,
|
|
449
|
+
NIL,
|
|
450
|
+
NIL,
|
|
451
|
+
NIL,
|
|
452
|
+
NIL,
|
|
453
|
+
NIL,
|
|
454
|
+
NIL,
|
|
455
|
+
NIL,
|
|
456
|
+
[factory, items],
|
|
457
|
+
NIL,
|
|
458
|
+
NIL,
|
|
459
|
+
NIL,
|
|
460
|
+
);
|
|
459
461
|
}
|
|
460
462
|
|
|
461
463
|
export function createStreamConstructorNode(
|
|
@@ -463,78 +465,98 @@ export function createStreamConstructorNode(
|
|
|
463
465
|
factory: SerovalNodeWithID,
|
|
464
466
|
sequence: SerovalNode[],
|
|
465
467
|
): SerovalStreamConstructorNode {
|
|
466
|
-
return
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
468
|
+
return createSerovalNode(
|
|
469
|
+
SerovalNodeType.StreamConstructor,
|
|
470
|
+
id,
|
|
471
|
+
NIL,
|
|
472
|
+
NIL,
|
|
473
|
+
NIL,
|
|
474
|
+
NIL,
|
|
475
|
+
NIL,
|
|
476
|
+
NIL,
|
|
477
|
+
sequence,
|
|
478
|
+
factory,
|
|
479
|
+
NIL,
|
|
480
|
+
NIL,
|
|
481
|
+
);
|
|
480
482
|
}
|
|
481
483
|
|
|
482
484
|
export function createStreamNextNode(
|
|
483
485
|
id: number,
|
|
484
486
|
parsed: SerovalNode,
|
|
485
487
|
): SerovalStreamNextNode {
|
|
486
|
-
return
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
488
|
+
return createSerovalNode(
|
|
489
|
+
SerovalNodeType.StreamNext,
|
|
490
|
+
id,
|
|
491
|
+
NIL,
|
|
492
|
+
NIL,
|
|
493
|
+
NIL,
|
|
494
|
+
NIL,
|
|
495
|
+
NIL,
|
|
496
|
+
NIL,
|
|
497
|
+
NIL,
|
|
498
|
+
parsed,
|
|
499
|
+
NIL,
|
|
500
|
+
NIL,
|
|
501
|
+
);
|
|
500
502
|
}
|
|
501
503
|
|
|
502
504
|
export function createStreamThrowNode(
|
|
503
505
|
id: number,
|
|
504
506
|
parsed: SerovalNode,
|
|
505
507
|
): SerovalStreamThrowNode {
|
|
506
|
-
return
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
508
|
+
return createSerovalNode(
|
|
509
|
+
SerovalNodeType.StreamThrow,
|
|
510
|
+
id,
|
|
511
|
+
NIL,
|
|
512
|
+
NIL,
|
|
513
|
+
NIL,
|
|
514
|
+
NIL,
|
|
515
|
+
NIL,
|
|
516
|
+
NIL,
|
|
517
|
+
NIL,
|
|
518
|
+
parsed,
|
|
519
|
+
NIL,
|
|
520
|
+
NIL,
|
|
521
|
+
);
|
|
520
522
|
}
|
|
521
523
|
|
|
522
524
|
export function createStreamReturnNode(
|
|
523
525
|
id: number,
|
|
524
526
|
parsed: SerovalNode,
|
|
525
527
|
): SerovalStreamReturnNode {
|
|
526
|
-
return
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
528
|
+
return createSerovalNode(
|
|
529
|
+
SerovalNodeType.StreamReturn,
|
|
530
|
+
id,
|
|
531
|
+
NIL,
|
|
532
|
+
NIL,
|
|
533
|
+
NIL,
|
|
534
|
+
NIL,
|
|
535
|
+
NIL,
|
|
536
|
+
NIL,
|
|
537
|
+
NIL,
|
|
538
|
+
parsed,
|
|
539
|
+
NIL,
|
|
540
|
+
NIL,
|
|
541
|
+
);
|
|
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
|
+
);
|
|
540
562
|
}
|