search_interface/node_modules/.cache/babel-loader/f4be2f68ece56781354616da31bb8f7200680ed423957f00e078d981c5fb69a1.json
2025-04-10 18:12:05 +09:00

1 line
64 KiB
JSON

{"ast":null,"code":"// src/utils.ts\nvar HOLE = -1;\nvar NAN = -2;\nvar NEGATIVE_INFINITY = -3;\nvar NEGATIVE_ZERO = -4;\nvar NULL = -5;\nvar POSITIVE_INFINITY = -6;\nvar UNDEFINED = -7;\nvar TYPE_BIGINT = \"B\";\nvar TYPE_DATE = \"D\";\nvar TYPE_ERROR = \"E\";\nvar TYPE_MAP = \"M\";\nvar TYPE_NULL_OBJECT = \"N\";\nvar TYPE_PROMISE = \"P\";\nvar TYPE_REGEXP = \"R\";\nvar TYPE_SET = \"S\";\nvar TYPE_SYMBOL = \"Y\";\nvar TYPE_URL = \"U\";\nvar TYPE_PREVIOUS_RESOLVED = \"Z\";\nvar Deferred = class {\n promise;\n resolve;\n reject;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n};\nfunction createLineSplittingTransform() {\n const decoder = new TextDecoder();\n let leftover = \"\";\n return new TransformStream({\n transform(chunk, controller) {\n const str = decoder.decode(chunk, {\n stream: true\n });\n const parts = (leftover + str).split(\"\\n\");\n leftover = parts.pop() || \"\";\n for (const part of parts) {\n controller.enqueue(part);\n }\n },\n flush(controller) {\n if (leftover) {\n controller.enqueue(leftover);\n }\n }\n });\n}\n\n// src/flatten.ts\nfunction flatten(input) {\n const {\n indices\n } = this;\n const existing = indices.get(input);\n if (existing) return [existing];\n if (input === void 0) return UNDEFINED;\n if (input === null) return NULL;\n if (Number.isNaN(input)) return NAN;\n if (input === Number.POSITIVE_INFINITY) return POSITIVE_INFINITY;\n if (input === Number.NEGATIVE_INFINITY) return NEGATIVE_INFINITY;\n if (input === 0 && 1 / input < 0) return NEGATIVE_ZERO;\n const index = this.index++;\n indices.set(input, index);\n stringify.call(this, input, index);\n return index;\n}\nfunction stringify(input, index) {\n const {\n deferred,\n plugins,\n postPlugins\n } = this;\n const str = this.stringified;\n const stack = [[input, index]];\n while (stack.length > 0) {\n const [input2, index2] = stack.pop();\n const partsForObj = obj => Object.keys(obj).map(k => `\"_${flatten.call(this, k)}\":${flatten.call(this, obj[k])}`).join(\",\");\n let error = null;\n switch (typeof input2) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n str[index2] = JSON.stringify(input2);\n break;\n case \"bigint\":\n str[index2] = `[\"${TYPE_BIGINT}\",\"${input2}\"]`;\n break;\n case \"symbol\":\n {\n const keyFor = Symbol.keyFor(input2);\n if (!keyFor) {\n error = new Error(\"Cannot encode symbol unless created with Symbol.for()\");\n } else {\n str[index2] = `[\"${TYPE_SYMBOL}\",${JSON.stringify(keyFor)}]`;\n }\n break;\n }\n case \"object\":\n {\n if (!input2) {\n str[index2] = `${NULL}`;\n break;\n }\n const isArray = Array.isArray(input2);\n let pluginHandled = false;\n if (!isArray && plugins) {\n for (const plugin of plugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map(v => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n let result = isArray ? \"[\" : \"{\";\n if (isArray) {\n for (let i = 0; i < input2.length; i++) result += (i ? \",\" : \"\") + (i in input2 ? flatten.call(this, input2[i]) : HOLE);\n str[index2] = `${result}]`;\n } else if (input2 instanceof Date) {\n str[index2] = `[\"${TYPE_DATE}\",${input2.getTime()}]`;\n } else if (input2 instanceof URL) {\n str[index2] = `[\"${TYPE_URL}\",${JSON.stringify(input2.href)}]`;\n } else if (input2 instanceof RegExp) {\n str[index2] = `[\"${TYPE_REGEXP}\",${JSON.stringify(input2.source)},${JSON.stringify(input2.flags)}]`;\n } else if (input2 instanceof Set) {\n if (input2.size > 0) {\n str[index2] = `[\"${TYPE_SET}\",${[...input2].map(val => flatten.call(this, val)).join(\",\")}]`;\n } else {\n str[index2] = `[\"${TYPE_SET}\"]`;\n }\n } else if (input2 instanceof Map) {\n if (input2.size > 0) {\n str[index2] = `[\"${TYPE_MAP}\",${[...input2].flatMap(([k, v]) => [flatten.call(this, k), flatten.call(this, v)]).join(\",\")}]`;\n } else {\n str[index2] = `[\"${TYPE_MAP}\"]`;\n }\n } else if (input2 instanceof Promise) {\n str[index2] = `[\"${TYPE_PROMISE}\",${index2}]`;\n deferred[index2] = input2;\n } else if (input2 instanceof Error) {\n str[index2] = `[\"${TYPE_ERROR}\",${JSON.stringify(input2.message)}`;\n if (input2.name !== \"Error\") {\n str[index2] += `,${JSON.stringify(input2.name)}`;\n }\n str[index2] += \"]\";\n } else if (Object.getPrototypeOf(input2) === null) {\n str[index2] = `[\"${TYPE_NULL_OBJECT}\",{${partsForObj(input2)}}]`;\n } else if (isPlainObject(input2)) {\n str[index2] = `{${partsForObj(input2)}}`;\n } else {\n error = new Error(\"Cannot encode object with prototype\");\n }\n }\n break;\n }\n default:\n {\n const isArray = Array.isArray(input2);\n let pluginHandled = false;\n if (!isArray && plugins) {\n for (const plugin of plugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map(v => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n error = new Error(\"Cannot encode function or unexpected type\");\n }\n }\n }\n if (error) {\n let pluginHandled = false;\n if (postPlugins) {\n for (const plugin of postPlugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map(v => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n throw error;\n }\n }\n }\n}\nvar objectProtoNames = Object.getOwnPropertyNames(Object.prototype).sort().join(\"\\0\");\nfunction isPlainObject(thing) {\n const proto = Object.getPrototypeOf(thing);\n return proto === Object.prototype || proto === null || Object.getOwnPropertyNames(proto).sort().join(\"\\0\") === objectProtoNames;\n}\n\n// src/unflatten.ts\nvar globalObj = typeof window !== \"undefined\" ? window : typeof globalThis !== \"undefined\" ? globalThis : void 0;\nfunction unflatten(parsed) {\n const {\n hydrated,\n values\n } = this;\n if (typeof parsed === \"number\") return hydrate.call(this, parsed);\n if (!Array.isArray(parsed) || !parsed.length) throw new SyntaxError();\n const startIndex = values.length;\n for (const value of parsed) {\n values.push(value);\n }\n hydrated.length = values.length;\n return hydrate.call(this, startIndex);\n}\nfunction hydrate(index) {\n const {\n hydrated,\n values,\n deferred,\n plugins\n } = this;\n let result;\n const stack = [[index, v => {\n result = v;\n }]];\n let postRun = [];\n while (stack.length > 0) {\n const [index2, set] = stack.pop();\n switch (index2) {\n case UNDEFINED:\n set(void 0);\n continue;\n case NULL:\n set(null);\n continue;\n case NAN:\n set(NaN);\n continue;\n case POSITIVE_INFINITY:\n set(Infinity);\n continue;\n case NEGATIVE_INFINITY:\n set(-Infinity);\n continue;\n case NEGATIVE_ZERO:\n set(-0);\n continue;\n }\n if (hydrated[index2]) {\n set(hydrated[index2]);\n continue;\n }\n const value = values[index2];\n if (!value || typeof value !== \"object\") {\n hydrated[index2] = value;\n set(value);\n continue;\n }\n if (Array.isArray(value)) {\n if (typeof value[0] === \"string\") {\n const [type, b, c] = value;\n switch (type) {\n case TYPE_DATE:\n set(hydrated[index2] = new Date(b));\n continue;\n case TYPE_URL:\n set(hydrated[index2] = new URL(b));\n continue;\n case TYPE_BIGINT:\n set(hydrated[index2] = BigInt(b));\n continue;\n case TYPE_REGEXP:\n set(hydrated[index2] = new RegExp(b, c));\n continue;\n case TYPE_SYMBOL:\n set(hydrated[index2] = Symbol.for(b));\n continue;\n case TYPE_SET:\n const newSet = /* @__PURE__ */new Set();\n hydrated[index2] = newSet;\n for (let i = 1; i < value.length; i++) stack.push([value[i], v => {\n newSet.add(v);\n }]);\n set(newSet);\n continue;\n case TYPE_MAP:\n const map = /* @__PURE__ */new Map();\n hydrated[index2] = map;\n for (let i = 1; i < value.length; i += 2) {\n const r = [];\n stack.push([value[i + 1], v => {\n r[1] = v;\n }]);\n stack.push([value[i], k => {\n r[0] = k;\n }]);\n postRun.push(() => {\n map.set(r[0], r[1]);\n });\n }\n set(map);\n continue;\n case TYPE_NULL_OBJECT:\n const obj = /* @__PURE__ */Object.create(null);\n hydrated[index2] = obj;\n for (const key of Object.keys(b).reverse()) {\n const r = [];\n stack.push([b[key], v => {\n r[1] = v;\n }]);\n stack.push([Number(key.slice(1)), k => {\n r[0] = k;\n }]);\n postRun.push(() => {\n obj[r[0]] = r[1];\n });\n }\n set(obj);\n continue;\n case TYPE_PROMISE:\n if (hydrated[b]) {\n set(hydrated[index2] = hydrated[b]);\n } else {\n const d = new Deferred();\n deferred[b] = d;\n set(hydrated[index2] = d.promise);\n }\n continue;\n case TYPE_ERROR:\n const [, message, errorType] = value;\n let error = errorType && globalObj && globalObj[errorType] ? new globalObj[errorType](message) : new Error(message);\n hydrated[index2] = error;\n set(error);\n continue;\n case TYPE_PREVIOUS_RESOLVED:\n set(hydrated[index2] = hydrated[b]);\n continue;\n default:\n if (Array.isArray(plugins)) {\n const r = [];\n const vals = value.slice(1);\n for (let i = 0; i < vals.length; i++) {\n const v = vals[i];\n stack.push([v, v2 => {\n r[i] = v2;\n }]);\n }\n postRun.push(() => {\n for (const plugin of plugins) {\n const result2 = plugin(value[0], ...r);\n if (result2) {\n set(hydrated[index2] = result2.value);\n return;\n }\n }\n throw new SyntaxError();\n });\n continue;\n }\n throw new SyntaxError();\n }\n } else {\n const array = [];\n hydrated[index2] = array;\n for (let i = 0; i < value.length; i++) {\n const n = value[i];\n if (n !== HOLE) {\n stack.push([n, v => {\n array[i] = v;\n }]);\n }\n }\n set(array);\n continue;\n }\n } else {\n const object = {};\n hydrated[index2] = object;\n for (const key of Object.keys(value).reverse()) {\n const r = [];\n stack.push([value[key], v => {\n r[1] = v;\n }]);\n stack.push([Number(key.slice(1)), k => {\n r[0] = k;\n }]);\n postRun.push(() => {\n object[r[0]] = r[1];\n });\n }\n set(object);\n continue;\n }\n }\n while (postRun.length > 0) {\n postRun.pop()();\n }\n return result;\n}\n\n// src/turbo-stream.ts\nasync function decode(readable, options) {\n const {\n plugins\n } = options ?? {};\n const done = new Deferred();\n const reader = readable.pipeThrough(createLineSplittingTransform()).getReader();\n const decoder = {\n values: [],\n hydrated: [],\n deferred: {},\n plugins\n };\n const decoded = await decodeInitial.call(decoder, reader);\n let donePromise = done.promise;\n if (decoded.done) {\n done.resolve();\n } else {\n donePromise = decodeDeferred.call(decoder, reader).then(done.resolve).catch(reason => {\n for (const deferred of Object.values(decoder.deferred)) {\n deferred.reject(reason);\n }\n done.reject(reason);\n });\n }\n return {\n done: donePromise.then(() => reader.closed),\n value: decoded.value\n };\n}\nasync function decodeInitial(reader) {\n const read = await reader.read();\n if (!read.value) {\n throw new SyntaxError();\n }\n let line;\n try {\n line = JSON.parse(read.value);\n } catch (reason) {\n throw new SyntaxError();\n }\n return {\n done: read.done,\n value: unflatten.call(this, line)\n };\n}\nasync function decodeDeferred(reader) {\n let read = await reader.read();\n while (!read.done) {\n if (!read.value) continue;\n const line = read.value;\n switch (line[0]) {\n case TYPE_PROMISE:\n {\n const colonIndex = line.indexOf(\":\");\n const deferredId = Number(line.slice(1, colonIndex));\n const deferred = this.deferred[deferredId];\n if (!deferred) {\n throw new Error(`Deferred ID ${deferredId} not found in stream`);\n }\n const lineData = line.slice(colonIndex + 1);\n let jsonLine;\n try {\n jsonLine = JSON.parse(lineData);\n } catch (reason) {\n throw new SyntaxError();\n }\n const value = unflatten.call(this, jsonLine);\n deferred.resolve(value);\n break;\n }\n case TYPE_ERROR:\n {\n const colonIndex = line.indexOf(\":\");\n const deferredId = Number(line.slice(1, colonIndex));\n const deferred = this.deferred[deferredId];\n if (!deferred) {\n throw new Error(`Deferred ID ${deferredId} not found in stream`);\n }\n const lineData = line.slice(colonIndex + 1);\n let jsonLine;\n try {\n jsonLine = JSON.parse(lineData);\n } catch (reason) {\n throw new SyntaxError();\n }\n const value = unflatten.call(this, jsonLine);\n deferred.reject(value);\n break;\n }\n default:\n throw new SyntaxError();\n }\n read = await reader.read();\n }\n}\nfunction encode(input, options) {\n const {\n plugins,\n postPlugins,\n signal\n } = options ?? {};\n const encoder = {\n deferred: {},\n index: 0,\n indices: /* @__PURE__ */new Map(),\n stringified: [],\n plugins,\n postPlugins,\n signal\n };\n const textEncoder = new TextEncoder();\n let lastSentIndex = 0;\n const readable = new ReadableStream({\n async start(controller) {\n const id = flatten.call(encoder, input);\n if (Array.isArray(id)) {\n throw new Error(\"This should never happen\");\n }\n if (id < 0) {\n controller.enqueue(textEncoder.encode(`${id}\n`));\n } else {\n controller.enqueue(textEncoder.encode(`[${encoder.stringified.join(\",\")}]\n`));\n lastSentIndex = encoder.stringified.length - 1;\n }\n const seenPromises = /* @__PURE__ */new WeakSet();\n while (Object.keys(encoder.deferred).length > 0) {\n for (const [deferredId, deferred] of Object.entries(encoder.deferred)) {\n if (seenPromises.has(deferred)) continue;\n seenPromises.add(encoder.deferred[Number(deferredId)] = raceSignal(deferred, encoder.signal).then(resolved => {\n const id2 = flatten.call(encoder, resolved);\n if (Array.isArray(id2)) {\n controller.enqueue(textEncoder.encode(`${TYPE_PROMISE}${deferredId}:[[\"${TYPE_PREVIOUS_RESOLVED}\",${id2[0]}]]\n`));\n encoder.index++;\n lastSentIndex++;\n } else if (id2 < 0) {\n controller.enqueue(textEncoder.encode(`${TYPE_PROMISE}${deferredId}:${id2}\n`));\n } else {\n const values = encoder.stringified.slice(lastSentIndex + 1).join(\",\");\n controller.enqueue(textEncoder.encode(`${TYPE_PROMISE}${deferredId}:[${values}]\n`));\n lastSentIndex = encoder.stringified.length - 1;\n }\n }, reason => {\n if (!reason || typeof reason !== \"object\" || !(reason instanceof Error)) {\n reason = new Error(\"An unknown error occurred\");\n }\n const id2 = flatten.call(encoder, reason);\n if (Array.isArray(id2)) {\n controller.enqueue(textEncoder.encode(`${TYPE_ERROR}${deferredId}:[[\"${TYPE_PREVIOUS_RESOLVED}\",${id2[0]}]]\n`));\n encoder.index++;\n lastSentIndex++;\n } else if (id2 < 0) {\n controller.enqueue(textEncoder.encode(`${TYPE_ERROR}${deferredId}:${id2}\n`));\n } else {\n const values = encoder.stringified.slice(lastSentIndex + 1).join(\",\");\n controller.enqueue(textEncoder.encode(`${TYPE_ERROR}${deferredId}:[${values}]\n`));\n lastSentIndex = encoder.stringified.length - 1;\n }\n }).finally(() => {\n delete encoder.deferred[Number(deferredId)];\n }));\n }\n await Promise.race(Object.values(encoder.deferred));\n }\n await Promise.all(Object.values(encoder.deferred));\n controller.close();\n }\n });\n return readable;\n}\nfunction raceSignal(promise, signal) {\n if (!signal) return promise;\n if (signal.aborted) return Promise.reject(signal.reason || new Error(\"Signal was aborted.\"));\n const abort = new Promise((resolve, reject) => {\n signal.addEventListener(\"abort\", event => {\n reject(signal.reason || new Error(\"Signal was aborted.\"));\n });\n promise.then(resolve).catch(reject);\n });\n abort.catch(() => {});\n return Promise.race([abort, promise]);\n}\nexport { decode, encode };","map":{"version":3,"names":["HOLE","NAN","NEGATIVE_INFINITY","NEGATIVE_ZERO","NULL","POSITIVE_INFINITY","UNDEFINED","TYPE_BIGINT","TYPE_DATE","TYPE_ERROR","TYPE_MAP","TYPE_NULL_OBJECT","TYPE_PROMISE","TYPE_REGEXP","TYPE_SET","TYPE_SYMBOL","TYPE_URL","TYPE_PREVIOUS_RESOLVED","Deferred","promise","resolve","reject","constructor","Promise","createLineSplittingTransform","decoder","TextDecoder","leftover","TransformStream","transform","chunk","controller","str","decode","stream","parts","split","pop","part","enqueue","flush","flatten","input","indices","existing","get","Number","isNaN","index","set","stringify","call","deferred","plugins","postPlugins","stringified","stack","length","input2","index2","partsForObj","obj","Object","keys","map","k","join","error","JSON","keyFor","Symbol","Error","isArray","Array","pluginHandled","plugin","pluginResult","pluginIdentifier","rest","v","result","i","Date","getTime","URL","href","RegExp","source","flags","Set","size","val","Map","flatMap","message","name","getPrototypeOf","isPlainObject","objectProtoNames","getOwnPropertyNames","prototype","sort","thing","proto","globalObj","window","globalThis","unflatten","parsed","hydrated","values","hydrate","SyntaxError","startIndex","value","push","postRun","NaN","Infinity","type","b","c","BigInt","for","newSet","add","r","create","key","reverse","slice","d","errorType","vals","v2","result2","array","n","object","readable","options","done","reader","pipeThrough","getReader","decoded","decodeInitial","donePromise","decodeDeferred","then","catch","reason","closed","read","line","parse","colonIndex","indexOf","deferredId","lineData","jsonLine","encode","signal","encoder","textEncoder","TextEncoder","lastSentIndex","ReadableStream","start","id","seenPromises","WeakSet","entries","has","raceSignal","resolved","id2","finally","race","all","close","aborted","abort","addEventListener","event"],"sources":["/home/magh/Documents/landing_page/node_modules/turbo-stream/dist/turbo-stream.mjs"],"sourcesContent":["// src/utils.ts\nvar HOLE = -1;\nvar NAN = -2;\nvar NEGATIVE_INFINITY = -3;\nvar NEGATIVE_ZERO = -4;\nvar NULL = -5;\nvar POSITIVE_INFINITY = -6;\nvar UNDEFINED = -7;\nvar TYPE_BIGINT = \"B\";\nvar TYPE_DATE = \"D\";\nvar TYPE_ERROR = \"E\";\nvar TYPE_MAP = \"M\";\nvar TYPE_NULL_OBJECT = \"N\";\nvar TYPE_PROMISE = \"P\";\nvar TYPE_REGEXP = \"R\";\nvar TYPE_SET = \"S\";\nvar TYPE_SYMBOL = \"Y\";\nvar TYPE_URL = \"U\";\nvar TYPE_PREVIOUS_RESOLVED = \"Z\";\nvar Deferred = class {\n promise;\n resolve;\n reject;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n};\nfunction createLineSplittingTransform() {\n const decoder = new TextDecoder();\n let leftover = \"\";\n return new TransformStream({\n transform(chunk, controller) {\n const str = decoder.decode(chunk, { stream: true });\n const parts = (leftover + str).split(\"\\n\");\n leftover = parts.pop() || \"\";\n for (const part of parts) {\n controller.enqueue(part);\n }\n },\n flush(controller) {\n if (leftover) {\n controller.enqueue(leftover);\n }\n }\n });\n}\n\n// src/flatten.ts\nfunction flatten(input) {\n const { indices } = this;\n const existing = indices.get(input);\n if (existing)\n return [existing];\n if (input === void 0)\n return UNDEFINED;\n if (input === null)\n return NULL;\n if (Number.isNaN(input))\n return NAN;\n if (input === Number.POSITIVE_INFINITY)\n return POSITIVE_INFINITY;\n if (input === Number.NEGATIVE_INFINITY)\n return NEGATIVE_INFINITY;\n if (input === 0 && 1 / input < 0)\n return NEGATIVE_ZERO;\n const index = this.index++;\n indices.set(input, index);\n stringify.call(this, input, index);\n return index;\n}\nfunction stringify(input, index) {\n const { deferred, plugins, postPlugins } = this;\n const str = this.stringified;\n const stack = [[input, index]];\n while (stack.length > 0) {\n const [input2, index2] = stack.pop();\n const partsForObj = (obj) => Object.keys(obj).map((k) => `\"_${flatten.call(this, k)}\":${flatten.call(this, obj[k])}`).join(\",\");\n let error = null;\n switch (typeof input2) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n str[index2] = JSON.stringify(input2);\n break;\n case \"bigint\":\n str[index2] = `[\"${TYPE_BIGINT}\",\"${input2}\"]`;\n break;\n case \"symbol\": {\n const keyFor = Symbol.keyFor(input2);\n if (!keyFor) {\n error = new Error(\n \"Cannot encode symbol unless created with Symbol.for()\"\n );\n } else {\n str[index2] = `[\"${TYPE_SYMBOL}\",${JSON.stringify(keyFor)}]`;\n }\n break;\n }\n case \"object\": {\n if (!input2) {\n str[index2] = `${NULL}`;\n break;\n }\n const isArray = Array.isArray(input2);\n let pluginHandled = false;\n if (!isArray && plugins) {\n for (const plugin of plugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map((v) => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n let result = isArray ? \"[\" : \"{\";\n if (isArray) {\n for (let i = 0; i < input2.length; i++)\n result += (i ? \",\" : \"\") + (i in input2 ? flatten.call(this, input2[i]) : HOLE);\n str[index2] = `${result}]`;\n } else if (input2 instanceof Date) {\n str[index2] = `[\"${TYPE_DATE}\",${input2.getTime()}]`;\n } else if (input2 instanceof URL) {\n str[index2] = `[\"${TYPE_URL}\",${JSON.stringify(input2.href)}]`;\n } else if (input2 instanceof RegExp) {\n str[index2] = `[\"${TYPE_REGEXP}\",${JSON.stringify(\n input2.source\n )},${JSON.stringify(input2.flags)}]`;\n } else if (input2 instanceof Set) {\n if (input2.size > 0) {\n str[index2] = `[\"${TYPE_SET}\",${[...input2].map((val) => flatten.call(this, val)).join(\",\")}]`;\n } else {\n str[index2] = `[\"${TYPE_SET}\"]`;\n }\n } else if (input2 instanceof Map) {\n if (input2.size > 0) {\n str[index2] = `[\"${TYPE_MAP}\",${[...input2].flatMap(([k, v]) => [\n flatten.call(this, k),\n flatten.call(this, v)\n ]).join(\",\")}]`;\n } else {\n str[index2] = `[\"${TYPE_MAP}\"]`;\n }\n } else if (input2 instanceof Promise) {\n str[index2] = `[\"${TYPE_PROMISE}\",${index2}]`;\n deferred[index2] = input2;\n } else if (input2 instanceof Error) {\n str[index2] = `[\"${TYPE_ERROR}\",${JSON.stringify(input2.message)}`;\n if (input2.name !== \"Error\") {\n str[index2] += `,${JSON.stringify(input2.name)}`;\n }\n str[index2] += \"]\";\n } else if (Object.getPrototypeOf(input2) === null) {\n str[index2] = `[\"${TYPE_NULL_OBJECT}\",{${partsForObj(input2)}}]`;\n } else if (isPlainObject(input2)) {\n str[index2] = `{${partsForObj(input2)}}`;\n } else {\n error = new Error(\"Cannot encode object with prototype\");\n }\n }\n break;\n }\n default: {\n const isArray = Array.isArray(input2);\n let pluginHandled = false;\n if (!isArray && plugins) {\n for (const plugin of plugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map((v) => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n error = new Error(\"Cannot encode function or unexpected type\");\n }\n }\n }\n if (error) {\n let pluginHandled = false;\n if (postPlugins) {\n for (const plugin of postPlugins) {\n const pluginResult = plugin(input2);\n if (Array.isArray(pluginResult)) {\n pluginHandled = true;\n const [pluginIdentifier, ...rest] = pluginResult;\n str[index2] = `[${JSON.stringify(pluginIdentifier)}`;\n if (rest.length > 0) {\n str[index2] += `,${rest.map((v) => flatten.call(this, v)).join(\",\")}`;\n }\n str[index2] += \"]\";\n break;\n }\n }\n }\n if (!pluginHandled) {\n throw error;\n }\n }\n }\n}\nvar objectProtoNames = Object.getOwnPropertyNames(Object.prototype).sort().join(\"\\0\");\nfunction isPlainObject(thing) {\n const proto = Object.getPrototypeOf(thing);\n return proto === Object.prototype || proto === null || Object.getOwnPropertyNames(proto).sort().join(\"\\0\") === objectProtoNames;\n}\n\n// src/unflatten.ts\nvar globalObj = typeof window !== \"undefined\" ? window : typeof globalThis !== \"undefined\" ? globalThis : void 0;\nfunction unflatten(parsed) {\n const { hydrated, values } = this;\n if (typeof parsed === \"number\")\n return hydrate.call(this, parsed);\n if (!Array.isArray(parsed) || !parsed.length)\n throw new SyntaxError();\n const startIndex = values.length;\n for (const value of parsed) {\n values.push(value);\n }\n hydrated.length = values.length;\n return hydrate.call(this, startIndex);\n}\nfunction hydrate(index) {\n const { hydrated, values, deferred, plugins } = this;\n let result;\n const stack = [\n [\n index,\n (v) => {\n result = v;\n }\n ]\n ];\n let postRun = [];\n while (stack.length > 0) {\n const [index2, set] = stack.pop();\n switch (index2) {\n case UNDEFINED:\n set(void 0);\n continue;\n case NULL:\n set(null);\n continue;\n case NAN:\n set(NaN);\n continue;\n case POSITIVE_INFINITY:\n set(Infinity);\n continue;\n case NEGATIVE_INFINITY:\n set(-Infinity);\n continue;\n case NEGATIVE_ZERO:\n set(-0);\n continue;\n }\n if (hydrated[index2]) {\n set(hydrated[index2]);\n continue;\n }\n const value = values[index2];\n if (!value || typeof value !== \"object\") {\n hydrated[index2] = value;\n set(value);\n continue;\n }\n if (Array.isArray(value)) {\n if (typeof value[0] === \"string\") {\n const [type, b, c] = value;\n switch (type) {\n case TYPE_DATE:\n set(hydrated[index2] = new Date(b));\n continue;\n case TYPE_URL:\n set(hydrated[index2] = new URL(b));\n continue;\n case TYPE_BIGINT:\n set(hydrated[index2] = BigInt(b));\n continue;\n case TYPE_REGEXP:\n set(hydrated[index2] = new RegExp(b, c));\n continue;\n case TYPE_SYMBOL:\n set(hydrated[index2] = Symbol.for(b));\n continue;\n case TYPE_SET:\n const newSet = /* @__PURE__ */ new Set();\n hydrated[index2] = newSet;\n for (let i = 1; i < value.length; i++)\n stack.push([\n value[i],\n (v) => {\n newSet.add(v);\n }\n ]);\n set(newSet);\n continue;\n case TYPE_MAP:\n const map = /* @__PURE__ */ new Map();\n hydrated[index2] = map;\n for (let i = 1; i < value.length; i += 2) {\n const r = [];\n stack.push([\n value[i + 1],\n (v) => {\n r[1] = v;\n }\n ]);\n stack.push([\n value[i],\n (k) => {\n r[0] = k;\n }\n ]);\n postRun.push(() => {\n map.set(r[0], r[1]);\n });\n }\n set(map);\n continue;\n case TYPE_NULL_OBJECT:\n const obj = /* @__PURE__ */ Object.create(null);\n hydrated[index2] = obj;\n for (const key of Object.keys(b).reverse()) {\n const r = [];\n stack.push([\n b[key],\n (v) => {\n r[1] = v;\n }\n ]);\n stack.push([\n Number(key.slice(1)),\n (k) => {\n r[0] = k;\n }\n ]);\n postRun.push(() => {\n obj[r[0]] = r[1];\n });\n }\n set(obj);\n continue;\n case TYPE_PROMISE:\n if (hydrated[b]) {\n set(hydrated[index2] = hydrated[b]);\n } else {\n const d = new Deferred();\n deferred[b] = d;\n set(hydrated[index2] = d.promise);\n }\n continue;\n case TYPE_ERROR:\n const [, message, errorType] = value;\n let error = errorType && globalObj && globalObj[errorType] ? new globalObj[errorType](message) : new Error(message);\n hydrated[index2] = error;\n set(error);\n continue;\n case TYPE_PREVIOUS_RESOLVED:\n set(hydrated[index2] = hydrated[b]);\n continue;\n default:\n if (Array.isArray(plugins)) {\n const r = [];\n const vals = value.slice(1);\n for (let i = 0; i < vals.length; i++) {\n const v = vals[i];\n stack.push([\n v,\n (v2) => {\n r[i] = v2;\n }\n ]);\n }\n postRun.push(() => {\n for (const plugin of plugins) {\n const result2 = plugin(value[0], ...r);\n if (result2) {\n set(hydrated[index2] = result2.value);\n return;\n }\n }\n throw new SyntaxError();\n });\n continue;\n }\n throw new SyntaxError();\n }\n } else {\n const array = [];\n hydrated[index2] = array;\n for (let i = 0; i < value.length; i++) {\n const n = value[i];\n if (n !== HOLE) {\n stack.push([\n n,\n (v) => {\n array[i] = v;\n }\n ]);\n }\n }\n set(array);\n continue;\n }\n } else {\n const object = {};\n hydrated[index2] = object;\n for (const key of Object.keys(value).reverse()) {\n const r = [];\n stack.push([\n value[key],\n (v) => {\n r[1] = v;\n }\n ]);\n stack.push([\n Number(key.slice(1)),\n (k) => {\n r[0] = k;\n }\n ]);\n postRun.push(() => {\n object[r[0]] = r[1];\n });\n }\n set(object);\n continue;\n }\n }\n while (postRun.length > 0) {\n postRun.pop()();\n }\n return result;\n}\n\n// src/turbo-stream.ts\nasync function decode(readable, options) {\n const { plugins } = options ?? {};\n const done = new Deferred();\n const reader = readable.pipeThrough(createLineSplittingTransform()).getReader();\n const decoder = {\n values: [],\n hydrated: [],\n deferred: {},\n plugins\n };\n const decoded = await decodeInitial.call(decoder, reader);\n let donePromise = done.promise;\n if (decoded.done) {\n done.resolve();\n } else {\n donePromise = decodeDeferred.call(decoder, reader).then(done.resolve).catch((reason) => {\n for (const deferred of Object.values(decoder.deferred)) {\n deferred.reject(reason);\n }\n done.reject(reason);\n });\n }\n return {\n done: donePromise.then(() => reader.closed),\n value: decoded.value\n };\n}\nasync function decodeInitial(reader) {\n const read = await reader.read();\n if (!read.value) {\n throw new SyntaxError();\n }\n let line;\n try {\n line = JSON.parse(read.value);\n } catch (reason) {\n throw new SyntaxError();\n }\n return {\n done: read.done,\n value: unflatten.call(this, line)\n };\n}\nasync function decodeDeferred(reader) {\n let read = await reader.read();\n while (!read.done) {\n if (!read.value)\n continue;\n const line = read.value;\n switch (line[0]) {\n case TYPE_PROMISE: {\n const colonIndex = line.indexOf(\":\");\n const deferredId = Number(line.slice(1, colonIndex));\n const deferred = this.deferred[deferredId];\n if (!deferred) {\n throw new Error(`Deferred ID ${deferredId} not found in stream`);\n }\n const lineData = line.slice(colonIndex + 1);\n let jsonLine;\n try {\n jsonLine = JSON.parse(lineData);\n } catch (reason) {\n throw new SyntaxError();\n }\n const value = unflatten.call(this, jsonLine);\n deferred.resolve(value);\n break;\n }\n case TYPE_ERROR: {\n const colonIndex = line.indexOf(\":\");\n const deferredId = Number(line.slice(1, colonIndex));\n const deferred = this.deferred[deferredId];\n if (!deferred) {\n throw new Error(`Deferred ID ${deferredId} not found in stream`);\n }\n const lineData = line.slice(colonIndex + 1);\n let jsonLine;\n try {\n jsonLine = JSON.parse(lineData);\n } catch (reason) {\n throw new SyntaxError();\n }\n const value = unflatten.call(this, jsonLine);\n deferred.reject(value);\n break;\n }\n default:\n throw new SyntaxError();\n }\n read = await reader.read();\n }\n}\nfunction encode(input, options) {\n const { plugins, postPlugins, signal } = options ?? {};\n const encoder = {\n deferred: {},\n index: 0,\n indices: /* @__PURE__ */ new Map(),\n stringified: [],\n plugins,\n postPlugins,\n signal\n };\n const textEncoder = new TextEncoder();\n let lastSentIndex = 0;\n const readable = new ReadableStream({\n async start(controller) {\n const id = flatten.call(encoder, input);\n if (Array.isArray(id)) {\n throw new Error(\"This should never happen\");\n }\n if (id < 0) {\n controller.enqueue(textEncoder.encode(`${id}\n`));\n } else {\n controller.enqueue(\n textEncoder.encode(`[${encoder.stringified.join(\",\")}]\n`)\n );\n lastSentIndex = encoder.stringified.length - 1;\n }\n const seenPromises = /* @__PURE__ */ new WeakSet();\n while (Object.keys(encoder.deferred).length > 0) {\n for (const [deferredId, deferred] of Object.entries(encoder.deferred)) {\n if (seenPromises.has(deferred))\n continue;\n seenPromises.add(\n encoder.deferred[Number(deferredId)] = raceSignal(\n deferred,\n encoder.signal\n ).then(\n (resolved) => {\n const id2 = flatten.call(encoder, resolved);\n if (Array.isArray(id2)) {\n controller.enqueue(\n textEncoder.encode(\n `${TYPE_PROMISE}${deferredId}:[[\"${TYPE_PREVIOUS_RESOLVED}\",${id2[0]}]]\n`\n )\n );\n encoder.index++;\n lastSentIndex++;\n } else if (id2 < 0) {\n controller.enqueue(\n textEncoder.encode(`${TYPE_PROMISE}${deferredId}:${id2}\n`)\n );\n } else {\n const values = encoder.stringified.slice(lastSentIndex + 1).join(\",\");\n controller.enqueue(\n textEncoder.encode(\n `${TYPE_PROMISE}${deferredId}:[${values}]\n`\n )\n );\n lastSentIndex = encoder.stringified.length - 1;\n }\n },\n (reason) => {\n if (!reason || typeof reason !== \"object\" || !(reason instanceof Error)) {\n reason = new Error(\"An unknown error occurred\");\n }\n const id2 = flatten.call(encoder, reason);\n if (Array.isArray(id2)) {\n controller.enqueue(\n textEncoder.encode(\n `${TYPE_ERROR}${deferredId}:[[\"${TYPE_PREVIOUS_RESOLVED}\",${id2[0]}]]\n`\n )\n );\n encoder.index++;\n lastSentIndex++;\n } else if (id2 < 0) {\n controller.enqueue(\n textEncoder.encode(`${TYPE_ERROR}${deferredId}:${id2}\n`)\n );\n } else {\n const values = encoder.stringified.slice(lastSentIndex + 1).join(\",\");\n controller.enqueue(\n textEncoder.encode(\n `${TYPE_ERROR}${deferredId}:[${values}]\n`\n )\n );\n lastSentIndex = encoder.stringified.length - 1;\n }\n }\n ).finally(() => {\n delete encoder.deferred[Number(deferredId)];\n })\n );\n }\n await Promise.race(Object.values(encoder.deferred));\n }\n await Promise.all(Object.values(encoder.deferred));\n controller.close();\n }\n });\n return readable;\n}\nfunction raceSignal(promise, signal) {\n if (!signal)\n return promise;\n if (signal.aborted)\n return Promise.reject(signal.reason || new Error(\"Signal was aborted.\"));\n const abort = new Promise((resolve, reject) => {\n signal.addEventListener(\"abort\", (event) => {\n reject(signal.reason || new Error(\"Signal was aborted.\"));\n });\n promise.then(resolve).catch(reject);\n });\n abort.catch(() => {\n });\n return Promise.race([abort, promise]);\n}\nexport {\n decode,\n encode\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}