seroval 0.12.3 → 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 (140) hide show
  1. package/dist/cjs/development/index.cjs +1432 -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 +1432 -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/Serializer.d.ts +2 -1
  8. package/dist/types/core/Serializer.d.ts.map +1 -1
  9. package/dist/types/core/base-primitives.d.ts +12 -1
  10. package/dist/types/core/base-primitives.d.ts.map +1 -1
  11. package/dist/types/core/compat.d.ts +0 -2
  12. package/dist/types/core/compat.d.ts.map +1 -1
  13. package/dist/types/core/constants.d.ts +8 -2
  14. package/dist/types/core/constants.d.ts.map +1 -1
  15. package/dist/types/core/{tree/deserialize.d.ts → context/deserializer.d.ts} +19 -13
  16. package/dist/types/core/context/deserializer.d.ts.map +1 -0
  17. package/dist/types/core/{base → context/parser}/async.d.ts +6 -5
  18. package/dist/types/core/context/parser/async.d.ts.map +1 -0
  19. package/dist/types/core/{base → context/parser}/stream.d.ts +2 -1
  20. package/dist/types/core/context/parser/stream.d.ts.map +1 -0
  21. package/dist/types/core/{base → context/parser}/sync.d.ts +7 -9
  22. package/dist/types/core/context/parser/sync.d.ts.map +1 -0
  23. package/dist/types/core/context/parser.d.ts +27 -0
  24. package/dist/types/core/context/parser.d.ts.map +1 -0
  25. package/dist/types/core/{serializer-context.old.d.ts → context/serializer.d.ts} +21 -22
  26. package/dist/types/core/context/serializer.d.ts.map +1 -0
  27. package/dist/types/core/cross/async.d.ts +2 -2
  28. package/dist/types/core/cross/async.d.ts.map +1 -1
  29. package/dist/types/core/cross/deserializer.d.ts +9 -0
  30. package/dist/types/core/cross/deserializer.d.ts.map +1 -0
  31. package/dist/types/core/cross/index.d.ts +11 -1
  32. package/dist/types/core/cross/index.d.ts.map +1 -1
  33. package/dist/types/core/cross/parser.d.ts +6 -0
  34. package/dist/types/core/cross/parser.d.ts.map +1 -0
  35. package/dist/types/core/cross/{serialize.d.ts → serializer.d.ts} +6 -5
  36. package/dist/types/core/cross/serializer.d.ts.map +1 -0
  37. package/dist/types/core/cross/stream.d.ts +2 -2
  38. package/dist/types/core/cross/stream.d.ts.map +1 -1
  39. package/dist/types/core/cross/sync.d.ts +2 -2
  40. package/dist/types/core/cross/sync.d.ts.map +1 -1
  41. package/dist/types/core/keys.d.ts +3 -1
  42. package/dist/types/core/keys.d.ts.map +1 -1
  43. package/dist/types/core/plugin.d.ts +6 -7
  44. package/dist/types/core/plugin.d.ts.map +1 -1
  45. package/dist/types/core/special-reference.d.ts +6 -0
  46. package/dist/types/core/special-reference.d.ts.map +1 -0
  47. package/dist/types/core/tree/async.d.ts +2 -2
  48. package/dist/types/core/tree/async.d.ts.map +1 -1
  49. package/dist/types/core/tree/deserializer.d.ts +13 -0
  50. package/dist/types/core/tree/deserializer.d.ts.map +1 -0
  51. package/dist/types/core/tree/{serialize.d.ts → serializer.d.ts} +4 -4
  52. package/dist/types/core/tree/serializer.d.ts.map +1 -0
  53. package/dist/types/core/tree/sync.d.ts +2 -2
  54. package/dist/types/core/tree/sync.d.ts.map +1 -1
  55. package/dist/types/core/types.d.ts +47 -6
  56. package/dist/types/core/types.d.ts.map +1 -1
  57. package/dist/types/core/utils/assert.d.ts.map +1 -0
  58. package/dist/types/core/utils/constructors.d.ts.map +1 -0
  59. package/dist/types/core/utils/deferred.d.ts +14 -0
  60. package/dist/types/core/utils/deferred.d.ts.map +1 -0
  61. package/dist/types/core/utils/error.d.ts +5 -0
  62. package/dist/types/core/utils/error.d.ts.map +1 -0
  63. package/dist/types/core/utils/get-identifier.d.ts.map +1 -0
  64. package/dist/types/core/utils/get-object-flag.d.ts +3 -0
  65. package/dist/types/core/utils/get-object-flag.d.ts.map +1 -0
  66. package/dist/types/core/utils/is-valid-identifier.d.ts +2 -0
  67. package/dist/types/core/utils/is-valid-identifier.d.ts.map +1 -0
  68. package/dist/types/core/utils/iterator-to-sequence.d.ts +20 -0
  69. package/dist/types/core/utils/iterator-to-sequence.d.ts.map +1 -0
  70. package/dist/types/core/utils/promise-to-result.d.ts.map +1 -0
  71. package/dist/types/core/utils/typed-array.d.ts +4 -0
  72. package/dist/types/core/utils/typed-array.d.ts.map +1 -0
  73. package/dist/types/core/web-api.d.ts +4 -1
  74. package/dist/types/core/web-api.d.ts.map +1 -1
  75. package/package.json +2 -2
  76. package/src/core/Serializer.ts +3 -1
  77. package/src/core/base-primitives.ts +229 -1
  78. package/src/core/compat.ts +0 -2
  79. package/src/core/constants.ts +7 -2
  80. package/src/core/{tree/deserialize.ts → context/deserializer.ts} +159 -66
  81. package/src/core/{base → context/parser}/async.ts +181 -309
  82. package/src/core/{base → context/parser}/stream.ts +86 -11
  83. package/src/core/{base → context/parser}/sync.ts +120 -281
  84. package/src/core/context/parser.ts +259 -0
  85. package/src/core/{serializer-context.old.ts → context/serializer.ts} +241 -166
  86. package/src/core/cross/async.ts +2 -2
  87. package/src/core/cross/deserializer.ts +19 -0
  88. package/src/core/cross/index.ts +68 -47
  89. package/src/core/cross/parser.ts +7 -0
  90. package/src/core/cross/{serialize.ts → serializer.ts} +31 -12
  91. package/src/core/cross/stream.ts +2 -2
  92. package/src/core/cross/sync.ts +2 -2
  93. package/src/core/is-serializable.new.ts +1 -1
  94. package/src/core/keys.ts +8 -2
  95. package/src/core/plugin.ts +7 -7
  96. package/src/core/reference.ts +1 -1
  97. package/src/core/special-reference.ts +9 -0
  98. package/src/core/tree/async.ts +2 -2
  99. package/src/core/tree/deserializer.ts +31 -0
  100. package/src/core/tree/index.ts +2 -2
  101. package/src/core/tree/{serialize.ts → serializer.ts} +5 -16
  102. package/src/core/tree/sync.ts +2 -2
  103. package/src/core/types.ts +60 -7
  104. package/src/core/utils/deferred.ts +49 -0
  105. package/src/core/{shared.ts → utils/error.ts} +3 -60
  106. package/src/core/utils/get-object-flag.ts +14 -0
  107. package/src/core/utils/is-valid-identifier.ts +11 -0
  108. package/src/core/utils/iterator-to-sequence.ts +238 -0
  109. package/src/core/utils/typed-array.ts +30 -0
  110. package/src/core/web-api.ts +75 -1
  111. package/src/example.ts +0 -3
  112. package/dist/types/core/assert.d.ts.map +0 -1
  113. package/dist/types/core/base/async.d.ts.map +0 -1
  114. package/dist/types/core/base/stream.d.ts.map +0 -1
  115. package/dist/types/core/base/sync.d.ts.map +0 -1
  116. package/dist/types/core/constructors.d.ts.map +0 -1
  117. package/dist/types/core/cross/cross-parser.d.ts +0 -8
  118. package/dist/types/core/cross/cross-parser.d.ts.map +0 -1
  119. package/dist/types/core/cross/serialize.d.ts.map +0 -1
  120. package/dist/types/core/get-identifier.d.ts.map +0 -1
  121. package/dist/types/core/parser-context.d.ts +0 -23
  122. package/dist/types/core/parser-context.d.ts.map +0 -1
  123. package/dist/types/core/promise-to-result.d.ts.map +0 -1
  124. package/dist/types/core/serializer-context.old.d.ts.map +0 -1
  125. package/dist/types/core/shared.d.ts +0 -10
  126. package/dist/types/core/shared.d.ts.map +0 -1
  127. package/dist/types/core/tree/deserialize.d.ts.map +0 -1
  128. package/dist/types/core/tree/serialize.d.ts.map +0 -1
  129. package/src/core/cross/cross-parser.ts +0 -9
  130. package/src/core/parser-context.ts +0 -131
  131. package/src/core/serializer-context.new.ts +0 -1168
  132. package/src/core/tree/parser.ts +0 -45
  133. /package/dist/types/core/{assert.d.ts → utils/assert.d.ts} +0 -0
  134. /package/dist/types/core/{constructors.d.ts → utils/constructors.d.ts} +0 -0
  135. /package/dist/types/core/{get-identifier.d.ts → utils/get-identifier.d.ts} +0 -0
  136. /package/dist/types/core/{promise-to-result.d.ts → utils/promise-to-result.d.ts} +0 -0
  137. /package/src/core/{assert.ts → utils/assert.ts} +0 -0
  138. /package/src/core/{constructors.ts → utils/constructors.ts} +0 -0
  139. /package/src/core/{get-identifier.ts → utils/get-identifier.ts} +0 -0
  140. /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
- }