seroval 0.12.4 → 0.13.1
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/README.md +17 -15
- package/dist/cjs/development/index.cjs +1432 -959
- package/dist/cjs/development/index.cjs.map +3 -3
- package/dist/cjs/production/index.cjs +3 -3
- package/dist/esm/development/index.mjs +1432 -959
- 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 +12 -1
- package/dist/types/core/base-primitives.d.ts.map +1 -1
- package/dist/types/core/compat.d.ts +0 -2
- package/dist/types/core/compat.d.ts.map +1 -1
- package/dist/types/core/constants.d.ts +8 -2
- package/dist/types/core/constants.d.ts.map +1 -1
- package/dist/types/core/{tree/deserialize.d.ts → context/deserializer.d.ts} +19 -13
- package/dist/types/core/context/deserializer.d.ts.map +1 -0
- package/dist/types/core/{base → context/parser}/async.d.ts +6 -5
- package/dist/types/core/context/parser/async.d.ts.map +1 -0
- package/dist/types/core/{base → context/parser}/stream.d.ts +2 -1
- package/dist/types/core/context/parser/stream.d.ts.map +1 -0
- package/dist/types/core/{base → context/parser}/sync.d.ts +7 -9
- package/dist/types/core/context/parser/sync.d.ts.map +1 -0
- package/dist/types/core/context/parser.d.ts +27 -0
- package/dist/types/core/context/parser.d.ts.map +1 -0
- package/dist/types/core/{serializer-context.old.d.ts → context/serializer.d.ts} +21 -22
- package/dist/types/core/context/serializer.d.ts.map +1 -0
- package/dist/types/core/cross/async.d.ts +2 -2
- package/dist/types/core/cross/async.d.ts.map +1 -1
- package/dist/types/core/cross/deserializer.d.ts +9 -0
- package/dist/types/core/cross/deserializer.d.ts.map +1 -0
- package/dist/types/core/cross/index.d.ts +11 -1
- package/dist/types/core/cross/index.d.ts.map +1 -1
- package/dist/types/core/cross/parser.d.ts +6 -0
- package/dist/types/core/cross/parser.d.ts.map +1 -0
- package/dist/types/core/cross/{serialize.d.ts → serializer.d.ts} +6 -5
- package/dist/types/core/cross/serializer.d.ts.map +1 -0
- package/dist/types/core/cross/stream.d.ts +2 -2
- package/dist/types/core/cross/stream.d.ts.map +1 -1
- package/dist/types/core/cross/sync.d.ts +2 -2
- package/dist/types/core/cross/sync.d.ts.map +1 -1
- package/dist/types/core/keys.d.ts +3 -1
- package/dist/types/core/keys.d.ts.map +1 -1
- package/dist/types/core/plugin.d.ts +6 -7
- package/dist/types/core/plugin.d.ts.map +1 -1
- package/dist/types/core/special-reference.d.ts +6 -0
- package/dist/types/core/special-reference.d.ts.map +1 -0
- package/dist/types/core/tree/async.d.ts +2 -2
- package/dist/types/core/tree/async.d.ts.map +1 -1
- package/dist/types/core/tree/deserializer.d.ts +13 -0
- package/dist/types/core/tree/deserializer.d.ts.map +1 -0
- package/dist/types/core/tree/{serialize.d.ts → serializer.d.ts} +4 -4
- package/dist/types/core/tree/serializer.d.ts.map +1 -0
- package/dist/types/core/tree/sync.d.ts +2 -2
- package/dist/types/core/tree/sync.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +47 -6
- package/dist/types/core/types.d.ts.map +1 -1
- package/dist/types/core/utils/assert.d.ts.map +1 -0
- package/dist/types/core/utils/constructors.d.ts.map +1 -0
- package/dist/types/core/utils/deferred.d.ts +14 -0
- package/dist/types/core/utils/deferred.d.ts.map +1 -0
- package/dist/types/core/utils/error.d.ts +5 -0
- package/dist/types/core/utils/error.d.ts.map +1 -0
- package/dist/types/core/utils/get-identifier.d.ts.map +1 -0
- package/dist/types/core/utils/get-object-flag.d.ts +3 -0
- package/dist/types/core/utils/get-object-flag.d.ts.map +1 -0
- package/dist/types/core/utils/is-valid-identifier.d.ts +2 -0
- package/dist/types/core/utils/is-valid-identifier.d.ts.map +1 -0
- package/dist/types/core/utils/iterator-to-sequence.d.ts +20 -0
- package/dist/types/core/utils/iterator-to-sequence.d.ts.map +1 -0
- package/dist/types/core/utils/promise-to-result.d.ts.map +1 -0
- package/dist/types/core/utils/typed-array.d.ts +4 -0
- package/dist/types/core/utils/typed-array.d.ts.map +1 -0
- package/dist/types/core/web-api.d.ts +4 -1
- package/dist/types/core/web-api.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/core/base-primitives.ts +229 -1
- package/src/core/compat.ts +0 -2
- package/src/core/constants.ts +7 -2
- package/src/core/{tree/deserialize.ts → context/deserializer.ts} +159 -66
- package/src/core/{base → context/parser}/async.ts +181 -309
- package/src/core/{base → context/parser}/stream.ts +89 -14
- package/src/core/{base → context/parser}/sync.ts +120 -281
- package/src/core/context/parser.ts +259 -0
- package/src/core/{serializer-context.old.ts → context/serializer.ts} +241 -166
- package/src/core/cross/async.ts +2 -2
- package/src/core/cross/deserializer.ts +19 -0
- package/src/core/cross/index.ts +68 -47
- package/src/core/cross/parser.ts +7 -0
- package/src/core/cross/{serialize.ts → serializer.ts} +31 -12
- package/src/core/cross/stream.ts +2 -2
- package/src/core/cross/sync.ts +2 -2
- package/src/core/is-serializable.new.ts +1 -1
- package/src/core/keys.ts +8 -2
- package/src/core/plugin.ts +7 -7
- package/src/core/reference.ts +1 -1
- package/src/core/special-reference.ts +9 -0
- package/src/core/tree/async.ts +2 -2
- package/src/core/tree/deserializer.ts +31 -0
- package/src/core/tree/index.ts +2 -2
- package/src/core/tree/{serialize.ts → serializer.ts} +5 -16
- package/src/core/tree/sync.ts +2 -2
- package/src/core/types.ts +60 -7
- package/src/core/utils/deferred.ts +49 -0
- package/src/core/{shared.ts → utils/error.ts} +3 -60
- package/src/core/utils/get-object-flag.ts +14 -0
- package/src/core/utils/is-valid-identifier.ts +11 -0
- package/src/core/utils/iterator-to-sequence.ts +238 -0
- package/src/core/utils/typed-array.ts +30 -0
- package/src/core/web-api.ts +75 -1
- package/src/example.ts +0 -3
- package/dist/types/core/assert.d.ts.map +0 -1
- package/dist/types/core/base/async.d.ts.map +0 -1
- package/dist/types/core/base/stream.d.ts.map +0 -1
- package/dist/types/core/base/sync.d.ts.map +0 -1
- package/dist/types/core/constructors.d.ts.map +0 -1
- package/dist/types/core/cross/cross-parser.d.ts +0 -8
- package/dist/types/core/cross/cross-parser.d.ts.map +0 -1
- package/dist/types/core/cross/serialize.d.ts.map +0 -1
- package/dist/types/core/get-identifier.d.ts.map +0 -1
- package/dist/types/core/parser-context.d.ts +0 -23
- package/dist/types/core/parser-context.d.ts.map +0 -1
- package/dist/types/core/promise-to-result.d.ts.map +0 -1
- package/dist/types/core/serializer-context.old.d.ts.map +0 -1
- package/dist/types/core/shared.d.ts +0 -10
- package/dist/types/core/shared.d.ts.map +0 -1
- package/dist/types/core/tree/deserialize.d.ts.map +0 -1
- package/dist/types/core/tree/serialize.d.ts.map +0 -1
- package/src/core/cross/cross-parser.ts +0 -9
- package/src/core/parser-context.ts +0 -131
- package/src/core/serializer-context.new.ts +0 -1168
- package/src/core/tree/parser.ts +0 -45
- /package/dist/types/core/{assert.d.ts → utils/assert.d.ts} +0 -0
- /package/dist/types/core/{constructors.d.ts → utils/constructors.d.ts} +0 -0
- /package/dist/types/core/{get-identifier.d.ts → utils/get-identifier.d.ts} +0 -0
- /package/dist/types/core/{promise-to-result.d.ts → utils/promise-to-result.d.ts} +0 -0
- /package/src/core/{assert.ts → utils/assert.ts} +0 -0
- /package/src/core/{constructors.ts → utils/constructors.ts} +0 -0
- /package/src/core/{get-identifier.ts → utils/get-identifier.ts} +0 -0
- /package/src/core/{promise-to-result.ts → utils/promise-to-result.ts} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import type BaseStreamParserContext from '../context/parser/stream';
|
|
2
|
+
|
|
3
|
+
/* eslint-disable no-await-in-loop */
|
|
4
|
+
export interface Sequence {
|
|
5
|
+
v: unknown[];
|
|
6
|
+
t: number;
|
|
7
|
+
d: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function iteratorToSequence<T>(source: Iterable<T>): Sequence {
|
|
11
|
+
const values: unknown[] = [];
|
|
12
|
+
let throwsAt = -1;
|
|
13
|
+
let doneAt = -1;
|
|
14
|
+
|
|
15
|
+
const iterator = source[Symbol.iterator]();
|
|
16
|
+
|
|
17
|
+
while (true) {
|
|
18
|
+
try {
|
|
19
|
+
const value = iterator.next();
|
|
20
|
+
values.push(value.value);
|
|
21
|
+
if (value.done) {
|
|
22
|
+
doneAt = values.length - 1;
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
} catch (error) {
|
|
26
|
+
throwsAt = values.length;
|
|
27
|
+
values.push(error);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
v: values,
|
|
33
|
+
t: throwsAt,
|
|
34
|
+
d: doneAt,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function sequenceToIterator<T>(
|
|
39
|
+
sequence: Sequence,
|
|
40
|
+
): () => IterableIterator<T> {
|
|
41
|
+
return (): IterableIterator<T> => {
|
|
42
|
+
let index = 0;
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
[Symbol.iterator](): IterableIterator<T> {
|
|
46
|
+
return this;
|
|
47
|
+
},
|
|
48
|
+
next(): IteratorResult<T> {
|
|
49
|
+
if (index > sequence.d) {
|
|
50
|
+
return {
|
|
51
|
+
done: true,
|
|
52
|
+
value: undefined,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const currentIndex = index++;
|
|
56
|
+
const currentItem = sequence.v[currentIndex];
|
|
57
|
+
if (currentIndex === sequence.t) {
|
|
58
|
+
throw currentItem;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
done: currentIndex === sequence.d,
|
|
62
|
+
value: currentItem as T,
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export async function asyncIteratorToSequence<T>(source: AsyncIterable<T>): Promise<Sequence> {
|
|
70
|
+
const values: unknown[] = [];
|
|
71
|
+
let throwsAt = -1;
|
|
72
|
+
let doneAt = -1;
|
|
73
|
+
|
|
74
|
+
const iterator = source[Symbol.asyncIterator]();
|
|
75
|
+
|
|
76
|
+
while (true) {
|
|
77
|
+
try {
|
|
78
|
+
const value = await iterator.next();
|
|
79
|
+
values.push(value.value);
|
|
80
|
+
if (value.done) {
|
|
81
|
+
doneAt = values.length - 1;
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
} catch (error) {
|
|
85
|
+
throwsAt = values.length;
|
|
86
|
+
values.push(error);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
v: values,
|
|
92
|
+
t: throwsAt,
|
|
93
|
+
d: doneAt,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export function sequenceToAsyncIterator<T>(
|
|
98
|
+
sequence: Sequence,
|
|
99
|
+
): () => AsyncIterableIterator<T> {
|
|
100
|
+
return (): AsyncIterableIterator<T> => {
|
|
101
|
+
let index = 0;
|
|
102
|
+
return {
|
|
103
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<T> {
|
|
104
|
+
return this;
|
|
105
|
+
},
|
|
106
|
+
async next(): Promise<IteratorResult<T>> {
|
|
107
|
+
if (index > sequence.d) {
|
|
108
|
+
return {
|
|
109
|
+
done: true,
|
|
110
|
+
value: undefined,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
const currentIndex = index++;
|
|
114
|
+
const currentItem = sequence.v[currentIndex];
|
|
115
|
+
if (currentIndex === sequence.t) {
|
|
116
|
+
throw currentItem;
|
|
117
|
+
}
|
|
118
|
+
return Promise.resolve({
|
|
119
|
+
done: currentIndex === sequence.d,
|
|
120
|
+
value: currentItem as T,
|
|
121
|
+
});
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export function asyncIteratorToReadableStream<T>(
|
|
128
|
+
source: AsyncIterable<T>,
|
|
129
|
+
parser: BaseStreamParserContext,
|
|
130
|
+
): ReadableStream<unknown> {
|
|
131
|
+
return new ReadableStream({
|
|
132
|
+
async start(controller): Promise<void> {
|
|
133
|
+
const iterator = source[Symbol.asyncIterator]();
|
|
134
|
+
while (parser.isAlive()) {
|
|
135
|
+
try {
|
|
136
|
+
const result = await iterator.next();
|
|
137
|
+
controller.enqueue([result.done ? 2 : 0, result.value]);
|
|
138
|
+
if (result.done) {
|
|
139
|
+
controller.close();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
} catch (error) {
|
|
143
|
+
controller.enqueue([1, error]);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
controller.close();
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
type RSNext<T> = [0, T];
|
|
152
|
+
type RSThrow = [1, any];
|
|
153
|
+
type RSReturn<T> = [2, T];
|
|
154
|
+
|
|
155
|
+
export type SerializedAsyncIteratorResult<T> = RSNext<T> | RSThrow | RSReturn<T>;
|
|
156
|
+
|
|
157
|
+
export function readableStreamToAsyncIterator<T>(
|
|
158
|
+
source: ReadableStream<SerializedAsyncIteratorResult<T>>,
|
|
159
|
+
): () => AsyncIterableIterator<T> {
|
|
160
|
+
let current = source;
|
|
161
|
+
return (): AsyncIterableIterator<T> => {
|
|
162
|
+
const [left, right] = current.tee();
|
|
163
|
+
const clone = left;
|
|
164
|
+
current = right;
|
|
165
|
+
const reader = clone.getReader();
|
|
166
|
+
return {
|
|
167
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<T> {
|
|
168
|
+
return this;
|
|
169
|
+
},
|
|
170
|
+
async next(): Promise<IteratorResult<T>> {
|
|
171
|
+
const result = await reader.read();
|
|
172
|
+
if (result.done) {
|
|
173
|
+
return {
|
|
174
|
+
done: true,
|
|
175
|
+
value: undefined,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
const [status, value] = result.value;
|
|
179
|
+
if (status === 1) {
|
|
180
|
+
throw value;
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
done: status === 2,
|
|
184
|
+
value,
|
|
185
|
+
};
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export async function readableStreamToSequence<T>(
|
|
192
|
+
stream: ReadableStream<T>,
|
|
193
|
+
): Promise<Sequence> {
|
|
194
|
+
const values: unknown[] = [];
|
|
195
|
+
let throwsAt = -1;
|
|
196
|
+
let doneAt = -1;
|
|
197
|
+
|
|
198
|
+
const iterator = stream.getReader();
|
|
199
|
+
|
|
200
|
+
while (true) {
|
|
201
|
+
try {
|
|
202
|
+
const value = await iterator.read();
|
|
203
|
+
values.push(value.value);
|
|
204
|
+
if (value.done) {
|
|
205
|
+
doneAt = values.length - 1;
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
} catch (error) {
|
|
209
|
+
throwsAt = values.length;
|
|
210
|
+
doneAt = throwsAt;
|
|
211
|
+
values.push(error);
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
return {
|
|
217
|
+
v: values,
|
|
218
|
+
t: throwsAt,
|
|
219
|
+
d: doneAt,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export function sequenceToReadableStream<T>(
|
|
224
|
+
sequence: Sequence,
|
|
225
|
+
): ReadableStream<T> {
|
|
226
|
+
return new ReadableStream<T>({
|
|
227
|
+
start(controller): void {
|
|
228
|
+
for (let i = 0; i < sequence.d; i++) {
|
|
229
|
+
controller.enqueue(sequence.v[i] as T);
|
|
230
|
+
}
|
|
231
|
+
if (sequence.t === -1) {
|
|
232
|
+
controller.close();
|
|
233
|
+
} else {
|
|
234
|
+
controller.error(sequence.v[sequence.t] as T);
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
});
|
|
238
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type TypedArrayConstructor =
|
|
2
|
+
| Int8ArrayConstructor
|
|
3
|
+
| Int16ArrayConstructor
|
|
4
|
+
| Int32ArrayConstructor
|
|
5
|
+
| Uint8ArrayConstructor
|
|
6
|
+
| Uint16ArrayConstructor
|
|
7
|
+
| Uint32ArrayConstructor
|
|
8
|
+
| Uint8ClampedArrayConstructor
|
|
9
|
+
| Float32ArrayConstructor
|
|
10
|
+
| Float64ArrayConstructor
|
|
11
|
+
| BigInt64ArrayConstructor
|
|
12
|
+
| BigUint64ArrayConstructor;
|
|
13
|
+
|
|
14
|
+
export function getTypedArrayConstructor(name: string): TypedArrayConstructor {
|
|
15
|
+
switch (name) {
|
|
16
|
+
case 'Int8Array': return Int8Array;
|
|
17
|
+
case 'Int16Array': return Int16Array;
|
|
18
|
+
case 'Int32Array': return Int32Array;
|
|
19
|
+
case 'Uint8Array': return Uint8Array;
|
|
20
|
+
case 'Uint16Array': return Uint16Array;
|
|
21
|
+
case 'Uint32Array': return Uint32Array;
|
|
22
|
+
case 'Uint8ClampedArray': return Uint8ClampedArray;
|
|
23
|
+
case 'Float32Array': return Float32Array;
|
|
24
|
+
case 'Float64Array': return Float64Array;
|
|
25
|
+
case 'BigInt64Array': return BigInt64Array;
|
|
26
|
+
case 'BigUint64Array': return BigUint64Array;
|
|
27
|
+
default:
|
|
28
|
+
throw new Error(`Unknown TypedArray "${name}"`);
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/core/web-api.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { SerovalNodeType } from './constants';
|
|
2
2
|
import { serializeString } from './string';
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
SerovalCustomEventNode,
|
|
5
|
+
SerovalDOMExceptionNode,
|
|
6
|
+
SerovalEventNode,
|
|
7
|
+
SerovalNode,
|
|
8
|
+
SerovalReadableStreamNode,
|
|
9
|
+
SerovalURLNode,
|
|
10
|
+
SerovalURLSearchParamsNode,
|
|
11
|
+
} from './types';
|
|
4
12
|
|
|
5
13
|
export function createURLNode(
|
|
6
14
|
id: number,
|
|
@@ -61,3 +69,69 @@ export function createDOMExceptionNode(
|
|
|
61
69
|
o: undefined,
|
|
62
70
|
};
|
|
63
71
|
}
|
|
72
|
+
|
|
73
|
+
export function createEventNode(
|
|
74
|
+
id: number,
|
|
75
|
+
type: string,
|
|
76
|
+
options: SerovalNode,
|
|
77
|
+
): SerovalEventNode {
|
|
78
|
+
return {
|
|
79
|
+
t: SerovalNodeType.Event,
|
|
80
|
+
i: id,
|
|
81
|
+
s: serializeString(type),
|
|
82
|
+
l: undefined,
|
|
83
|
+
c: undefined,
|
|
84
|
+
m: undefined,
|
|
85
|
+
p: undefined,
|
|
86
|
+
e: undefined,
|
|
87
|
+
a: undefined,
|
|
88
|
+
f: options,
|
|
89
|
+
b: undefined,
|
|
90
|
+
o: undefined,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export function createCustomEventNode(
|
|
95
|
+
id: number,
|
|
96
|
+
type: string,
|
|
97
|
+
options: SerovalNode,
|
|
98
|
+
): SerovalCustomEventNode {
|
|
99
|
+
return {
|
|
100
|
+
t: SerovalNodeType.CustomEvent,
|
|
101
|
+
i: id,
|
|
102
|
+
s: serializeString(type),
|
|
103
|
+
l: undefined,
|
|
104
|
+
c: undefined,
|
|
105
|
+
m: undefined,
|
|
106
|
+
p: undefined,
|
|
107
|
+
e: undefined,
|
|
108
|
+
a: undefined,
|
|
109
|
+
f: options,
|
|
110
|
+
b: undefined,
|
|
111
|
+
o: undefined,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export function createReadableStreamNode(
|
|
116
|
+
id: number,
|
|
117
|
+
factory: SerovalNode,
|
|
118
|
+
items: SerovalNode,
|
|
119
|
+
): SerovalReadableStreamNode {
|
|
120
|
+
return {
|
|
121
|
+
t: SerovalNodeType.ReadableStream,
|
|
122
|
+
i: id,
|
|
123
|
+
s: undefined,
|
|
124
|
+
l: undefined,
|
|
125
|
+
c: undefined,
|
|
126
|
+
m: undefined,
|
|
127
|
+
p: undefined,
|
|
128
|
+
e: undefined,
|
|
129
|
+
a: [
|
|
130
|
+
factory,
|
|
131
|
+
items,
|
|
132
|
+
],
|
|
133
|
+
f: undefined,
|
|
134
|
+
b: undefined,
|
|
135
|
+
o: undefined,
|
|
136
|
+
};
|
|
137
|
+
}
|
package/src/example.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/core/assert.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAIxE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../../src/core/base/async.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMtD,OAAO,KAAK,EAKV,WAAW,EAeX,sBAAsB,EAMvB,MAAM,UAAU,CAAC;AAQlB,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,sBAAuB,SAAQ,iBAAiB;YAC9D,UAAU;YAwBV,UAAU;YAoBV,UAAU;YAoBV,eAAe;YAoBf,qBAAqB;YAoBrB,aAAa;YAoBb,eAAe;YA2Cf,gBAAgB;YAqBhB,UAAU;YAwBV,QAAQ;YAsCR,QAAQ;YAkCR,SAAS;YAoBT,SAAS;cAoBP,oBAAoB,CAClC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,GACvC,OAAO,CAAC,sBAAsB,CAAC;YA4BpB,YAAY;YAwBZ,aAAa;YAwBb,YAAY;YAsBZ,aAAa;YAyBb,UAAU;YAoBV,gBAAgB;YAoBhB,mBAAmB;YAwBnB,YAAY;YAqBZ,WAAW;YAsBX,WAAW;IAkJnB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;CA8BjD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../src/core/base/stream.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,qBAAqB,MAAM,QAAQ,CAAC;AAM3C,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAKlB,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,8BAA+B,SAAQ,4BAA4B;IAClF,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,uBAAwB,SAAQ,qBAAqB;IAEjF,OAAO,CAAC,KAAK,CAAQ;IAGrB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,eAAe,CAAgD;IAEvE,OAAO,CAAC,eAAe,CAAC,CAA2B;IAEnD,OAAO,CAAC,cAAc,CAAC,CAAa;gBAExB,OAAO,EAAE,8BAA8B;IAOnD,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,MAAM;IAMd,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAOvB,gBAAgB,IAAI,IAAI;IAIxB,eAAe,IAAI,IAAI;IAMvB,OAAO,CAAC,wBAAwB;IAsEhC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,YAAY;IAiEpB,SAAS,CAAC,WAAW,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,iBAAiB,GAAG,SAAS;IAmBhC,SAAS,CAAC,WAAW,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GACd,WAAW;IA6Id,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAY1B;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf,OAAO,IAAI,OAAO;CAGnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/core/base/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constructors.d.ts","sourceRoot":"","sources":["../../../src/core/constructors.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,GACxC,WAAW,CAcb;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,GAChB,YAAY,CAMd;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,KAAK,GACb,SAAS,CAMX;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,GACnB,eAAe,CAOjB"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { BaseParserContextOptions } from '../parser-context';
|
|
2
|
-
export interface CrossParserContextOptions extends BaseParserContextOptions {
|
|
3
|
-
refs?: Map<unknown, number>;
|
|
4
|
-
}
|
|
5
|
-
export interface CrossContextOptions {
|
|
6
|
-
scopeId?: string;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=cross-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cross-parser.d.ts","sourceRoot":"","sources":["../../../../src/core/cross/cross-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../../src/core/cross/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,oCAAoC,EACpC,WAAW,EACZ,MAAM,UAAU,CAAC;AAUlB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,qBAAqB,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,6BACf,SAAQ,4BAA4B,EAAE,mBAAmB;CAC1D;AAED,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,qBAAqB;IACvE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAW;IAErC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,6BAA6B;IAKlD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAOxC,SAAS,CAAC,kBAAkB,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,MAAM;IAIT,SAAS,CAAC,2BAA2B,CACnC,IAAI,EAAE,6BAA6B,GAClC,MAAM;IAIT,SAAS,CAAC,uBAAuB,CAC/B,IAAI,EAAE,yBAAyB,GAC9B,MAAM;IAIT,SAAS,CAAC,sBAAsB,CAC9B,IAAI,EAAE,wBAAwB,GAC7B,MAAM;IAIT,SAAS,CAAC,kCAAkC,CAC1C,IAAI,EAAE,oCAAoC,GACzC,MAAM;IAIT,SAAS,CAAC,8BAA8B,CACtC,IAAI,EAAE,gCAAgC,GACrC,MAAM;IAIT,SAAS,CAAC,4BAA4B,CACpC,IAAI,EAAE,8BAA8B,GACnC,MAAM;IAIT,SAAS,CAAC,4BAA4B,CACpC,IAAI,EAAE,8BAA8B,GACnC,MAAM;IAIT,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAoBxC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-identifier.d.ts","sourceRoot":"","sources":["../../../src/core/get-identifier.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU3D"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { Plugin, PluginAccessOptions, SerovalMode } from './plugin';
|
|
2
|
-
import type { SerovalIndexedValueNode, SerovalReferenceNode } from './types';
|
|
3
|
-
export interface BaseParserContextOptions extends PluginAccessOptions {
|
|
4
|
-
disabledFeatures?: number;
|
|
5
|
-
refs?: Map<unknown, number>;
|
|
6
|
-
}
|
|
7
|
-
export declare abstract class BaseParserContext implements PluginAccessOptions {
|
|
8
|
-
abstract readonly mode: SerovalMode;
|
|
9
|
-
features: number;
|
|
10
|
-
marked: Set<number>;
|
|
11
|
-
refs: Map<unknown, number>;
|
|
12
|
-
plugins?: Plugin<any, any>[] | undefined;
|
|
13
|
-
constructor(options: BaseParserContextOptions);
|
|
14
|
-
protected markRef(id: number): void;
|
|
15
|
-
protected isMarked(id: number): boolean;
|
|
16
|
-
protected getReference<T>(current: T): number | SerovalIndexedValueNode | SerovalReferenceNode;
|
|
17
|
-
protected getStrictReference<T>(current: T): SerovalIndexedValueNode | SerovalReferenceNode;
|
|
18
|
-
/**
|
|
19
|
-
* @private
|
|
20
|
-
*/
|
|
21
|
-
protected isIterable(value: unknown): value is Iterable<unknown>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=parser-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser-context.d.ts","sourceRoot":"","sources":["../../../src/core/parser-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE7E,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,8BAAsB,iBAAkB,YAAW,mBAAmB;IACpE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAEpC,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,cAAqB;IAE3B,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;gBAE7B,OAAO,EAAE,wBAAwB;IAM7C,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIvC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,GAAG,uBAAuB,GAAG,oBAAoB;IAc9F,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,uBAAuB,GAAG,oBAAoB;IAW3F;;OAEG;IACH,SAAS,CAAC,UAAU,CAClB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC;CAgE9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promise-to-result.d.ts","sourceRoot":"","sources":["../../../src/core/promise-to-result.ts"],"names":[],"mappings":"AAAA,wBAA8B,eAAe,CAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAM3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serializer-context.old.d.ts","sourceRoot":"","sources":["../../../src/core/serializer-context.old.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { ErrorValue } from '../types';
|
|
2
|
-
import { ErrorConstructorTag, SerovalObjectFlags } from './constants';
|
|
3
|
-
export declare function getErrorConstructor(error: ErrorValue): ErrorConstructorTag;
|
|
4
|
-
type TypedArrayConstructor = Int8ArrayConstructor | Int16ArrayConstructor | Int32ArrayConstructor | Uint8ArrayConstructor | Uint16ArrayConstructor | Uint32ArrayConstructor | Uint8ClampedArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor;
|
|
5
|
-
export declare function getTypedArrayConstructor(name: string): TypedArrayConstructor;
|
|
6
|
-
export declare function isValidIdentifier(name: string): boolean;
|
|
7
|
-
export declare function getObjectFlag(obj: unknown): SerovalObjectFlags;
|
|
8
|
-
export declare function getErrorOptions(error: Error, features: number): Record<string, unknown> | undefined;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/core/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,CAoB1E;AAED,KAAK,qBAAqB,GACtB,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,sBAAsB,GACtB,4BAA4B,GAC5B,uBAAuB,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,CAAC;AAE9B,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAgB5E;AAID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAW9D;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA2BrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../../../src/core/tree/deserialize.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAiBV,WAAW,EAeZ,MAAM,UAAU,CAAC;AAWlB,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAyC7D,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,CAAC,OAAO,OAAO,0BAA2B,YAAW,mBAAmB;IAC5E;;;OAGG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAEzC;;;OAGG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;gBAE7B,OAAO,EAAE,mBAAmB;IAKxC,kBAAkB,CAAC,CAAC,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,GACP,CAAC;IAOJ,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,gBAAgB;YAWV,kBAAkB;IAchC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,iBAAiB;IAezB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;CAwExC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../../src/core/tree/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,oCAAoC,EACpC,gCAAgC,EAChC,8BAA8B,EAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,qBAAqB,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,CAAA;AAE1E,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,qBAAqB;IACzE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAa;IAEvC;;;OAGG;IACH,KAAK,+BAAsC;IAE3C;;;OAGG;IACH,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAM;IAElC;;OAEG;IACH,OAAO,CACL,OAAO,EAAE,MAAM,GACd,IAAI;IAIP;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAoB3C,SAAS,CAAC,kBAAkB,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,MAAM;IAOT,SAAS,CAAC,2BAA2B,CACnC,IAAI,EAAE,6BAA6B,GAClC,MAAM;IAIT,SAAS,CAAC,uBAAuB,CAC/B,IAAI,EAAE,yBAAyB,GAC9B,MAAM;IAIT,SAAS,CAAC,sBAAsB,CAC9B,IAAI,EAAE,wBAAwB,GAC7B,MAAM;IAIT,SAAS,CAAC,kCAAkC,CAC1C,IAAI,EAAE,oCAAoC,GACzC,MAAM;IAIT,SAAS,CAAC,8BAA8B,CACtC,IAAI,EAAE,gCAAgC,GACrC,MAAM;IAIT,SAAS,CAAC,4BAA4B,CACpC,IAAI,EAAE,8BAA8B,GACnC,MAAM;IAIT,SAAS,CAAC,4BAA4B,CACpC,IAAI,EAAE,8BAA8B,GACnC,MAAM;IAIT,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CA+BxC"}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { createIndexedValueNode, createReferenceNode } from './base-primitives';
|
|
2
|
-
import { ALL_ENABLED, BIGINT_FLAG, Feature } from './compat';
|
|
3
|
-
import type { Plugin, PluginAccessOptions, SerovalMode } from './plugin';
|
|
4
|
-
import { hasReferenceID } from './reference';
|
|
5
|
-
import type { SerovalIndexedValueNode, SerovalReferenceNode } from './types';
|
|
6
|
-
|
|
7
|
-
export interface BaseParserContextOptions extends PluginAccessOptions {
|
|
8
|
-
disabledFeatures?: number;
|
|
9
|
-
refs?: Map<unknown, number>;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export abstract class BaseParserContext implements PluginAccessOptions {
|
|
13
|
-
abstract readonly mode: SerovalMode;
|
|
14
|
-
|
|
15
|
-
features: number;
|
|
16
|
-
|
|
17
|
-
marked = new Set<number>();
|
|
18
|
-
|
|
19
|
-
refs: Map<unknown, number>;
|
|
20
|
-
|
|
21
|
-
plugins?: Plugin<any, any>[] | undefined;
|
|
22
|
-
|
|
23
|
-
constructor(options: BaseParserContextOptions) {
|
|
24
|
-
this.plugins = options.plugins;
|
|
25
|
-
this.features = ALL_ENABLED ^ (options.disabledFeatures || 0);
|
|
26
|
-
this.refs = options.refs || new Map<unknown, number>();
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
protected markRef(id: number): void {
|
|
30
|
-
this.marked.add(id);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
protected isMarked(id: number): boolean {
|
|
34
|
-
return this.marked.has(id);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
protected getReference<T>(current: T): number | SerovalIndexedValueNode | SerovalReferenceNode {
|
|
38
|
-
const registeredID = this.refs.get(current);
|
|
39
|
-
if (registeredID != null) {
|
|
40
|
-
this.markRef(registeredID);
|
|
41
|
-
return createIndexedValueNode(registeredID);
|
|
42
|
-
}
|
|
43
|
-
const id = this.refs.size;
|
|
44
|
-
this.refs.set(current, id);
|
|
45
|
-
if (hasReferenceID(current)) {
|
|
46
|
-
return createReferenceNode(id, current);
|
|
47
|
-
}
|
|
48
|
-
return id;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
protected getStrictReference<T>(current: T): SerovalIndexedValueNode | SerovalReferenceNode {
|
|
52
|
-
const registeredID = this.refs.get(current);
|
|
53
|
-
if (registeredID != null) {
|
|
54
|
-
this.markRef(registeredID);
|
|
55
|
-
return createIndexedValueNode(registeredID);
|
|
56
|
-
}
|
|
57
|
-
const id = this.refs.size;
|
|
58
|
-
this.refs.set(current, id);
|
|
59
|
-
return createReferenceNode(id, current);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* @private
|
|
64
|
-
*/
|
|
65
|
-
protected isIterable(
|
|
66
|
-
value: unknown,
|
|
67
|
-
): value is Iterable<unknown> {
|
|
68
|
-
if (!value || typeof value !== 'object') {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
if (Array.isArray(value)) {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
const currentClass = value.constructor;
|
|
75
|
-
const currentFeatures = this.features;
|
|
76
|
-
if (currentFeatures & Feature.TypedArray) {
|
|
77
|
-
switch (currentClass) {
|
|
78
|
-
case Int8Array:
|
|
79
|
-
case Int16Array:
|
|
80
|
-
case Int32Array:
|
|
81
|
-
case Uint8Array:
|
|
82
|
-
case Uint16Array:
|
|
83
|
-
case Uint32Array:
|
|
84
|
-
case Uint8ClampedArray:
|
|
85
|
-
case Float32Array:
|
|
86
|
-
case Float64Array:
|
|
87
|
-
return false;
|
|
88
|
-
default:
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
// BigInt Typed Arrays
|
|
93
|
-
if ((currentFeatures & BIGINT_FLAG) === BIGINT_FLAG) {
|
|
94
|
-
switch (currentClass) {
|
|
95
|
-
case BigInt64Array:
|
|
96
|
-
case BigUint64Array:
|
|
97
|
-
return false;
|
|
98
|
-
default:
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// ES Collection
|
|
103
|
-
if (currentFeatures & Feature.Map && currentClass === Map) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
if (currentFeatures & Feature.Set && currentClass === Set) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
if (currentFeatures & Feature.WebAPI) {
|
|
110
|
-
if (typeof Headers !== 'undefined' && currentClass === Headers) {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
if (typeof File !== 'undefined' && currentClass === File) {
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
const currentPlugins = this.plugins;
|
|
118
|
-
if (currentPlugins) {
|
|
119
|
-
for (let i = 0, len = currentPlugins.length; i < len; i++) {
|
|
120
|
-
const plugin = currentPlugins[i];
|
|
121
|
-
if (plugin.test(value) && plugin.isIterable && plugin.isIterable(value)) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
if (currentFeatures & Feature.Symbol) {
|
|
127
|
-
return Symbol.iterator in value;
|
|
128
|
-
}
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
}
|