seroval-plugins 1.2.0 → 1.3.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.
@@ -1,6 +1,160 @@
1
- // web/blob.ts
1
+ // web/abort-signal.ts
2
2
  import { createPlugin } from "seroval";
3
- var BlobPlugin = /* @__PURE__ */ createPlugin({
3
+ function resolveAbortSignalResult(resolve) {
4
+ resolve(this.reason);
5
+ }
6
+ function resolveAbortSignal(resolve) {
7
+ this.addEventListener("abort", resolveAbortSignalResult.bind(this, resolve), {
8
+ once: true
9
+ });
10
+ }
11
+ function abortSignalToPromise(signal) {
12
+ return new Promise(resolveAbortSignal.bind(signal));
13
+ }
14
+ var AbortSignalController = class {
15
+ constructor() {
16
+ this.controller = new AbortController();
17
+ }
18
+ };
19
+ var AbortSignalControllerPlugin = createPlugin({
20
+ tag: "seroval-plugins/web/AbortSignalController",
21
+ test(value) {
22
+ return value instanceof AbortSignalController;
23
+ },
24
+ parse: {
25
+ stream() {
26
+ return void 0;
27
+ }
28
+ },
29
+ serialize(_node) {
30
+ return "new AbortController";
31
+ },
32
+ deserialize(_node) {
33
+ return new AbortSignalController();
34
+ }
35
+ });
36
+ var AbortSignalAbort = class {
37
+ constructor(controller, reason) {
38
+ this.controller = controller;
39
+ this.reason = reason;
40
+ }
41
+ };
42
+ var AbortSignalAbortPlugin = createPlugin({
43
+ extends: [AbortSignalControllerPlugin],
44
+ tag: "seroval-plugins/web/AbortSignalAbort",
45
+ test(value) {
46
+ return value instanceof AbortSignalAbort;
47
+ },
48
+ parse: {
49
+ stream(value, ctx) {
50
+ return {
51
+ controller: ctx.parse(value.controller),
52
+ reason: ctx.parse(value.reason)
53
+ };
54
+ }
55
+ },
56
+ serialize(node, ctx) {
57
+ return ctx.serialize(node.controller) + ".abort(" + ctx.serialize(node.reason) + ")";
58
+ },
59
+ deserialize(node, ctx) {
60
+ const controller = ctx.deserialize(
61
+ node.controller
62
+ );
63
+ const reason = ctx.deserialize(node.reason);
64
+ controller.controller.abort(reason);
65
+ return new AbortSignalAbort(controller, reason);
66
+ }
67
+ });
68
+ var AbortSignalPlugin = createPlugin({
69
+ tag: "seroval-plugins/web/AbortSignal",
70
+ extends: [AbortSignalAbortPlugin],
71
+ test(value) {
72
+ if (typeof AbortSignal === "undefined") {
73
+ return false;
74
+ }
75
+ return value instanceof AbortSignal;
76
+ },
77
+ parse: {
78
+ sync(value, ctx) {
79
+ if (value.aborted) {
80
+ return {
81
+ type: 1 /* Aborted */,
82
+ reason: ctx.parse(value.reason)
83
+ };
84
+ }
85
+ return {
86
+ type: 0 /* Pending */
87
+ };
88
+ },
89
+ async async(value, ctx) {
90
+ if (value.aborted) {
91
+ return {
92
+ type: 1 /* Aborted */,
93
+ reason: await ctx.parse(value.reason)
94
+ };
95
+ }
96
+ const result = await abortSignalToPromise(value);
97
+ return {
98
+ type: 1 /* Aborted */,
99
+ reason: await ctx.parse(result)
100
+ };
101
+ },
102
+ stream(value, ctx) {
103
+ if (value.aborted) {
104
+ return {
105
+ type: 1 /* Aborted */,
106
+ reason: ctx.parse(value.reason)
107
+ };
108
+ }
109
+ const controller = new AbortSignalController();
110
+ ctx.pushPendingState();
111
+ value.addEventListener(
112
+ "abort",
113
+ () => {
114
+ const result = ctx.parseWithError(
115
+ new AbortSignalAbort(controller, value.reason)
116
+ );
117
+ if (result) {
118
+ ctx.onParse(result);
119
+ }
120
+ ctx.popPendingState();
121
+ },
122
+ { once: true }
123
+ );
124
+ return {
125
+ type: 2 /* Streaming */,
126
+ controller: ctx.parse(controller)
127
+ };
128
+ }
129
+ },
130
+ serialize(node, ctx) {
131
+ if (node.type === 0 /* Pending */) {
132
+ return "(new AbortController).signal";
133
+ }
134
+ if (node.type === 1 /* Aborted */) {
135
+ return "AbortSignal.abort(" + ctx.serialize(node.reason) + ")";
136
+ }
137
+ return "(" + ctx.serialize(node.controller) + ").signal";
138
+ },
139
+ deserialize(node, ctx) {
140
+ if (node.type === 0 /* Pending */) {
141
+ const controller2 = new AbortController();
142
+ return controller2.signal;
143
+ }
144
+ if (node.type === 1 /* Aborted */) {
145
+ return AbortSignal.abort(ctx.deserialize(node.reason));
146
+ }
147
+ const controller = ctx.deserialize(
148
+ node.controller
149
+ );
150
+ return controller.controller.signal;
151
+ }
152
+ });
153
+ var abort_signal_default = AbortSignalPlugin;
154
+
155
+ // web/blob.ts
156
+ import { createPlugin as createPlugin2 } from "seroval";
157
+ var BlobPlugin = /* @__PURE__ */ createPlugin2({
4
158
  tag: "seroval-plugins/web/Blob",
5
159
  test(value) {
6
160
  if (typeof Blob === "undefined") {
@@ -28,7 +182,7 @@ var BlobPlugin = /* @__PURE__ */ createPlugin({
28
182
  var blob_default = BlobPlugin;
29
183
 
30
184
  // web/custom-event.ts
31
- import { createPlugin as createPlugin2 } from "seroval";
185
+ import { createPlugin as createPlugin3 } from "seroval";
32
186
  function createCustomEventOptions(current) {
33
187
  return {
34
188
  detail: current.detail,
@@ -37,7 +191,7 @@ function createCustomEventOptions(current) {
37
191
  composed: current.composed
38
192
  };
39
193
  }
40
- var CustomEventPlugin = /* @__PURE__ */ createPlugin2({
194
+ var CustomEventPlugin = /* @__PURE__ */ createPlugin3({
41
195
  tag: "seroval-plugins/web/CustomEvent",
42
196
  test(value) {
43
197
  if (typeof CustomEvent === "undefined") {
@@ -78,8 +232,8 @@ var CustomEventPlugin = /* @__PURE__ */ createPlugin2({
78
232
  var custom_event_default = CustomEventPlugin;
79
233
 
80
234
  // web/dom-exception.ts
81
- import { createPlugin as createPlugin3 } from "seroval";
82
- var DOMExceptionPlugin = /* @__PURE__ */ createPlugin3({
235
+ import { createPlugin as createPlugin4 } from "seroval";
236
+ var DOMExceptionPlugin = /* @__PURE__ */ createPlugin4({
83
237
  tag: "seroval-plugins/web/DOMException",
84
238
  test(value) {
85
239
  if (typeof DOMException === "undefined") {
@@ -120,7 +274,7 @@ var DOMExceptionPlugin = /* @__PURE__ */ createPlugin3({
120
274
  var dom_exception_default = DOMExceptionPlugin;
121
275
 
122
276
  // web/event.ts
123
- import { createPlugin as createPlugin4 } from "seroval";
277
+ import { createPlugin as createPlugin5 } from "seroval";
124
278
  function createEventOptions(current) {
125
279
  return {
126
280
  bubbles: current.bubbles,
@@ -128,7 +282,7 @@ function createEventOptions(current) {
128
282
  composed: current.composed
129
283
  };
130
284
  }
131
- var EventPlugin = /* @__PURE__ */ createPlugin4({
285
+ var EventPlugin = /* @__PURE__ */ createPlugin5({
132
286
  tag: "seroval-plugins/web/Event",
133
287
  test(value) {
134
288
  if (typeof Event === "undefined") {
@@ -169,8 +323,8 @@ var EventPlugin = /* @__PURE__ */ createPlugin4({
169
323
  var event_default = EventPlugin;
170
324
 
171
325
  // web/file.ts
172
- import { createPlugin as createPlugin5 } from "seroval";
173
- var FilePlugin = /* @__PURE__ */ createPlugin5({
326
+ import { createPlugin as createPlugin6 } from "seroval";
327
+ var FilePlugin = /* @__PURE__ */ createPlugin6({
174
328
  tag: "seroval-plugins/web/File",
175
329
  test(value) {
176
330
  if (typeof File === "undefined") {
@@ -204,7 +358,7 @@ var FilePlugin = /* @__PURE__ */ createPlugin5({
204
358
  var file_default = FilePlugin;
205
359
 
206
360
  // web/form-data.ts
207
- import { createPlugin as createPlugin6 } from "seroval";
361
+ import { createPlugin as createPlugin7 } from "seroval";
208
362
  function convertFormData(instance) {
209
363
  const items = [];
210
364
  instance.forEach((value, key) => {
@@ -213,7 +367,7 @@ function convertFormData(instance) {
213
367
  return items;
214
368
  }
215
369
  var FORM_DATA_FACTORY = {};
216
- var FormDataFactoryPlugin = /* @__PURE__ */ createPlugin6({
370
+ var FormDataFactoryPlugin = /* @__PURE__ */ createPlugin7({
217
371
  tag: "seroval-plugins/web/FormDataFactory",
218
372
  test(value) {
219
373
  return value === FORM_DATA_FACTORY;
@@ -239,7 +393,7 @@ var FormDataFactoryPlugin = /* @__PURE__ */ createPlugin6({
239
393
  return FORM_DATA_FACTORY;
240
394
  }
241
395
  });
242
- var FormDataPlugin = /* @__PURE__ */ createPlugin6({
396
+ var FormDataPlugin = /* @__PURE__ */ createPlugin7({
243
397
  tag: "seroval-plugins/web/FormData",
244
398
  extends: [file_default, FormDataFactoryPlugin],
245
399
  test(value) {
@@ -284,7 +438,7 @@ var FormDataPlugin = /* @__PURE__ */ createPlugin6({
284
438
  var form_data_default = FormDataPlugin;
285
439
 
286
440
  // web/headers.ts
287
- import { createPlugin as createPlugin7 } from "seroval";
441
+ import { createPlugin as createPlugin8 } from "seroval";
288
442
  function convertHeaders(instance) {
289
443
  const items = [];
290
444
  instance.forEach((value, key) => {
@@ -292,7 +446,7 @@ function convertHeaders(instance) {
292
446
  });
293
447
  return items;
294
448
  }
295
- var HeadersPlugin = /* @__PURE__ */ createPlugin7({
449
+ var HeadersPlugin = /* @__PURE__ */ createPlugin8({
296
450
  tag: "seroval-plugins/web/Headers",
297
451
  test(value) {
298
452
  if (typeof Headers === "undefined") {
@@ -321,8 +475,8 @@ var HeadersPlugin = /* @__PURE__ */ createPlugin7({
321
475
  var headers_default = HeadersPlugin;
322
476
 
323
477
  // web/image-data.ts
324
- import { createPlugin as createPlugin8 } from "seroval";
325
- var ImageDataPlugin = /* @__PURE__ */ createPlugin8({
478
+ import { createPlugin as createPlugin9 } from "seroval";
479
+ var ImageDataPlugin = /* @__PURE__ */ createPlugin9({
326
480
  tag: "seroval-plugins/web/ImageData",
327
481
  test(value) {
328
482
  if (typeof ImageData === "undefined") {
@@ -377,9 +531,9 @@ var ImageDataPlugin = /* @__PURE__ */ createPlugin8({
377
531
  var image_data_default = ImageDataPlugin;
378
532
 
379
533
  // web/readable-stream.ts
380
- import { createPlugin as createPlugin9, createStream } from "seroval";
534
+ import { createPlugin as createPlugin10, createStream } from "seroval";
381
535
  var READABLE_STREAM_FACTORY = {};
382
- var ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin9({
536
+ var ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin10({
383
537
  tag: "seroval-plugins/web/ReadableStreamFactory",
384
538
  test(value) {
385
539
  return value === READABLE_STREAM_FACTORY;
@@ -428,7 +582,7 @@ function toStream(value) {
428
582
  });
429
583
  return stream;
430
584
  }
431
- var ReadableStreamPlugin = /* @__PURE__ */ createPlugin9({
585
+ var ReadableStreamPlugin = /* @__PURE__ */ createPlugin10({
432
586
  tag: "seroval/plugins/web/ReadableStream",
433
587
  extends: [ReadableStreamFactoryPlugin],
434
588
  test(value) {
@@ -482,7 +636,7 @@ var ReadableStreamPlugin = /* @__PURE__ */ createPlugin9({
482
636
  var readable_stream_default = ReadableStreamPlugin;
483
637
 
484
638
  // web/request.ts
485
- import { createPlugin as createPlugin10 } from "seroval";
639
+ import { createPlugin as createPlugin11 } from "seroval";
486
640
  function createRequestOptions(current, body) {
487
641
  return {
488
642
  body,
@@ -498,7 +652,7 @@ function createRequestOptions(current, body) {
498
652
  referrerPolicy: current.referrerPolicy
499
653
  };
500
654
  }
501
- var RequestPlugin = /* @__PURE__ */ createPlugin10({
655
+ var RequestPlugin = /* @__PURE__ */ createPlugin11({
502
656
  tag: "seroval-plugins/web/Request",
503
657
  extends: [readable_stream_default, headers_default],
504
658
  test(value) {
@@ -539,7 +693,7 @@ var RequestPlugin = /* @__PURE__ */ createPlugin10({
539
693
  var request_default = RequestPlugin;
540
694
 
541
695
  // web/response.ts
542
- import { createPlugin as createPlugin11 } from "seroval";
696
+ import { createPlugin as createPlugin12 } from "seroval";
543
697
  function createResponseOptions(current) {
544
698
  return {
545
699
  headers: current.headers,
@@ -547,7 +701,7 @@ function createResponseOptions(current) {
547
701
  statusText: current.statusText
548
702
  };
549
703
  }
550
- var ResponsePlugin = /* @__PURE__ */ createPlugin11({
704
+ var ResponsePlugin = /* @__PURE__ */ createPlugin12({
551
705
  tag: "seroval-plugins/web/Response",
552
706
  extends: [readable_stream_default, headers_default],
553
707
  test(value) {
@@ -584,66 +738,67 @@ var ResponsePlugin = /* @__PURE__ */ createPlugin11({
584
738
  });
585
739
  var response_default = ResponsePlugin;
586
740
 
587
- // web/url-search-params.ts
588
- import { createPlugin as createPlugin12 } from "seroval";
589
- var URLSearchParamsPlugin = /* @__PURE__ */ createPlugin12({
590
- tag: "seroval-plugins/web/URLSearchParams",
741
+ // web/url.ts
742
+ import { createPlugin as createPlugin13 } from "seroval";
743
+ var URLPlugin = /* @__PURE__ */ createPlugin13({
744
+ tag: "seroval-plugins/web/URL",
591
745
  test(value) {
592
- if (typeof URLSearchParams === "undefined") {
746
+ if (typeof URL === "undefined") {
593
747
  return false;
594
748
  }
595
- return value instanceof URLSearchParams;
749
+ return value instanceof URL;
596
750
  },
597
751
  parse: {
598
752
  sync(value, ctx) {
599
- return ctx.parse(value.toString());
753
+ return ctx.parse(value.href);
600
754
  },
601
755
  async async(value, ctx) {
602
- return await ctx.parse(value.toString());
756
+ return await ctx.parse(value.href);
603
757
  },
604
758
  stream(value, ctx) {
605
- return ctx.parse(value.toString());
759
+ return ctx.parse(value.href);
606
760
  }
607
761
  },
608
762
  serialize(node, ctx) {
609
- return "new URLSearchParams(" + ctx.serialize(node) + ")";
763
+ return "new URL(" + ctx.serialize(node) + ")";
610
764
  },
611
765
  deserialize(node, ctx) {
612
- return new URLSearchParams(ctx.deserialize(node));
766
+ return new URL(ctx.deserialize(node));
613
767
  }
614
768
  });
615
- var url_search_params_default = URLSearchParamsPlugin;
769
+ var url_default = URLPlugin;
616
770
 
617
- // web/url.ts
618
- import { createPlugin as createPlugin13 } from "seroval";
619
- var URLPlugin = /* @__PURE__ */ createPlugin13({
620
- tag: "seroval-plugins/web/URL",
771
+ // web/url-search-params.ts
772
+ import { createPlugin as createPlugin14 } from "seroval";
773
+ var URLSearchParamsPlugin = /* @__PURE__ */ createPlugin14({
774
+ tag: "seroval-plugins/web/URLSearchParams",
621
775
  test(value) {
622
- if (typeof URL === "undefined") {
776
+ if (typeof URLSearchParams === "undefined") {
623
777
  return false;
624
778
  }
625
- return value instanceof URL;
779
+ return value instanceof URLSearchParams;
626
780
  },
627
781
  parse: {
628
782
  sync(value, ctx) {
629
- return ctx.parse(value.href);
783
+ return ctx.parse(value.toString());
630
784
  },
631
785
  async async(value, ctx) {
632
- return await ctx.parse(value.href);
786
+ return await ctx.parse(value.toString());
633
787
  },
634
788
  stream(value, ctx) {
635
- return ctx.parse(value.href);
789
+ return ctx.parse(value.toString());
636
790
  }
637
791
  },
638
792
  serialize(node, ctx) {
639
- return "new URL(" + ctx.serialize(node) + ")";
793
+ return "new URLSearchParams(" + ctx.serialize(node) + ")";
640
794
  },
641
795
  deserialize(node, ctx) {
642
- return new URL(ctx.deserialize(node));
796
+ return new URLSearchParams(ctx.deserialize(node));
643
797
  }
644
798
  });
645
- var url_default = URLPlugin;
799
+ var url_search_params_default = URLSearchParamsPlugin;
646
800
  export {
801
+ abort_signal_default as AbortSignalPlugin,
647
802
  blob_default as BlobPlugin,
648
803
  custom_event_default as CustomEventPlugin,
649
804
  dom_exception_default as DOMExceptionPlugin,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../web/blob.ts", "../../../web/custom-event.ts", "../../../web/dom-exception.ts", "../../../web/event.ts", "../../../web/file.ts", "../../../web/form-data.ts", "../../../web/headers.ts", "../../../web/image-data.ts", "../../../web/readable-stream.ts", "../../../web/request.ts", "../../../web/response.ts", "../../../web/url-search-params.ts", "../../../web/url.ts"],
4
- "sourcesContent": ["import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ninterface BlobNode {\n type: SerovalNode;\n buffer: SerovalNode;\n}\n\nconst BlobPlugin = /* @__PURE__ */ createPlugin<Blob, BlobNode>({\n tag: 'seroval-plugins/web/Blob',\n test(value) {\n if (typeof Blob === 'undefined') {\n return false;\n }\n return value instanceof Blob;\n },\n parse: {\n async async(value, ctx) {\n return {\n type: await ctx.parse(value.type),\n buffer: await ctx.parse(await value.arrayBuffer()),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new Blob([' +\n ctx.serialize(node.buffer) +\n '],{type:' +\n ctx.serialize(node.type) +\n '})'\n );\n },\n deserialize(node, ctx) {\n return new Blob([ctx.deserialize(node.buffer) as ArrayBuffer], {\n type: ctx.deserialize(node.type) as string,\n });\n },\n});\n\nexport default BlobPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nfunction createCustomEventOptions(current: CustomEvent): CustomEventInit {\n return {\n detail: current.detail as unknown,\n bubbles: current.bubbles,\n cancelable: current.cancelable,\n composed: current.composed,\n };\n}\n\ninterface CustomEventNode {\n type: SerovalNode;\n options: SerovalNode;\n}\n\nconst CustomEventPlugin = /* @__PURE__ */ createPlugin<\n CustomEvent,\n CustomEventNode\n>({\n tag: 'seroval-plugins/web/CustomEvent',\n test(value) {\n if (typeof CustomEvent === 'undefined') {\n return false;\n }\n return value instanceof CustomEvent;\n },\n parse: {\n sync(value, ctx) {\n return {\n type: ctx.parse(value.type),\n options: ctx.parse(createCustomEventOptions(value)),\n };\n },\n async async(value, ctx) {\n return {\n type: await ctx.parse(value.type),\n options: await ctx.parse(createCustomEventOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n type: ctx.parse(value.type),\n options: ctx.parse(createCustomEventOptions(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new CustomEvent(' +\n ctx.serialize(node.type) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new CustomEvent(\n ctx.deserialize(node.type) as string,\n ctx.deserialize(node.options) as CustomEventInit,\n );\n },\n});\n\nexport default CustomEventPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ninterface DOMExceptionNode {\n name: SerovalNode;\n message: SerovalNode;\n}\n\nconst DOMExceptionPlugin = /* @__PURE__ */ createPlugin<\n DOMException,\n DOMExceptionNode\n>({\n tag: 'seroval-plugins/web/DOMException',\n test(value) {\n if (typeof DOMException === 'undefined') {\n return false;\n }\n return value instanceof DOMException;\n },\n parse: {\n sync(value, ctx) {\n return {\n name: ctx.parse(value.name),\n message: ctx.parse(value.message),\n };\n },\n async async(value, ctx) {\n return {\n name: await ctx.parse(value.name),\n message: await ctx.parse(value.message),\n };\n },\n stream(value, ctx) {\n return {\n name: ctx.parse(value.name),\n message: ctx.parse(value.message),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new DOMException(' +\n ctx.serialize(node.message) +\n ',' +\n ctx.serialize(node.name) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new DOMException(\n ctx.deserialize(node.message) as string,\n ctx.deserialize(node.name) as string,\n );\n },\n});\n\nexport default DOMExceptionPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nfunction createEventOptions(current: Event): EventInit {\n return {\n bubbles: current.bubbles,\n cancelable: current.cancelable,\n composed: current.composed,\n };\n}\n\ninterface EventNode {\n type: SerovalNode;\n options: SerovalNode;\n}\n\nconst EventPlugin = /* @__PURE__ */ createPlugin<Event, EventNode>({\n tag: 'seroval-plugins/web/Event',\n test(value) {\n if (typeof Event === 'undefined') {\n return false;\n }\n return value instanceof Event;\n },\n parse: {\n sync(value, ctx) {\n return {\n type: ctx.parse(value.type),\n options: ctx.parse(createEventOptions(value)),\n };\n },\n async async(value, ctx) {\n return {\n type: await ctx.parse(value.type),\n options: await ctx.parse(createEventOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n type: ctx.parse(value.type),\n options: ctx.parse(createEventOptions(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new Event(' +\n ctx.serialize(node.type) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new Event(\n ctx.deserialize(node.type) as string,\n ctx.deserialize(node.options) as EventInit,\n );\n },\n});\n\nexport default EventPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ninterface FileNode {\n name: SerovalNode;\n options: SerovalNode;\n buffer: SerovalNode;\n}\n\nconst FilePlugin = /* @__PURE__ */ createPlugin<File, FileNode>({\n tag: 'seroval-plugins/web/File',\n test(value) {\n if (typeof File === 'undefined') {\n return false;\n }\n return value instanceof File;\n },\n parse: {\n async async(value, ctx) {\n return {\n name: await ctx.parse(value.name),\n options: await ctx.parse({\n type: value.type,\n lastModified: value.lastModified,\n }),\n buffer: await ctx.parse(await value.arrayBuffer()),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new File([' +\n ctx.serialize(node.buffer) +\n '],' +\n ctx.serialize(node.name) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new File(\n [ctx.deserialize(node.buffer) as ArrayBuffer],\n ctx.deserialize(node.name) as string,\n ctx.deserialize(node.options) as FilePropertyBag,\n );\n },\n});\n\nexport default FilePlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport FilePlugin from './file';\n\ntype FormDataInit = [key: string, value: FormDataEntryValue][];\n\nfunction convertFormData(instance: FormData): FormDataInit {\n const items: FormDataInit = [];\n // biome-ignore lint/complexity/noForEach: <explanation>\n instance.forEach((value, key) => {\n items.push([key, value]);\n });\n return items;\n}\n\nconst FORM_DATA_FACTORY = {};\n\nconst FormDataFactoryPlugin = /* @__PURE__ */ createPlugin<object, undefined>({\n tag: 'seroval-plugins/web/FormDataFactory',\n test(value) {\n return value === FORM_DATA_FACTORY;\n },\n parse: {\n sync() {\n return undefined;\n },\n async async() {\n return await Promise.resolve(undefined);\n },\n stream() {\n return undefined;\n },\n },\n serialize(_node, ctx) {\n return ctx.createEffectfulFunction(\n ['e', 'f', 'i', 's', 't'],\n 'f=new FormData;for(i=0,s=e.length;i<s;i++)f.append((t=e[i])[0],t[1]);return f',\n );\n },\n deserialize() {\n return FORM_DATA_FACTORY;\n },\n});\n\ninterface FormDataNode {\n factory: SerovalNode;\n entries: SerovalNode;\n}\n\nconst FormDataPlugin = /* @__PURE__ */ createPlugin<FormData, FormDataNode>({\n tag: 'seroval-plugins/web/FormData',\n extends: [FilePlugin, FormDataFactoryPlugin],\n test(value) {\n if (typeof FormData === 'undefined') {\n return false;\n }\n return value instanceof FormData;\n },\n parse: {\n sync(value, ctx) {\n return {\n factory: ctx.parse(FORM_DATA_FACTORY),\n entries: ctx.parse(convertFormData(value)),\n };\n },\n async async(value, ctx) {\n return {\n factory: await ctx.parse(FORM_DATA_FACTORY),\n entries: await ctx.parse(convertFormData(value)),\n };\n },\n stream(value, ctx) {\n return {\n factory: ctx.parse(FORM_DATA_FACTORY),\n entries: ctx.parse(convertFormData(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n '(' +\n ctx.serialize(node.factory) +\n ')(' +\n ctx.serialize(node.entries) +\n ')'\n );\n },\n deserialize(node, ctx) {\n const instance = new FormData();\n const entries = ctx.deserialize(node.entries) as FormDataInit;\n for (let i = 0, len = entries.length; i < len; i++) {\n const entry = entries[i];\n instance.append(entry[0], entry[1]);\n }\n return instance;\n },\n});\n\nexport default FormDataPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nfunction convertHeaders(instance: Headers): HeadersInit {\n const items: HeadersInit = [];\n // biome-ignore lint/complexity/noForEach: <explanation>\n instance.forEach((value, key) => {\n items.push([key, value]);\n });\n return items;\n}\n\nconst HeadersPlugin = /* @__PURE__ */ createPlugin<Headers, SerovalNode>({\n tag: 'seroval-plugins/web/Headers',\n test(value) {\n if (typeof Headers === 'undefined') {\n return false;\n }\n return value instanceof Headers;\n },\n parse: {\n sync(value, ctx) {\n return ctx.parse(convertHeaders(value));\n },\n async async(value, ctx) {\n return await ctx.parse(convertHeaders(value));\n },\n stream(value, ctx) {\n return ctx.parse(convertHeaders(value));\n },\n },\n serialize(node, ctx) {\n return 'new Headers(' + ctx.serialize(node) + ')';\n },\n deserialize(node, ctx) {\n return new Headers(ctx.deserialize(node) as HeadersInit);\n },\n});\n\nexport default HeadersPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ninterface ImageDataNode {\n data: SerovalNode;\n width: SerovalNode;\n height: SerovalNode;\n options: SerovalNode;\n}\n\nconst ImageDataPlugin = /* @__PURE__ */ createPlugin<ImageData, ImageDataNode>({\n tag: 'seroval-plugins/web/ImageData',\n test(value) {\n if (typeof ImageData === 'undefined') {\n return false;\n }\n return value instanceof ImageData;\n },\n parse: {\n sync(value, ctx) {\n return {\n data: ctx.parse(value.data),\n width: ctx.parse(value.width),\n height: ctx.parse(value.height),\n options: ctx.parse({\n colorSpace: value.colorSpace,\n }),\n };\n },\n async async(value, ctx) {\n return {\n data: await ctx.parse(value.data),\n width: await ctx.parse(value.width),\n height: await ctx.parse(value.height),\n options: await ctx.parse({\n colorSpace: value.colorSpace,\n }),\n };\n },\n stream(value, ctx) {\n return {\n data: ctx.parse(value.data),\n width: ctx.parse(value.width),\n height: ctx.parse(value.height),\n options: ctx.parse({\n colorSpace: value.colorSpace,\n }),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new ImageData(' +\n ctx.serialize(node.data) +\n ',' +\n ctx.serialize(node.width) +\n ',' +\n ctx.serialize(node.height) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new ImageData(\n ctx.deserialize(node.data) as Uint8ClampedArray,\n ctx.deserialize(node.width) as number,\n ctx.deserialize(node.height) as number,\n ctx.deserialize(node.options) as ImageDataSettings,\n );\n },\n});\n\nexport default ImageDataPlugin;\n", "import type { SerovalNode, Stream } from 'seroval';\nimport { createPlugin, createStream } from 'seroval';\n\nconst READABLE_STREAM_FACTORY = {};\n\nconst ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin<\n object,\n undefined\n>({\n tag: 'seroval-plugins/web/ReadableStreamFactory',\n test(value) {\n return value === READABLE_STREAM_FACTORY;\n },\n parse: {\n sync() {\n return undefined;\n },\n async async() {\n return await Promise.resolve(undefined);\n },\n stream() {\n return undefined;\n },\n },\n serialize(_node, ctx) {\n return ctx.createFunction(\n ['d'],\n 'new ReadableStream({start:' +\n ctx.createEffectfulFunction(\n ['c'],\n 'd.on({next:' +\n ctx.createEffectfulFunction(['v'], 'c.enqueue(v)') +\n ',throw:' +\n ctx.createEffectfulFunction(['v'], 'c.error(v)') +\n ',return:' +\n ctx.createEffectfulFunction([], 'c.close()') +\n '})',\n ) +\n '})',\n );\n },\n deserialize() {\n return READABLE_STREAM_FACTORY;\n },\n});\n\nfunction toStream<T>(value: ReadableStream<T>): Stream<T | undefined> {\n const stream = createStream<T | undefined>();\n\n const reader = value.getReader();\n\n async function push(): Promise<void> {\n try {\n const result = await reader.read();\n if (result.done) {\n stream.return(result.value);\n } else {\n stream.next(result.value);\n await push();\n }\n } catch (error) {\n stream.throw(error);\n }\n }\n\n push().catch(() => {\n //\n });\n\n return stream;\n}\n\ninterface ReadableStreamNode {\n factory: SerovalNode;\n stream: SerovalNode;\n}\n\nconst ReadableStreamPlugin = /* @__PURE__ */ createPlugin<\n ReadableStream,\n ReadableStreamNode\n>({\n tag: 'seroval/plugins/web/ReadableStream',\n extends: [ReadableStreamFactoryPlugin],\n test(value) {\n if (typeof ReadableStream === 'undefined') {\n return false;\n }\n return value instanceof ReadableStream;\n },\n parse: {\n sync(_value, ctx) {\n return {\n factory: ctx.parse(READABLE_STREAM_FACTORY),\n stream: ctx.parse(createStream()),\n };\n },\n async async(value, ctx) {\n return {\n factory: await ctx.parse(READABLE_STREAM_FACTORY),\n stream: await ctx.parse(toStream(value)),\n };\n },\n stream(value, ctx) {\n return {\n factory: ctx.parse(READABLE_STREAM_FACTORY),\n stream: ctx.parse(toStream(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n '(' +\n ctx.serialize(node.factory) +\n ')(' +\n ctx.serialize(node.stream) +\n ')'\n );\n },\n deserialize(node, ctx) {\n const stream = ctx.deserialize(node.stream) as Stream<any>;\n return new ReadableStream({\n start(controller): void {\n stream.on({\n next(value) {\n controller.enqueue(value);\n },\n throw(value) {\n controller.error(value);\n },\n return() {\n controller.close();\n },\n });\n },\n });\n },\n});\n\nexport default ReadableStreamPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport ReadableStreamPlugin from './readable-stream';\nimport HeadersPlugin from './headers';\n\nfunction createRequestOptions(\n current: Request,\n body: ArrayBuffer | ReadableStream | null,\n): RequestInit {\n return {\n body,\n cache: current.cache,\n credentials: current.credentials,\n headers: current.headers,\n integrity: current.integrity,\n keepalive: current.keepalive,\n method: current.method,\n mode: current.mode,\n redirect: current.redirect,\n referrer: current.referrer,\n referrerPolicy: current.referrerPolicy,\n };\n}\n\ninterface RequestNode {\n url: SerovalNode;\n options: SerovalNode;\n}\n\nconst RequestPlugin = /* @__PURE__ */ createPlugin<Request, RequestNode>({\n tag: 'seroval-plugins/web/Request',\n extends: [ReadableStreamPlugin, HeadersPlugin],\n test(value) {\n if (typeof Request === 'undefined') {\n return false;\n }\n return value instanceof Request;\n },\n parse: {\n async async(value, ctx) {\n return {\n url: await ctx.parse(value.url),\n options: await ctx.parse(\n createRequestOptions(\n value,\n value.body ? await value.clone().arrayBuffer() : null,\n ),\n ),\n };\n },\n stream(value, ctx) {\n return {\n url: ctx.parse(value.url),\n options: ctx.parse(createRequestOptions(value, value.clone().body)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new Request(' +\n ctx.serialize(node.url) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new Request(\n ctx.deserialize(node.url) as string,\n ctx.deserialize(node.options) as RequestInit,\n );\n },\n});\n\nexport default RequestPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport ReadableStreamPlugin from './readable-stream';\nimport HeadersPlugin from './headers';\n\nfunction createResponseOptions(current: Response): ResponseInit {\n return {\n headers: current.headers,\n status: current.status,\n statusText: current.statusText,\n };\n}\n\ninterface ResponseNode {\n body: SerovalNode;\n options: SerovalNode;\n}\n\nconst ResponsePlugin = /* @__PURE__ */ createPlugin<Response, ResponseNode>({\n tag: 'seroval-plugins/web/Response',\n extends: [ReadableStreamPlugin, HeadersPlugin],\n test(value) {\n if (typeof Response === 'undefined') {\n return false;\n }\n return value instanceof Response;\n },\n parse: {\n async async(value, ctx) {\n return {\n body: await ctx.parse(\n value.body ? await value.clone().arrayBuffer() : null,\n ),\n options: await ctx.parse(createResponseOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n body: ctx.parse(value.clone().body),\n options: ctx.parse(createResponseOptions(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new Response(' +\n ctx.serialize(node.body) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new Response(\n ctx.deserialize(node.body) as BodyInit,\n ctx.deserialize(node.options) as ResponseInit,\n );\n },\n});\n\nexport default ResponsePlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nconst URLSearchParamsPlugin = /* @__PURE__ */ createPlugin<\n URLSearchParams,\n SerovalNode\n>({\n tag: 'seroval-plugins/web/URLSearchParams',\n test(value) {\n if (typeof URLSearchParams === 'undefined') {\n return false;\n }\n return value instanceof URLSearchParams;\n },\n parse: {\n sync(value, ctx) {\n return ctx.parse(value.toString());\n },\n async async(value, ctx) {\n return await ctx.parse(value.toString());\n },\n stream(value, ctx) {\n return ctx.parse(value.toString());\n },\n },\n serialize(node, ctx) {\n return 'new URLSearchParams(' + ctx.serialize(node) + ')';\n },\n deserialize(node, ctx) {\n return new URLSearchParams(ctx.deserialize(node) as string);\n },\n});\n\nexport default URLSearchParamsPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nconst URLPlugin = /* @__PURE__ */ createPlugin<URL, SerovalNode>({\n tag: 'seroval-plugins/web/URL',\n test(value) {\n if (typeof URL === 'undefined') {\n return false;\n }\n return value instanceof URL;\n },\n parse: {\n sync(value, ctx) {\n return ctx.parse(value.href);\n },\n async async(value, ctx) {\n return await ctx.parse(value.href);\n },\n stream(value, ctx) {\n return ctx.parse(value.href);\n },\n },\n serialize(node, ctx) {\n return 'new URL(' + ctx.serialize(node) + ')';\n },\n deserialize(node, ctx) {\n return new URL(ctx.deserialize(node) as string);\n },\n});\n\nexport default URLPlugin;\n"],
5
- "mappings": "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",
6
- "names": ["createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin"]
3
+ "sources": ["../../../web/abort-signal.ts", "../../../web/blob.ts", "../../../web/custom-event.ts", "../../../web/dom-exception.ts", "../../../web/event.ts", "../../../web/file.ts", "../../../web/form-data.ts", "../../../web/headers.ts", "../../../web/image-data.ts", "../../../web/readable-stream.ts", "../../../web/request.ts", "../../../web/response.ts", "../../../web/url.ts", "../../../web/url-search-params.ts"],
4
+ "sourcesContent": ["import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nfunction resolveAbortSignalResult(\n this: AbortSignal,\n resolve: (value: any) => void,\n): void {\n resolve(this.reason);\n}\n\nfunction resolveAbortSignal(\n this: AbortSignal,\n resolve: (value: any) => void,\n): void {\n this.addEventListener('abort', resolveAbortSignalResult.bind(this, resolve), {\n once: true,\n });\n}\n\nexport function abortSignalToPromise(signal: AbortSignal): Promise<any> {\n return new Promise(resolveAbortSignal.bind(signal));\n}\n\nclass AbortSignalController {\n controller = new AbortController();\n}\n\nconst AbortSignalControllerPlugin = createPlugin<\n AbortSignalController,\n undefined\n>({\n tag: 'seroval-plugins/web/AbortSignalController',\n test(value) {\n // We didn't actually use the AbortController class\n // directly because of some assumptions\n return value instanceof AbortSignalController;\n },\n parse: {\n stream() {\n return undefined;\n },\n },\n serialize(_node) {\n return 'new AbortController';\n },\n deserialize(_node) {\n return new AbortSignalController();\n },\n});\n\ninterface AbortSignalAbortNode {\n controller: SerovalNode;\n reason: SerovalNode;\n}\n\nclass AbortSignalAbort {\n constructor(\n public controller: AbortSignalController,\n public reason: unknown,\n ) {}\n}\n\nconst AbortSignalAbortPlugin = createPlugin<\n AbortSignalAbort,\n AbortSignalAbortNode\n>({\n extends: [AbortSignalControllerPlugin],\n tag: 'seroval-plugins/web/AbortSignalAbort',\n test(value) {\n return value instanceof AbortSignalAbort;\n },\n parse: {\n stream(value, ctx) {\n return {\n controller: ctx.parse(value.controller),\n reason: ctx.parse(value.reason),\n };\n },\n },\n serialize(node, ctx) {\n return (\n ctx.serialize(node.controller) +\n '.abort(' +\n ctx.serialize(node.reason) +\n ')'\n );\n },\n deserialize(node, ctx) {\n const controller = ctx.deserialize(\n node.controller,\n ) as AbortSignalController;\n const reason = ctx.deserialize(node.reason);\n controller.controller.abort(reason);\n return new AbortSignalAbort(controller, reason);\n },\n});\n\nconst enum AbortSignalState {\n Pending = 0,\n Aborted = 1,\n Streaming = 2,\n}\n\ntype AbortSignalNode =\n | { type: AbortSignalState.Pending }\n | { type: AbortSignalState.Aborted; reason: SerovalNode }\n | { type: AbortSignalState.Streaming; controller: SerovalNode };\n\nconst AbortSignalPlugin = createPlugin<AbortSignal, AbortSignalNode>({\n tag: 'seroval-plugins/web/AbortSignal',\n extends: [AbortSignalAbortPlugin],\n test(value) {\n if (typeof AbortSignal === 'undefined') {\n return false;\n }\n return value instanceof AbortSignal;\n },\n parse: {\n sync(value, ctx) {\n if (value.aborted) {\n return {\n type: AbortSignalState.Aborted,\n reason: ctx.parse(value.reason),\n };\n }\n return {\n type: AbortSignalState.Pending,\n };\n },\n async async(value, ctx) {\n if (value.aborted) {\n return {\n type: AbortSignalState.Aborted,\n reason: await ctx.parse(value.reason),\n };\n }\n const result = await abortSignalToPromise(value);\n return {\n type: AbortSignalState.Aborted,\n reason: await ctx.parse(result),\n };\n },\n stream(value, ctx) {\n if (value.aborted) {\n return {\n type: AbortSignalState.Aborted,\n reason: ctx.parse(value.reason),\n };\n }\n const controller = new AbortSignalController();\n\n ctx.pushPendingState();\n value.addEventListener(\n 'abort',\n () => {\n const result = ctx.parseWithError(\n new AbortSignalAbort(controller, value.reason),\n );\n if (result) {\n ctx.onParse(result);\n }\n ctx.popPendingState();\n },\n { once: true },\n );\n\n return {\n type: AbortSignalState.Streaming,\n controller: ctx.parse(controller),\n };\n },\n },\n serialize(node, ctx) {\n if (node.type === AbortSignalState.Pending) {\n return '(new AbortController).signal';\n }\n if (node.type === AbortSignalState.Aborted) {\n return 'AbortSignal.abort(' + ctx.serialize(node.reason) + ')';\n }\n return '(' + ctx.serialize(node.controller) + ').signal';\n },\n deserialize(node, ctx) {\n if (node.type === AbortSignalState.Pending) {\n const controller = new AbortController();\n return controller.signal;\n }\n if (node.type === AbortSignalState.Aborted) {\n return AbortSignal.abort(ctx.deserialize(node.reason));\n }\n const controller = ctx.deserialize(\n node.controller,\n ) as AbortSignalController;\n return controller.controller.signal;\n },\n});\n\nexport default AbortSignalPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ninterface BlobNode {\n type: SerovalNode;\n buffer: SerovalNode;\n}\n\nconst BlobPlugin = /* @__PURE__ */ createPlugin<Blob, BlobNode>({\n tag: 'seroval-plugins/web/Blob',\n test(value) {\n if (typeof Blob === 'undefined') {\n return false;\n }\n return value instanceof Blob;\n },\n parse: {\n async async(value, ctx) {\n return {\n type: await ctx.parse(value.type),\n buffer: await ctx.parse(await value.arrayBuffer()),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new Blob([' +\n ctx.serialize(node.buffer) +\n '],{type:' +\n ctx.serialize(node.type) +\n '})'\n );\n },\n deserialize(node, ctx) {\n return new Blob([ctx.deserialize(node.buffer) as ArrayBuffer], {\n type: ctx.deserialize(node.type) as string,\n });\n },\n});\n\nexport default BlobPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nfunction createCustomEventOptions(current: CustomEvent): CustomEventInit {\n return {\n detail: current.detail as unknown,\n bubbles: current.bubbles,\n cancelable: current.cancelable,\n composed: current.composed,\n };\n}\n\ninterface CustomEventNode {\n type: SerovalNode;\n options: SerovalNode;\n}\n\nconst CustomEventPlugin = /* @__PURE__ */ createPlugin<\n CustomEvent,\n CustomEventNode\n>({\n tag: 'seroval-plugins/web/CustomEvent',\n test(value) {\n if (typeof CustomEvent === 'undefined') {\n return false;\n }\n return value instanceof CustomEvent;\n },\n parse: {\n sync(value, ctx) {\n return {\n type: ctx.parse(value.type),\n options: ctx.parse(createCustomEventOptions(value)),\n };\n },\n async async(value, ctx) {\n return {\n type: await ctx.parse(value.type),\n options: await ctx.parse(createCustomEventOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n type: ctx.parse(value.type),\n options: ctx.parse(createCustomEventOptions(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new CustomEvent(' +\n ctx.serialize(node.type) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new CustomEvent(\n ctx.deserialize(node.type) as string,\n ctx.deserialize(node.options) as CustomEventInit,\n );\n },\n});\n\nexport default CustomEventPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ninterface DOMExceptionNode {\n name: SerovalNode;\n message: SerovalNode;\n}\n\nconst DOMExceptionPlugin = /* @__PURE__ */ createPlugin<\n DOMException,\n DOMExceptionNode\n>({\n tag: 'seroval-plugins/web/DOMException',\n test(value) {\n if (typeof DOMException === 'undefined') {\n return false;\n }\n return value instanceof DOMException;\n },\n parse: {\n sync(value, ctx) {\n return {\n name: ctx.parse(value.name),\n message: ctx.parse(value.message),\n };\n },\n async async(value, ctx) {\n return {\n name: await ctx.parse(value.name),\n message: await ctx.parse(value.message),\n };\n },\n stream(value, ctx) {\n return {\n name: ctx.parse(value.name),\n message: ctx.parse(value.message),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new DOMException(' +\n ctx.serialize(node.message) +\n ',' +\n ctx.serialize(node.name) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new DOMException(\n ctx.deserialize(node.message) as string,\n ctx.deserialize(node.name) as string,\n );\n },\n});\n\nexport default DOMExceptionPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nfunction createEventOptions(current: Event): EventInit {\n return {\n bubbles: current.bubbles,\n cancelable: current.cancelable,\n composed: current.composed,\n };\n}\n\ninterface EventNode {\n type: SerovalNode;\n options: SerovalNode;\n}\n\nconst EventPlugin = /* @__PURE__ */ createPlugin<Event, EventNode>({\n tag: 'seroval-plugins/web/Event',\n test(value) {\n if (typeof Event === 'undefined') {\n return false;\n }\n return value instanceof Event;\n },\n parse: {\n sync(value, ctx) {\n return {\n type: ctx.parse(value.type),\n options: ctx.parse(createEventOptions(value)),\n };\n },\n async async(value, ctx) {\n return {\n type: await ctx.parse(value.type),\n options: await ctx.parse(createEventOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n type: ctx.parse(value.type),\n options: ctx.parse(createEventOptions(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new Event(' +\n ctx.serialize(node.type) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new Event(\n ctx.deserialize(node.type) as string,\n ctx.deserialize(node.options) as EventInit,\n );\n },\n});\n\nexport default EventPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ninterface FileNode {\n name: SerovalNode;\n options: SerovalNode;\n buffer: SerovalNode;\n}\n\nconst FilePlugin = /* @__PURE__ */ createPlugin<File, FileNode>({\n tag: 'seroval-plugins/web/File',\n test(value) {\n if (typeof File === 'undefined') {\n return false;\n }\n return value instanceof File;\n },\n parse: {\n async async(value, ctx) {\n return {\n name: await ctx.parse(value.name),\n options: await ctx.parse({\n type: value.type,\n lastModified: value.lastModified,\n }),\n buffer: await ctx.parse(await value.arrayBuffer()),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new File([' +\n ctx.serialize(node.buffer) +\n '],' +\n ctx.serialize(node.name) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new File(\n [ctx.deserialize(node.buffer) as ArrayBuffer],\n ctx.deserialize(node.name) as string,\n ctx.deserialize(node.options) as FilePropertyBag,\n );\n },\n});\n\nexport default FilePlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport FilePlugin from './file';\n\ntype FormDataInit = [key: string, value: FormDataEntryValue][];\n\nfunction convertFormData(instance: FormData): FormDataInit {\n const items: FormDataInit = [];\n // biome-ignore lint/complexity/noForEach: <explanation>\n instance.forEach((value, key) => {\n items.push([key, value]);\n });\n return items;\n}\n\nconst FORM_DATA_FACTORY = {};\n\nconst FormDataFactoryPlugin = /* @__PURE__ */ createPlugin<object, undefined>({\n tag: 'seroval-plugins/web/FormDataFactory',\n test(value) {\n return value === FORM_DATA_FACTORY;\n },\n parse: {\n sync() {\n return undefined;\n },\n async async() {\n return await Promise.resolve(undefined);\n },\n stream() {\n return undefined;\n },\n },\n serialize(_node, ctx) {\n return ctx.createEffectfulFunction(\n ['e', 'f', 'i', 's', 't'],\n 'f=new FormData;for(i=0,s=e.length;i<s;i++)f.append((t=e[i])[0],t[1]);return f',\n );\n },\n deserialize() {\n return FORM_DATA_FACTORY;\n },\n});\n\ninterface FormDataNode {\n factory: SerovalNode;\n entries: SerovalNode;\n}\n\nconst FormDataPlugin = /* @__PURE__ */ createPlugin<FormData, FormDataNode>({\n tag: 'seroval-plugins/web/FormData',\n extends: [FilePlugin, FormDataFactoryPlugin],\n test(value) {\n if (typeof FormData === 'undefined') {\n return false;\n }\n return value instanceof FormData;\n },\n parse: {\n sync(value, ctx) {\n return {\n factory: ctx.parse(FORM_DATA_FACTORY),\n entries: ctx.parse(convertFormData(value)),\n };\n },\n async async(value, ctx) {\n return {\n factory: await ctx.parse(FORM_DATA_FACTORY),\n entries: await ctx.parse(convertFormData(value)),\n };\n },\n stream(value, ctx) {\n return {\n factory: ctx.parse(FORM_DATA_FACTORY),\n entries: ctx.parse(convertFormData(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n '(' +\n ctx.serialize(node.factory) +\n ')(' +\n ctx.serialize(node.entries) +\n ')'\n );\n },\n deserialize(node, ctx) {\n const instance = new FormData();\n const entries = ctx.deserialize(node.entries) as FormDataInit;\n for (let i = 0, len = entries.length; i < len; i++) {\n const entry = entries[i];\n instance.append(entry[0], entry[1]);\n }\n return instance;\n },\n});\n\nexport default FormDataPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nfunction convertHeaders(instance: Headers): HeadersInit {\n const items: HeadersInit = [];\n // biome-ignore lint/complexity/noForEach: <explanation>\n instance.forEach((value, key) => {\n items.push([key, value]);\n });\n return items;\n}\n\nconst HeadersPlugin = /* @__PURE__ */ createPlugin<Headers, SerovalNode>({\n tag: 'seroval-plugins/web/Headers',\n test(value) {\n if (typeof Headers === 'undefined') {\n return false;\n }\n return value instanceof Headers;\n },\n parse: {\n sync(value, ctx) {\n return ctx.parse(convertHeaders(value));\n },\n async async(value, ctx) {\n return await ctx.parse(convertHeaders(value));\n },\n stream(value, ctx) {\n return ctx.parse(convertHeaders(value));\n },\n },\n serialize(node, ctx) {\n return 'new Headers(' + ctx.serialize(node) + ')';\n },\n deserialize(node, ctx) {\n return new Headers(ctx.deserialize(node) as HeadersInit);\n },\n});\n\nexport default HeadersPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ninterface ImageDataNode {\n data: SerovalNode;\n width: SerovalNode;\n height: SerovalNode;\n options: SerovalNode;\n}\n\nconst ImageDataPlugin = /* @__PURE__ */ createPlugin<ImageData, ImageDataNode>({\n tag: 'seroval-plugins/web/ImageData',\n test(value) {\n if (typeof ImageData === 'undefined') {\n return false;\n }\n return value instanceof ImageData;\n },\n parse: {\n sync(value, ctx) {\n return {\n data: ctx.parse(value.data),\n width: ctx.parse(value.width),\n height: ctx.parse(value.height),\n options: ctx.parse({\n colorSpace: value.colorSpace,\n }),\n };\n },\n async async(value, ctx) {\n return {\n data: await ctx.parse(value.data),\n width: await ctx.parse(value.width),\n height: await ctx.parse(value.height),\n options: await ctx.parse({\n colorSpace: value.colorSpace,\n }),\n };\n },\n stream(value, ctx) {\n return {\n data: ctx.parse(value.data),\n width: ctx.parse(value.width),\n height: ctx.parse(value.height),\n options: ctx.parse({\n colorSpace: value.colorSpace,\n }),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new ImageData(' +\n ctx.serialize(node.data) +\n ',' +\n ctx.serialize(node.width) +\n ',' +\n ctx.serialize(node.height) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new ImageData(\n ctx.deserialize(node.data) as Uint8ClampedArray,\n ctx.deserialize(node.width) as number,\n ctx.deserialize(node.height) as number,\n ctx.deserialize(node.options) as ImageDataSettings,\n );\n },\n});\n\nexport default ImageDataPlugin;\n", "import type { SerovalNode, Stream } from 'seroval';\nimport { createPlugin, createStream } from 'seroval';\n\nconst READABLE_STREAM_FACTORY = {};\n\nconst ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin<\n object,\n undefined\n>({\n tag: 'seroval-plugins/web/ReadableStreamFactory',\n test(value) {\n return value === READABLE_STREAM_FACTORY;\n },\n parse: {\n sync() {\n return undefined;\n },\n async async() {\n return await Promise.resolve(undefined);\n },\n stream() {\n return undefined;\n },\n },\n serialize(_node, ctx) {\n return ctx.createFunction(\n ['d'],\n 'new ReadableStream({start:' +\n ctx.createEffectfulFunction(\n ['c'],\n 'd.on({next:' +\n ctx.createEffectfulFunction(['v'], 'c.enqueue(v)') +\n ',throw:' +\n ctx.createEffectfulFunction(['v'], 'c.error(v)') +\n ',return:' +\n ctx.createEffectfulFunction([], 'c.close()') +\n '})',\n ) +\n '})',\n );\n },\n deserialize() {\n return READABLE_STREAM_FACTORY;\n },\n});\n\nfunction toStream<T>(value: ReadableStream<T>): Stream<T | undefined> {\n const stream = createStream<T | undefined>();\n\n const reader = value.getReader();\n\n async function push(): Promise<void> {\n try {\n const result = await reader.read();\n if (result.done) {\n stream.return(result.value);\n } else {\n stream.next(result.value);\n await push();\n }\n } catch (error) {\n stream.throw(error);\n }\n }\n\n push().catch(() => {\n //\n });\n\n return stream;\n}\n\ninterface ReadableStreamNode {\n factory: SerovalNode;\n stream: SerovalNode;\n}\n\nconst ReadableStreamPlugin = /* @__PURE__ */ createPlugin<\n ReadableStream,\n ReadableStreamNode\n>({\n tag: 'seroval/plugins/web/ReadableStream',\n extends: [ReadableStreamFactoryPlugin],\n test(value) {\n if (typeof ReadableStream === 'undefined') {\n return false;\n }\n return value instanceof ReadableStream;\n },\n parse: {\n sync(_value, ctx) {\n return {\n factory: ctx.parse(READABLE_STREAM_FACTORY),\n stream: ctx.parse(createStream()),\n };\n },\n async async(value, ctx) {\n return {\n factory: await ctx.parse(READABLE_STREAM_FACTORY),\n stream: await ctx.parse(toStream(value)),\n };\n },\n stream(value, ctx) {\n return {\n factory: ctx.parse(READABLE_STREAM_FACTORY),\n stream: ctx.parse(toStream(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n '(' +\n ctx.serialize(node.factory) +\n ')(' +\n ctx.serialize(node.stream) +\n ')'\n );\n },\n deserialize(node, ctx) {\n const stream = ctx.deserialize(node.stream) as Stream<any>;\n return new ReadableStream({\n start(controller): void {\n stream.on({\n next(value) {\n controller.enqueue(value);\n },\n throw(value) {\n controller.error(value);\n },\n return() {\n controller.close();\n },\n });\n },\n });\n },\n});\n\nexport default ReadableStreamPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport ReadableStreamPlugin from './readable-stream';\nimport HeadersPlugin from './headers';\n\nfunction createRequestOptions(\n current: Request,\n body: ArrayBuffer | ReadableStream | null,\n): RequestInit {\n return {\n body,\n cache: current.cache,\n credentials: current.credentials,\n headers: current.headers,\n integrity: current.integrity,\n keepalive: current.keepalive,\n method: current.method,\n mode: current.mode,\n redirect: current.redirect,\n referrer: current.referrer,\n referrerPolicy: current.referrerPolicy,\n };\n}\n\ninterface RequestNode {\n url: SerovalNode;\n options: SerovalNode;\n}\n\nconst RequestPlugin = /* @__PURE__ */ createPlugin<Request, RequestNode>({\n tag: 'seroval-plugins/web/Request',\n extends: [ReadableStreamPlugin, HeadersPlugin],\n test(value) {\n if (typeof Request === 'undefined') {\n return false;\n }\n return value instanceof Request;\n },\n parse: {\n async async(value, ctx) {\n return {\n url: await ctx.parse(value.url),\n options: await ctx.parse(\n createRequestOptions(\n value,\n value.body ? await value.clone().arrayBuffer() : null,\n ),\n ),\n };\n },\n stream(value, ctx) {\n return {\n url: ctx.parse(value.url),\n options: ctx.parse(createRequestOptions(value, value.clone().body)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new Request(' +\n ctx.serialize(node.url) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new Request(\n ctx.deserialize(node.url) as string,\n ctx.deserialize(node.options) as RequestInit,\n );\n },\n});\n\nexport default RequestPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport ReadableStreamPlugin from './readable-stream';\nimport HeadersPlugin from './headers';\n\nfunction createResponseOptions(current: Response): ResponseInit {\n return {\n headers: current.headers,\n status: current.status,\n statusText: current.statusText,\n };\n}\n\ninterface ResponseNode {\n body: SerovalNode;\n options: SerovalNode;\n}\n\nconst ResponsePlugin = /* @__PURE__ */ createPlugin<Response, ResponseNode>({\n tag: 'seroval-plugins/web/Response',\n extends: [ReadableStreamPlugin, HeadersPlugin],\n test(value) {\n if (typeof Response === 'undefined') {\n return false;\n }\n return value instanceof Response;\n },\n parse: {\n async async(value, ctx) {\n return {\n body: await ctx.parse(\n value.body ? await value.clone().arrayBuffer() : null,\n ),\n options: await ctx.parse(createResponseOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n body: ctx.parse(value.clone().body),\n options: ctx.parse(createResponseOptions(value)),\n };\n },\n },\n serialize(node, ctx) {\n return (\n 'new Response(' +\n ctx.serialize(node.body) +\n ',' +\n ctx.serialize(node.options) +\n ')'\n );\n },\n deserialize(node, ctx) {\n return new Response(\n ctx.deserialize(node.body) as BodyInit,\n ctx.deserialize(node.options) as ResponseInit,\n );\n },\n});\n\nexport default ResponsePlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nconst URLPlugin = /* @__PURE__ */ createPlugin<URL, SerovalNode>({\n tag: 'seroval-plugins/web/URL',\n test(value) {\n if (typeof URL === 'undefined') {\n return false;\n }\n return value instanceof URL;\n },\n parse: {\n sync(value, ctx) {\n return ctx.parse(value.href);\n },\n async async(value, ctx) {\n return await ctx.parse(value.href);\n },\n stream(value, ctx) {\n return ctx.parse(value.href);\n },\n },\n serialize(node, ctx) {\n return 'new URL(' + ctx.serialize(node) + ')';\n },\n deserialize(node, ctx) {\n return new URL(ctx.deserialize(node) as string);\n },\n});\n\nexport default URLPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nconst URLSearchParamsPlugin = /* @__PURE__ */ createPlugin<\n URLSearchParams,\n SerovalNode\n>({\n tag: 'seroval-plugins/web/URLSearchParams',\n test(value) {\n if (typeof URLSearchParams === 'undefined') {\n return false;\n }\n return value instanceof URLSearchParams;\n },\n parse: {\n sync(value, ctx) {\n return ctx.parse(value.toString());\n },\n async async(value, ctx) {\n return await ctx.parse(value.toString());\n },\n stream(value, ctx) {\n return ctx.parse(value.toString());\n },\n },\n serialize(node, ctx) {\n return 'new URLSearchParams(' + ctx.serialize(node) + ')';\n },\n deserialize(node, ctx) {\n return new URLSearchParams(ctx.deserialize(node) as string);\n },\n});\n\nexport default URLSearchParamsPlugin;\n"],
5
+ "mappings": ";AACA,SAAS,oBAAoB;AAE7B,SAAS,yBAEP,SACM;AACN,UAAQ,KAAK,MAAM;AACrB;AAEA,SAAS,mBAEP,SACM;AACN,OAAK,iBAAiB,SAAS,yBAAyB,KAAK,MAAM,OAAO,GAAG;AAAA,IAC3E,MAAM;AAAA,EACR,CAAC;AACH;AAEO,SAAS,qBAAqB,QAAmC;AACtE,SAAO,IAAI,QAAQ,mBAAmB,KAAK,MAAM,CAAC;AACpD;AAEA,IAAM,wBAAN,MAA4B;AAAA,EAA5B;AACE,sBAAa,IAAI,gBAAgB;AAAA;AACnC;AAEA,IAAM,8BAA8B,aAGlC;AAAA,EACA,KAAK;AAAA,EACL,KAAK,OAAO;AAGV,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AACP,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,UAAU,OAAO;AACf,WAAO;AAAA,EACT;AAAA,EACA,YAAY,OAAO;AACjB,WAAO,IAAI,sBAAsB;AAAA,EACnC;AACF,CAAC;AAOD,IAAM,mBAAN,MAAuB;AAAA,EACrB,YACS,YACA,QACP;AAFO;AACA;AAAA,EACN;AACL;AAEA,IAAM,yBAAyB,aAG7B;AAAA,EACA,SAAS,CAAC,2BAA2B;AAAA,EACrC,KAAK;AAAA,EACL,KAAK,OAAO;AACV,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,YAAY,IAAI,MAAM,MAAM,UAAU;AAAA,QACtC,QAAQ,IAAI,MAAM,MAAM,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,IAAI,UAAU,KAAK,UAAU,IAC7B,YACA,IAAI,UAAU,KAAK,MAAM,IACzB;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,UAAM,aAAa,IAAI;AAAA,MACrB,KAAK;AAAA,IACP;AACA,UAAM,SAAS,IAAI,YAAY,KAAK,MAAM;AAC1C,eAAW,WAAW,MAAM,MAAM;AAClC,WAAO,IAAI,iBAAiB,YAAY,MAAM;AAAA,EAChD;AACF,CAAC;AAaD,IAAM,oBAAoB,aAA2C;AAAA,EACnE,KAAK;AAAA,EACL,SAAS,CAAC,sBAAsB;AAAA,EAChC,KAAK,OAAO;AACV,QAAI,OAAO,gBAAgB,aAAa;AACtC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,UAAI,MAAM,SAAS;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,QAAQ,IAAI,MAAM,MAAM,MAAM;AAAA,QAChC;AAAA,MACF;AACA,aAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,UAAI,MAAM,SAAS;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,QAAQ,MAAM,IAAI,MAAM,MAAM,MAAM;AAAA,QACtC;AAAA,MACF;AACA,YAAM,SAAS,MAAM,qBAAqB,KAAK;AAC/C,aAAO;AAAA,QACL,MAAM;AAAA,QACN,QAAQ,MAAM,IAAI,MAAM,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,UAAI,MAAM,SAAS;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,QAAQ,IAAI,MAAM,MAAM,MAAM;AAAA,QAChC;AAAA,MACF;AACA,YAAM,aAAa,IAAI,sBAAsB;AAE7C,UAAI,iBAAiB;AACrB,YAAM;AAAA,QACJ;AAAA,QACA,MAAM;AACJ,gBAAM,SAAS,IAAI;AAAA,YACjB,IAAI,iBAAiB,YAAY,MAAM,MAAM;AAAA,UAC/C;AACA,cAAI,QAAQ;AACV,gBAAI,QAAQ,MAAM;AAAA,UACpB;AACA,cAAI,gBAAgB;AAAA,QACtB;AAAA,QACA,EAAE,MAAM,KAAK;AAAA,MACf;AAEA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,YAAY,IAAI,MAAM,UAAU;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,QAAI,KAAK,SAAS,iBAA0B;AAC1C,aAAO;AAAA,IACT;AACA,QAAI,KAAK,SAAS,iBAA0B;AAC1C,aAAO,uBAAuB,IAAI,UAAU,KAAK,MAAM,IAAI;AAAA,IAC7D;AACA,WAAO,MAAM,IAAI,UAAU,KAAK,UAAU,IAAI;AAAA,EAChD;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,QAAI,KAAK,SAAS,iBAA0B;AAC1C,YAAMA,cAAa,IAAI,gBAAgB;AACvC,aAAOA,YAAW;AAAA,IACpB;AACA,QAAI,KAAK,SAAS,iBAA0B;AAC1C,aAAO,YAAY,MAAM,IAAI,YAAY,KAAK,MAAM,CAAC;AAAA,IACvD;AACA,UAAM,aAAa,IAAI;AAAA,MACrB,KAAK;AAAA,IACP;AACA,WAAO,WAAW,WAAW;AAAA,EAC/B;AACF,CAAC;AAED,IAAO,uBAAQ;;;ACnMf,SAAS,gBAAAC,qBAAoB;AAO7B,IAAM,aAA6B,gBAAAA,cAA6B;AAAA,EAC9D,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,SAAS,aAAa;AAC/B,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAChC,QAAQ,MAAM,IAAI,MAAM,MAAM,MAAM,YAAY,CAAC;AAAA,MACnD;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,eACA,IAAI,UAAU,KAAK,MAAM,IACzB,aACA,IAAI,UAAU,KAAK,IAAI,IACvB;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI,KAAK,CAAC,IAAI,YAAY,KAAK,MAAM,CAAgB,GAAG;AAAA,MAC7D,MAAM,IAAI,YAAY,KAAK,IAAI;AAAA,IACjC,CAAC;AAAA,EACH;AACF,CAAC;AAED,IAAO,eAAQ;;;ACvCf,SAAS,gBAAAC,qBAAoB;AAE7B,SAAS,yBAAyB,SAAuC;AACvE,SAAO;AAAA,IACL,QAAQ,QAAQ;AAAA,IAChB,SAAS,QAAQ;AAAA,IACjB,YAAY,QAAQ;AAAA,IACpB,UAAU,QAAQ;AAAA,EACpB;AACF;AAOA,IAAM,oBAAoC,gBAAAA,cAGxC;AAAA,EACA,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,gBAAgB,aAAa;AACtC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAC1B,SAAS,IAAI,MAAM,yBAAyB,KAAK,CAAC;AAAA,MACpD;AAAA,IACF;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAChC,SAAS,MAAM,IAAI,MAAM,yBAAyB,KAAK,CAAC;AAAA,MAC1D;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAC1B,SAAS,IAAI,MAAM,yBAAyB,KAAK,CAAC;AAAA,MACpD;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,qBACA,IAAI,UAAU,KAAK,IAAI,IACvB,MACA,IAAI,UAAU,KAAK,OAAO,IAC1B;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI;AAAA,MACT,IAAI,YAAY,KAAK,IAAI;AAAA,MACzB,IAAI,YAAY,KAAK,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED,IAAO,uBAAQ;;;AChEf,SAAS,gBAAAC,qBAAoB;AAO7B,IAAM,qBAAqC,gBAAAA,cAGzC;AAAA,EACA,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,iBAAiB,aAAa;AACvC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAC1B,SAAS,IAAI,MAAM,MAAM,OAAO;AAAA,MAClC;AAAA,IACF;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAChC,SAAS,MAAM,IAAI,MAAM,MAAM,OAAO;AAAA,MACxC;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAC1B,SAAS,IAAI,MAAM,MAAM,OAAO;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,sBACA,IAAI,UAAU,KAAK,OAAO,IAC1B,MACA,IAAI,UAAU,KAAK,IAAI,IACvB;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI;AAAA,MACT,IAAI,YAAY,KAAK,OAAO;AAAA,MAC5B,IAAI,YAAY,KAAK,IAAI;AAAA,IAC3B;AAAA,EACF;AACF,CAAC;AAED,IAAO,wBAAQ;;;ACvDf,SAAS,gBAAAC,qBAAoB;AAE7B,SAAS,mBAAmB,SAA2B;AACrD,SAAO;AAAA,IACL,SAAS,QAAQ;AAAA,IACjB,YAAY,QAAQ;AAAA,IACpB,UAAU,QAAQ;AAAA,EACpB;AACF;AAOA,IAAM,cAA8B,gBAAAA,cAA+B;AAAA,EACjE,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,UAAU,aAAa;AAChC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAC1B,SAAS,IAAI,MAAM,mBAAmB,KAAK,CAAC;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAChC,SAAS,MAAM,IAAI,MAAM,mBAAmB,KAAK,CAAC;AAAA,MACpD;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAC1B,SAAS,IAAI,MAAM,mBAAmB,KAAK,CAAC;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,eACA,IAAI,UAAU,KAAK,IAAI,IACvB,MACA,IAAI,UAAU,KAAK,OAAO,IAC1B;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI;AAAA,MACT,IAAI,YAAY,KAAK,IAAI;AAAA,MACzB,IAAI,YAAY,KAAK,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED,IAAO,gBAAQ;;;AC5Df,SAAS,gBAAAC,qBAAoB;AAQ7B,IAAM,aAA6B,gBAAAA,cAA6B;AAAA,EAC9D,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,SAAS,aAAa;AAC/B,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAChC,SAAS,MAAM,IAAI,MAAM;AAAA,UACvB,MAAM,MAAM;AAAA,UACZ,cAAc,MAAM;AAAA,QACtB,CAAC;AAAA,QACD,QAAQ,MAAM,IAAI,MAAM,MAAM,MAAM,YAAY,CAAC;AAAA,MACnD;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,eACA,IAAI,UAAU,KAAK,MAAM,IACzB,OACA,IAAI,UAAU,KAAK,IAAI,IACvB,MACA,IAAI,UAAU,KAAK,OAAO,IAC1B;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI;AAAA,MACT,CAAC,IAAI,YAAY,KAAK,MAAM,CAAgB;AAAA,MAC5C,IAAI,YAAY,KAAK,IAAI;AAAA,MACzB,IAAI,YAAY,KAAK,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED,IAAO,eAAQ;;;AChDf,SAAS,gBAAAC,qBAAoB;AAK7B,SAAS,gBAAgB,UAAkC;AACzD,QAAM,QAAsB,CAAC;AAE7B,WAAS,QAAQ,CAAC,OAAO,QAAQ;AAC/B,UAAM,KAAK,CAAC,KAAK,KAAK,CAAC;AAAA,EACzB,CAAC;AACD,SAAO;AACT;AAEA,IAAM,oBAAoB,CAAC;AAE3B,IAAM,wBAAwC,gBAAAC,cAAgC;AAAA,EAC5E,KAAK;AAAA,EACL,KAAK,OAAO;AACV,WAAO,UAAU;AAAA,EACnB;AAAA,EACA,OAAO;AAAA,IACL,OAAO;AACL,aAAO;AAAA,IACT;AAAA,IACA,MAAM,QAAQ;AACZ,aAAO,MAAM,QAAQ,QAAQ,MAAS;AAAA,IACxC;AAAA,IACA,SAAS;AACP,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,UAAU,OAAO,KAAK;AACpB,WAAO,IAAI;AAAA,MACT,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAAA,EACA,cAAc;AACZ,WAAO;AAAA,EACT;AACF,CAAC;AAOD,IAAM,iBAAiC,gBAAAA,cAAqC;AAAA,EAC1E,KAAK;AAAA,EACL,SAAS,CAAC,cAAY,qBAAqB;AAAA,EAC3C,KAAK,OAAO;AACV,QAAI,OAAO,aAAa,aAAa;AACnC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,aAAO;AAAA,QACL,SAAS,IAAI,MAAM,iBAAiB;AAAA,QACpC,SAAS,IAAI,MAAM,gBAAgB,KAAK,CAAC;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,SAAS,MAAM,IAAI,MAAM,iBAAiB;AAAA,QAC1C,SAAS,MAAM,IAAI,MAAM,gBAAgB,KAAK,CAAC;AAAA,MACjD;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,SAAS,IAAI,MAAM,iBAAiB;AAAA,QACpC,SAAS,IAAI,MAAM,gBAAgB,KAAK,CAAC;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,MACA,IAAI,UAAU,KAAK,OAAO,IAC1B,OACA,IAAI,UAAU,KAAK,OAAO,IAC1B;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,UAAM,WAAW,IAAI,SAAS;AAC9B,UAAM,UAAU,IAAI,YAAY,KAAK,OAAO;AAC5C,aAAS,IAAI,GAAG,MAAM,QAAQ,QAAQ,IAAI,KAAK,KAAK;AAClD,YAAM,QAAQ,QAAQ,CAAC;AACvB,eAAS,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAAA,IACpC;AACA,WAAO;AAAA,EACT;AACF,CAAC;AAED,IAAO,oBAAQ;;;ACjGf,SAAS,gBAAAC,qBAAoB;AAE7B,SAAS,eAAe,UAAgC;AACtD,QAAM,QAAqB,CAAC;AAE5B,WAAS,QAAQ,CAAC,OAAO,QAAQ;AAC/B,UAAM,KAAK,CAAC,KAAK,KAAK,CAAC;AAAA,EACzB,CAAC;AACD,SAAO;AACT;AAEA,IAAM,gBAAgC,gBAAAA,cAAmC;AAAA,EACvE,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,YAAY,aAAa;AAClC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,aAAO,IAAI,MAAM,eAAe,KAAK,CAAC;AAAA,IACxC;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO,MAAM,IAAI,MAAM,eAAe,KAAK,CAAC;AAAA,IAC9C;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO,IAAI,MAAM,eAAe,KAAK,CAAC;AAAA,IACxC;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WAAO,iBAAiB,IAAI,UAAU,IAAI,IAAI;AAAA,EAChD;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI,QAAQ,IAAI,YAAY,IAAI,CAAgB;AAAA,EACzD;AACF,CAAC;AAED,IAAO,kBAAQ;;;ACtCf,SAAS,gBAAAC,qBAAoB;AAS7B,IAAM,kBAAkC,gBAAAA,cAAuC;AAAA,EAC7E,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,cAAc,aAAa;AACpC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAC1B,OAAO,IAAI,MAAM,MAAM,KAAK;AAAA,QAC5B,QAAQ,IAAI,MAAM,MAAM,MAAM;AAAA,QAC9B,SAAS,IAAI,MAAM;AAAA,UACjB,YAAY,MAAM;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAChC,OAAO,MAAM,IAAI,MAAM,MAAM,KAAK;AAAA,QAClC,QAAQ,MAAM,IAAI,MAAM,MAAM,MAAM;AAAA,QACpC,SAAS,MAAM,IAAI,MAAM;AAAA,UACvB,YAAY,MAAM;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,QAC1B,OAAO,IAAI,MAAM,MAAM,KAAK;AAAA,QAC5B,QAAQ,IAAI,MAAM,MAAM,MAAM;AAAA,QAC9B,SAAS,IAAI,MAAM;AAAA,UACjB,YAAY,MAAM;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,mBACA,IAAI,UAAU,KAAK,IAAI,IACvB,MACA,IAAI,UAAU,KAAK,KAAK,IACxB,MACA,IAAI,UAAU,KAAK,MAAM,IACzB,MACA,IAAI,UAAU,KAAK,OAAO,IAC1B;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI;AAAA,MACT,IAAI,YAAY,KAAK,IAAI;AAAA,MACzB,IAAI,YAAY,KAAK,KAAK;AAAA,MAC1B,IAAI,YAAY,KAAK,MAAM;AAAA,MAC3B,IAAI,YAAY,KAAK,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED,IAAO,qBAAQ;;;ACxEf,SAAS,gBAAAC,gBAAc,oBAAoB;AAE3C,IAAM,0BAA0B,CAAC;AAEjC,IAAM,8BAA8C,gBAAAA,eAGlD;AAAA,EACA,KAAK;AAAA,EACL,KAAK,OAAO;AACV,WAAO,UAAU;AAAA,EACnB;AAAA,EACA,OAAO;AAAA,IACL,OAAO;AACL,aAAO;AAAA,IACT;AAAA,IACA,MAAM,QAAQ;AACZ,aAAO,MAAM,QAAQ,QAAQ,MAAS;AAAA,IACxC;AAAA,IACA,SAAS;AACP,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,UAAU,OAAO,KAAK;AACpB,WAAO,IAAI;AAAA,MACT,CAAC,GAAG;AAAA,MACJ,+BACE,IAAI;AAAA,QACF,CAAC,GAAG;AAAA,QACJ,gBACE,IAAI,wBAAwB,CAAC,GAAG,GAAG,cAAc,IACjD,YACA,IAAI,wBAAwB,CAAC,GAAG,GAAG,YAAY,IAC/C,aACA,IAAI,wBAAwB,CAAC,GAAG,WAAW,IAC3C;AAAA,MACJ,IACA;AAAA,IACJ;AAAA,EACF;AAAA,EACA,cAAc;AACZ,WAAO;AAAA,EACT;AACF,CAAC;AAED,SAAS,SAAY,OAAiD;AACpE,QAAM,SAAS,aAA4B;AAE3C,QAAM,SAAS,MAAM,UAAU;AAE/B,iBAAe,OAAsB;AACnC,QAAI;AACF,YAAM,SAAS,MAAM,OAAO,KAAK;AACjC,UAAI,OAAO,MAAM;AACf,eAAO,OAAO,OAAO,KAAK;AAAA,MAC5B,OAAO;AACL,eAAO,KAAK,OAAO,KAAK;AACxB,cAAM,KAAK;AAAA,MACb;AAAA,IACF,SAAS,OAAO;AACd,aAAO,MAAM,KAAK;AAAA,IACpB;AAAA,EACF;AAEA,OAAK,EAAE,MAAM,MAAM;AAAA,EAEnB,CAAC;AAED,SAAO;AACT;AAOA,IAAM,uBAAuC,gBAAAA,eAG3C;AAAA,EACA,KAAK;AAAA,EACL,SAAS,CAAC,2BAA2B;AAAA,EACrC,KAAK,OAAO;AACV,QAAI,OAAO,mBAAmB,aAAa;AACzC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,QAAQ,KAAK;AAChB,aAAO;AAAA,QACL,SAAS,IAAI,MAAM,uBAAuB;AAAA,QAC1C,QAAQ,IAAI,MAAM,aAAa,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,SAAS,MAAM,IAAI,MAAM,uBAAuB;AAAA,QAChD,QAAQ,MAAM,IAAI,MAAM,SAAS,KAAK,CAAC;AAAA,MACzC;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,SAAS,IAAI,MAAM,uBAAuB;AAAA,QAC1C,QAAQ,IAAI,MAAM,SAAS,KAAK,CAAC;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,MACA,IAAI,UAAU,KAAK,OAAO,IAC1B,OACA,IAAI,UAAU,KAAK,MAAM,IACzB;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,UAAM,SAAS,IAAI,YAAY,KAAK,MAAM;AAC1C,WAAO,IAAI,eAAe;AAAA,MACxB,MAAM,YAAkB;AACtB,eAAO,GAAG;AAAA,UACR,KAAK,OAAO;AACV,uBAAW,QAAQ,KAAK;AAAA,UAC1B;AAAA,UACA,MAAM,OAAO;AACX,uBAAW,MAAM,KAAK;AAAA,UACxB;AAAA,UACA,SAAS;AACP,uBAAW,MAAM;AAAA,UACnB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AACF,CAAC;AAED,IAAO,0BAAQ;;;ACzIf,SAAS,gBAAAC,sBAAoB;AAI7B,SAAS,qBACP,SACA,MACa;AACb,SAAO;AAAA,IACL;AAAA,IACA,OAAO,QAAQ;AAAA,IACf,aAAa,QAAQ;AAAA,IACrB,SAAS,QAAQ;AAAA,IACjB,WAAW,QAAQ;AAAA,IACnB,WAAW,QAAQ;AAAA,IACnB,QAAQ,QAAQ;AAAA,IAChB,MAAM,QAAQ;AAAA,IACd,UAAU,QAAQ;AAAA,IAClB,UAAU,QAAQ;AAAA,IAClB,gBAAgB,QAAQ;AAAA,EAC1B;AACF;AAOA,IAAM,gBAAgC,gBAAAC,eAAmC;AAAA,EACvE,KAAK;AAAA,EACL,SAAS,CAAC,yBAAsB,eAAa;AAAA,EAC7C,KAAK,OAAO;AACV,QAAI,OAAO,YAAY,aAAa;AAClC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,KAAK,MAAM,IAAI,MAAM,MAAM,GAAG;AAAA,QAC9B,SAAS,MAAM,IAAI;AAAA,UACjB;AAAA,YACE;AAAA,YACA,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,YAAY,IAAI;AAAA,UACnD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,KAAK,IAAI,MAAM,MAAM,GAAG;AAAA,QACxB,SAAS,IAAI,MAAM,qBAAqB,OAAO,MAAM,MAAM,EAAE,IAAI,CAAC;AAAA,MACpE;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,iBACA,IAAI,UAAU,KAAK,GAAG,IACtB,MACA,IAAI,UAAU,KAAK,OAAO,IAC1B;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI;AAAA,MACT,IAAI,YAAY,KAAK,GAAG;AAAA,MACxB,IAAI,YAAY,KAAK,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED,IAAO,kBAAQ;;;ACzEf,SAAS,gBAAAC,sBAAoB;AAI7B,SAAS,sBAAsB,SAAiC;AAC9D,SAAO;AAAA,IACL,SAAS,QAAQ;AAAA,IACjB,QAAQ,QAAQ;AAAA,IAChB,YAAY,QAAQ;AAAA,EACtB;AACF;AAOA,IAAM,iBAAiC,gBAAAC,eAAqC;AAAA,EAC1E,KAAK;AAAA,EACL,SAAS,CAAC,yBAAsB,eAAa;AAAA,EAC7C,KAAK,OAAO;AACV,QAAI,OAAO,aAAa,aAAa;AACnC,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO;AAAA,QACL,MAAM,MAAM,IAAI;AAAA,UACd,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,YAAY,IAAI;AAAA,QACnD;AAAA,QACA,SAAS,MAAM,IAAI,MAAM,sBAAsB,KAAK,CAAC;AAAA,MACvD;AAAA,IACF;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO;AAAA,QACL,MAAM,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI;AAAA,QAClC,SAAS,IAAI,MAAM,sBAAsB,KAAK,CAAC;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WACE,kBACA,IAAI,UAAU,KAAK,IAAI,IACvB,MACA,IAAI,UAAU,KAAK,OAAO,IAC1B;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI;AAAA,MACT,IAAI,YAAY,KAAK,IAAI;AAAA,MACzB,IAAI,YAAY,KAAK,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAED,IAAO,mBAAQ;;;AC3Df,SAAS,gBAAAC,sBAAoB;AAE7B,IAAM,YAA4B,gBAAAA,eAA+B;AAAA,EAC/D,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,QAAQ,aAAa;AAC9B,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,aAAO,IAAI,MAAM,MAAM,IAAI;AAAA,IAC7B;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO,MAAM,IAAI,MAAM,MAAM,IAAI;AAAA,IACnC;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO,IAAI,MAAM,MAAM,IAAI;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WAAO,aAAa,IAAI,UAAU,IAAI,IAAI;AAAA,EAC5C;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI,IAAI,IAAI,YAAY,IAAI,CAAW;AAAA,EAChD;AACF,CAAC;AAED,IAAO,cAAQ;;;AC7Bf,SAAS,gBAAAC,sBAAoB;AAE7B,IAAM,wBAAwC,gBAAAA,eAG5C;AAAA,EACA,KAAK;AAAA,EACL,KAAK,OAAO;AACV,QAAI,OAAO,oBAAoB,aAAa;AAC1C,aAAO;AAAA,IACT;AACA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,IACL,KAAK,OAAO,KAAK;AACf,aAAO,IAAI,MAAM,MAAM,SAAS,CAAC;AAAA,IACnC;AAAA,IACA,MAAM,MAAM,OAAO,KAAK;AACtB,aAAO,MAAM,IAAI,MAAM,MAAM,SAAS,CAAC;AAAA,IACzC;AAAA,IACA,OAAO,OAAO,KAAK;AACjB,aAAO,IAAI,MAAM,MAAM,SAAS,CAAC;AAAA,IACnC;AAAA,EACF;AAAA,EACA,UAAU,MAAM,KAAK;AACnB,WAAO,yBAAyB,IAAI,UAAU,IAAI,IAAI;AAAA,EACxD;AAAA,EACA,YAAY,MAAM,KAAK;AACrB,WAAO,IAAI,gBAAgB,IAAI,YAAY,IAAI,CAAW;AAAA,EAC5D;AACF,CAAC;AAED,IAAO,4BAAQ;",
6
+ "names": ["controller", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin"]
7
7
  }