@reckona/mreact-compat 0.0.66 → 0.0.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/class-component.js.map +1 -1
  2. package/dist/context.js.map +1 -1
  3. package/dist/devtools.js.map +1 -1
  4. package/dist/dom-children.js.map +1 -1
  5. package/dist/dom-props.js.map +1 -1
  6. package/dist/element.js.map +1 -1
  7. package/dist/event-listeners.js.map +1 -1
  8. package/dist/event-priority.js.map +1 -1
  9. package/dist/event-replay.js.map +1 -1
  10. package/dist/event-types.js.map +1 -1
  11. package/dist/events.js.map +1 -1
  12. package/dist/fiber-child.js.map +1 -1
  13. package/dist/fiber-commit.js.map +1 -1
  14. package/dist/fiber-flags.js.map +1 -1
  15. package/dist/fiber-host.js.map +1 -1
  16. package/dist/fiber-lanes.js.map +1 -1
  17. package/dist/fiber-reconciler.js.map +1 -1
  18. package/dist/fiber-scheduler.js.map +1 -1
  19. package/dist/fiber-work-loop.js.map +1 -1
  20. package/dist/fiber.js.map +1 -1
  21. package/dist/flight-decoder.js.map +1 -1
  22. package/dist/flight-element-builder.js.map +1 -1
  23. package/dist/flight-parser.js.map +1 -1
  24. package/dist/flight-protocol.js.map +1 -1
  25. package/dist/flight-types.js.map +1 -1
  26. package/dist/flight.js.map +1 -1
  27. package/dist/hooks.js.map +1 -1
  28. package/dist/hydration.js.map +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/internal.js.map +1 -1
  31. package/dist/jsx-dev-runtime.js.map +1 -1
  32. package/dist/jsx-runtime.js.map +1 -1
  33. package/dist/prop-comparison.js.map +1 -1
  34. package/dist/reconcile-types.js.map +1 -1
  35. package/dist/reconciler.js.map +1 -1
  36. package/dist/render.js.map +1 -1
  37. package/dist/root.js.map +1 -1
  38. package/dist/scheduler.js.map +1 -1
  39. package/dist/suspense.js.map +1 -1
  40. package/dist/thenable.js.map +1 -1
  41. package/dist/url-safety.js.map +1 -1
  42. package/package.json +4 -3
  43. package/src/class-component.ts +386 -0
  44. package/src/context.ts +140 -0
  45. package/src/devtools.ts +1275 -0
  46. package/src/dom-children.ts +34 -0
  47. package/src/dom-props.ts +408 -0
  48. package/src/element.ts +317 -0
  49. package/src/event-listeners.ts +27 -0
  50. package/src/event-priority.ts +1 -0
  51. package/src/event-replay.ts +154 -0
  52. package/src/event-types.ts +18 -0
  53. package/src/events.ts +384 -0
  54. package/src/fiber-child.ts +364 -0
  55. package/src/fiber-commit.ts +83 -0
  56. package/src/fiber-flags.ts +21 -0
  57. package/src/fiber-host.ts +1564 -0
  58. package/src/fiber-lanes.ts +99 -0
  59. package/src/fiber-reconciler.ts +639 -0
  60. package/src/fiber-scheduler.ts +435 -0
  61. package/src/fiber-work-loop.ts +224 -0
  62. package/src/fiber.ts +148 -0
  63. package/src/flight-decoder.ts +205 -0
  64. package/src/flight-element-builder.ts +110 -0
  65. package/src/flight-parser.ts +698 -0
  66. package/src/flight-protocol.ts +71 -0
  67. package/src/flight-types.ts +148 -0
  68. package/src/flight.ts +162 -0
  69. package/src/hooks.ts +1940 -0
  70. package/src/hydration.ts +314 -0
  71. package/src/index.ts +95 -0
  72. package/src/internal.ts +7 -0
  73. package/src/jsx-dev-runtime.ts +40 -0
  74. package/src/jsx-runtime.ts +119 -0
  75. package/src/prop-comparison.ts +50 -0
  76. package/src/reconcile-types.ts +26 -0
  77. package/src/reconciler.ts +692 -0
  78. package/src/render.ts +29 -0
  79. package/src/root.ts +493 -0
  80. package/src/scheduler.ts +157 -0
  81. package/src/suspense.ts +317 -0
  82. package/src/thenable.ts +7 -0
  83. package/src/url-safety.ts +7 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fiber-scheduler.js","sourceRoot":"","sources":["../src/fiber-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fiber-scheduler.js","sourceRoot":"","sources":["../src/fiber-scheduler.ts"],"names":[],"mappings":"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","sourcesContent":["export type SchedulerPriority =\n | \"immediate\"\n | \"user-blocking\"\n | \"normal\"\n | \"low\"\n | \"idle\";\n\nexport type SchedulerCallback = (\n didTimeout: boolean,\n) => SchedulerCallback | void;\n\nexport interface SchedulerTask {\n id: number;\n callback: SchedulerCallback | null;\n priority: SchedulerPriority;\n startTime: number;\n expirationTime: number;\n sortIndex: number;\n}\n\nexport type SchedulerProfilingEventType =\n | \"schedule\"\n | \"cancel\"\n | \"start\"\n | \"complete\"\n | \"yield\"\n | \"error\";\n\nexport interface SchedulerProfilingEvent {\n type: SchedulerProfilingEventType;\n taskId: number;\n priority: SchedulerPriority;\n time: number;\n}\n\nexport interface SchedulerHost {\n now(): number;\n scheduleHostCallback(callback: () => void): unknown;\n scheduleHostTimeout(callback: () => void, ms: number): unknown;\n cancelHostTimeout(id: unknown): void;\n isInputPending?(): boolean;\n}\n\nconst maxSigned31BitInt = 1073741823;\nconst defaultFrameInterval = 5;\nconst priorityTimeouts: Record<SchedulerPriority, number> = {\n immediate: -1,\n \"user-blocking\": 250,\n normal: 5000,\n low: 10000,\n idle: maxSigned31BitInt,\n};\n\nlet taskIdCounter = 1;\nlet taskQueue: SchedulerTask[] = [];\nlet timerQueue: SchedulerTask[] = [];\nlet currentTask: SchedulerTask | null = null;\nlet isPerformingWork = false;\nlet isHostCallbackScheduled = false;\nlet isHostTimeoutScheduled = false;\nlet isMessageLoopRunning = false;\nlet taskTimeoutId: unknown;\nlet frameInterval = defaultFrameInterval;\nlet startTime = -1;\nlet needsPaint = false;\nlet testHost: SchedulerHost | undefined;\nlet profilingEvents: SchedulerProfilingEvent[] | undefined;\n\nexport function scheduleCallback(\n priority: SchedulerPriority,\n callback: SchedulerCallback,\n options?: { delay?: number },\n): SchedulerTask {\n const currentTime = now();\n const delay = options?.delay;\n const start =\n typeof delay === \"number\" && delay > 0 ? currentTime + delay : currentTime;\n const timeout = priorityTimeouts[priority];\n const expirationTime = start + timeout;\n const task: SchedulerTask = {\n id: taskIdCounter,\n callback,\n priority,\n startTime: start,\n expirationTime,\n sortIndex: start > currentTime ? start : expirationTime,\n };\n taskIdCounter += 1;\n\n if (start > currentTime) {\n timerQueue.push(task);\n sortQueue(timerQueue);\n if (taskQueue.length === 0 && timerQueue[0] === task) {\n if (isHostTimeoutScheduled) {\n getHost().cancelHostTimeout(taskTimeoutId);\n }\n isHostTimeoutScheduled = true;\n taskTimeoutId = getHost().scheduleHostTimeout(\n handleTimeout,\n start - currentTime,\n );\n }\n } else {\n taskQueue.push(task);\n sortQueue(taskQueue);\n requestHostCallbackIfNeeded();\n }\n\n recordProfilingEvent(\"schedule\", task);\n return task;\n}\n\nexport function cancelCallback(task: SchedulerTask): void {\n task.callback = null;\n recordProfilingEvent(\"cancel\", task);\n}\n\nexport function getFirstCallbackNode(): SchedulerTask | null {\n return peek(taskQueue);\n}\n\nexport function isPerformingSchedulerWork(): boolean {\n return isPerformingWork;\n}\n\nexport function shouldYieldToHost(): boolean {\n if (startTime < 0) {\n return false;\n }\n\n if (needsPaint) {\n return true;\n }\n\n if (getHost().isInputPending?.() === true) {\n return true;\n }\n\n return now() - startTime >= frameInterval;\n}\n\nexport function requestPaint(): void {\n needsPaint = true;\n}\n\nexport function forceFrameRate(fps: number): void {\n if (fps < 0 || fps > 125) {\n return;\n }\n\n frameInterval = fps > 0 ? Math.floor(1000 / fps) : defaultFrameInterval;\n}\n\nexport function now(): number {\n return getHost().now();\n}\n\nexport function setSchedulerHostForTesting(\n host: SchedulerHost | undefined,\n): void {\n testHost = host;\n resetSchedulerState();\n}\n\nexport function startLoggingSchedulerProfilingEvents(): void {\n profilingEvents = [];\n}\n\nexport function stopLoggingSchedulerProfilingEvents():\n | SchedulerProfilingEvent[]\n | null {\n const events = profilingEvents;\n profilingEvents = undefined;\n return events ?? null;\n}\n\nfunction flushWork(initialTime: number): boolean {\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n isHostTimeoutScheduled = false;\n getHost().cancelHostTimeout(taskTimeoutId);\n }\n\n isPerformingWork = true;\n\n try {\n return workLoop(initialTime);\n } finally {\n currentTask = null;\n isPerformingWork = false;\n }\n}\n\nfunction workLoop(initialTime: number): boolean {\n let currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null) {\n if (\n currentTask.expirationTime > currentTime &&\n shouldYieldToHost()\n ) {\n break;\n }\n\n const callback = currentTask.callback;\n\n if (typeof callback === \"function\") {\n currentTask.callback = null;\n const didTimeout = currentTask.expirationTime <= currentTime;\n recordProfilingEvent(\"start\", currentTask);\n let continuation: SchedulerCallback | void;\n\n try {\n continuation = callback(didTimeout);\n } catch (error) {\n recordProfilingEvent(\"error\", currentTask);\n throw error;\n }\n\n currentTime = now();\n\n if (typeof continuation === \"function\") {\n currentTask.callback = continuation;\n recordProfilingEvent(\"yield\", currentTask);\n advanceTimers(currentTime);\n return true;\n }\n\n if (currentTask === peek(taskQueue)) {\n taskQueue.shift();\n }\n recordProfilingEvent(\"complete\", currentTask);\n advanceTimers(currentTime);\n } else {\n taskQueue.shift();\n }\n\n currentTask = peek(taskQueue);\n }\n\n if (currentTask !== null) {\n return true;\n }\n\n const firstTimer = peek(timerQueue);\n if (firstTimer !== null) {\n isHostTimeoutScheduled = true;\n taskTimeoutId = getHost().scheduleHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime,\n );\n }\n\n return false;\n}\n\nfunction handleTimeout(): void {\n isHostTimeoutScheduled = false;\n advanceTimers(now());\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n requestHostCallbackIfNeeded();\n return;\n }\n\n const firstTimer = peek(timerQueue);\n if (firstTimer !== null) {\n isHostTimeoutScheduled = true;\n taskTimeoutId = getHost().scheduleHostTimeout(\n handleTimeout,\n firstTimer.startTime - now(),\n );\n }\n }\n}\n\nfunction advanceTimers(currentTime: number): void {\n let timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n timerQueue.shift();\n } else if (timer.startTime <= currentTime) {\n timerQueue.shift();\n timer.sortIndex = timer.expirationTime;\n taskQueue.push(timer);\n sortQueue(taskQueue);\n } else {\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction requestHostCallbackIfNeeded(): void {\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback();\n }\n}\n\nfunction requestHostCallback(): void {\n if (isMessageLoopRunning) {\n return;\n }\n\n isMessageLoopRunning = true;\n getHost().scheduleHostCallback(performWorkUntilDeadline);\n}\n\nfunction performWorkUntilDeadline(): void {\n needsPaint = false;\n\n if (!isMessageLoopRunning) {\n return;\n }\n\n startTime = now();\n let hasMoreWork = true;\n\n try {\n hasMoreWork = flushWork(startTime);\n } finally {\n if (hasMoreWork) {\n getHost().scheduleHostCallback(performWorkUntilDeadline);\n } else {\n isMessageLoopRunning = false;\n }\n }\n}\n\nfunction peek(queue: SchedulerTask[]): SchedulerTask | null {\n return queue[0] ?? null;\n}\n\nfunction sortQueue(queue: SchedulerTask[]): void {\n queue.sort((left, right) => left.sortIndex - right.sortIndex || left.id - right.id);\n}\n\nfunction getHost(): SchedulerHost {\n return testHost ?? defaultHost;\n}\n\nfunction resetSchedulerState(): void {\n taskQueue = [];\n timerQueue = [];\n currentTask = null;\n isPerformingWork = false;\n isHostCallbackScheduled = false;\n isHostTimeoutScheduled = false;\n isMessageLoopRunning = false;\n taskTimeoutId = undefined;\n startTime = -1;\n needsPaint = false;\n}\n\nfunction recordProfilingEvent(\n type: SchedulerProfilingEventType,\n task: SchedulerTask,\n): void {\n profilingEvents?.push({\n type,\n taskId: task.id,\n priority: task.priority,\n time: now(),\n });\n}\n\nconst defaultInputPendingChecker = createInputPendingChecker();\nconst defaultHost: SchedulerHost = {\n now() {\n if (\n typeof performance === \"object\" &&\n typeof performance.now === \"function\"\n ) {\n return performance.now();\n }\n\n return Date.now();\n },\n scheduleHostCallback: createDefaultHostCallbackScheduler(),\n scheduleHostTimeout(callback, ms) {\n return setTimeout(callback, ms);\n },\n cancelHostTimeout(id) {\n clearTimeout(id as ReturnType<typeof setTimeout>);\n },\n ...(defaultInputPendingChecker === undefined\n ? {}\n : { isInputPending: defaultInputPendingChecker }),\n};\n\nfunction createDefaultHostCallbackScheduler(): (\n callback: () => void,\n) => unknown {\n const immediate = (globalThis as { setImmediate?: (callback: () => void) => unknown })\n .setImmediate;\n\n if (typeof immediate === \"function\") {\n return (callback) => immediate(callback);\n }\n\n if (typeof MessageChannel !== \"undefined\") {\n const channel = new MessageChannel();\n const callbacks: (() => void)[] = [];\n channel.port1.onmessage = () => {\n callbacks.shift()?.();\n };\n\n return (callback) => {\n callbacks.push(callback);\n channel.port2.postMessage(null);\n return callback;\n };\n }\n\n return (callback) => setTimeout(callback, 0);\n}\n\nfunction createInputPendingChecker(): (() => boolean) | undefined {\n const scheduling = (globalThis.navigator as\n | { scheduling?: { isInputPending?: () => boolean } }\n | undefined)?.scheduling;\n\n if (typeof scheduling?.isInputPending === \"function\") {\n return () => scheduling.isInputPending?.() === true;\n }\n\n return undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fiber-work-loop.js","sourceRoot":"","sources":["../src/fiber-work-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fiber-work-loop.js","sourceRoot":"","sources":["../src/fiber-work-loop.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createFiberRoot,\n createWorkInProgress,\n type Fiber,\n type FiberRoot,\n} from \"./fiber.js\";\nimport {\n getNextLanes,\n markRootUpdated,\n SyncLane,\n type Lane,\n type Lanes,\n} from \"./fiber-lanes.js\";\nimport {\n isPerformingSchedulerWork,\n scheduleCallback,\n shouldYieldToHost,\n type SchedulerCallback,\n} from \"./fiber-scheduler.js\";\nimport {\n cleanupUnfinishedWork,\n performUnitOfWork,\n} from \"./fiber-reconciler.js\";\n\nconst fiberRootsByContainer = new WeakMap<Element, FiberRoot>();\n\nexport interface ConcurrentRenderOptions {\n shouldYield?: () => boolean;\n}\n\nexport type ConcurrentRenderResult =\n | { status: \"completed\"; finishedWork: Fiber }\n | { status: \"yielded\" };\n\nexport function createContainerFiberRoot(container: Element): FiberRoot {\n const existing = fiberRootsByContainer.get(container);\n\n if (existing !== undefined) {\n return existing;\n }\n\n const root = createFiberRoot(container);\n fiberRootsByContainer.set(container, root);\n return root;\n}\n\nexport function getFiberRootForContainer(\n container: Element,\n): FiberRoot | undefined {\n return fiberRootsByContainer.get(container);\n}\n\nexport function enqueueRootRender(\n root: FiberRoot,\n element: unknown,\n lane: Lane,\n commit: () => Fiber | void,\n): void {\n markRootUpdated(root, lane);\n root.workInProgressElement = element;\n\n if ((lane & SyncLane) === 0 && !isPerformingSchedulerWork()) {\n scheduleCallback(getSchedulerPriorityForLanes(lane), () => {\n performSyncWorkOnRoot(root, element, commit);\n });\n return;\n }\n\n performSyncWorkOnRoot(root, element, commit);\n}\n\nexport function shouldYieldAfterUnits(limit: number): () => boolean {\n let units = 0;\n\n return () => {\n units += 1;\n return units > limit;\n };\n}\n\nexport function prepareFreshStack(\n root: FiberRoot,\n element: unknown,\n lanes: Lanes,\n): void {\n const workInProgress = createWorkInProgress(root.current, {\n children: element,\n });\n\n workInProgress.lanes = lanes;\n workInProgress.memoizedProps = { children: element };\n root.workInProgress = workInProgress;\n root.workInProgressRootRenderLanes = lanes;\n root.workInProgressElement = element;\n root.finishedWork = undefined;\n markRootUpdated(root, lanes);\n}\n\nexport function renderRootConcurrent(\n root: FiberRoot,\n lanes: Lanes,\n options: ConcurrentRenderOptions = {},\n): ConcurrentRenderResult {\n if (\n shouldPreemptWorkInProgress(root.workInProgressRootRenderLanes, lanes)\n ) {\n discardWorkInProgress(root);\n }\n\n if (root.workInProgress === undefined) {\n prepareFreshStack(\n root,\n root.workInProgressElement ??\n (root.current.memoizedProps as { children?: unknown } | undefined)?.children,\n lanes,\n );\n }\n\n while (root.workInProgress !== undefined) {\n if (options.shouldYield?.() === true || shouldYieldToHost()) {\n return { status: \"yielded\" };\n }\n\n root.workInProgress = performUnitOfWork(root, root.workInProgress);\n }\n\n const finishedWork = root.finishedWork;\n\n if (finishedWork === undefined) {\n throw new Error(\"Fiber concurrent render completed without finished work.\");\n }\n\n finishedWork.lanes = lanes;\n root.workInProgressRootRenderLanes = 0;\n return { status: \"completed\", finishedWork };\n}\n\nexport function performConcurrentWorkOnRoot(\n root: FiberRoot,\n options: ConcurrentRenderOptions = {},\n): ConcurrentRenderResult {\n const lanes = getNextLanes(root);\n return renderRootConcurrent(root, lanes, options);\n}\n\nexport function scheduleConcurrentWorkOnRoot(\n root: FiberRoot,\n lanes: Lanes,\n): void {\n scheduleCallback(\n getSchedulerPriorityForLanes(lanes),\n createConcurrentRootCallback(root, lanes),\n );\n}\n\nfunction createConcurrentRootCallback(\n root: FiberRoot,\n lanes: Lanes,\n): SchedulerCallback {\n const callback: SchedulerCallback = () => {\n const result = renderRootConcurrent(root, lanes);\n\n return result.status === \"yielded\" ? callback : undefined;\n };\n\n return callback;\n}\n\nexport function performSyncWorkOnRoot(\n root: FiberRoot,\n element: unknown,\n commit: () => Fiber | void,\n): void {\n const lanes = root.pendingLanes;\n const fallbackFinishedWork = createWorkInProgress(root.current, { children: element });\n\n fallbackFinishedWork.lanes = lanes;\n fallbackFinishedWork.memoizedProps = { children: element };\n const committedWork = commit();\n const finishedWork = committedWork ?? fallbackFinishedWork;\n root.current = finishedWork;\n root.current.stateNode = root;\n root.finishedWork = undefined;\n root.workInProgress = undefined;\n root.workInProgressRootRenderLanes = 0;\n root.pendingLanes &= ~lanes;\n root.callbackPriority = root.pendingLanes & -root.pendingLanes;\n}\n\nfunction shouldPreemptWorkInProgress(\n currentLanes: Lanes,\n nextLanes: Lanes,\n): boolean {\n return currentLanes !== 0 && nextLanes !== 0 && nextLanes < currentLanes;\n}\n\nfunction discardWorkInProgress(root: FiberRoot): void {\n cleanupUnfinishedWork(root.current.alternate);\n\n if (root.current.alternate === root.workInProgress) {\n root.current.alternate = undefined;\n }\n\n root.workInProgress = undefined;\n root.workInProgressRootRenderLanes = 0;\n}\n\nfunction getSchedulerPriorityForLanes(\n lanes: Lanes,\n): \"immediate\" | \"user-blocking\" | \"normal\" | \"low\" {\n if ((lanes & 1) !== 0) {\n return \"immediate\";\n }\n\n if ((lanes & 2) !== 0) {\n return \"user-blocking\";\n }\n\n if ((lanes & 8) !== 0) {\n return \"normal\";\n }\n\n return \"low\";\n}\n"]}
package/dist/fiber.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fiber.js","sourceRoot":"","sources":["../src/fiber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAyB,MAAM,kBAAkB,CAAC;AAkElE,MAAM,UAAU,WAAW,CACzB,GAAa,EACb,eAAwB,SAAS,EACjC,GAAY;IAEZ,OAAO;QACL,GAAG;QACH,IAAI,EAAE,SAAS;QACf,GAAG;QACH,YAAY;QACZ,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,OAAO;QACnB,eAAe,EAAE,KAAK;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAkB;IAChD,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAc;QACtB,SAAS;QACT,OAAO;QACP,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,OAAO;QACvB,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,OAAO;QACzB,cAAc,EAAE,SAAS;QACzB,6BAA6B,EAAE,OAAO;QACtC,qBAAqB,EAAE,SAAS;QAChC,cAAc,EAAE,SAAS;KAC1B,CAAC;IACF,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAc,EACd,YAAqB;IAErB,IAAI,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAEvC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACrE,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACnC,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC7C,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;QAC3C,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC;QAC/B,cAAc,CAAC,YAAY,GAAG,OAAO,CAAC;QACtC,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACrC,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACzC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACvC,cAAc,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACrD,cAAc,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACrD,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACrC,cAAc,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC/C,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;IACvC,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"fiber.js","sourceRoot":"","sources":["../src/fiber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAyB,MAAM,kBAAkB,CAAC;AAkElE,MAAM,UAAU,WAAW,CACzB,GAAa,EACb,eAAwB,SAAS,EACjC,GAAY;IAEZ,OAAO;QACL,GAAG;QACH,IAAI,EAAE,SAAS;QACf,GAAG;QACH,YAAY;QACZ,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,OAAO;QACd,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,OAAO;QACnB,eAAe,EAAE,KAAK;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAkB;IAChD,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAc;QACtB,SAAS;QACT,OAAO;QACP,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,OAAO;QACrB,cAAc,EAAE,OAAO;QACvB,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,OAAO;QACzB,cAAc,EAAE,SAAS;QACzB,6BAA6B,EAAE,OAAO;QACtC,qBAAqB,EAAE,SAAS;QAChC,cAAc,EAAE,SAAS;KAC1B,CAAC;IACF,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAc,EACd,YAAqB;IAErB,IAAI,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAEvC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACrE,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACnC,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC7C,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;QAC3C,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC;QAC/B,cAAc,CAAC,YAAY,GAAG,OAAO,CAAC;QACtC,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACrC,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACzC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACvC,cAAc,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACrD,cAAc,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACrD,cAAc,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACrC,cAAc,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC/C,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;IACvC,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import { NoFlags, type Flags } from \"./fiber-flags.js\";\nimport { NoLanes, type Lane, type Lanes } from \"./fiber-lanes.js\";\n\nexport type FiberTag =\n | \"host-root\"\n | \"host-component\"\n | \"host-text\"\n | \"fragment\"\n | \"function-component\"\n | \"forward-ref\"\n | \"class-component\"\n | \"context-provider\"\n | \"context-consumer\"\n | \"portal\"\n | \"memo\"\n | \"lazy\"\n | \"profiler\"\n | \"strict-mode\"\n | \"suspense\"\n | \"suspense-list\"\n | \"error-boundary\";\n\nexport interface Fiber {\n tag: FiberTag;\n type: unknown;\n key: string | undefined;\n pendingProps: unknown;\n memoizedProps: unknown;\n memoizedState: unknown;\n return: Fiber | undefined;\n child: Fiber | undefined;\n sibling: Fiber | undefined;\n alternate: Fiber | undefined;\n stateNode: unknown;\n flags: Flags;\n subtreeFlags: Flags;\n deletions: Fiber[] | undefined;\n lanes: Lanes;\n childLanes: Lanes;\n hydrateExisting: boolean;\n}\n\nexport interface FiberRoot {\n container: Element;\n current: Fiber;\n finishedWork: Fiber | undefined;\n pendingLanes: Lanes;\n suspendedLanes: Lanes;\n pingedLanes: Lanes;\n expiredLanes: Lanes;\n entangledLanes: Lanes;\n callbackNode: unknown;\n callbackPriority: Lane;\n workInProgress: Fiber | undefined;\n workInProgressRootRenderLanes: Lanes;\n workInProgressElement: unknown;\n hydrationState: FiberHydrationState | undefined;\n}\n\nexport interface FiberHydrationState {\n parent: ParentNode;\n nextHydratableNode: Node | null;\n before: ChildNode | null;\n after: ChildNode | null;\n resumeId?: string;\n}\n\nexport function createFiber(\n tag: FiberTag,\n pendingProps: unknown = undefined,\n key?: string,\n): Fiber {\n return {\n tag,\n type: undefined,\n key,\n pendingProps,\n memoizedProps: undefined,\n memoizedState: undefined,\n return: undefined,\n child: undefined,\n sibling: undefined,\n alternate: undefined,\n stateNode: undefined,\n flags: NoFlags,\n subtreeFlags: NoFlags,\n deletions: undefined,\n lanes: NoLanes,\n childLanes: NoLanes,\n hydrateExisting: false,\n };\n}\n\nexport function createHostRootFiber(): Fiber {\n return createFiber(\"host-root\", undefined);\n}\n\nexport function createFiberRoot(container: Element): FiberRoot {\n const current = createHostRootFiber();\n const root: FiberRoot = {\n container,\n current,\n finishedWork: undefined,\n pendingLanes: NoLanes,\n suspendedLanes: NoLanes,\n pingedLanes: NoLanes,\n expiredLanes: NoLanes,\n entangledLanes: NoLanes,\n callbackNode: undefined,\n callbackPriority: NoLanes,\n workInProgress: undefined,\n workInProgressRootRenderLanes: NoLanes,\n workInProgressElement: undefined,\n hydrationState: undefined,\n };\n current.stateNode = root;\n return root;\n}\n\nexport function createWorkInProgress(\n current: Fiber,\n pendingProps: unknown,\n): Fiber {\n let workInProgress = current.alternate;\n\n if (workInProgress === undefined) {\n workInProgress = createFiber(current.tag, pendingProps, current.key);\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps;\n workInProgress.flags = NoFlags;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = undefined;\n }\n\n workInProgress.child = current.child;\n workInProgress.sibling = current.sibling;\n workInProgress.return = current.return;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.lanes = current.lanes;\n workInProgress.childLanes = current.childLanes;\n workInProgress.hydrateExisting = false;\n return workInProgress;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flight-decoder.js","sourceRoot":"","sources":["../src/flight-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flight-decoder.js","sourceRoot":"","sources":["../src/flight-decoder.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ElementType } from \"./element.js\";\nimport {\n createFlightServerReferenceStub,\n decodeFlightElementModel,\n} from \"./flight-element-builder.js\";\nimport type {\n FlightClientReference,\n FlightModel,\n FlightResponse,\n FlightServerReference,\n FlightTypedArrayName,\n} from \"./flight-types.js\";\n\nexport interface DecodeFlightOptions {\n loadClientReference(reference: FlightClientReference): ElementType<Record<string, unknown>>;\n callServerReference?(\n reference: FlightServerReference,\n args: unknown[],\n ): unknown | Promise<unknown>;\n}\n\n// Issue 079: cap recursion depth so a deeply-nested Flight payload\n// cannot stack-overflow the client decoder.\nconst MAX_FLIGHT_DECODE_DEPTH = 256;\n\nclass FlightDecodeError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"FlightDecodeError\";\n }\n}\n\nexport function decodeFlightModel(\n model: FlightModel,\n response: FlightResponse,\n options: DecodeFlightOptions,\n depth = 0,\n): unknown {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) {\n throw new FlightDecodeError(\n `MR_FLIGHT_TOO_DEEP: nested deeper than ${MAX_FLIGHT_DECODE_DEPTH} levels`,\n );\n }\n if (\n model === null ||\n typeof model === \"string\" ||\n typeof model === \"number\" ||\n typeof model === \"boolean\"\n ) {\n return model;\n }\n\n if (Array.isArray(model)) {\n return model.map((item) => decodeFlightModel(item, response, options, depth + 1));\n }\n\n if (model.kind === \"undefined\") {\n return undefined;\n }\n\n if (model.kind === \"date\") {\n return new Date(model.value);\n }\n\n if (model.kind === \"bigint\") {\n return BigInt(model.value);\n }\n\n if (model.kind === \"number\") {\n switch (model.value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"-0\":\n return -0;\n case \"NaN\":\n return Number.NaN;\n }\n }\n\n if (model.kind === \"symbol\") {\n return Symbol.for(model.name);\n }\n\n if (model.kind === \"map\") {\n return new Map(\n model.entries.map(([key, value]) => [\n decodeFlightModel(key, response, options, depth + 1),\n decodeFlightModel(value, response, options, depth + 1),\n ]),\n );\n }\n\n if (model.kind === \"set\") {\n return new Set(\n model.values.map((value) => decodeFlightModel(value, response, options, depth + 1)),\n );\n }\n\n if (model.kind === \"form-data\") {\n const formData = new FormData();\n\n for (const [name, value] of model.entries) {\n const decoded = decodeFlightModel(value, response, options, depth + 1);\n formData.append(name, decoded instanceof Blob ? decoded : String(decoded ?? \"\"));\n }\n\n return formData;\n }\n\n if (model.kind === \"iterable\") {\n return model.values.map((value) => decodeFlightModel(value, response, options, depth + 1));\n }\n\n if (model.kind === \"array-buffer\") {\n return createArrayBuffer(model.bytes);\n }\n\n if (model.kind === \"typed-array\") {\n return createTypedArray(model.arrayType, model.bytes);\n }\n\n if (model.kind === \"data-view\") {\n return new DataView(createArrayBuffer(model.bytes));\n }\n\n if (model.kind === \"error\") {\n const error = new Error(model.message);\n error.name = model.name;\n if (model.digest !== undefined) {\n (error as Error & { digest?: string }).digest = model.digest;\n }\n throw error;\n }\n\n if (model.kind === \"promise\") {\n throw new Error(`React Flight chunk ${model.id} is still pending.`);\n }\n\n if (model.kind === \"element\") {\n return decodeFlightElementModel(\n model,\n response,\n options,\n (value, childDepth = 0) => decodeFlightModel(value, response, options, childDepth),\n depth,\n assertFlightDecodeDepth,\n );\n }\n\n if (model.kind === \"server-reference\") {\n return createFlightServerReferenceStub(\n model.id,\n response,\n options,\n (value, childDepth = 0) => decodeFlightModel(value, response, options, childDepth),\n );\n }\n\n throw new Error(`Unexpected Flight model kind: ${model.kind}`);\n}\n\nfunction assertFlightDecodeDepth(depth: number): void {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) {\n throw new FlightDecodeError(\n `MR_FLIGHT_TOO_DEEP: nested deeper than ${MAX_FLIGHT_DECODE_DEPTH} levels`,\n );\n }\n}\n\nfunction createArrayBuffer(bytes: number[]): ArrayBuffer {\n const array = Uint8Array.from(bytes);\n\n return array.buffer.slice(array.byteOffset, array.byteOffset + array.byteLength);\n}\n\nfunction createTypedArray(arrayType: FlightTypedArrayName, bytes: number[]): unknown {\n const buffer = createArrayBuffer(bytes);\n\n switch (arrayType) {\n case \"Int8Array\":\n return new Int8Array(buffer);\n case \"Uint8Array\":\n return new Uint8Array(buffer);\n case \"Uint8ClampedArray\":\n return new Uint8ClampedArray(buffer);\n case \"Int16Array\":\n return new Int16Array(buffer);\n case \"Uint16Array\":\n return new Uint16Array(buffer);\n case \"Int32Array\":\n return new Int32Array(buffer);\n case \"Uint32Array\":\n return new Uint32Array(buffer);\n case \"Float32Array\":\n return new Float32Array(buffer);\n case \"Float64Array\":\n return new Float64Array(buffer);\n case \"BigInt64Array\":\n return new BigInt64Array(buffer);\n case \"BigUint64Array\":\n return new BigUint64Array(buffer);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flight-element-builder.js","sourceRoot":"","sources":["../src/flight-element-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flight-element-builder.js","sourceRoot":"","sources":["../src/flight-element-builder.ts"],"names":[],"mappings":"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","sourcesContent":["import { createElement, Fragment } from \"./element.js\";\nimport type { ElementType } from \"./element.js\";\nimport type { DecodeFlightOptions } from \"./flight-decoder.js\";\nimport type {\n FlightClientReference,\n FlightElementModel,\n FlightModel,\n FlightResponse,\n FlightServerReference,\n FlightServerReferenceModel,\n} from \"./flight-types.js\";\n\nexport type FlightModelDecoder = (model: FlightModel, depth?: number) => unknown;\n\nexport function decodeFlightElementModel(\n model: FlightElementModel,\n response: FlightResponse,\n options: DecodeFlightOptions,\n decodeModel: FlightModelDecoder,\n depth = 0,\n assertDepth?: (depth: number) => void,\n): unknown {\n const type = decodeElementType(model.type, response, options);\n const propsDepth = depth + 1;\n assertDepth?.(propsDepth);\n const props = decodeProps(model.props, response, options, decodeModel, propsDepth);\n\n return createElement(type, { ...props, key: model.key });\n}\n\nexport function createFlightServerReferenceStub(\n id: number,\n response: FlightResponse,\n options: DecodeFlightOptions,\n decodeModel: FlightModelDecoder,\n): (...args: unknown[]) => unknown {\n const reference = getServerReference(id, response);\n\n return (...args: unknown[]) => {\n if (options.callServerReference === undefined) {\n throw new Error(`No server reference caller configured for ${reference.moduleId}.`);\n }\n\n const boundArgs = reference.bound?.map((value) => decodeModel(value)) ?? [];\n\n return options.callServerReference(reference, [...boundArgs, ...args]);\n };\n}\n\nfunction decodeElementType(\n type: FlightElementModel[\"type\"],\n response: FlightResponse,\n options: DecodeFlightOptions,\n): ElementType<Record<string, unknown>> {\n if (typeof type === \"string\") {\n return type;\n }\n\n if (type.kind === \"fragment\") {\n return Fragment as ElementType<Record<string, unknown>>;\n }\n\n return options.loadClientReference(getClientReference(type.id, response));\n}\n\nfunction decodeProps(\n props: Record<string, FlightModel>,\n response: FlightResponse,\n options: DecodeFlightOptions,\n decodeModel: FlightModelDecoder,\n depth: number,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(props).map(([key, value]) => [\n key,\n valueIsServerReference(value)\n ? createFlightServerReferenceStub(value.id, response, options, decodeModel)\n : decodeModel(value, depth + 1),\n ]),\n );\n}\n\nfunction getClientReference(id: number, response: FlightResponse): FlightClientReference {\n const reference = response.clientReferences.find((entry) => entry.id === id);\n\n if (reference === undefined) {\n throw new Error(`Unknown Flight client reference: ${id}`);\n }\n\n return reference;\n}\n\nfunction getServerReference(id: number, response: FlightResponse): FlightServerReference {\n const reference = response.serverReferences.find((entry) => entry.id === id);\n\n if (reference === undefined) {\n throw new Error(`Unknown Flight server reference: ${id}`);\n }\n\n return reference;\n}\n\nfunction valueIsServerReference(value: FlightModel): value is FlightServerReferenceModel {\n return (\n typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n value.kind === \"server-reference\"\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flight-parser.js","sourceRoot":"","sources":["../src/flight-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flight-parser.js","sourceRoot":"","sources":["../src/flight-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactFlightBinaryRowTag } from \"./flight-protocol.js\";\nimport type {\n FlightArrayBufferModel,\n FlightClientReference,\n FlightDataViewModel,\n FlightElementModel,\n FlightErrorModel,\n FlightModel,\n FlightResponse,\n FlightServerReference,\n FlightTypedArrayModel,\n FlightTypedArrayName,\n} from \"./flight-types.js\";\n\ninterface ReactFlightRow {\n id: number;\n tag?: string;\n payload: string;\n payloadBytes?: Uint8Array;\n}\n\nexport function parseReactFlightPayload(payload: string | ArrayBuffer | Uint8Array): FlightResponse {\n if (typeof payload !== \"string\") {\n return parseReactFlightBinaryRows(payload);\n }\n\n const trimmed = payload.trim();\n\n if (trimmed.startsWith(\"{\")) {\n return JSON.parse(trimmed) as FlightResponse;\n }\n\n return parseReactFlightRows(trimmed);\n}\n\nfunction parseReactFlightRows(rows: string): FlightResponse {\n const lines = rows.split(/\\r?\\n/).filter(Boolean);\n const metadataLine = lines.find((line) => line.startsWith(\"M0:\"));\n const rootLine = lines.find((line) => line.startsWith(\"J0:\"));\n\n if (metadataLine !== undefined && rootLine !== undefined) {\n const metadata = JSON.parse(metadataLine.slice(3)) as Omit<FlightResponse, \"root\">;\n\n return {\n version: metadata.version,\n clientReferences: metadata.clientReferences,\n serverReferences: metadata.serverReferences,\n root: JSON.parse(rootLine.slice(3)) as FlightModel,\n };\n }\n\n return parseReactFlightRowObjects(lines.map((line) => parseReactFlightRow(line)));\n}\n\nfunction parseReactFlightBinaryRows(payload: ArrayBuffer | Uint8Array): FlightResponse {\n const bytes = payload instanceof Uint8Array ? payload : new Uint8Array(payload);\n const decoder = new TextDecoder();\n const rows: ReactFlightRow[] = [];\n let index = 0;\n\n while (index < bytes.length) {\n index = skipReactFlightRowBreak(bytes, index);\n\n if (index >= bytes.length) {\n break;\n }\n\n const idStart = index;\n while (index < bytes.length && bytes[index] !== 58) {\n index += 1;\n }\n\n if (index >= bytes.length) {\n throw new Error(\"Invalid React Flight binary row.\");\n }\n\n const idText = decoder.decode(bytes.subarray(idStart, index));\n const id = idText === \"\" ? 0 : parseReactFlightId(idText);\n index += 1;\n\n if (index >= bytes.length) {\n throw new Error(\"Invalid React Flight binary row.\");\n }\n\n const tag = String.fromCharCode(bytes[index] ?? 0);\n\n if (isReactFlightBinaryRowTag(tag)) {\n index += 1;\n const lengthStart = index;\n\n while (index < bytes.length && bytes[index] !== 44) {\n index += 1;\n }\n\n if (index >= bytes.length) {\n throw new Error(\"Invalid React Flight binary row.\");\n }\n\n const byteLength = parseReactFlightId(decoder.decode(bytes.subarray(lengthStart, index)));\n index += 1;\n\n if (index + byteLength > bytes.length) {\n throw new Error(\"React Flight binary row ended before declared payload length.\");\n }\n\n rows.push({\n id,\n tag,\n payload: `${byteLength.toString(16)},`,\n payloadBytes: bytes.slice(index, index + byteLength),\n });\n index += byteLength;\n index = skipReactFlightRowBreak(bytes, index);\n continue;\n }\n\n const bodyStart = index;\n while (index < bytes.length && bytes[index] !== 10 && bytes[index] !== 13) {\n index += 1;\n }\n\n rows.push(parseReactFlightRow(`${idText}:${decoder.decode(bytes.subarray(bodyStart, index))}`));\n index = skipReactFlightRowBreak(bytes, index);\n }\n\n return parseReactFlightRowObjects(rows);\n}\n\nfunction parseReactFlightRowObjects(rows: ReactFlightRow[]): FlightResponse {\n const clientReferences: FlightClientReference[] = [];\n const serverReferences: FlightServerReference[] = [];\n const modelChunks = new Map<number, unknown>();\n const errorChunks = new Map<number, FlightErrorModel>();\n let root: FlightModel | undefined;\n\n for (const row of rows) {\n if (row.tag === \"I\") {\n clientReferences.push(parseReactFlightClientReference(row.id, row.payload));\n continue;\n }\n\n if (row.tag === \"F\") {\n serverReferences.push(\n parseReactFlightServerReference(row.id, row.payload, modelChunks, errorChunks),\n );\n continue;\n }\n\n if (row.tag === \"E\") {\n const error = parseReactFlightError(row.payload);\n errorChunks.set(row.id, error);\n\n if (row.id === 0) {\n root = error;\n }\n continue;\n }\n\n if (row.tag === \"T\") {\n modelChunks.set(row.id, parseReactFlightTextChunk(row.payload));\n continue;\n }\n\n if (isReactFlightBinaryRowTag(row.tag)) {\n modelChunks.set(row.id, parseReactFlightBinaryChunk(row.tag, row.payload, row.payloadBytes));\n continue;\n }\n\n if (isReactFlightMetadataTag(row.tag)) {\n continue;\n }\n\n if (row.tag === undefined && row.payload !== \"\") {\n modelChunks.set(row.id, JSON.parse(row.payload));\n }\n }\n\n if (root === undefined && modelChunks.has(0)) {\n root = decodeReactFlightModel(modelChunks.get(0), modelChunks, errorChunks);\n }\n\n if (root === undefined) {\n throw new Error(\"Invalid React Flight rows.\");\n }\n\n return {\n version: 1,\n root,\n clientReferences,\n serverReferences,\n };\n}\n\nfunction skipReactFlightRowBreak(bytes: Uint8Array, index: number): number {\n let next = index;\n\n while (next < bytes.length && (bytes[next] === 10 || bytes[next] === 13)) {\n next += 1;\n }\n\n return next;\n}\n\nfunction parseReactFlightRow(line: string): ReactFlightRow {\n const separator = line.indexOf(\":\");\n\n if (separator < 0) {\n throw new Error(\"Invalid React Flight row.\");\n }\n\n const id = separator === 0 ? 0 : parseReactFlightId(line.slice(0, separator));\n const body = line.slice(separator + 1);\n const first = body[0];\n const hasTag = first !== undefined && isReactFlightRowTag(first, body);\n\n if (first !== undefined && !hasTag && looksLikeUnsupportedReactFlightTag(first, body)) {\n throw new Error(`Unsupported React Flight row tag: ${first}`);\n }\n\n return {\n id,\n ...(hasTag ? { tag: first } : {}),\n payload: hasTag ? body.slice(1) : body,\n };\n}\n\nfunction looksLikeUnsupportedReactFlightTag(tag: string, body: string): boolean {\n return /^[A-Z]$/.test(tag) && (body[1] === \"{\" || body[1] === \"[\" || body[1] === \"\\\"\");\n}\n\nfunction parseReactFlightTextChunk(payload: string): string {\n const separator = payload.indexOf(\",\");\n\n if (separator < 0) {\n throw new Error(\"Invalid React Flight text row.\");\n }\n\n return payload.slice(separator + 1);\n}\n\nfunction parseReactFlightBinaryChunk(\n tag: ReactFlightBinaryRowTag,\n payload: string,\n payloadBytes?: Uint8Array,\n): FlightArrayBufferModel | FlightTypedArrayModel | FlightDataViewModel {\n if (payloadBytes !== undefined) {\n return createReactFlightBinaryModel(tag, payloadBytes);\n }\n\n const separator = payload.indexOf(\",\");\n\n if (separator < 0) {\n throw new Error(\"Invalid React Flight binary row.\");\n }\n\n const byteLength = parseReactFlightId(payload.slice(0, separator));\n const bytes = decodeBase64Bytes(payload.slice(separator + 1));\n\n if (bytes.length !== byteLength) {\n throw new Error(\"React Flight binary row length did not match declared payload length.\");\n }\n\n return createReactFlightBinaryModel(tag, bytes);\n}\n\nfunction isReactFlightMetadataTag(tag: string | undefined): boolean {\n return (\n tag === \"H\" ||\n tag === \"N\" ||\n tag === \"P\" ||\n tag === \"D\" ||\n tag === \"J\" ||\n tag === \"W\" ||\n tag === \"R\" ||\n tag === \"r\" ||\n tag === \"X\" ||\n tag === \"x\" ||\n tag === \"C\"\n );\n}\n\nfunction isReactFlightRowTag(tag: string, body: string): boolean {\n if (\n tag === \"I\" ||\n tag === \"F\" ||\n tag === \"E\" ||\n tag === \"T\" ||\n tag === \"H\" ||\n tag === \"N\" ||\n tag === \"P\" ||\n tag === \"D\" ||\n tag === \"J\" ||\n tag === \"W\" ||\n tag === \"R\" ||\n tag === \"r\" ||\n tag === \"X\" ||\n tag === \"x\" ||\n tag === \"C\"\n ) {\n return true;\n }\n\n return isReactFlightBinaryRowTag(tag) && /^[AOoUSsLlGgMmV][0-9a-f]+,/i.test(body);\n}\n\nfunction isReactFlightBinaryRowTag(tag: string | undefined): tag is ReactFlightBinaryRowTag {\n return (\n tag === \"A\" ||\n tag === \"O\" ||\n tag === \"o\" ||\n tag === \"U\" ||\n tag === \"S\" ||\n tag === \"s\" ||\n tag === \"L\" ||\n tag === \"l\" ||\n tag === \"G\" ||\n tag === \"g\" ||\n tag === \"M\" ||\n tag === \"m\" ||\n tag === \"V\"\n );\n}\n\nfunction createReactFlightBinaryModel(\n tag: ReactFlightBinaryRowTag,\n bytes: Uint8Array,\n): FlightArrayBufferModel | FlightTypedArrayModel | FlightDataViewModel {\n const byteValues = Array.from(bytes);\n\n if (tag === \"A\") {\n return {\n kind: \"array-buffer\",\n bytes: byteValues,\n };\n }\n\n if (tag === \"V\") {\n return {\n kind: \"data-view\",\n bytes: byteValues,\n };\n }\n\n return {\n kind: \"typed-array\",\n arrayType: getReactFlightTypedArrayName(tag),\n bytes: byteValues,\n };\n}\n\nfunction getReactFlightTypedArrayName(\n tag: Exclude<ReactFlightBinaryRowTag, \"A\" | \"V\">,\n): FlightTypedArrayName {\n switch (tag) {\n case \"O\":\n return \"Int8Array\";\n case \"o\":\n return \"Uint8Array\";\n case \"U\":\n return \"Uint8ClampedArray\";\n case \"S\":\n return \"Int16Array\";\n case \"s\":\n return \"Uint16Array\";\n case \"L\":\n return \"Int32Array\";\n case \"l\":\n return \"Uint32Array\";\n case \"G\":\n return \"Float32Array\";\n case \"g\":\n return \"Float64Array\";\n case \"M\":\n return \"BigInt64Array\";\n case \"m\":\n return \"BigUint64Array\";\n default:\n throw new Error(`Unsupported React Flight typed array row tag: ${tag}`);\n }\n}\n\nfunction decodeBase64Bytes(value: string): Uint8Array {\n const normalized = value.replaceAll(\"-\", \"+\").replaceAll(\"_\", \"/\");\n const padded = normalized.padEnd(Math.ceil(normalized.length / 4) * 4, \"=\");\n const binary = globalThis.atob(padded);\n const bytes = new Uint8Array(binary.length);\n\n for (let index = 0; index < binary.length; index += 1) {\n bytes[index] = binary.charCodeAt(index);\n }\n\n return bytes;\n}\n\nfunction parseReactFlightClientReference(id: number, payload: string): FlightClientReference {\n const value = JSON.parse(payload) as unknown;\n\n if (Array.isArray(value)) {\n return {\n id,\n moduleId: String(value[0]),\n chunks: Array.isArray(value[1]) ? value[1].map(String) : [],\n exportName: String(value[2] ?? \"default\"),\n };\n }\n\n const object = valueIsObject(value) ? value : {};\n\n return {\n id,\n moduleId: String(object.id ?? object.moduleId ?? \"\"),\n chunks: Array.isArray(object.chunks) ? object.chunks.map(String) : [],\n exportName: String(object.name ?? object.exportName ?? \"default\"),\n };\n}\n\nfunction parseReactFlightServerReference(\n id: number,\n payload: string,\n modelChunks: ReadonlyMap<number, unknown> = new Map(),\n errorChunks: ReadonlyMap<number, FlightErrorModel> = new Map(),\n): FlightServerReference {\n const value = JSON.parse(payload) as unknown;\n const object = valueIsObject(value) ? value : {};\n const actionId = String(object.id ?? \"\");\n const separator = actionId.lastIndexOf(\"#\");\n const bound = Array.isArray(object.bound)\n ? object.bound.map((entry) => decodeReactFlightModel(entry, modelChunks, errorChunks))\n : undefined;\n\n return {\n id,\n moduleId: separator < 0 ? actionId : actionId.slice(0, separator),\n exportName:\n typeof object.name === \"string\"\n ? object.name\n : separator < 0\n ? \"default\"\n : actionId.slice(separator + 1),\n ...(bound === undefined ? {} : { bound }),\n };\n}\n\nfunction decodeReactFlightModel(\n value: unknown,\n modelChunks: ReadonlyMap<number, unknown> = new Map(),\n errorChunks: ReadonlyMap<number, FlightErrorModel> = new Map(),\n): FlightModel {\n if (value === null || typeof value === \"number\" || typeof value === \"boolean\") {\n return value;\n }\n\n if (typeof value === \"string\") {\n return decodeReactFlightString(value, modelChunks, errorChunks);\n }\n\n if (Array.isArray(value)) {\n if (value[0] === \"$\") {\n return {\n kind: \"element\",\n type: decodeReactFlightElementType(value[1]),\n key: typeof value[2] === \"string\" ? value[2] : null,\n props: decodeReactFlightProps(\n valueIsObject(value[3]) ? value[3] : {},\n modelChunks,\n errorChunks,\n ),\n };\n }\n\n return value.map((item) => decodeReactFlightModel(item, modelChunks, errorChunks));\n }\n\n if (isReactFlightBinaryModel(value)) {\n return value;\n }\n\n if (valueIsObject(value)) {\n return decodeReactFlightProps(value, modelChunks, errorChunks);\n }\n\n return { kind: \"undefined\" };\n}\n\nfunction decodeReactFlightString(\n value: string,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n): FlightModel {\n if (value === \"$undefined\" || value === \"$u\") {\n return { kind: \"undefined\" };\n }\n\n if (value.startsWith(\"$$\")) {\n return value.slice(1);\n }\n\n if (value === \"$I\") {\n return { kind: \"number\", value: \"Infinity\" };\n }\n\n if (value === \"$-Infinity\") {\n return { kind: \"number\", value: \"-Infinity\" };\n }\n\n if (value === \"$-0\") {\n return { kind: \"number\", value: \"-0\" };\n }\n\n if (value === \"$N\") {\n return { kind: \"number\", value: \"NaN\" };\n }\n\n if (value.startsWith(\"$D\")) {\n return { kind: \"date\", value: value.slice(2) };\n }\n\n if (value.startsWith(\"$n\")) {\n return { kind: \"bigint\", value: value.slice(2) };\n }\n\n if (/^\\$F[0-9a-f]+$/i.test(value)) {\n return {\n kind: \"server-reference\",\n id: parseReactFlightId(value.slice(2)),\n };\n }\n\n if (/^\\$L[0-9a-f]+$/i.test(value)) {\n return {\n kind: \"client-reference\",\n id: parseReactFlightId(value.slice(2)),\n };\n }\n\n if (/^\\$[AOoUSsLlGgMmV][0-9a-f]+$/.test(value)) {\n return decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n }\n\n if (value.startsWith(\"$S\")) {\n return { kind: \"symbol\", name: value.slice(2) };\n }\n\n if (/^\\$@[0-9a-f]*$/i.test(value)) {\n return {\n kind: \"promise\",\n id: value.length === 2 ? 0 : parseReactFlightId(value.slice(2)),\n };\n }\n\n if (/^\\$Q[0-9a-f]+$/i.test(value)) {\n const decoded = decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n const entries = Array.isArray(decoded)\n ? decoded.map((entry): [FlightModel, FlightModel] =>\n Array.isArray(entry)\n ? [entry[0] ?? { kind: \"undefined\" }, entry[1] ?? { kind: \"undefined\" }]\n : [entry, { kind: \"undefined\" }],\n )\n : [];\n\n return {\n kind: \"map\",\n entries,\n };\n }\n\n if (/^\\$W[0-9a-f]+$/i.test(value)) {\n const decoded = decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n\n return {\n kind: \"set\",\n values: Array.isArray(decoded) ? decoded : [],\n };\n }\n\n if (/^\\$K[0-9a-f]+$/i.test(value)) {\n const decoded = decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n const entries = Array.isArray(decoded)\n ? decoded.flatMap((entry): [string, FlightModel][] =>\n Array.isArray(entry) && typeof entry[0] === \"string\"\n ? [[entry[0], entry[1] ?? { kind: \"undefined\" }]]\n : [],\n )\n : [];\n\n return {\n kind: \"form-data\",\n entries,\n };\n }\n\n if (/^\\$i[0-9a-f]+$/i.test(value)) {\n const decoded = decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n\n return {\n kind: \"iterable\",\n values: Array.isArray(decoded) ? decoded : [],\n };\n }\n\n if (/^\\$Z[0-9a-f]+$/i.test(value)) {\n return errorChunks.get(parseReactFlightId(value.slice(2))) ?? {\n kind: \"error\",\n name: \"Error\",\n message: \"Unknown React Flight error.\",\n };\n }\n\n if (value === \"$Y\" || value.startsWith(\"$E\")) {\n return { kind: \"undefined\" };\n }\n\n if (/^\\$[0-9a-f]+$/i.test(value)) {\n return decodeReactFlightChunk(value.slice(1), modelChunks, errorChunks);\n }\n\n return value;\n}\n\nfunction decodeReactFlightChunk(\n id: string,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n): FlightModel {\n const numericId = parseReactFlightId(id);\n const error = errorChunks.get(numericId);\n\n if (error !== undefined) {\n return error;\n }\n\n if (!modelChunks.has(numericId)) {\n return {\n kind: \"promise\",\n id: numericId,\n };\n }\n\n return decodeReactFlightModel(modelChunks.get(numericId), modelChunks, errorChunks);\n}\n\nfunction decodeReactFlightElementType(value: unknown): FlightElementModel[\"type\"] {\n if (value === \"$Sreact.fragment\") {\n return { kind: \"fragment\" };\n }\n\n if (typeof value === \"string\" && /^\\$L[0-9a-f]+$/i.test(value)) {\n return {\n kind: \"client-reference\",\n id: parseReactFlightId(value.slice(2)),\n };\n }\n\n return typeof value === \"string\" ? value : String(value);\n}\n\nfunction decodeReactFlightProps(\n value: Record<string, unknown>,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n): Record<string, FlightModel> {\n return Object.fromEntries(\n Object.entries(value).map(([key, child]) => [\n key,\n decodeReactFlightModel(child, modelChunks, errorChunks),\n ]),\n );\n}\n\nfunction isReactFlightBinaryModel(\n value: unknown,\n): value is FlightArrayBufferModel | FlightTypedArrayModel | FlightDataViewModel {\n return (\n valueIsObject(value) &&\n (value.kind === \"array-buffer\" || value.kind === \"typed-array\" || value.kind === \"data-view\")\n );\n}\n\nfunction parseReactFlightError(payload: string): FlightErrorModel {\n const value = JSON.parse(payload) as unknown;\n const object = valueIsObject(value) ? value : {};\n const digest = typeof object.digest === \"string\" ? object.digest : undefined;\n\n return {\n kind: \"error\",\n name: typeof object.name === \"string\" ? object.name : \"Error\",\n message: typeof object.message === \"string\" ? object.message : \"React Flight error.\",\n ...(digest === undefined ? {} : { digest }),\n };\n}\n\nfunction valueIsObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction parseReactFlightId(value: string): number {\n return Number.parseInt(value, 16);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flight-protocol.js","sourceRoot":"","sources":["../src/flight-protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACK,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACK,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,YAAY;CACJ,CAAC;AAUX,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,aAAa,EAAE,CAAC,GAAG,wBAAwB,CAAC;QAC5C,WAAW,EAAE,CAAC,GAAG,sBAAsB,CAAC;QACxC,OAAO,EAAE,CAAC,GAAG,kBAAkB,CAAC;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"flight-protocol.js","sourceRoot":"","sources":["../src/flight-protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACK,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACK,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,YAAY;CACJ,CAAC;AAUX,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,aAAa,EAAE,CAAC,GAAG,wBAAwB,CAAC;QAC5C,WAAW,EAAE,CAAC,GAAG,sBAAsB,CAAC;QACxC,OAAO,EAAE,CAAC,GAAG,kBAAkB,CAAC;KACjC,CAAC;AACJ,CAAC","sourcesContent":["export const reactFlightBinaryRowTags = [\n \"A\",\n \"O\",\n \"o\",\n \"U\",\n \"S\",\n \"s\",\n \"L\",\n \"l\",\n \"G\",\n \"g\",\n \"M\",\n \"m\",\n \"V\",\n] as const;\n\nexport const reactFlightRowTags = [\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"H\",\n \"I\",\n \"J\",\n \"N\",\n \"P\",\n \"R\",\n \"T\",\n \"W\",\n \"X\",\n \"x\",\n \"r\",\n] as const;\n\nexport const reactFlightModelTokens = [\n \"$\",\n \"$$\",\n \"$@\",\n \"$D\",\n \"$E\",\n \"$F\",\n \"$I\",\n \"$K\",\n \"$L\",\n \"$N\",\n \"$Q\",\n \"$S\",\n \"$W\",\n \"$Y\",\n \"$Z\",\n \"$i\",\n \"$n\",\n \"$u\",\n \"$undefined\",\n] as const;\n\nexport type ReactFlightBinaryRowTag = (typeof reactFlightBinaryRowTags)[number];\n\nexport interface ReactFlightProtocolCoverage {\n binaryRowTags: string[];\n modelTokens: string[];\n rowTags: string[];\n}\n\nexport function getReactFlightProtocolCoverage(): ReactFlightProtocolCoverage {\n return {\n binaryRowTags: [...reactFlightBinaryRowTags],\n modelTokens: [...reactFlightModelTokens],\n rowTags: [...reactFlightRowTags],\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flight-types.js","sourceRoot":"","sources":["../src/flight-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"flight-types.js","sourceRoot":"","sources":["../src/flight-types.ts"],"names":[],"mappings":"","sourcesContent":["export interface FlightClientReference {\n id: number;\n moduleId: string;\n exportName: string;\n chunks?: string[];\n}\n\nexport interface FlightServerReference {\n id: number;\n moduleId: string;\n exportName: string;\n bound?: FlightModel[];\n}\n\nexport interface FlightResponse {\n version: 1;\n root: FlightModel;\n clientReferences: FlightClientReference[];\n serverReferences: FlightServerReference[];\n}\n\nexport type FlightModel =\n | null\n | string\n | number\n | boolean\n | FlightModel[]\n | FlightObjectModel\n | FlightElementModel\n | FlightClientReferenceModel\n | FlightServerReferenceModel\n | FlightDateModel\n | FlightBigIntModel\n | FlightNumberModel\n | FlightSymbolModel\n | FlightMapModel\n | FlightSetModel\n | FlightFormDataModel\n | FlightIterableModel\n | FlightErrorModel\n | FlightPromiseModel\n | FlightArrayBufferModel\n | FlightTypedArrayModel\n | FlightDataViewModel\n | { kind: \"undefined\" };\n\nexport interface FlightObjectModel {\n kind?: never;\n [key: string]: FlightModel | undefined;\n}\n\nexport interface FlightElementModel {\n kind: \"element\";\n type: string | FlightClientReferenceModel | { kind: \"fragment\" };\n key: string | null;\n props: Record<string, FlightModel>;\n}\n\nexport interface FlightClientReferenceModel {\n kind: \"client-reference\";\n id: number;\n}\n\nexport interface FlightServerReferenceModel {\n kind: \"server-reference\";\n id: number;\n}\n\nexport interface FlightDateModel {\n kind: \"date\";\n value: string;\n}\n\nexport interface FlightBigIntModel {\n kind: \"bigint\";\n value: string;\n}\n\nexport interface FlightNumberModel {\n kind: \"number\";\n value: \"Infinity\" | \"-Infinity\" | \"NaN\" | \"-0\";\n}\n\nexport interface FlightSymbolModel {\n kind: \"symbol\";\n name: string;\n}\n\nexport interface FlightMapModel {\n kind: \"map\";\n entries: [FlightModel, FlightModel][];\n}\n\nexport interface FlightSetModel {\n kind: \"set\";\n values: FlightModel[];\n}\n\nexport interface FlightFormDataModel {\n kind: \"form-data\";\n entries: [string, FlightModel][];\n}\n\nexport interface FlightIterableModel {\n kind: \"iterable\";\n values: FlightModel[];\n}\n\nexport interface FlightErrorModel {\n kind: \"error\";\n name: string;\n message: string;\n digest?: string;\n}\n\nexport interface FlightPromiseModel {\n kind: \"promise\";\n id: number;\n}\n\nexport interface FlightArrayBufferModel {\n kind: \"array-buffer\";\n bytes: number[];\n}\n\nexport interface FlightTypedArrayModel {\n kind: \"typed-array\";\n arrayType: FlightTypedArrayName;\n bytes: number[];\n}\n\nexport interface FlightDataViewModel {\n kind: \"data-view\";\n bytes: number[];\n}\n\nexport type FlightTypedArrayName =\n | \"Int8Array\"\n | \"Uint8Array\"\n | \"Uint8ClampedArray\"\n | \"Int16Array\"\n | \"Uint16Array\"\n | \"Int32Array\"\n | \"Uint32Array\"\n | \"Float32Array\"\n | \"Float64Array\"\n | \"BigInt64Array\"\n | \"BigUint64Array\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flight.js","sourceRoot":"","sources":["../src/flight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flight.js","sourceRoot":"","sources":["../src/flight.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactCompatNode } from \"./element.js\";\nimport { hydrateRoot, type HydrateRootOptions } from \"./render.js\";\nimport {\n getReactFlightProtocolCoverage,\n type ReactFlightProtocolCoverage,\n} from \"./flight-protocol.js\";\nimport { decodeFlightModel, type DecodeFlightOptions } from \"./flight-decoder.js\";\nimport { parseReactFlightPayload } from \"./flight-parser.js\";\nimport type {\n FlightArrayBufferModel,\n FlightBigIntModel,\n FlightClientReference,\n FlightClientReferenceModel,\n FlightDataViewModel,\n FlightDateModel,\n FlightElementModel,\n FlightErrorModel,\n FlightFormDataModel,\n FlightIterableModel,\n FlightMapModel,\n FlightModel,\n FlightNumberModel,\n FlightPromiseModel,\n FlightResponse,\n FlightServerReference,\n FlightServerReferenceModel,\n FlightSetModel,\n FlightSymbolModel,\n FlightTypedArrayModel,\n FlightTypedArrayName,\n} from \"./flight-types.js\";\n\nexport { getReactFlightProtocolCoverage };\nexport type {\n DecodeFlightOptions,\n FlightArrayBufferModel,\n FlightBigIntModel,\n FlightClientReference,\n FlightClientReferenceModel,\n FlightDataViewModel,\n FlightDateModel,\n FlightElementModel,\n FlightErrorModel,\n FlightFormDataModel,\n FlightIterableModel,\n FlightMapModel,\n FlightModel,\n FlightNumberModel,\n FlightPromiseModel,\n FlightResponse,\n FlightServerReference,\n FlightServerReferenceModel,\n FlightSetModel,\n FlightSymbolModel,\n FlightTypedArrayModel,\n FlightTypedArrayName,\n};\nexport type { ReactFlightProtocolCoverage };\n\nexport interface FetchServerReferenceCallerOptions {\n fetch?: typeof fetch;\n headers?: Record<string, string>;\n credentials?: RequestCredentials;\n csrfHeaderName?: string;\n csrfToken?: string | (() => string);\n nonceHeaderName?: string;\n nonce?: string | (() => string);\n}\n\nexport interface HydrateFlightOptions extends DecodeFlightOptions {\n hydrate?: HydrateRootOptions;\n}\n\nexport function parseFlightResponse(payload: string | ArrayBuffer | Uint8Array): FlightResponse {\n return parseReactFlightPayload(payload);\n}\n\nexport function decodeFlightResponse(\n response: FlightResponse,\n options: DecodeFlightOptions,\n): ReactCompatNode {\n return decodeFlightModel(response.root, response, options) as ReactCompatNode;\n}\n\nexport function readFlightResponse(\n root: Document | ParentNode,\n id?: string,\n): FlightResponse {\n const selector =\n id === undefined\n ? \"script[data-mreact-flight]\"\n : `script[data-mreact-flight]#${cssEscape(id)}`;\n const script = root.querySelector(selector);\n\n if (script === null || script.textContent === null) {\n throw new Error(\"Flight response script was not found.\");\n }\n\n return parseFlightResponse(script.textContent);\n}\n\nexport function hydrateFlightResponse(\n container: Element,\n response: FlightResponse,\n options: HydrateFlightOptions,\n): ReturnType<typeof import(\"./render.js\").hydrateRoot> {\n return hydrateRoot(container, decodeFlightResponse(response, options), options.hydrate);\n}\n\nexport function createFetchServerReferenceCaller(\n endpoint: string,\n options: FetchServerReferenceCallerOptions = {},\n): NonNullable<DecodeFlightOptions[\"callServerReference\"]> {\n const fetchImpl = options.fetch ?? fetch;\n\n return async (reference, args) => {\n const response = await fetchImpl(endpoint, {\n method: \"POST\",\n credentials: options.credentials ?? \"same-origin\",\n headers: createServerReferenceHeaders(options),\n body: JSON.stringify({\n moduleId: reference.moduleId,\n exportName: reference.exportName,\n ...(reference.bound === undefined ? {} : { bound: reference.bound }),\n args,\n }),\n });\n const payload = (await response.json()) as { ok?: boolean; value?: unknown; error?: string };\n\n if (!response.ok || payload.ok !== true) {\n throw new Error(payload.error ?? \"Server action failed.\");\n }\n\n return payload.value;\n };\n}\n\nfunction createServerReferenceHeaders(\n options: FetchServerReferenceCallerOptions,\n): Record<string, string> {\n const csrfToken = readOptionalToken(options.csrfToken);\n const nonce = readOptionalToken(options.nonce);\n\n return {\n \"content-type\": \"application/json\",\n ...options.headers,\n ...(csrfToken === undefined\n ? {}\n : { [options.csrfHeaderName ?? \"x-mreact-csrf\"]: csrfToken }),\n ...(nonce === undefined\n ? {}\n : { [options.nonceHeaderName ?? \"x-mreact-action-nonce\"]: nonce }),\n };\n}\n\nfunction readOptionalToken(token: string | (() => string) | undefined): string | undefined {\n return typeof token === \"function\" ? token() : token;\n}\n\nfunction cssEscape(value: string): string {\n return globalThis.CSS?.escape?.(value) ?? value.replaceAll('\"', '\\\\\"');\n}\n"]}