seroval-plugins 1.5.3 → 1.5.5

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.
@@ -575,25 +575,31 @@ var ReadableStreamFactoryPlugin = /* @__PURE__ */ (0, import_seroval10.createPlu
575
575
  return READABLE_STREAM_FACTORY;
576
576
  }
577
577
  });
578
+ async function drainStream(stream, reader) {
579
+ try {
580
+ const result = await reader.read();
581
+ if (result.done) {
582
+ stream.return(result.value);
583
+ reader.releaseLock();
584
+ } else {
585
+ stream.next(result.value);
586
+ await drainStream(stream, reader);
587
+ }
588
+ } catch (error) {
589
+ stream.throw(error);
590
+ }
591
+ }
592
+ function cleanupStream(reader) {
593
+ reader.cancel().catch(() => {
594
+ });
595
+ reader.releaseLock();
596
+ }
578
597
  function toStream(value) {
579
598
  const stream = (0, import_seroval10.createStream)();
580
599
  const reader = value.getReader();
581
- async function push() {
582
- try {
583
- const result = await reader.read();
584
- if (result.done) {
585
- stream.return(result.value);
586
- } else {
587
- stream.next(result.value);
588
- await push();
589
- }
590
- } catch (error) {
591
- stream.throw(error);
592
- }
593
- }
594
- push().catch(() => {
595
- });
596
- return stream;
600
+ const cleanup = cleanupStream.bind(null, reader);
601
+ drainStream(stream, reader).catch(cleanup);
602
+ return [stream, cleanup];
597
603
  }
598
604
  var ReadableStreamPlugin = /* @__PURE__ */ (0, import_seroval10.createPlugin)({
599
605
  tag: "seroval/plugins/web/ReadableStream",
@@ -614,13 +620,15 @@ var ReadableStreamPlugin = /* @__PURE__ */ (0, import_seroval10.createPlugin)({
614
620
  async async(value, ctx) {
615
621
  return {
616
622
  factory: await ctx.parse(READABLE_STREAM_FACTORY),
617
- stream: await ctx.parse(toStream(value))
623
+ stream: await ctx.parse(toStream(value)[0])
618
624
  };
619
625
  },
620
626
  stream(value, ctx) {
627
+ const [stream, cleanup] = toStream(value);
628
+ ctx.addCleanup(cleanup);
621
629
  return {
622
630
  factory: ctx.parse(READABLE_STREAM_FACTORY),
623
- stream: ctx.parse(toStream(value))
631
+ stream: ctx.parse(stream)
624
632
  };
625
633
  }
626
634
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../web/index.ts", "../../../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": ["export { default as AbortSignalPlugin } from './abort-signal';\nexport { default as BlobPlugin } from './blob';\nexport { default as CustomEventPlugin } from './custom-event';\nexport { default as DOMExceptionPlugin } from './dom-exception';\nexport { default as EventPlugin } from './event';\nexport { default as FilePlugin } from './file';\nexport { default as FormDataPlugin } from './form-data';\nexport { default as HeadersPlugin } from './headers';\nexport { default as ImageDataPlugin } from './image-data';\nexport { default as ReadableStreamPlugin } from './readable-stream';\nexport { default as RequestPlugin } from './request';\nexport { default as ResponsePlugin } from './response';\nexport { default as URLPlugin } from './url';\nexport { default as URLSearchParamsPlugin } from './url-search-params';\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nconst PROMISE_TO_ABORT_SIGNAL = (promise: Promise<unknown>) => {\n const controller = new AbortController();\n const abort = controller.abort.bind(controller);\n promise.then(abort, abort);\n return controller;\n};\n\nfunction resolveAbortSignalResult(\n this: AbortSignal,\n resolve: (value: unknown) => void,\n): void {\n resolve(this.reason);\n}\n\nfunction resolveAbortSignal(\n this: AbortSignal,\n resolve: (value: unknown) => void,\n): void {\n this.addEventListener('abort', resolveAbortSignalResult.bind(this, resolve), {\n once: true,\n });\n}\n\nfunction abortSignalToPromise(signal: AbortSignal): Promise<unknown> {\n return new Promise(resolveAbortSignal.bind(signal));\n}\n\nconst ABORT_CONTROLLER = {};\n\nconst AbortControllerFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/AbortControllerFactoryPlugin',\n test(value) {\n return value === ABORT_CONTROLLER;\n },\n parse: {\n sync() {\n return ABORT_CONTROLLER;\n },\n async async() {\n return await Promise.resolve(ABORT_CONTROLLER);\n },\n stream() {\n return ABORT_CONTROLLER;\n },\n },\n serialize() {\n return PROMISE_TO_ABORT_SIGNAL.toString();\n },\n deserialize() {\n return PROMISE_TO_ABORT_SIGNAL;\n },\n});\n\nconst AbortSignalPlugin = /* @__PURE__ */ createPlugin<\n AbortSignal,\n { reason?: SerovalNode; controller?: SerovalNode; factory?: SerovalNode }\n>({\n tag: 'seroval-plugins/web/AbortSignal',\n extends: [AbortControllerFactoryPlugin],\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 reason: ctx.parse(value.reason),\n };\n }\n return {};\n },\n async async(value, ctx) {\n if (value.aborted) {\n return {\n reason: await ctx.parse(value.reason),\n };\n }\n const result = await abortSignalToPromise(value);\n return {\n reason: await ctx.parse(result),\n };\n },\n stream(value, ctx) {\n if (value.aborted) {\n return {\n reason: ctx.parse(value.reason),\n };\n }\n\n const promise = abortSignalToPromise(value);\n\n return {\n factory: ctx.parse(ABORT_CONTROLLER),\n controller: ctx.parse(promise),\n };\n },\n },\n serialize(node, ctx) {\n if (node.reason) {\n return 'AbortSignal.abort(' + ctx.serialize(node.reason) + ')';\n }\n if (node.controller && node.factory) {\n return (\n '(' +\n ctx.serialize(node.factory) +\n ')(' +\n ctx.serialize(node.controller) +\n ').signal'\n );\n }\n return '(new AbortController).signal';\n },\n deserialize(node, ctx) {\n if (node.reason) {\n return AbortSignal.abort(ctx.deserialize(node.reason));\n }\n if (node.controller) {\n return PROMISE_TO_ABORT_SIGNAL(ctx.deserialize(node.controller)).signal;\n }\n const controller = new AbortController();\n return controller.signal;\n },\n});\n\nexport default AbortSignalPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ntype 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\ntype 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\ntype 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\ntype 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\ntype 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 instance.forEach((value, key) => {\n items.push([key, value]);\n });\n return items;\n}\n\nconst FORM_DATA_FACTORY = {};\n\nconst FORM_DATA_FACTORY_CONSTRUCTOR = (\n e: [key: string, value: FormDataEntryValue][],\n f = new FormData(),\n i = 0,\n s = e.length,\n t?: [key: string, value: FormDataEntryValue],\n) => {\n for (; i < s; i++) {\n t = e[i];\n f.append(t[0], t[1]);\n }\n return f;\n};\n\nconst FormDataFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/FormDataFactory',\n test(value) {\n return value === FORM_DATA_FACTORY;\n },\n parse: {\n sync() {\n return FORM_DATA_FACTORY;\n },\n async async() {\n return await Promise.resolve(FORM_DATA_FACTORY);\n },\n stream() {\n return FORM_DATA_FACTORY;\n },\n },\n serialize() {\n return FORM_DATA_FACTORY_CONSTRUCTOR.toString();\n },\n deserialize() {\n return FORM_DATA_FACTORY;\n },\n});\n\ntype 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 return FORM_DATA_FACTORY_CONSTRUCTOR(\n ctx.deserialize(node.entries) as FormDataInit,\n );\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<\n Headers,\n { value: SerovalNode }\n>({\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 {\n value: ctx.parse(convertHeaders(value)),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(convertHeaders(value)),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(convertHeaders(value)),\n };\n },\n },\n serialize(node, ctx) {\n return 'new Headers(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new Headers(ctx.deserialize(node.value) as HeadersInit);\n },\n});\n\nexport default HeadersPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ntype 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<ArrayBuffer>,\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 READABLE_STREAM_FACTORY_CONSTRUCTOR = (stream: Stream<unknown>) =>\n new ReadableStream({\n start: controller => {\n stream.on({\n next: value => {\n try {\n controller.enqueue(value);\n } catch (_error) {\n // no-op\n }\n },\n throw: value => {\n controller.error(value);\n },\n return: () => {\n try {\n controller.close();\n } catch (_error) {\n // no-op\n }\n },\n });\n },\n });\n\nconst ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/ReadableStreamFactory',\n test(value) {\n return value === READABLE_STREAM_FACTORY;\n },\n parse: {\n sync() {\n return READABLE_STREAM_FACTORY;\n },\n async async() {\n return await Promise.resolve(READABLE_STREAM_FACTORY);\n },\n stream() {\n return READABLE_STREAM_FACTORY;\n },\n },\n serialize() {\n return READABLE_STREAM_FACTORY_CONSTRUCTOR.toString();\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\ntype 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 READABLE_STREAM_FACTORY_CONSTRUCTOR(stream);\n },\n});\n\nexport default ReadableStreamPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport HeadersPlugin from './headers';\nimport ReadableStreamPlugin from './readable-stream';\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\ntype 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 && !value.bodyUsed\n ? await value.clone().arrayBuffer()\n : null,\n ),\n ),\n };\n },\n stream(value, ctx) {\n return {\n url: ctx.parse(value.url),\n options: ctx.parse(\n createRequestOptions(\n value,\n value.body && !value.bodyUsed ? value.clone().body : null,\n ),\n ),\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 HeadersPlugin from './headers';\nimport ReadableStreamPlugin from './readable-stream';\n\nfunction createResponseOptions(current: Response): ResponseInit {\n return {\n headers: current.headers,\n status: current.status,\n statusText: current.statusText,\n };\n}\n\ntype 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 && !value.bodyUsed\n ? await value.clone().arrayBuffer()\n : null,\n ),\n options: await ctx.parse(createResponseOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n body: ctx.parse(\n value.body && !value.bodyUsed ? value.clone().body : null,\n ),\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, { value: 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 {\n value: ctx.parse(value.href),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(value.href),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(value.href),\n };\n },\n },\n serialize(node, ctx) {\n return 'new URL(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new URL(ctx.deserialize(node.value) 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 { value: 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 {\n value: ctx.parse(value.toString()),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(value.toString()),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(value.toString()),\n };\n },\n },\n serialize(node, ctx) {\n return 'new URLSearchParams(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new URLSearchParams(ctx.deserialize(node.value) as string);\n },\n});\n\nexport default URLSearchParamsPlugin;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export { default as AbortSignalPlugin } from './abort-signal';\nexport { default as BlobPlugin } from './blob';\nexport { default as CustomEventPlugin } from './custom-event';\nexport { default as DOMExceptionPlugin } from './dom-exception';\nexport { default as EventPlugin } from './event';\nexport { default as FilePlugin } from './file';\nexport { default as FormDataPlugin } from './form-data';\nexport { default as HeadersPlugin } from './headers';\nexport { default as ImageDataPlugin } from './image-data';\nexport { default as ReadableStreamPlugin } from './readable-stream';\nexport { default as RequestPlugin } from './request';\nexport { default as ResponsePlugin } from './response';\nexport { default as URLPlugin } from './url';\nexport { default as URLSearchParamsPlugin } from './url-search-params';\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nconst PROMISE_TO_ABORT_SIGNAL = (promise: Promise<unknown>) => {\n const controller = new AbortController();\n const abort = controller.abort.bind(controller);\n promise.then(abort, abort);\n return controller;\n};\n\nfunction resolveAbortSignalResult(\n this: AbortSignal,\n resolve: (value: unknown) => void,\n): void {\n resolve(this.reason);\n}\n\nfunction resolveAbortSignal(\n this: AbortSignal,\n resolve: (value: unknown) => void,\n): void {\n this.addEventListener('abort', resolveAbortSignalResult.bind(this, resolve), {\n once: true,\n });\n}\n\nfunction abortSignalToPromise(signal: AbortSignal): Promise<unknown> {\n return new Promise(resolveAbortSignal.bind(signal));\n}\n\nconst ABORT_CONTROLLER = {};\n\nconst AbortControllerFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/AbortControllerFactoryPlugin',\n test(value) {\n return value === ABORT_CONTROLLER;\n },\n parse: {\n sync() {\n return ABORT_CONTROLLER;\n },\n async async() {\n return await Promise.resolve(ABORT_CONTROLLER);\n },\n stream() {\n return ABORT_CONTROLLER;\n },\n },\n serialize() {\n return PROMISE_TO_ABORT_SIGNAL.toString();\n },\n deserialize() {\n return PROMISE_TO_ABORT_SIGNAL;\n },\n});\n\nconst AbortSignalPlugin = /* @__PURE__ */ createPlugin<\n AbortSignal,\n { reason?: SerovalNode; controller?: SerovalNode; factory?: SerovalNode }\n>({\n tag: 'seroval-plugins/web/AbortSignal',\n extends: [AbortControllerFactoryPlugin],\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 reason: ctx.parse(value.reason),\n };\n }\n return {};\n },\n async async(value, ctx) {\n if (value.aborted) {\n return {\n reason: await ctx.parse(value.reason),\n };\n }\n const result = await abortSignalToPromise(value);\n return {\n reason: await ctx.parse(result),\n };\n },\n stream(value, ctx) {\n if (value.aborted) {\n return {\n reason: ctx.parse(value.reason),\n };\n }\n\n const promise = abortSignalToPromise(value);\n\n return {\n factory: ctx.parse(ABORT_CONTROLLER),\n controller: ctx.parse(promise),\n };\n },\n },\n serialize(node, ctx) {\n if (node.reason) {\n return 'AbortSignal.abort(' + ctx.serialize(node.reason) + ')';\n }\n if (node.controller && node.factory) {\n return (\n '(' +\n ctx.serialize(node.factory) +\n ')(' +\n ctx.serialize(node.controller) +\n ').signal'\n );\n }\n return '(new AbortController).signal';\n },\n deserialize(node, ctx) {\n if (node.reason) {\n return AbortSignal.abort(ctx.deserialize(node.reason));\n }\n if (node.controller) {\n return PROMISE_TO_ABORT_SIGNAL(ctx.deserialize(node.controller)).signal;\n }\n const controller = new AbortController();\n return controller.signal;\n },\n});\n\nexport default AbortSignalPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ntype 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\ntype 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\ntype 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\ntype 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\ntype 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 instance.forEach((value, key) => {\n items.push([key, value]);\n });\n return items;\n}\n\nconst FORM_DATA_FACTORY = {};\n\nconst FORM_DATA_FACTORY_CONSTRUCTOR = (\n e: [key: string, value: FormDataEntryValue][],\n f = new FormData(),\n i = 0,\n s = e.length,\n t?: [key: string, value: FormDataEntryValue],\n) => {\n for (; i < s; i++) {\n t = e[i];\n f.append(t[0], t[1]);\n }\n return f;\n};\n\nconst FormDataFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/FormDataFactory',\n test(value) {\n return value === FORM_DATA_FACTORY;\n },\n parse: {\n sync() {\n return FORM_DATA_FACTORY;\n },\n async async() {\n return await Promise.resolve(FORM_DATA_FACTORY);\n },\n stream() {\n return FORM_DATA_FACTORY;\n },\n },\n serialize() {\n return FORM_DATA_FACTORY_CONSTRUCTOR.toString();\n },\n deserialize() {\n return FORM_DATA_FACTORY;\n },\n});\n\ntype 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 return FORM_DATA_FACTORY_CONSTRUCTOR(\n ctx.deserialize(node.entries) as FormDataInit,\n );\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<\n Headers,\n { value: SerovalNode }\n>({\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 {\n value: ctx.parse(convertHeaders(value)),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(convertHeaders(value)),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(convertHeaders(value)),\n };\n },\n },\n serialize(node, ctx) {\n return 'new Headers(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new Headers(ctx.deserialize(node.value) as HeadersInit);\n },\n});\n\nexport default HeadersPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ntype 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<ArrayBuffer>,\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 READABLE_STREAM_FACTORY_CONSTRUCTOR = (stream: Stream<unknown>) =>\n new ReadableStream({\n start: controller => {\n stream.on({\n next: value => {\n try {\n controller.enqueue(value);\n } catch (_error) {\n // no-op\n }\n },\n throw: value => {\n controller.error(value);\n },\n return: () => {\n try {\n controller.close();\n } catch (_error) {\n // no-op\n }\n },\n });\n },\n });\n\nconst ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/ReadableStreamFactory',\n test(value) {\n return value === READABLE_STREAM_FACTORY;\n },\n parse: {\n sync() {\n return READABLE_STREAM_FACTORY;\n },\n async async() {\n return await Promise.resolve(READABLE_STREAM_FACTORY);\n },\n stream() {\n return READABLE_STREAM_FACTORY;\n },\n },\n serialize() {\n return READABLE_STREAM_FACTORY_CONSTRUCTOR.toString();\n },\n deserialize() {\n return READABLE_STREAM_FACTORY;\n },\n});\n\nasync function drainStream<T>(\n stream: Stream<T | undefined>,\n reader: ReadableStreamDefaultReader<T>,\n): Promise<void> {\n try {\n const result = await reader.read();\n if (result.done) {\n stream.return(result.value);\n reader.releaseLock();\n } else {\n stream.next(result.value);\n await drainStream(stream, reader);\n }\n } catch (error) {\n stream.throw(error);\n }\n}\n\nfunction cleanupStream<T>(reader: ReadableStreamDefaultReader<T>): void {\n reader.cancel().catch(() => {\n // no-op\n });\n reader.releaseLock();\n}\n\nfunction toStream<T>(\n value: ReadableStream<T>,\n): [Stream<T | undefined>, () => void] {\n const stream = createStream<T | undefined>();\n\n const reader = value.getReader();\n\n const cleanup = cleanupStream.bind(null, reader);\n\n drainStream(stream, reader).catch(cleanup);\n\n return [stream, cleanup];\n}\n\ntype 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)[0]),\n };\n },\n stream(value, ctx) {\n const [stream, cleanup] = toStream(value);\n ctx.addCleanup(cleanup);\n return {\n factory: ctx.parse(READABLE_STREAM_FACTORY),\n stream: ctx.parse(stream),\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 READABLE_STREAM_FACTORY_CONSTRUCTOR(stream);\n },\n});\n\nexport default ReadableStreamPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport HeadersPlugin from './headers';\nimport ReadableStreamPlugin from './readable-stream';\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\ntype 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 && !value.bodyUsed\n ? await value.clone().arrayBuffer()\n : null,\n ),\n ),\n };\n },\n stream(value, ctx) {\n return {\n url: ctx.parse(value.url),\n options: ctx.parse(\n createRequestOptions(\n value,\n value.body && !value.bodyUsed ? value.clone().body : null,\n ),\n ),\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 HeadersPlugin from './headers';\nimport ReadableStreamPlugin from './readable-stream';\n\nfunction createResponseOptions(current: Response): ResponseInit {\n return {\n headers: current.headers,\n status: current.status,\n statusText: current.statusText,\n };\n}\n\ntype 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 && !value.bodyUsed\n ? await value.clone().arrayBuffer()\n : null,\n ),\n options: await ctx.parse(createResponseOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n body: ctx.parse(\n value.body && !value.bodyUsed ? value.clone().body : null,\n ),\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, { value: 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 {\n value: ctx.parse(value.href),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(value.href),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(value.href),\n };\n },\n },\n serialize(node, ctx) {\n return 'new URL(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new URL(ctx.deserialize(node.value) 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 { value: 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 {\n value: ctx.parse(value.toString()),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(value.toString()),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(value.toString()),\n };\n },\n },\n serialize(node, ctx) {\n return 'new URLSearchParams(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new URLSearchParams(ctx.deserialize(node.value) as string);\n },\n});\n\nexport default URLSearchParamsPlugin;\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval", "import_seroval"]
7
7
  }
@@ -1 +1 @@
1
- "use strict";var f=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var Z=(e,r)=>{for(var a in r)f(e,a,{get:r[a],enumerable:!0})},$=(e,r,a,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of W(r))!X.call(e,t)&&t!==a&&f(e,t,{get:()=>r[t],enumerable:!(s=Q(r,t))||s.enumerable});return e};var x=e=>$(f({},"__esModule",{value:!0}),e);var ve={};Z(ve,{AbortSignalPlugin:()=>z,BlobPlugin:()=>P,CustomEventPlugin:()=>h,DOMExceptionPlugin:()=>D,EventPlugin:()=>A,FilePlugin:()=>d,FormDataPlugin:()=>I,HeadersPlugin:()=>i,ImageDataPlugin:()=>U,ReadableStreamPlugin:()=>p,RequestPlugin:()=>H,ResponsePlugin:()=>j,URLPlugin:()=>G,URLSearchParamsPlugin:()=>K});module.exports=x(ve);var y=require("seroval"),m=e=>{let r=new AbortController,a=r.abort.bind(r);return e.then(a,a),r};function ee(e){e(this.reason)}function re(e){this.addEventListener("abort",ee.bind(this,e),{once:!0})}function w(e){return new Promise(re.bind(e))}var u={},ae=(0,y.createPlugin)({tag:"seroval-plugins/web/AbortControllerFactoryPlugin",test(e){return e===u},parse:{sync(){return u},async async(){return await Promise.resolve(u)},stream(){return u}},serialize(){return m.toString()},deserialize(){return m}}),te=(0,y.createPlugin)({tag:"seroval-plugins/web/AbortSignal",extends:[ae],test(e){return typeof AbortSignal=="undefined"?!1:e instanceof AbortSignal},parse:{sync(e,r){return e.aborted?{reason:r.parse(e.reason)}:{}},async async(e,r){if(e.aborted)return{reason:await r.parse(e.reason)};let a=await w(e);return{reason:await r.parse(a)}},stream(e,r){if(e.aborted)return{reason:r.parse(e.reason)};let a=w(e);return{factory:r.parse(u),controller:r.parse(a)}}},serialize(e,r){return e.reason?"AbortSignal.abort("+r.serialize(e.reason)+")":e.controller&&e.factory?"("+r.serialize(e.factory)+")("+r.serialize(e.controller)+").signal":"(new AbortController).signal"},deserialize(e,r){return e.reason?AbortSignal.abort(r.deserialize(e.reason)):e.controller?m(r.deserialize(e.controller)).signal:new AbortController().signal}}),z=te;var R=require("seroval"),se=(0,R.createPlugin)({tag:"seroval-plugins/web/Blob",test(e){return typeof Blob=="undefined"?!1:e instanceof Blob},parse:{async async(e,r){return{type:await r.parse(e.type),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return"new Blob(["+r.serialize(e.buffer)+"],{type:"+r.serialize(e.type)+"})"},deserialize(e,r){return new Blob([r.deserialize(e.buffer)],{type:r.deserialize(e.type)})}}),P=se;var N=require("seroval");function g(e){return{detail:e.detail,bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var oe=(0,N.createPlugin)({tag:"seroval-plugins/web/CustomEvent",test(e){return typeof CustomEvent=="undefined"?!1:e instanceof CustomEvent},parse:{sync(e,r){return{type:r.parse(e.type),options:r.parse(g(e))}},async async(e,r){return{type:await r.parse(e.type),options:await r.parse(g(e))}},stream(e,r){return{type:r.parse(e.type),options:r.parse(g(e))}}},serialize(e,r){return"new CustomEvent("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new CustomEvent(r.deserialize(e.type),r.deserialize(e.options))}}),h=oe;var E=require("seroval"),ne=(0,E.createPlugin)({tag:"seroval-plugins/web/DOMException",test(e){return typeof DOMException=="undefined"?!1:e instanceof DOMException},parse:{sync(e,r){return{name:r.parse(e.name),message:r.parse(e.message)}},async async(e,r){return{name:await r.parse(e.name),message:await r.parse(e.message)}},stream(e,r){return{name:r.parse(e.name),message:r.parse(e.message)}}},serialize(e,r){return"new DOMException("+r.serialize(e.message)+","+r.serialize(e.name)+")"},deserialize(e,r){return new DOMException(r.deserialize(e.message),r.deserialize(e.name))}}),D=ne;var F=require("seroval");function c(e){return{bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var ie=(0,F.createPlugin)({tag:"seroval-plugins/web/Event",test(e){return typeof Event=="undefined"?!1:e instanceof Event},parse:{sync(e,r){return{type:r.parse(e.type),options:r.parse(c(e))}},async async(e,r){return{type:await r.parse(e.type),options:await r.parse(c(e))}},stream(e,r){return{type:r.parse(e.type),options:r.parse(c(e))}}},serialize(e,r){return"new Event("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Event(r.deserialize(e.type),r.deserialize(e.options))}}),A=ie;var O=require("seroval"),le=(0,O.createPlugin)({tag:"seroval-plugins/web/File",test(e){return typeof File=="undefined"?!1:e instanceof File},parse:{async async(e,r){return{name:await r.parse(e.name),options:await r.parse({type:e.type,lastModified:e.lastModified}),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return"new File(["+r.serialize(e.buffer)+"],"+r.serialize(e.name)+","+r.serialize(e.options)+")"},deserialize(e,r){return new File([r.deserialize(e.buffer)],r.deserialize(e.name),r.deserialize(e.options))}}),d=le;var S=require("seroval");function b(e){let r=[];return e.forEach((a,s)=>{r.push([s,a])}),r}var o={},C=(e,r=new FormData,a=0,s=e.length,t)=>{for(;a<s;a++)t=e[a],r.append(t[0],t[1]);return r},pe=(0,S.createPlugin)({tag:"seroval-plugins/web/FormDataFactory",test(e){return e===o},parse:{sync(){return o},async async(){return await Promise.resolve(o)},stream(){return o}},serialize(){return C.toString()},deserialize(){return o}}),ue=(0,S.createPlugin)({tag:"seroval-plugins/web/FormData",extends:[d,pe],test(e){return typeof FormData=="undefined"?!1:e instanceof FormData},parse:{sync(e,r){return{factory:r.parse(o),entries:r.parse(b(e))}},async async(e,r){return{factory:await r.parse(o),entries:await r.parse(b(e))}},stream(e,r){return{factory:r.parse(o),entries:r.parse(b(e))}}},serialize(e,r){return"("+r.serialize(e.factory)+")("+r.serialize(e.entries)+")"},deserialize(e,r){return C(r.deserialize(e.entries))}}),I=ue;var B=require("seroval");function v(e){let r=[];return e.forEach((a,s)=>{r.push([s,a])}),r}var de=(0,B.createPlugin)({tag:"seroval-plugins/web/Headers",test(e){return typeof Headers=="undefined"?!1:e instanceof Headers},parse:{sync(e,r){return{value:r.parse(v(e))}},async async(e,r){return{value:await r.parse(v(e))}},stream(e,r){return{value:r.parse(v(e))}}},serialize(e,r){return"new Headers("+r.serialize(e.value)+")"},deserialize(e,r){return new Headers(r.deserialize(e.value))}}),i=de;var T=require("seroval"),fe=(0,T.createPlugin)({tag:"seroval-plugins/web/ImageData",test(e){return typeof ImageData=="undefined"?!1:e instanceof ImageData},parse:{sync(e,r){return{data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}},async async(e,r){return{data:await r.parse(e.data),width:await r.parse(e.width),height:await r.parse(e.height),options:await r.parse({colorSpace:e.colorSpace})}},stream(e,r){return{data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}}},serialize(e,r){return"new ImageData("+r.serialize(e.data)+","+r.serialize(e.width)+","+r.serialize(e.height)+","+r.serialize(e.options)+")"},deserialize(e,r){return new ImageData(r.deserialize(e.data),r.deserialize(e.width),r.deserialize(e.height),r.deserialize(e.options))}}),U=fe;var l=require("seroval"),n={},M=e=>new ReadableStream({start:r=>{e.on({next:a=>{try{r.enqueue(a)}catch(s){}},throw:a=>{r.error(a)},return:()=>{try{r.close()}catch(a){}}})}}),me=(0,l.createPlugin)({tag:"seroval-plugins/web/ReadableStreamFactory",test(e){return e===n},parse:{sync(){return n},async async(){return await Promise.resolve(n)},stream(){return n}},serialize(){return M.toString()},deserialize(){return n}});function L(e){let r=(0,l.createStream)(),a=e.getReader();async function s(){try{let t=await a.read();t.done?r.return(t.value):(r.next(t.value),await s())}catch(t){r.throw(t)}}return s().catch(()=>{}),r}var ye=(0,l.createPlugin)({tag:"seroval/plugins/web/ReadableStream",extends:[me],test(e){return typeof ReadableStream=="undefined"?!1:e instanceof ReadableStream},parse:{sync(e,r){return{factory:r.parse(n),stream:r.parse((0,l.createStream)())}},async async(e,r){return{factory:await r.parse(n),stream:await r.parse(L(e))}},stream(e,r){return{factory:r.parse(n),stream:r.parse(L(e))}}},serialize(e,r){return"("+r.serialize(e.factory)+")("+r.serialize(e.stream)+")"},deserialize(e,r){let a=r.deserialize(e.stream);return M(a)}}),p=ye;var q=require("seroval");function _(e,r){return{body:r,cache:e.cache,credentials:e.credentials,headers:e.headers,integrity:e.integrity,keepalive:e.keepalive,method:e.method,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var ge=(0,q.createPlugin)({tag:"seroval-plugins/web/Request",extends:[p,i],test(e){return typeof Request=="undefined"?!1:e instanceof Request},parse:{async async(e,r){return{url:await r.parse(e.url),options:await r.parse(_(e,e.body&&!e.bodyUsed?await e.clone().arrayBuffer():null))}},stream(e,r){return{url:r.parse(e.url),options:r.parse(_(e,e.body&&!e.bodyUsed?e.clone().body:null))}}},serialize(e,r){return"new Request("+r.serialize(e.url)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Request(r.deserialize(e.url),r.deserialize(e.options))}}),H=ge;var Y=require("seroval");function k(e){return{headers:e.headers,status:e.status,statusText:e.statusText}}var ce=(0,Y.createPlugin)({tag:"seroval-plugins/web/Response",extends:[p,i],test(e){return typeof Response=="undefined"?!1:e instanceof Response},parse:{async async(e,r){return{body:await r.parse(e.body&&!e.bodyUsed?await e.clone().arrayBuffer():null),options:await r.parse(k(e))}},stream(e,r){return{body:r.parse(e.body&&!e.bodyUsed?e.clone().body:null),options:r.parse(k(e))}}},serialize(e,r){return"new Response("+r.serialize(e.body)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Response(r.deserialize(e.body),r.deserialize(e.options))}}),j=ce;var V=require("seroval"),be=(0,V.createPlugin)({tag:"seroval-plugins/web/URL",test(e){return typeof URL=="undefined"?!1:e instanceof URL},parse:{sync(e,r){return{value:r.parse(e.href)}},async async(e,r){return{value:await r.parse(e.href)}},stream(e,r){return{value:r.parse(e.href)}}},serialize(e,r){return"new URL("+r.serialize(e.value)+")"},deserialize(e,r){return new URL(r.deserialize(e.value))}}),G=be;var J=require("seroval"),Se=(0,J.createPlugin)({tag:"seroval-plugins/web/URLSearchParams",test(e){return typeof URLSearchParams=="undefined"?!1:e instanceof URLSearchParams},parse:{sync(e,r){return{value:r.parse(e.toString())}},async async(e,r){return{value:await r.parse(e.toString())}},stream(e,r){return{value:r.parse(e.toString())}}},serialize(e,r){return"new URLSearchParams("+r.serialize(e.value)+")"},deserialize(e,r){return new URLSearchParams(r.deserialize(e.value))}}),K=Se;
1
+ "use strict";var f=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Z=Object.prototype.hasOwnProperty;var $=(e,r)=>{for(var a in r)f(e,a,{get:r[a],enumerable:!0})},x=(e,r,a,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of X(r))!Z.call(e,s)&&s!==a&&f(e,s,{get:()=>r[s],enumerable:!(t=W(r,s))||t.enumerable});return e};var ee=e=>x(f({},"__esModule",{value:!0}),e);var ze={};$(ze,{AbortSignalPlugin:()=>z,BlobPlugin:()=>P,CustomEventPlugin:()=>h,DOMExceptionPlugin:()=>D,EventPlugin:()=>A,FilePlugin:()=>d,FormDataPlugin:()=>I,HeadersPlugin:()=>i,ImageDataPlugin:()=>L,ReadableStreamPlugin:()=>p,RequestPlugin:()=>k,ResponsePlugin:()=>V,URLPlugin:()=>J,URLSearchParamsPlugin:()=>Q});module.exports=ee(ze);var y=require("seroval"),m=e=>{let r=new AbortController,a=r.abort.bind(r);return e.then(a,a),r};function re(e){e(this.reason)}function ae(e){this.addEventListener("abort",re.bind(this,e),{once:!0})}function w(e){return new Promise(ae.bind(e))}var u={},te=(0,y.createPlugin)({tag:"seroval-plugins/web/AbortControllerFactoryPlugin",test(e){return e===u},parse:{sync(){return u},async async(){return await Promise.resolve(u)},stream(){return u}},serialize(){return m.toString()},deserialize(){return m}}),se=(0,y.createPlugin)({tag:"seroval-plugins/web/AbortSignal",extends:[te],test(e){return typeof AbortSignal=="undefined"?!1:e instanceof AbortSignal},parse:{sync(e,r){return e.aborted?{reason:r.parse(e.reason)}:{}},async async(e,r){if(e.aborted)return{reason:await r.parse(e.reason)};let a=await w(e);return{reason:await r.parse(a)}},stream(e,r){if(e.aborted)return{reason:r.parse(e.reason)};let a=w(e);return{factory:r.parse(u),controller:r.parse(a)}}},serialize(e,r){return e.reason?"AbortSignal.abort("+r.serialize(e.reason)+")":e.controller&&e.factory?"("+r.serialize(e.factory)+")("+r.serialize(e.controller)+").signal":"(new AbortController).signal"},deserialize(e,r){return e.reason?AbortSignal.abort(r.deserialize(e.reason)):e.controller?m(r.deserialize(e.controller)).signal:new AbortController().signal}}),z=se;var R=require("seroval"),oe=(0,R.createPlugin)({tag:"seroval-plugins/web/Blob",test(e){return typeof Blob=="undefined"?!1:e instanceof Blob},parse:{async async(e,r){return{type:await r.parse(e.type),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return"new Blob(["+r.serialize(e.buffer)+"],{type:"+r.serialize(e.type)+"})"},deserialize(e,r){return new Blob([r.deserialize(e.buffer)],{type:r.deserialize(e.type)})}}),P=oe;var N=require("seroval");function c(e){return{detail:e.detail,bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var ne=(0,N.createPlugin)({tag:"seroval-plugins/web/CustomEvent",test(e){return typeof CustomEvent=="undefined"?!1:e instanceof CustomEvent},parse:{sync(e,r){return{type:r.parse(e.type),options:r.parse(c(e))}},async async(e,r){return{type:await r.parse(e.type),options:await r.parse(c(e))}},stream(e,r){return{type:r.parse(e.type),options:r.parse(c(e))}}},serialize(e,r){return"new CustomEvent("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new CustomEvent(r.deserialize(e.type),r.deserialize(e.options))}}),h=ne;var E=require("seroval"),ie=(0,E.createPlugin)({tag:"seroval-plugins/web/DOMException",test(e){return typeof DOMException=="undefined"?!1:e instanceof DOMException},parse:{sync(e,r){return{name:r.parse(e.name),message:r.parse(e.message)}},async async(e,r){return{name:await r.parse(e.name),message:await r.parse(e.message)}},stream(e,r){return{name:r.parse(e.name),message:r.parse(e.message)}}},serialize(e,r){return"new DOMException("+r.serialize(e.message)+","+r.serialize(e.name)+")"},deserialize(e,r){return new DOMException(r.deserialize(e.message),r.deserialize(e.name))}}),D=ie;var F=require("seroval");function g(e){return{bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var le=(0,F.createPlugin)({tag:"seroval-plugins/web/Event",test(e){return typeof Event=="undefined"?!1:e instanceof Event},parse:{sync(e,r){return{type:r.parse(e.type),options:r.parse(g(e))}},async async(e,r){return{type:await r.parse(e.type),options:await r.parse(g(e))}},stream(e,r){return{type:r.parse(e.type),options:r.parse(g(e))}}},serialize(e,r){return"new Event("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Event(r.deserialize(e.type),r.deserialize(e.options))}}),A=le;var C=require("seroval"),pe=(0,C.createPlugin)({tag:"seroval-plugins/web/File",test(e){return typeof File=="undefined"?!1:e instanceof File},parse:{async async(e,r){return{name:await r.parse(e.name),options:await r.parse({type:e.type,lastModified:e.lastModified}),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return"new File(["+r.serialize(e.buffer)+"],"+r.serialize(e.name)+","+r.serialize(e.options)+")"},deserialize(e,r){return new File([r.deserialize(e.buffer)],r.deserialize(e.name),r.deserialize(e.options))}}),d=pe;var S=require("seroval");function b(e){let r=[];return e.forEach((a,t)=>{r.push([t,a])}),r}var o={},O=(e,r=new FormData,a=0,t=e.length,s)=>{for(;a<t;a++)s=e[a],r.append(s[0],s[1]);return r},ue=(0,S.createPlugin)({tag:"seroval-plugins/web/FormDataFactory",test(e){return e===o},parse:{sync(){return o},async async(){return await Promise.resolve(o)},stream(){return o}},serialize(){return O.toString()},deserialize(){return o}}),de=(0,S.createPlugin)({tag:"seroval-plugins/web/FormData",extends:[d,ue],test(e){return typeof FormData=="undefined"?!1:e instanceof FormData},parse:{sync(e,r){return{factory:r.parse(o),entries:r.parse(b(e))}},async async(e,r){return{factory:await r.parse(o),entries:await r.parse(b(e))}},stream(e,r){return{factory:r.parse(o),entries:r.parse(b(e))}}},serialize(e,r){return"("+r.serialize(e.factory)+")("+r.serialize(e.entries)+")"},deserialize(e,r){return O(r.deserialize(e.entries))}}),I=de;var T=require("seroval");function v(e){let r=[];return e.forEach((a,t)=>{r.push([t,a])}),r}var fe=(0,T.createPlugin)({tag:"seroval-plugins/web/Headers",test(e){return typeof Headers=="undefined"?!1:e instanceof Headers},parse:{sync(e,r){return{value:r.parse(v(e))}},async async(e,r){return{value:await r.parse(v(e))}},stream(e,r){return{value:r.parse(v(e))}}},serialize(e,r){return"new Headers("+r.serialize(e.value)+")"},deserialize(e,r){return new Headers(r.deserialize(e.value))}}),i=fe;var B=require("seroval"),me=(0,B.createPlugin)({tag:"seroval-plugins/web/ImageData",test(e){return typeof ImageData=="undefined"?!1:e instanceof ImageData},parse:{sync(e,r){return{data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}},async async(e,r){return{data:await r.parse(e.data),width:await r.parse(e.width),height:await r.parse(e.height),options:await r.parse({colorSpace:e.colorSpace})}},stream(e,r){return{data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}}},serialize(e,r){return"new ImageData("+r.serialize(e.data)+","+r.serialize(e.width)+","+r.serialize(e.height)+","+r.serialize(e.options)+")"},deserialize(e,r){return new ImageData(r.deserialize(e.data),r.deserialize(e.width),r.deserialize(e.height),r.deserialize(e.options))}}),L=me;var l=require("seroval"),n={},M=e=>new ReadableStream({start:r=>{e.on({next:a=>{try{r.enqueue(a)}catch(t){}},throw:a=>{r.error(a)},return:()=>{try{r.close()}catch(a){}}})}}),ye=(0,l.createPlugin)({tag:"seroval-plugins/web/ReadableStreamFactory",test(e){return e===n},parse:{sync(){return n},async async(){return await Promise.resolve(n)},stream(){return n}},serialize(){return M.toString()},deserialize(){return n}});async function _(e,r){try{let a=await r.read();a.done?(e.return(a.value),r.releaseLock()):(e.next(a.value),await _(e,r))}catch(a){e.throw(a)}}function ce(e){e.cancel().catch(()=>{}),e.releaseLock()}function U(e){let r=(0,l.createStream)(),a=e.getReader(),t=ce.bind(null,a);return _(r,a).catch(t),[r,t]}var ge=(0,l.createPlugin)({tag:"seroval/plugins/web/ReadableStream",extends:[ye],test(e){return typeof ReadableStream=="undefined"?!1:e instanceof ReadableStream},parse:{sync(e,r){return{factory:r.parse(n),stream:r.parse((0,l.createStream)())}},async async(e,r){return{factory:await r.parse(n),stream:await r.parse(U(e)[0])}},stream(e,r){let[a,t]=U(e);return r.addCleanup(t),{factory:r.parse(n),stream:r.parse(a)}}},serialize(e,r){return"("+r.serialize(e.factory)+")("+r.serialize(e.stream)+")"},deserialize(e,r){let a=r.deserialize(e.stream);return M(a)}}),p=ge;var H=require("seroval");function q(e,r){return{body:r,cache:e.cache,credentials:e.credentials,headers:e.headers,integrity:e.integrity,keepalive:e.keepalive,method:e.method,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var be=(0,H.createPlugin)({tag:"seroval-plugins/web/Request",extends:[p,i],test(e){return typeof Request=="undefined"?!1:e instanceof Request},parse:{async async(e,r){return{url:await r.parse(e.url),options:await r.parse(q(e,e.body&&!e.bodyUsed?await e.clone().arrayBuffer():null))}},stream(e,r){return{url:r.parse(e.url),options:r.parse(q(e,e.body&&!e.bodyUsed?e.clone().body:null))}}},serialize(e,r){return"new Request("+r.serialize(e.url)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Request(r.deserialize(e.url),r.deserialize(e.options))}}),k=be;var j=require("seroval");function Y(e){return{headers:e.headers,status:e.status,statusText:e.statusText}}var Se=(0,j.createPlugin)({tag:"seroval-plugins/web/Response",extends:[p,i],test(e){return typeof Response=="undefined"?!1:e instanceof Response},parse:{async async(e,r){return{body:await r.parse(e.body&&!e.bodyUsed?await e.clone().arrayBuffer():null),options:await r.parse(Y(e))}},stream(e,r){return{body:r.parse(e.body&&!e.bodyUsed?e.clone().body:null),options:r.parse(Y(e))}}},serialize(e,r){return"new Response("+r.serialize(e.body)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Response(r.deserialize(e.body),r.deserialize(e.options))}}),V=Se;var G=require("seroval"),ve=(0,G.createPlugin)({tag:"seroval-plugins/web/URL",test(e){return typeof URL=="undefined"?!1:e instanceof URL},parse:{sync(e,r){return{value:r.parse(e.href)}},async async(e,r){return{value:await r.parse(e.href)}},stream(e,r){return{value:r.parse(e.href)}}},serialize(e,r){return"new URL("+r.serialize(e.value)+")"},deserialize(e,r){return new URL(r.deserialize(e.value))}}),J=ve;var K=require("seroval"),we=(0,K.createPlugin)({tag:"seroval-plugins/web/URLSearchParams",test(e){return typeof URLSearchParams=="undefined"?!1:e instanceof URLSearchParams},parse:{sync(e,r){return{value:r.parse(e.toString())}},async async(e,r){return{value:await r.parse(e.toString())}},stream(e,r){return{value:r.parse(e.toString())}}},serialize(e,r){return"new URLSearchParams("+r.serialize(e.value)+")"},deserialize(e,r){return new URLSearchParams(r.deserialize(e.value))}}),Q=we;
@@ -536,25 +536,31 @@ var ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin10({
536
536
  return READABLE_STREAM_FACTORY;
537
537
  }
538
538
  });
539
+ async function drainStream(stream, reader) {
540
+ try {
541
+ const result = await reader.read();
542
+ if (result.done) {
543
+ stream.return(result.value);
544
+ reader.releaseLock();
545
+ } else {
546
+ stream.next(result.value);
547
+ await drainStream(stream, reader);
548
+ }
549
+ } catch (error) {
550
+ stream.throw(error);
551
+ }
552
+ }
553
+ function cleanupStream(reader) {
554
+ reader.cancel().catch(() => {
555
+ });
556
+ reader.releaseLock();
557
+ }
539
558
  function toStream(value) {
540
559
  const stream = createStream();
541
560
  const reader = value.getReader();
542
- async function push() {
543
- try {
544
- const result = await reader.read();
545
- if (result.done) {
546
- stream.return(result.value);
547
- } else {
548
- stream.next(result.value);
549
- await push();
550
- }
551
- } catch (error) {
552
- stream.throw(error);
553
- }
554
- }
555
- push().catch(() => {
556
- });
557
- return stream;
561
+ const cleanup = cleanupStream.bind(null, reader);
562
+ drainStream(stream, reader).catch(cleanup);
563
+ return [stream, cleanup];
558
564
  }
559
565
  var ReadableStreamPlugin = /* @__PURE__ */ createPlugin10({
560
566
  tag: "seroval/plugins/web/ReadableStream",
@@ -575,13 +581,15 @@ var ReadableStreamPlugin = /* @__PURE__ */ createPlugin10({
575
581
  async async(value, ctx) {
576
582
  return {
577
583
  factory: await ctx.parse(READABLE_STREAM_FACTORY),
578
- stream: await ctx.parse(toStream(value))
584
+ stream: await ctx.parse(toStream(value)[0])
579
585
  };
580
586
  },
581
587
  stream(value, ctx) {
588
+ const [stream, cleanup] = toStream(value);
589
+ ctx.addCleanup(cleanup);
582
590
  return {
583
591
  factory: ctx.parse(READABLE_STREAM_FACTORY),
584
- stream: ctx.parse(toStream(value))
592
+ stream: ctx.parse(stream)
585
593
  };
586
594
  }
587
595
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
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\nconst PROMISE_TO_ABORT_SIGNAL = (promise: Promise<unknown>) => {\n const controller = new AbortController();\n const abort = controller.abort.bind(controller);\n promise.then(abort, abort);\n return controller;\n};\n\nfunction resolveAbortSignalResult(\n this: AbortSignal,\n resolve: (value: unknown) => void,\n): void {\n resolve(this.reason);\n}\n\nfunction resolveAbortSignal(\n this: AbortSignal,\n resolve: (value: unknown) => void,\n): void {\n this.addEventListener('abort', resolveAbortSignalResult.bind(this, resolve), {\n once: true,\n });\n}\n\nfunction abortSignalToPromise(signal: AbortSignal): Promise<unknown> {\n return new Promise(resolveAbortSignal.bind(signal));\n}\n\nconst ABORT_CONTROLLER = {};\n\nconst AbortControllerFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/AbortControllerFactoryPlugin',\n test(value) {\n return value === ABORT_CONTROLLER;\n },\n parse: {\n sync() {\n return ABORT_CONTROLLER;\n },\n async async() {\n return await Promise.resolve(ABORT_CONTROLLER);\n },\n stream() {\n return ABORT_CONTROLLER;\n },\n },\n serialize() {\n return PROMISE_TO_ABORT_SIGNAL.toString();\n },\n deserialize() {\n return PROMISE_TO_ABORT_SIGNAL;\n },\n});\n\nconst AbortSignalPlugin = /* @__PURE__ */ createPlugin<\n AbortSignal,\n { reason?: SerovalNode; controller?: SerovalNode; factory?: SerovalNode }\n>({\n tag: 'seroval-plugins/web/AbortSignal',\n extends: [AbortControllerFactoryPlugin],\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 reason: ctx.parse(value.reason),\n };\n }\n return {};\n },\n async async(value, ctx) {\n if (value.aborted) {\n return {\n reason: await ctx.parse(value.reason),\n };\n }\n const result = await abortSignalToPromise(value);\n return {\n reason: await ctx.parse(result),\n };\n },\n stream(value, ctx) {\n if (value.aborted) {\n return {\n reason: ctx.parse(value.reason),\n };\n }\n\n const promise = abortSignalToPromise(value);\n\n return {\n factory: ctx.parse(ABORT_CONTROLLER),\n controller: ctx.parse(promise),\n };\n },\n },\n serialize(node, ctx) {\n if (node.reason) {\n return 'AbortSignal.abort(' + ctx.serialize(node.reason) + ')';\n }\n if (node.controller && node.factory) {\n return (\n '(' +\n ctx.serialize(node.factory) +\n ')(' +\n ctx.serialize(node.controller) +\n ').signal'\n );\n }\n return '(new AbortController).signal';\n },\n deserialize(node, ctx) {\n if (node.reason) {\n return AbortSignal.abort(ctx.deserialize(node.reason));\n }\n if (node.controller) {\n return PROMISE_TO_ABORT_SIGNAL(ctx.deserialize(node.controller)).signal;\n }\n const controller = new AbortController();\n return controller.signal;\n },\n});\n\nexport default AbortSignalPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ntype 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\ntype 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\ntype 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\ntype 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\ntype 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 instance.forEach((value, key) => {\n items.push([key, value]);\n });\n return items;\n}\n\nconst FORM_DATA_FACTORY = {};\n\nconst FORM_DATA_FACTORY_CONSTRUCTOR = (\n e: [key: string, value: FormDataEntryValue][],\n f = new FormData(),\n i = 0,\n s = e.length,\n t?: [key: string, value: FormDataEntryValue],\n) => {\n for (; i < s; i++) {\n t = e[i];\n f.append(t[0], t[1]);\n }\n return f;\n};\n\nconst FormDataFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/FormDataFactory',\n test(value) {\n return value === FORM_DATA_FACTORY;\n },\n parse: {\n sync() {\n return FORM_DATA_FACTORY;\n },\n async async() {\n return await Promise.resolve(FORM_DATA_FACTORY);\n },\n stream() {\n return FORM_DATA_FACTORY;\n },\n },\n serialize() {\n return FORM_DATA_FACTORY_CONSTRUCTOR.toString();\n },\n deserialize() {\n return FORM_DATA_FACTORY;\n },\n});\n\ntype 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 return FORM_DATA_FACTORY_CONSTRUCTOR(\n ctx.deserialize(node.entries) as FormDataInit,\n );\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<\n Headers,\n { value: SerovalNode }\n>({\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 {\n value: ctx.parse(convertHeaders(value)),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(convertHeaders(value)),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(convertHeaders(value)),\n };\n },\n },\n serialize(node, ctx) {\n return 'new Headers(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new Headers(ctx.deserialize(node.value) as HeadersInit);\n },\n});\n\nexport default HeadersPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ntype 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<ArrayBuffer>,\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 READABLE_STREAM_FACTORY_CONSTRUCTOR = (stream: Stream<unknown>) =>\n new ReadableStream({\n start: controller => {\n stream.on({\n next: value => {\n try {\n controller.enqueue(value);\n } catch (_error) {\n // no-op\n }\n },\n throw: value => {\n controller.error(value);\n },\n return: () => {\n try {\n controller.close();\n } catch (_error) {\n // no-op\n }\n },\n });\n },\n });\n\nconst ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/ReadableStreamFactory',\n test(value) {\n return value === READABLE_STREAM_FACTORY;\n },\n parse: {\n sync() {\n return READABLE_STREAM_FACTORY;\n },\n async async() {\n return await Promise.resolve(READABLE_STREAM_FACTORY);\n },\n stream() {\n return READABLE_STREAM_FACTORY;\n },\n },\n serialize() {\n return READABLE_STREAM_FACTORY_CONSTRUCTOR.toString();\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\ntype 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 READABLE_STREAM_FACTORY_CONSTRUCTOR(stream);\n },\n});\n\nexport default ReadableStreamPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport HeadersPlugin from './headers';\nimport ReadableStreamPlugin from './readable-stream';\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\ntype 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 && !value.bodyUsed\n ? await value.clone().arrayBuffer()\n : null,\n ),\n ),\n };\n },\n stream(value, ctx) {\n return {\n url: ctx.parse(value.url),\n options: ctx.parse(\n createRequestOptions(\n value,\n value.body && !value.bodyUsed ? value.clone().body : null,\n ),\n ),\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 HeadersPlugin from './headers';\nimport ReadableStreamPlugin from './readable-stream';\n\nfunction createResponseOptions(current: Response): ResponseInit {\n return {\n headers: current.headers,\n status: current.status,\n statusText: current.statusText,\n };\n}\n\ntype 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 && !value.bodyUsed\n ? await value.clone().arrayBuffer()\n : null,\n ),\n options: await ctx.parse(createResponseOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n body: ctx.parse(\n value.body && !value.bodyUsed ? value.clone().body : null,\n ),\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, { value: 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 {\n value: ctx.parse(value.href),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(value.href),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(value.href),\n };\n },\n },\n serialize(node, ctx) {\n return 'new URL(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new URL(ctx.deserialize(node.value) 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 { value: 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 {\n value: ctx.parse(value.toString()),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(value.toString()),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(value.toString()),\n };\n },\n },\n serialize(node, ctx) {\n return 'new URLSearchParams(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new URLSearchParams(ctx.deserialize(node.value) as string);\n },\n});\n\nexport default URLSearchParamsPlugin;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\nconst PROMISE_TO_ABORT_SIGNAL = (promise: Promise<unknown>) => {\n const controller = new AbortController();\n const abort = controller.abort.bind(controller);\n promise.then(abort, abort);\n return controller;\n};\n\nfunction resolveAbortSignalResult(\n this: AbortSignal,\n resolve: (value: unknown) => void,\n): void {\n resolve(this.reason);\n}\n\nfunction resolveAbortSignal(\n this: AbortSignal,\n resolve: (value: unknown) => void,\n): void {\n this.addEventListener('abort', resolveAbortSignalResult.bind(this, resolve), {\n once: true,\n });\n}\n\nfunction abortSignalToPromise(signal: AbortSignal): Promise<unknown> {\n return new Promise(resolveAbortSignal.bind(signal));\n}\n\nconst ABORT_CONTROLLER = {};\n\nconst AbortControllerFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/AbortControllerFactoryPlugin',\n test(value) {\n return value === ABORT_CONTROLLER;\n },\n parse: {\n sync() {\n return ABORT_CONTROLLER;\n },\n async async() {\n return await Promise.resolve(ABORT_CONTROLLER);\n },\n stream() {\n return ABORT_CONTROLLER;\n },\n },\n serialize() {\n return PROMISE_TO_ABORT_SIGNAL.toString();\n },\n deserialize() {\n return PROMISE_TO_ABORT_SIGNAL;\n },\n});\n\nconst AbortSignalPlugin = /* @__PURE__ */ createPlugin<\n AbortSignal,\n { reason?: SerovalNode; controller?: SerovalNode; factory?: SerovalNode }\n>({\n tag: 'seroval-plugins/web/AbortSignal',\n extends: [AbortControllerFactoryPlugin],\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 reason: ctx.parse(value.reason),\n };\n }\n return {};\n },\n async async(value, ctx) {\n if (value.aborted) {\n return {\n reason: await ctx.parse(value.reason),\n };\n }\n const result = await abortSignalToPromise(value);\n return {\n reason: await ctx.parse(result),\n };\n },\n stream(value, ctx) {\n if (value.aborted) {\n return {\n reason: ctx.parse(value.reason),\n };\n }\n\n const promise = abortSignalToPromise(value);\n\n return {\n factory: ctx.parse(ABORT_CONTROLLER),\n controller: ctx.parse(promise),\n };\n },\n },\n serialize(node, ctx) {\n if (node.reason) {\n return 'AbortSignal.abort(' + ctx.serialize(node.reason) + ')';\n }\n if (node.controller && node.factory) {\n return (\n '(' +\n ctx.serialize(node.factory) +\n ')(' +\n ctx.serialize(node.controller) +\n ').signal'\n );\n }\n return '(new AbortController).signal';\n },\n deserialize(node, ctx) {\n if (node.reason) {\n return AbortSignal.abort(ctx.deserialize(node.reason));\n }\n if (node.controller) {\n return PROMISE_TO_ABORT_SIGNAL(ctx.deserialize(node.controller)).signal;\n }\n const controller = new AbortController();\n return controller.signal;\n },\n});\n\nexport default AbortSignalPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ntype 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\ntype 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\ntype 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\ntype 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\ntype 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 instance.forEach((value, key) => {\n items.push([key, value]);\n });\n return items;\n}\n\nconst FORM_DATA_FACTORY = {};\n\nconst FORM_DATA_FACTORY_CONSTRUCTOR = (\n e: [key: string, value: FormDataEntryValue][],\n f = new FormData(),\n i = 0,\n s = e.length,\n t?: [key: string, value: FormDataEntryValue],\n) => {\n for (; i < s; i++) {\n t = e[i];\n f.append(t[0], t[1]);\n }\n return f;\n};\n\nconst FormDataFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/FormDataFactory',\n test(value) {\n return value === FORM_DATA_FACTORY;\n },\n parse: {\n sync() {\n return FORM_DATA_FACTORY;\n },\n async async() {\n return await Promise.resolve(FORM_DATA_FACTORY);\n },\n stream() {\n return FORM_DATA_FACTORY;\n },\n },\n serialize() {\n return FORM_DATA_FACTORY_CONSTRUCTOR.toString();\n },\n deserialize() {\n return FORM_DATA_FACTORY;\n },\n});\n\ntype 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 return FORM_DATA_FACTORY_CONSTRUCTOR(\n ctx.deserialize(node.entries) as FormDataInit,\n );\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<\n Headers,\n { value: SerovalNode }\n>({\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 {\n value: ctx.parse(convertHeaders(value)),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(convertHeaders(value)),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(convertHeaders(value)),\n };\n },\n },\n serialize(node, ctx) {\n return 'new Headers(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new Headers(ctx.deserialize(node.value) as HeadersInit);\n },\n});\n\nexport default HeadersPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\n\ntype 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<ArrayBuffer>,\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 READABLE_STREAM_FACTORY_CONSTRUCTOR = (stream: Stream<unknown>) =>\n new ReadableStream({\n start: controller => {\n stream.on({\n next: value => {\n try {\n controller.enqueue(value);\n } catch (_error) {\n // no-op\n }\n },\n throw: value => {\n controller.error(value);\n },\n return: () => {\n try {\n controller.close();\n } catch (_error) {\n // no-op\n }\n },\n });\n },\n });\n\nconst ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({\n tag: 'seroval-plugins/web/ReadableStreamFactory',\n test(value) {\n return value === READABLE_STREAM_FACTORY;\n },\n parse: {\n sync() {\n return READABLE_STREAM_FACTORY;\n },\n async async() {\n return await Promise.resolve(READABLE_STREAM_FACTORY);\n },\n stream() {\n return READABLE_STREAM_FACTORY;\n },\n },\n serialize() {\n return READABLE_STREAM_FACTORY_CONSTRUCTOR.toString();\n },\n deserialize() {\n return READABLE_STREAM_FACTORY;\n },\n});\n\nasync function drainStream<T>(\n stream: Stream<T | undefined>,\n reader: ReadableStreamDefaultReader<T>,\n): Promise<void> {\n try {\n const result = await reader.read();\n if (result.done) {\n stream.return(result.value);\n reader.releaseLock();\n } else {\n stream.next(result.value);\n await drainStream(stream, reader);\n }\n } catch (error) {\n stream.throw(error);\n }\n}\n\nfunction cleanupStream<T>(reader: ReadableStreamDefaultReader<T>): void {\n reader.cancel().catch(() => {\n // no-op\n });\n reader.releaseLock();\n}\n\nfunction toStream<T>(\n value: ReadableStream<T>,\n): [Stream<T | undefined>, () => void] {\n const stream = createStream<T | undefined>();\n\n const reader = value.getReader();\n\n const cleanup = cleanupStream.bind(null, reader);\n\n drainStream(stream, reader).catch(cleanup);\n\n return [stream, cleanup];\n}\n\ntype 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)[0]),\n };\n },\n stream(value, ctx) {\n const [stream, cleanup] = toStream(value);\n ctx.addCleanup(cleanup);\n return {\n factory: ctx.parse(READABLE_STREAM_FACTORY),\n stream: ctx.parse(stream),\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 READABLE_STREAM_FACTORY_CONSTRUCTOR(stream);\n },\n});\n\nexport default ReadableStreamPlugin;\n", "import type { SerovalNode } from 'seroval';\nimport { createPlugin } from 'seroval';\nimport HeadersPlugin from './headers';\nimport ReadableStreamPlugin from './readable-stream';\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\ntype 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 && !value.bodyUsed\n ? await value.clone().arrayBuffer()\n : null,\n ),\n ),\n };\n },\n stream(value, ctx) {\n return {\n url: ctx.parse(value.url),\n options: ctx.parse(\n createRequestOptions(\n value,\n value.body && !value.bodyUsed ? value.clone().body : null,\n ),\n ),\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 HeadersPlugin from './headers';\nimport ReadableStreamPlugin from './readable-stream';\n\nfunction createResponseOptions(current: Response): ResponseInit {\n return {\n headers: current.headers,\n status: current.status,\n statusText: current.statusText,\n };\n}\n\ntype 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 && !value.bodyUsed\n ? await value.clone().arrayBuffer()\n : null,\n ),\n options: await ctx.parse(createResponseOptions(value)),\n };\n },\n stream(value, ctx) {\n return {\n body: ctx.parse(\n value.body && !value.bodyUsed ? value.clone().body : null,\n ),\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, { value: 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 {\n value: ctx.parse(value.href),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(value.href),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(value.href),\n };\n },\n },\n serialize(node, ctx) {\n return 'new URL(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new URL(ctx.deserialize(node.value) 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 { value: 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 {\n value: ctx.parse(value.toString()),\n };\n },\n async async(value, ctx) {\n return {\n value: await ctx.parse(value.toString()),\n };\n },\n stream(value, ctx) {\n return {\n value: ctx.parse(value.toString()),\n };\n },\n },\n serialize(node, ctx) {\n return 'new URLSearchParams(' + ctx.serialize(node.value) + ')';\n },\n deserialize(node, ctx) {\n return new URLSearchParams(ctx.deserialize(node.value) as string);\n },\n});\n\nexport default URLSearchParamsPlugin;\n"],
5
+ "mappings": "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",
6
6
  "names": ["createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin", "createPlugin"]
7
7
  }
@@ -1 +1 @@
1
- import{createPlugin as b}from"seroval";var u=e=>{let r=new AbortController,a=r.abort.bind(r);return e.then(a,a),r};function E(e){e(this.reason)}function D(e){this.addEventListener("abort",E.bind(this,e),{once:!0})}function c(e){return new Promise(D.bind(e))}var i={},F=b({tag:"seroval-plugins/web/AbortControllerFactoryPlugin",test(e){return e===i},parse:{sync(){return i},async async(){return await Promise.resolve(i)},stream(){return i}},serialize(){return u.toString()},deserialize(){return u}}),A=b({tag:"seroval-plugins/web/AbortSignal",extends:[F],test(e){return typeof AbortSignal=="undefined"?!1:e instanceof AbortSignal},parse:{sync(e,r){return e.aborted?{reason:r.parse(e.reason)}:{}},async async(e,r){if(e.aborted)return{reason:await r.parse(e.reason)};let a=await c(e);return{reason:await r.parse(a)}},stream(e,r){if(e.aborted)return{reason:r.parse(e.reason)};let a=c(e);return{factory:r.parse(i),controller:r.parse(a)}}},serialize(e,r){return e.reason?"AbortSignal.abort("+r.serialize(e.reason)+")":e.controller&&e.factory?"("+r.serialize(e.factory)+")("+r.serialize(e.controller)+").signal":"(new AbortController).signal"},deserialize(e,r){return e.reason?AbortSignal.abort(r.deserialize(e.reason)):e.controller?u(r.deserialize(e.controller)).signal:new AbortController().signal}}),O=A;import{createPlugin as C}from"seroval";var I=C({tag:"seroval-plugins/web/Blob",test(e){return typeof Blob=="undefined"?!1:e instanceof Blob},parse:{async async(e,r){return{type:await r.parse(e.type),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return"new Blob(["+r.serialize(e.buffer)+"],{type:"+r.serialize(e.type)+"})"},deserialize(e,r){return new Blob([r.deserialize(e.buffer)],{type:r.deserialize(e.type)})}}),B=I;import{createPlugin as T}from"seroval";function d(e){return{detail:e.detail,bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var U=T({tag:"seroval-plugins/web/CustomEvent",test(e){return typeof CustomEvent=="undefined"?!1:e instanceof CustomEvent},parse:{sync(e,r){return{type:r.parse(e.type),options:r.parse(d(e))}},async async(e,r){return{type:await r.parse(e.type),options:await r.parse(d(e))}},stream(e,r){return{type:r.parse(e.type),options:r.parse(d(e))}}},serialize(e,r){return"new CustomEvent("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new CustomEvent(r.deserialize(e.type),r.deserialize(e.options))}}),L=U;import{createPlugin as M}from"seroval";var _=M({tag:"seroval-plugins/web/DOMException",test(e){return typeof DOMException=="undefined"?!1:e instanceof DOMException},parse:{sync(e,r){return{name:r.parse(e.name),message:r.parse(e.message)}},async async(e,r){return{name:await r.parse(e.name),message:await r.parse(e.message)}},stream(e,r){return{name:r.parse(e.name),message:r.parse(e.message)}}},serialize(e,r){return"new DOMException("+r.serialize(e.message)+","+r.serialize(e.name)+")"},deserialize(e,r){return new DOMException(r.deserialize(e.message),r.deserialize(e.name))}}),q=_;import{createPlugin as H}from"seroval";function f(e){return{bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var k=H({tag:"seroval-plugins/web/Event",test(e){return typeof Event=="undefined"?!1:e instanceof Event},parse:{sync(e,r){return{type:r.parse(e.type),options:r.parse(f(e))}},async async(e,r){return{type:await r.parse(e.type),options:await r.parse(f(e))}},stream(e,r){return{type:r.parse(e.type),options:r.parse(f(e))}}},serialize(e,r){return"new Event("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Event(r.deserialize(e.type),r.deserialize(e.options))}}),Y=k;import{createPlugin as j}from"seroval";var V=j({tag:"seroval-plugins/web/File",test(e){return typeof File=="undefined"?!1:e instanceof File},parse:{async async(e,r){return{name:await r.parse(e.name),options:await r.parse({type:e.type,lastModified:e.lastModified}),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return"new File(["+r.serialize(e.buffer)+"],"+r.serialize(e.name)+","+r.serialize(e.options)+")"},deserialize(e,r){return new File([r.deserialize(e.buffer)],r.deserialize(e.name),r.deserialize(e.options))}}),m=V;import{createPlugin as S}from"seroval";function y(e){let r=[];return e.forEach((a,t)=>{r.push([t,a])}),r}var o={},v=(e,r=new FormData,a=0,t=e.length,s)=>{for(;a<t;a++)s=e[a],r.append(s[0],s[1]);return r},G=S({tag:"seroval-plugins/web/FormDataFactory",test(e){return e===o},parse:{sync(){return o},async async(){return await Promise.resolve(o)},stream(){return o}},serialize(){return v.toString()},deserialize(){return o}}),J=S({tag:"seroval-plugins/web/FormData",extends:[m,G],test(e){return typeof FormData=="undefined"?!1:e instanceof FormData},parse:{sync(e,r){return{factory:r.parse(o),entries:r.parse(y(e))}},async async(e,r){return{factory:await r.parse(o),entries:await r.parse(y(e))}},stream(e,r){return{factory:r.parse(o),entries:r.parse(y(e))}}},serialize(e,r){return"("+r.serialize(e.factory)+")("+r.serialize(e.entries)+")"},deserialize(e,r){return v(r.deserialize(e.entries))}}),K=J;import{createPlugin as Q}from"seroval";function g(e){let r=[];return e.forEach((a,t)=>{r.push([t,a])}),r}var W=Q({tag:"seroval-plugins/web/Headers",test(e){return typeof Headers=="undefined"?!1:e instanceof Headers},parse:{sync(e,r){return{value:r.parse(g(e))}},async async(e,r){return{value:await r.parse(g(e))}},stream(e,r){return{value:r.parse(g(e))}}},serialize(e,r){return"new Headers("+r.serialize(e.value)+")"},deserialize(e,r){return new Headers(r.deserialize(e.value))}}),l=W;import{createPlugin as X}from"seroval";var Z=X({tag:"seroval-plugins/web/ImageData",test(e){return typeof ImageData=="undefined"?!1:e instanceof ImageData},parse:{sync(e,r){return{data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}},async async(e,r){return{data:await r.parse(e.data),width:await r.parse(e.width),height:await r.parse(e.height),options:await r.parse({colorSpace:e.colorSpace})}},stream(e,r){return{data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}}},serialize(e,r){return"new ImageData("+r.serialize(e.data)+","+r.serialize(e.width)+","+r.serialize(e.height)+","+r.serialize(e.options)+")"},deserialize(e,r){return new ImageData(r.deserialize(e.data),r.deserialize(e.width),r.deserialize(e.height),r.deserialize(e.options))}}),$=Z;import{createPlugin as z,createStream as R}from"seroval";var n={},P=e=>new ReadableStream({start:r=>{e.on({next:a=>{try{r.enqueue(a)}catch(t){}},throw:a=>{r.error(a)},return:()=>{try{r.close()}catch(a){}}})}}),x=z({tag:"seroval-plugins/web/ReadableStreamFactory",test(e){return e===n},parse:{sync(){return n},async async(){return await Promise.resolve(n)},stream(){return n}},serialize(){return P.toString()},deserialize(){return n}});function w(e){let r=R(),a=e.getReader();async function t(){try{let s=await a.read();s.done?r.return(s.value):(r.next(s.value),await t())}catch(s){r.throw(s)}}return t().catch(()=>{}),r}var ee=z({tag:"seroval/plugins/web/ReadableStream",extends:[x],test(e){return typeof ReadableStream=="undefined"?!1:e instanceof ReadableStream},parse:{sync(e,r){return{factory:r.parse(n),stream:r.parse(R())}},async async(e,r){return{factory:await r.parse(n),stream:await r.parse(w(e))}},stream(e,r){return{factory:r.parse(n),stream:r.parse(w(e))}}},serialize(e,r){return"("+r.serialize(e.factory)+")("+r.serialize(e.stream)+")"},deserialize(e,r){let a=r.deserialize(e.stream);return P(a)}}),p=ee;import{createPlugin as re}from"seroval";function N(e,r){return{body:r,cache:e.cache,credentials:e.credentials,headers:e.headers,integrity:e.integrity,keepalive:e.keepalive,method:e.method,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var ae=re({tag:"seroval-plugins/web/Request",extends:[p,l],test(e){return typeof Request=="undefined"?!1:e instanceof Request},parse:{async async(e,r){return{url:await r.parse(e.url),options:await r.parse(N(e,e.body&&!e.bodyUsed?await e.clone().arrayBuffer():null))}},stream(e,r){return{url:r.parse(e.url),options:r.parse(N(e,e.body&&!e.bodyUsed?e.clone().body:null))}}},serialize(e,r){return"new Request("+r.serialize(e.url)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Request(r.deserialize(e.url),r.deserialize(e.options))}}),te=ae;import{createPlugin as se}from"seroval";function h(e){return{headers:e.headers,status:e.status,statusText:e.statusText}}var oe=se({tag:"seroval-plugins/web/Response",extends:[p,l],test(e){return typeof Response=="undefined"?!1:e instanceof Response},parse:{async async(e,r){return{body:await r.parse(e.body&&!e.bodyUsed?await e.clone().arrayBuffer():null),options:await r.parse(h(e))}},stream(e,r){return{body:r.parse(e.body&&!e.bodyUsed?e.clone().body:null),options:r.parse(h(e))}}},serialize(e,r){return"new Response("+r.serialize(e.body)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Response(r.deserialize(e.body),r.deserialize(e.options))}}),ne=oe;import{createPlugin as ie}from"seroval";var le=ie({tag:"seroval-plugins/web/URL",test(e){return typeof URL=="undefined"?!1:e instanceof URL},parse:{sync(e,r){return{value:r.parse(e.href)}},async async(e,r){return{value:await r.parse(e.href)}},stream(e,r){return{value:r.parse(e.href)}}},serialize(e,r){return"new URL("+r.serialize(e.value)+")"},deserialize(e,r){return new URL(r.deserialize(e.value))}}),pe=le;import{createPlugin as ue}from"seroval";var de=ue({tag:"seroval-plugins/web/URLSearchParams",test(e){return typeof URLSearchParams=="undefined"?!1:e instanceof URLSearchParams},parse:{sync(e,r){return{value:r.parse(e.toString())}},async async(e,r){return{value:await r.parse(e.toString())}},stream(e,r){return{value:r.parse(e.toString())}}},serialize(e,r){return"new URLSearchParams("+r.serialize(e.value)+")"},deserialize(e,r){return new URLSearchParams(r.deserialize(e.value))}}),fe=de;export{O as AbortSignalPlugin,B as BlobPlugin,L as CustomEventPlugin,q as DOMExceptionPlugin,Y as EventPlugin,m as FilePlugin,K as FormDataPlugin,l as HeadersPlugin,$ as ImageDataPlugin,p as ReadableStreamPlugin,te as RequestPlugin,ne as ResponsePlugin,pe as URLPlugin,fe as URLSearchParamsPlugin};
1
+ import{createPlugin as b}from"seroval";var u=e=>{let r=new AbortController,a=r.abort.bind(r);return e.then(a,a),r};function D(e){e(this.reason)}function F(e){this.addEventListener("abort",D.bind(this,e),{once:!0})}function g(e){return new Promise(F.bind(e))}var n={},A=b({tag:"seroval-plugins/web/AbortControllerFactoryPlugin",test(e){return e===n},parse:{sync(){return n},async async(){return await Promise.resolve(n)},stream(){return n}},serialize(){return u.toString()},deserialize(){return u}}),C=b({tag:"seroval-plugins/web/AbortSignal",extends:[A],test(e){return typeof AbortSignal=="undefined"?!1:e instanceof AbortSignal},parse:{sync(e,r){return e.aborted?{reason:r.parse(e.reason)}:{}},async async(e,r){if(e.aborted)return{reason:await r.parse(e.reason)};let a=await g(e);return{reason:await r.parse(a)}},stream(e,r){if(e.aborted)return{reason:r.parse(e.reason)};let a=g(e);return{factory:r.parse(n),controller:r.parse(a)}}},serialize(e,r){return e.reason?"AbortSignal.abort("+r.serialize(e.reason)+")":e.controller&&e.factory?"("+r.serialize(e.factory)+")("+r.serialize(e.controller)+").signal":"(new AbortController).signal"},deserialize(e,r){return e.reason?AbortSignal.abort(r.deserialize(e.reason)):e.controller?u(r.deserialize(e.controller)).signal:new AbortController().signal}}),O=C;import{createPlugin as I}from"seroval";var T=I({tag:"seroval-plugins/web/Blob",test(e){return typeof Blob=="undefined"?!1:e instanceof Blob},parse:{async async(e,r){return{type:await r.parse(e.type),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return"new Blob(["+r.serialize(e.buffer)+"],{type:"+r.serialize(e.type)+"})"},deserialize(e,r){return new Blob([r.deserialize(e.buffer)],{type:r.deserialize(e.type)})}}),B=T;import{createPlugin as L}from"seroval";function d(e){return{detail:e.detail,bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var U=L({tag:"seroval-plugins/web/CustomEvent",test(e){return typeof CustomEvent=="undefined"?!1:e instanceof CustomEvent},parse:{sync(e,r){return{type:r.parse(e.type),options:r.parse(d(e))}},async async(e,r){return{type:await r.parse(e.type),options:await r.parse(d(e))}},stream(e,r){return{type:r.parse(e.type),options:r.parse(d(e))}}},serialize(e,r){return"new CustomEvent("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new CustomEvent(r.deserialize(e.type),r.deserialize(e.options))}}),M=U;import{createPlugin as _}from"seroval";var q=_({tag:"seroval-plugins/web/DOMException",test(e){return typeof DOMException=="undefined"?!1:e instanceof DOMException},parse:{sync(e,r){return{name:r.parse(e.name),message:r.parse(e.message)}},async async(e,r){return{name:await r.parse(e.name),message:await r.parse(e.message)}},stream(e,r){return{name:r.parse(e.name),message:r.parse(e.message)}}},serialize(e,r){return"new DOMException("+r.serialize(e.message)+","+r.serialize(e.name)+")"},deserialize(e,r){return new DOMException(r.deserialize(e.message),r.deserialize(e.name))}}),H=q;import{createPlugin as k}from"seroval";function f(e){return{bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed}}var Y=k({tag:"seroval-plugins/web/Event",test(e){return typeof Event=="undefined"?!1:e instanceof Event},parse:{sync(e,r){return{type:r.parse(e.type),options:r.parse(f(e))}},async async(e,r){return{type:await r.parse(e.type),options:await r.parse(f(e))}},stream(e,r){return{type:r.parse(e.type),options:r.parse(f(e))}}},serialize(e,r){return"new Event("+r.serialize(e.type)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Event(r.deserialize(e.type),r.deserialize(e.options))}}),j=Y;import{createPlugin as V}from"seroval";var G=V({tag:"seroval-plugins/web/File",test(e){return typeof File=="undefined"?!1:e instanceof File},parse:{async async(e,r){return{name:await r.parse(e.name),options:await r.parse({type:e.type,lastModified:e.lastModified}),buffer:await r.parse(await e.arrayBuffer())}}},serialize(e,r){return"new File(["+r.serialize(e.buffer)+"],"+r.serialize(e.name)+","+r.serialize(e.options)+")"},deserialize(e,r){return new File([r.deserialize(e.buffer)],r.deserialize(e.name),r.deserialize(e.options))}}),m=G;import{createPlugin as S}from"seroval";function y(e){let r=[];return e.forEach((a,t)=>{r.push([t,a])}),r}var s={},v=(e,r=new FormData,a=0,t=e.length,p)=>{for(;a<t;a++)p=e[a],r.append(p[0],p[1]);return r},J=S({tag:"seroval-plugins/web/FormDataFactory",test(e){return e===s},parse:{sync(){return s},async async(){return await Promise.resolve(s)},stream(){return s}},serialize(){return v.toString()},deserialize(){return s}}),K=S({tag:"seroval-plugins/web/FormData",extends:[m,J],test(e){return typeof FormData=="undefined"?!1:e instanceof FormData},parse:{sync(e,r){return{factory:r.parse(s),entries:r.parse(y(e))}},async async(e,r){return{factory:await r.parse(s),entries:await r.parse(y(e))}},stream(e,r){return{factory:r.parse(s),entries:r.parse(y(e))}}},serialize(e,r){return"("+r.serialize(e.factory)+")("+r.serialize(e.entries)+")"},deserialize(e,r){return v(r.deserialize(e.entries))}}),Q=K;import{createPlugin as W}from"seroval";function c(e){let r=[];return e.forEach((a,t)=>{r.push([t,a])}),r}var X=W({tag:"seroval-plugins/web/Headers",test(e){return typeof Headers=="undefined"?!1:e instanceof Headers},parse:{sync(e,r){return{value:r.parse(c(e))}},async async(e,r){return{value:await r.parse(c(e))}},stream(e,r){return{value:r.parse(c(e))}}},serialize(e,r){return"new Headers("+r.serialize(e.value)+")"},deserialize(e,r){return new Headers(r.deserialize(e.value))}}),i=X;import{createPlugin as Z}from"seroval";var $=Z({tag:"seroval-plugins/web/ImageData",test(e){return typeof ImageData=="undefined"?!1:e instanceof ImageData},parse:{sync(e,r){return{data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}},async async(e,r){return{data:await r.parse(e.data),width:await r.parse(e.width),height:await r.parse(e.height),options:await r.parse({colorSpace:e.colorSpace})}},stream(e,r){return{data:r.parse(e.data),width:r.parse(e.width),height:r.parse(e.height),options:r.parse({colorSpace:e.colorSpace})}}},serialize(e,r){return"new ImageData("+r.serialize(e.data)+","+r.serialize(e.width)+","+r.serialize(e.height)+","+r.serialize(e.options)+")"},deserialize(e,r){return new ImageData(r.deserialize(e.data),r.deserialize(e.width),r.deserialize(e.height),r.deserialize(e.options))}}),x=$;import{createPlugin as z,createStream as R}from"seroval";var o={},P=e=>new ReadableStream({start:r=>{e.on({next:a=>{try{r.enqueue(a)}catch(t){}},throw:a=>{r.error(a)},return:()=>{try{r.close()}catch(a){}}})}}),ee=z({tag:"seroval-plugins/web/ReadableStreamFactory",test(e){return e===o},parse:{sync(){return o},async async(){return await Promise.resolve(o)},stream(){return o}},serialize(){return P.toString()},deserialize(){return o}});async function N(e,r){try{let a=await r.read();a.done?(e.return(a.value),r.releaseLock()):(e.next(a.value),await N(e,r))}catch(a){e.throw(a)}}function re(e){e.cancel().catch(()=>{}),e.releaseLock()}function w(e){let r=R(),a=e.getReader(),t=re.bind(null,a);return N(r,a).catch(t),[r,t]}var ae=z({tag:"seroval/plugins/web/ReadableStream",extends:[ee],test(e){return typeof ReadableStream=="undefined"?!1:e instanceof ReadableStream},parse:{sync(e,r){return{factory:r.parse(o),stream:r.parse(R())}},async async(e,r){return{factory:await r.parse(o),stream:await r.parse(w(e)[0])}},stream(e,r){let[a,t]=w(e);return r.addCleanup(t),{factory:r.parse(o),stream:r.parse(a)}}},serialize(e,r){return"("+r.serialize(e.factory)+")("+r.serialize(e.stream)+")"},deserialize(e,r){let a=r.deserialize(e.stream);return P(a)}}),l=ae;import{createPlugin as te}from"seroval";function h(e,r){return{body:r,cache:e.cache,credentials:e.credentials,headers:e.headers,integrity:e.integrity,keepalive:e.keepalive,method:e.method,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var se=te({tag:"seroval-plugins/web/Request",extends:[l,i],test(e){return typeof Request=="undefined"?!1:e instanceof Request},parse:{async async(e,r){return{url:await r.parse(e.url),options:await r.parse(h(e,e.body&&!e.bodyUsed?await e.clone().arrayBuffer():null))}},stream(e,r){return{url:r.parse(e.url),options:r.parse(h(e,e.body&&!e.bodyUsed?e.clone().body:null))}}},serialize(e,r){return"new Request("+r.serialize(e.url)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Request(r.deserialize(e.url),r.deserialize(e.options))}}),oe=se;import{createPlugin as ne}from"seroval";function E(e){return{headers:e.headers,status:e.status,statusText:e.statusText}}var ie=ne({tag:"seroval-plugins/web/Response",extends:[l,i],test(e){return typeof Response=="undefined"?!1:e instanceof Response},parse:{async async(e,r){return{body:await r.parse(e.body&&!e.bodyUsed?await e.clone().arrayBuffer():null),options:await r.parse(E(e))}},stream(e,r){return{body:r.parse(e.body&&!e.bodyUsed?e.clone().body:null),options:r.parse(E(e))}}},serialize(e,r){return"new Response("+r.serialize(e.body)+","+r.serialize(e.options)+")"},deserialize(e,r){return new Response(r.deserialize(e.body),r.deserialize(e.options))}}),le=ie;import{createPlugin as pe}from"seroval";var ue=pe({tag:"seroval-plugins/web/URL",test(e){return typeof URL=="undefined"?!1:e instanceof URL},parse:{sync(e,r){return{value:r.parse(e.href)}},async async(e,r){return{value:await r.parse(e.href)}},stream(e,r){return{value:r.parse(e.href)}}},serialize(e,r){return"new URL("+r.serialize(e.value)+")"},deserialize(e,r){return new URL(r.deserialize(e.value))}}),de=ue;import{createPlugin as fe}from"seroval";var me=fe({tag:"seroval-plugins/web/URLSearchParams",test(e){return typeof URLSearchParams=="undefined"?!1:e instanceof URLSearchParams},parse:{sync(e,r){return{value:r.parse(e.toString())}},async async(e,r){return{value:await r.parse(e.toString())}},stream(e,r){return{value:r.parse(e.toString())}}},serialize(e,r){return"new URLSearchParams("+r.serialize(e.value)+")"},deserialize(e,r){return new URLSearchParams(r.deserialize(e.value))}}),ye=me;export{O as AbortSignalPlugin,B as BlobPlugin,M as CustomEventPlugin,H as DOMExceptionPlugin,j as EventPlugin,m as FilePlugin,Q as FormDataPlugin,i as HeadersPlugin,x as ImageDataPlugin,l as ReadableStreamPlugin,oe as RequestPlugin,le as ResponsePlugin,de as URLPlugin,ye as URLSearchParamsPlugin};
@@ -1 +1 @@
1
- {"version":3,"file":"readable-stream.d.ts","sourceRoot":"","sources":["../../../web/readable-stream.ts"],"names":[],"mappings":"AAqFA,QAAA,MAAM,oBAAoB,KA6CxB,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"readable-stream.d.ts","sourceRoot":"","sources":["../../../web/readable-stream.ts"],"names":[],"mappings":"AAkGA,QAAA,MAAM,oBAAoB,KA+CxB,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "seroval-plugins",
3
3
  "type": "module",
4
- "version": "1.5.3",
4
+ "version": "1.5.5",
5
5
  "files": [
6
6
  "dist",
7
7
  "web"
@@ -17,7 +17,7 @@
17
17
  "@types/node": "^24.10.0",
18
18
  "@vitest/ui": "^4.0.6",
19
19
  "pridepack": "2.6.4",
20
- "seroval": "1.5.3",
20
+ "seroval": "1.5.5",
21
21
  "tslib": "^2.8.1",
22
22
  "typescript": "^5.9.3",
23
23
  "vitest": "^4.0.6"
@@ -52,30 +52,43 @@ const ReadableStreamFactoryPlugin = /* @__PURE__ */ createPlugin<object, {}>({
52
52
  },
53
53
  });
54
54
 
55
- function toStream<T>(value: ReadableStream<T>): Stream<T | undefined> {
55
+ async function drainStream<T>(
56
+ stream: Stream<T | undefined>,
57
+ reader: ReadableStreamDefaultReader<T>,
58
+ ): Promise<void> {
59
+ try {
60
+ const result = await reader.read();
61
+ if (result.done) {
62
+ stream.return(result.value);
63
+ reader.releaseLock();
64
+ } else {
65
+ stream.next(result.value);
66
+ await drainStream(stream, reader);
67
+ }
68
+ } catch (error) {
69
+ stream.throw(error);
70
+ }
71
+ }
72
+
73
+ function cleanupStream<T>(reader: ReadableStreamDefaultReader<T>): void {
74
+ reader.cancel().catch(() => {
75
+ // no-op
76
+ });
77
+ reader.releaseLock();
78
+ }
79
+
80
+ function toStream<T>(
81
+ value: ReadableStream<T>,
82
+ ): [Stream<T | undefined>, () => void] {
56
83
  const stream = createStream<T | undefined>();
57
84
 
58
85
  const reader = value.getReader();
59
86
 
60
- async function push(): Promise<void> {
61
- try {
62
- const result = await reader.read();
63
- if (result.done) {
64
- stream.return(result.value);
65
- } else {
66
- stream.next(result.value);
67
- await push();
68
- }
69
- } catch (error) {
70
- stream.throw(error);
71
- }
72
- }
87
+ const cleanup = cleanupStream.bind(null, reader);
73
88
 
74
- push().catch(() => {
75
- //
76
- });
89
+ drainStream(stream, reader).catch(cleanup);
77
90
 
78
- return stream;
91
+ return [stream, cleanup];
79
92
  }
80
93
 
81
94
  type ReadableStreamNode = {
@@ -105,13 +118,15 @@ const ReadableStreamPlugin = /* @__PURE__ */ createPlugin<
105
118
  async async(value, ctx) {
106
119
  return {
107
120
  factory: await ctx.parse(READABLE_STREAM_FACTORY),
108
- stream: await ctx.parse(toStream(value)),
121
+ stream: await ctx.parse(toStream(value)[0]),
109
122
  };
110
123
  },
111
124
  stream(value, ctx) {
125
+ const [stream, cleanup] = toStream(value);
126
+ ctx.addCleanup(cleanup);
112
127
  return {
113
128
  factory: ctx.parse(READABLE_STREAM_FACTORY),
114
- stream: ctx.parse(toStream(value)),
129
+ stream: ctx.parse(stream),
115
130
  };
116
131
  },
117
132
  },