seroval 0.12.4 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/cjs/development/index.cjs +1431 -958
  2. package/dist/cjs/development/index.cjs.map +3 -3
  3. package/dist/cjs/production/index.cjs +3 -3
  4. package/dist/esm/development/index.mjs +1431 -958
  5. package/dist/esm/development/index.mjs.map +3 -3
  6. package/dist/esm/production/index.mjs +3 -3
  7. package/dist/types/core/base-primitives.d.ts +12 -1
  8. package/dist/types/core/base-primitives.d.ts.map +1 -1
  9. package/dist/types/core/compat.d.ts +0 -2
  10. package/dist/types/core/compat.d.ts.map +1 -1
  11. package/dist/types/core/constants.d.ts +8 -2
  12. package/dist/types/core/constants.d.ts.map +1 -1
  13. package/dist/types/core/{tree/deserialize.d.ts → context/deserializer.d.ts} +19 -13
  14. package/dist/types/core/context/deserializer.d.ts.map +1 -0
  15. package/dist/types/core/{base → context/parser}/async.d.ts +6 -5
  16. package/dist/types/core/context/parser/async.d.ts.map +1 -0
  17. package/dist/types/core/{base → context/parser}/stream.d.ts +2 -1
  18. package/dist/types/core/context/parser/stream.d.ts.map +1 -0
  19. package/dist/types/core/{base → context/parser}/sync.d.ts +7 -9
  20. package/dist/types/core/context/parser/sync.d.ts.map +1 -0
  21. package/dist/types/core/context/parser.d.ts +27 -0
  22. package/dist/types/core/context/parser.d.ts.map +1 -0
  23. package/dist/types/core/{serializer-context.old.d.ts → context/serializer.d.ts} +21 -22
  24. package/dist/types/core/context/serializer.d.ts.map +1 -0
  25. package/dist/types/core/cross/async.d.ts +2 -2
  26. package/dist/types/core/cross/async.d.ts.map +1 -1
  27. package/dist/types/core/cross/deserializer.d.ts +9 -0
  28. package/dist/types/core/cross/deserializer.d.ts.map +1 -0
  29. package/dist/types/core/cross/index.d.ts +11 -1
  30. package/dist/types/core/cross/index.d.ts.map +1 -1
  31. package/dist/types/core/cross/parser.d.ts +6 -0
  32. package/dist/types/core/cross/parser.d.ts.map +1 -0
  33. package/dist/types/core/cross/{serialize.d.ts → serializer.d.ts} +6 -5
  34. package/dist/types/core/cross/serializer.d.ts.map +1 -0
  35. package/dist/types/core/cross/stream.d.ts +2 -2
  36. package/dist/types/core/cross/stream.d.ts.map +1 -1
  37. package/dist/types/core/cross/sync.d.ts +2 -2
  38. package/dist/types/core/cross/sync.d.ts.map +1 -1
  39. package/dist/types/core/keys.d.ts +3 -1
  40. package/dist/types/core/keys.d.ts.map +1 -1
  41. package/dist/types/core/plugin.d.ts +6 -7
  42. package/dist/types/core/plugin.d.ts.map +1 -1
  43. package/dist/types/core/special-reference.d.ts +6 -0
  44. package/dist/types/core/special-reference.d.ts.map +1 -0
  45. package/dist/types/core/tree/async.d.ts +2 -2
  46. package/dist/types/core/tree/async.d.ts.map +1 -1
  47. package/dist/types/core/tree/deserializer.d.ts +13 -0
  48. package/dist/types/core/tree/deserializer.d.ts.map +1 -0
  49. package/dist/types/core/tree/{serialize.d.ts → serializer.d.ts} +4 -4
  50. package/dist/types/core/tree/serializer.d.ts.map +1 -0
  51. package/dist/types/core/tree/sync.d.ts +2 -2
  52. package/dist/types/core/tree/sync.d.ts.map +1 -1
  53. package/dist/types/core/types.d.ts +47 -6
  54. package/dist/types/core/types.d.ts.map +1 -1
  55. package/dist/types/core/utils/assert.d.ts.map +1 -0
  56. package/dist/types/core/utils/constructors.d.ts.map +1 -0
  57. package/dist/types/core/utils/deferred.d.ts +14 -0
  58. package/dist/types/core/utils/deferred.d.ts.map +1 -0
  59. package/dist/types/core/utils/error.d.ts +5 -0
  60. package/dist/types/core/utils/error.d.ts.map +1 -0
  61. package/dist/types/core/utils/get-identifier.d.ts.map +1 -0
  62. package/dist/types/core/utils/get-object-flag.d.ts +3 -0
  63. package/dist/types/core/utils/get-object-flag.d.ts.map +1 -0
  64. package/dist/types/core/utils/is-valid-identifier.d.ts +2 -0
  65. package/dist/types/core/utils/is-valid-identifier.d.ts.map +1 -0
  66. package/dist/types/core/utils/iterator-to-sequence.d.ts +20 -0
  67. package/dist/types/core/utils/iterator-to-sequence.d.ts.map +1 -0
  68. package/dist/types/core/utils/promise-to-result.d.ts.map +1 -0
  69. package/dist/types/core/utils/typed-array.d.ts +4 -0
  70. package/dist/types/core/utils/typed-array.d.ts.map +1 -0
  71. package/dist/types/core/web-api.d.ts +4 -1
  72. package/dist/types/core/web-api.d.ts.map +1 -1
  73. package/package.json +2 -2
  74. package/src/core/base-primitives.ts +229 -1
  75. package/src/core/compat.ts +0 -2
  76. package/src/core/constants.ts +7 -2
  77. package/src/core/{tree/deserialize.ts → context/deserializer.ts} +159 -66
  78. package/src/core/{base → context/parser}/async.ts +181 -309
  79. package/src/core/{base → context/parser}/stream.ts +86 -11
  80. package/src/core/{base → context/parser}/sync.ts +120 -281
  81. package/src/core/context/parser.ts +259 -0
  82. package/src/core/{serializer-context.old.ts → context/serializer.ts} +241 -166
  83. package/src/core/cross/async.ts +2 -2
  84. package/src/core/cross/deserializer.ts +19 -0
  85. package/src/core/cross/index.ts +68 -47
  86. package/src/core/cross/parser.ts +7 -0
  87. package/src/core/cross/{serialize.ts → serializer.ts} +31 -12
  88. package/src/core/cross/stream.ts +2 -2
  89. package/src/core/cross/sync.ts +2 -2
  90. package/src/core/is-serializable.new.ts +1 -1
  91. package/src/core/keys.ts +8 -2
  92. package/src/core/plugin.ts +7 -7
  93. package/src/core/reference.ts +1 -1
  94. package/src/core/special-reference.ts +9 -0
  95. package/src/core/tree/async.ts +2 -2
  96. package/src/core/tree/deserializer.ts +31 -0
  97. package/src/core/tree/index.ts +2 -2
  98. package/src/core/tree/{serialize.ts → serializer.ts} +5 -16
  99. package/src/core/tree/sync.ts +2 -2
  100. package/src/core/types.ts +60 -7
  101. package/src/core/utils/deferred.ts +49 -0
  102. package/src/core/{shared.ts → utils/error.ts} +3 -60
  103. package/src/core/utils/get-object-flag.ts +14 -0
  104. package/src/core/utils/is-valid-identifier.ts +11 -0
  105. package/src/core/utils/iterator-to-sequence.ts +238 -0
  106. package/src/core/utils/typed-array.ts +30 -0
  107. package/src/core/web-api.ts +75 -1
  108. package/src/example.ts +0 -3
  109. package/dist/types/core/assert.d.ts.map +0 -1
  110. package/dist/types/core/base/async.d.ts.map +0 -1
  111. package/dist/types/core/base/stream.d.ts.map +0 -1
  112. package/dist/types/core/base/sync.d.ts.map +0 -1
  113. package/dist/types/core/constructors.d.ts.map +0 -1
  114. package/dist/types/core/cross/cross-parser.d.ts +0 -8
  115. package/dist/types/core/cross/cross-parser.d.ts.map +0 -1
  116. package/dist/types/core/cross/serialize.d.ts.map +0 -1
  117. package/dist/types/core/get-identifier.d.ts.map +0 -1
  118. package/dist/types/core/parser-context.d.ts +0 -23
  119. package/dist/types/core/parser-context.d.ts.map +0 -1
  120. package/dist/types/core/promise-to-result.d.ts.map +0 -1
  121. package/dist/types/core/serializer-context.old.d.ts.map +0 -1
  122. package/dist/types/core/shared.d.ts +0 -10
  123. package/dist/types/core/shared.d.ts.map +0 -1
  124. package/dist/types/core/tree/deserialize.d.ts.map +0 -1
  125. package/dist/types/core/tree/serialize.d.ts.map +0 -1
  126. package/src/core/cross/cross-parser.ts +0 -9
  127. package/src/core/parser-context.ts +0 -131
  128. package/src/core/serializer-context.new.ts +0 -1168
  129. package/src/core/tree/parser.ts +0 -45
  130. /package/dist/types/core/{assert.d.ts → utils/assert.d.ts} +0 -0
  131. /package/dist/types/core/{constructors.d.ts → utils/constructors.d.ts} +0 -0
  132. /package/dist/types/core/{get-identifier.d.ts → utils/get-identifier.d.ts} +0 -0
  133. /package/dist/types/core/{promise-to-result.d.ts → utils/promise-to-result.d.ts} +0 -0
  134. /package/src/core/{assert.ts → utils/assert.ts} +0 -0
  135. /package/src/core/{constructors.ts → utils/constructors.ts} +0 -0
  136. /package/src/core/{get-identifier.ts → utils/get-identifier.ts} +0 -0
  137. /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
+ }
@@ -1,6 +1,14 @@
1
1
  import { SerovalNodeType } from './constants';
2
2
  import { serializeString } from './string';
3
- import type { SerovalDOMExceptionNode, SerovalURLNode, SerovalURLSearchParamsNode } from './types';
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
@@ -22,7 +22,4 @@ const BufferPlugin = createPlugin<Buffer, SerovalNode>({
22
22
  deserialize(node, ctx) {
23
23
  return Buffer.from(ctx.deserialize(node) as string, 'base64');
24
24
  },
25
- isIterable() {
26
- return true;
27
- },
28
25
  });
@@ -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,9 +0,0 @@
1
- import type { BaseParserContextOptions } from '../parser-context';
2
-
3
- export interface CrossParserContextOptions extends BaseParserContextOptions {
4
- refs?: Map<unknown, number>;
5
- }
6
-
7
- export interface CrossContextOptions {
8
- scopeId?: string;
9
- }
@@ -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
- }