@reckona/mreact-compat 0.0.159 → 0.0.161

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 (102) hide show
  1. package/dist/class-component.d.ts +5 -0
  2. package/dist/class-component.d.ts.map +1 -1
  3. package/dist/class-component.js +36 -11
  4. package/dist/class-component.js.map +1 -1
  5. package/dist/context.d.ts +4 -0
  6. package/dist/context.d.ts.map +1 -1
  7. package/dist/context.js +4 -0
  8. package/dist/context.js.map +1 -1
  9. package/dist/element.d.ts +28 -0
  10. package/dist/element.d.ts.map +1 -1
  11. package/dist/element.js +21 -1
  12. package/dist/element.js.map +1 -1
  13. package/dist/event-priority.d.ts +1 -0
  14. package/dist/event-priority.d.ts.map +1 -1
  15. package/dist/event-priority.js +1 -0
  16. package/dist/event-priority.js.map +1 -1
  17. package/dist/event-replay.d.ts +6 -0
  18. package/dist/event-replay.d.ts.map +1 -1
  19. package/dist/event-replay.js +4 -0
  20. package/dist/event-replay.js.map +1 -1
  21. package/dist/flight-decoder.d.ts +1 -0
  22. package/dist/flight-decoder.d.ts.map +1 -1
  23. package/dist/flight-decoder.js.map +1 -1
  24. package/dist/flight-protocol.d.ts +2 -0
  25. package/dist/flight-protocol.d.ts.map +1 -1
  26. package/dist/flight-protocol.js +1 -0
  27. package/dist/flight-protocol.js.map +1 -1
  28. package/dist/flight-types.d.ts +21 -0
  29. package/dist/flight-types.d.ts.map +1 -1
  30. package/dist/flight-types.js.map +1 -1
  31. package/dist/flight.d.ts +7 -0
  32. package/dist/flight.d.ts.map +1 -1
  33. package/dist/flight.js +5 -0
  34. package/dist/flight.js.map +1 -1
  35. package/dist/hooks-entry.d.ts +2 -0
  36. package/dist/hooks-entry.d.ts.map +1 -1
  37. package/dist/hooks-entry.js +1 -0
  38. package/dist/hooks-entry.js.map +1 -1
  39. package/dist/hooks.d.ts +36 -0
  40. package/dist/hooks.d.ts.map +1 -1
  41. package/dist/hooks.js +42 -10
  42. package/dist/hooks.js.map +1 -1
  43. package/dist/host-reconciler.js +30 -30
  44. package/dist/host-reconciler.js.map +1 -1
  45. package/dist/hydration.d.ts +2 -0
  46. package/dist/hydration.d.ts.map +1 -1
  47. package/dist/hydration.js +1 -0
  48. package/dist/hydration.js.map +1 -1
  49. package/dist/index.d.ts +3 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +1 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/internal.d.ts +1 -0
  54. package/dist/internal.d.ts.map +1 -1
  55. package/dist/internal.js +1 -0
  56. package/dist/internal.js.map +1 -1
  57. package/dist/jsx-dev-runtime.d.ts +5 -0
  58. package/dist/jsx-dev-runtime.d.ts.map +1 -1
  59. package/dist/jsx-dev-runtime.js +3 -0
  60. package/dist/jsx-dev-runtime.js.map +1 -1
  61. package/dist/jsx-runtime.d.ts +13 -0
  62. package/dist/jsx-runtime.d.ts.map +1 -1
  63. package/dist/jsx-runtime.js +4 -0
  64. package/dist/jsx-runtime.js.map +1 -1
  65. package/dist/react-default.d.ts +2 -0
  66. package/dist/react-default.d.ts.map +1 -1
  67. package/dist/react-default.js +2 -0
  68. package/dist/react-default.js.map +1 -1
  69. package/dist/root.d.ts +13 -0
  70. package/dist/root.d.ts.map +1 -1
  71. package/dist/root.js +6 -0
  72. package/dist/root.js.map +1 -1
  73. package/dist/scheduler.d.ts +23 -0
  74. package/dist/scheduler.d.ts.map +1 -1
  75. package/dist/scheduler.js +19 -0
  76. package/dist/scheduler.js.map +1 -1
  77. package/dist/server-render.d.ts +1 -0
  78. package/dist/server-render.d.ts.map +1 -1
  79. package/dist/server-render.js +1 -0
  80. package/dist/server-render.js.map +1 -1
  81. package/package.json +3 -3
  82. package/src/class-component.ts +47 -11
  83. package/src/context.ts +4 -0
  84. package/src/element.ts +33 -6
  85. package/src/event-priority.ts +1 -0
  86. package/src/event-replay.ts +6 -0
  87. package/src/flight-decoder.ts +1 -0
  88. package/src/flight-protocol.ts +2 -0
  89. package/src/flight-types.ts +21 -0
  90. package/src/flight.ts +7 -0
  91. package/src/hooks-entry.ts +2 -0
  92. package/src/hooks.ts +55 -15
  93. package/src/host-reconciler.ts +39 -38
  94. package/src/hydration.ts +2 -0
  95. package/src/index.ts +3 -0
  96. package/src/internal.ts +1 -0
  97. package/src/jsx-dev-runtime.ts +5 -0
  98. package/src/jsx-runtime.ts +13 -0
  99. package/src/react-default.ts +2 -0
  100. package/src/root.ts +13 -0
  101. package/src/scheduler.ts +23 -0
  102. package/src/server-render.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
package/dist/element.js CHANGED
@@ -6,14 +6,21 @@ export const LAZY_TYPE = Symbol.for("react.lazy");
6
6
  export const STRICT_MODE_TYPE = Symbol.for("react.strict_mode");
7
7
  export const PORTAL_TYPE = Symbol.for("react.portal");
8
8
  const REACT_COMPAT_PROVIDER_TYPE = Symbol.for("react.context");
9
+ /** Symbol used to group JSX children without adding a host element. */
9
10
  export const Fragment = Symbol.for("react.fragment");
11
+ /** Symbol used to suspend rendering while async content resolves. */
10
12
  export const Suspense = Symbol.for("react.suspense");
13
+ /** Symbol used to coordinate multiple suspense boundaries. */
11
14
  export const SuspenseList = Symbol.for("react.suspense_list");
15
+ /** Symbol used to mark activity boundaries in React-compatible trees. */
12
16
  export const Activity = Symbol.for("react.activity");
17
+ /** Symbol used to measure render work with profiler callbacks. */
13
18
  export const Profiler = Symbol.for("react.profiler");
14
19
  export const HOST_CHILDREN_ONLY_PROPS_META = Symbol.for("modular.react.host_children_only_props_meta");
20
+ /** Metadata key that links a state value to a reactive text binding. */
15
21
  export const REACTIVE_TEXT_BINDING_META = Symbol.for("modular.react.reactive_text_binding_meta");
16
22
  const hasOwnProperty = Object.prototype.hasOwnProperty;
23
+ /** Creates a React-compatible element from a type, config object, and children. */
17
24
  export function createElement(type, config, ...children) {
18
25
  if (typeof type === "string") {
19
26
  const key = config?.key === undefined ? null : String(config.key);
@@ -55,6 +62,7 @@ export function createElement(type, config, ...children) {
55
62
  props: props,
56
63
  };
57
64
  }
65
+ /** Creates a React-compatible element from JSX runtime arguments. */
58
66
  export function createElementFromJsxConfig(type, config, keyArgument) {
59
67
  const normalizedType = typeof type === "object" && type !== null ? normalizeElementType(type) : type;
60
68
  const key = keyArgument !== undefined
@@ -81,11 +89,13 @@ export function createElementFromJsxConfig(type, config, keyArgument) {
81
89
  props,
82
90
  };
83
91
  }
92
+ /** Returns true when a value is a React-compatible element record. */
84
93
  export function isReactCompatElement(value) {
85
94
  return (typeof value === "object" &&
86
95
  value !== null &&
87
96
  value.$$typeof === REACT_COMPAT_ELEMENT_TYPE);
88
97
  }
98
+ /** Creates a portal that renders children into a DOM container outside the parent tree. */
89
99
  export function createPortal(children, container, key) {
90
100
  return {
91
101
  $$typeof: PORTAL_TYPE,
@@ -94,22 +104,27 @@ export function createPortal(children, container, key) {
94
104
  key: key === undefined ? null : String(key),
95
105
  };
96
106
  }
107
+ /** Returns true when a value is a React-compatible portal record. */
97
108
  export function isReactCompatPortal(value) {
98
109
  return (typeof value === "object" &&
99
110
  value !== null &&
100
111
  value.$$typeof === PORTAL_TYPE);
101
112
  }
113
+ /** Creates a mutable ref object with a null initial current value. */
102
114
  export function createRef() {
103
115
  return { current: null };
104
116
  }
117
+ /** Wraps a component so it can receive a ref as the second render argument. */
105
118
  export function forwardRef(render) {
106
119
  return { $$typeof: FORWARD_REF_TYPE, render: render };
107
120
  }
121
+ /** Wraps an element type with optional prop comparison for memoized renders. */
108
122
  export function memo(type, compare) {
109
123
  return compare === undefined
110
124
  ? { $$typeof: MEMO_TYPE, type }
111
125
  : { $$typeof: MEMO_TYPE, type, compare };
112
126
  }
127
+ /** Creates a lazy element type that resolves its implementation on demand. */
113
128
  export function lazy(load) {
114
129
  return {
115
130
  $$typeof: LAZY_TYPE,
@@ -117,11 +132,13 @@ export function lazy(load) {
117
132
  status: "uninitialized",
118
133
  };
119
134
  }
135
+ /** Symbol used to mark a subtree for strict-mode development checks. */
120
136
  export const StrictMode = STRICT_MODE_TYPE;
137
+ /** Clones an existing element with merged props and optional replacement children. */
121
138
  export function cloneElement(element, props, ...children) {
122
139
  const key = props === null || props.key === undefined ? element.key : String(props.key);
123
140
  const ref = props === null || props.ref === undefined ? element.ref : props.ref;
124
- const nextProps = applyDefaultProps(element.type, copyElementProps(props, element.props));
141
+ const nextProps = copyElementProps(props, element.props);
125
142
  if (children.length === 1) {
126
143
  nextProps.children = children[0];
127
144
  }
@@ -209,7 +226,9 @@ function hostPropsAreChildrenOnly(props) {
209
226
  }
210
227
  return true;
211
228
  }
229
+ /** Alias for checking whether a value is a React-compatible element. */
212
230
  export const isValidElement = isReactCompatElement;
231
+ /** Helpers for iterating, counting, flattening, and validating children. */
213
232
  export const Children = {
214
233
  map(children, fn) {
215
234
  if (children === null || children === undefined) {
@@ -248,6 +267,7 @@ function flattenChildren(children) {
248
267
  }
249
268
  return [children];
250
269
  }
270
+ /** Creates an error boundary element with a fallback renderer. */
251
271
  export function createErrorBoundary(options, children) {
252
272
  return createElement(ERROR_BOUNDARY_TYPE, {
253
273
  ...options,
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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","sourcesContent":["export const REACT_COMPAT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\");\nexport const ERROR_BOUNDARY_TYPE = Symbol.for(\"modular.react.error_boundary\");\nexport const FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\");\nexport const MEMO_TYPE = Symbol.for(\"react.memo\");\nexport const LAZY_TYPE = Symbol.for(\"react.lazy\");\nexport const STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\");\nexport const PORTAL_TYPE = Symbol.for(\"react.portal\");\nconst REACT_COMPAT_PROVIDER_TYPE = Symbol.for(\"react.context\");\nexport const Fragment = Symbol.for(\"react.fragment\");\nexport const Suspense = Symbol.for(\"react.suspense\");\nexport const SuspenseList = Symbol.for(\"react.suspense_list\");\nexport const Activity = Symbol.for(\"react.activity\");\nexport const Profiler = Symbol.for(\"react.profiler\");\nexport const HOST_CHILDREN_ONLY_PROPS_META = Symbol.for(\n \"modular.react.host_children_only_props_meta\",\n);\nexport const REACTIVE_TEXT_BINDING_META = Symbol.for(\n \"modular.react.reactive_text_binding_meta\",\n);\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nexport interface ReactCompatProviderType {\n $$typeof: symbol;\n context: unknown;\n}\n\nexport interface ReactCompatContextProviderShorthand {\n Provider: ReactCompatProviderType;\n Consumer: unknown;\n}\n\nexport type ElementType<P = Record<string, unknown>> =\n | string\n | typeof Fragment\n | typeof Suspense\n | typeof SuspenseList\n | typeof Activity\n | typeof Profiler\n | typeof ERROR_BOUNDARY_TYPE\n | typeof STRICT_MODE_TYPE\n | ReactCompatContextProviderShorthand\n | ReactCompatProviderType\n | ForwardRefType<P>\n | MemoType<P>\n | LazyType<P>\n | ((props: P) => ReactCompatNode | PromiseLike<ReactCompatNode>)\n | (new (props: P) => { render(): ReactCompatNode });\n\nexport type ReactCompatNode =\n | ReactCompatElement\n | ReactCompatPortal\n | string\n | number\n | boolean\n | null\n | undefined\n | ReactCompatNode[];\n\nexport interface ReactCompatElement<P = Record<string, unknown>> {\n $$typeof: typeof REACT_COMPAT_ELEMENT_TYPE;\n type: ElementType<P>;\n key: string | null;\n ref: unknown;\n props: P & { children?: ReactCompatNode };\n}\n\nexport interface ReactCompatPortal {\n $$typeof: typeof PORTAL_TYPE;\n container: Element;\n children: ReactCompatNode;\n key: string | null;\n}\n\nexport function createElement<P extends Record<string, unknown>>(\n type: ElementType<P>,\n config: (P & ReactReservedProps) | null,\n ...children: ReactCompatNode[]\n): ReactCompatElement<P> {\n if (typeof type === \"string\") {\n const key = config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const props = copyElementProps(config) as P & { children?: ReactCompatNode };\n\n if (children.length === 1) {\n props.children = children[0];\n } else if (children.length > 1) {\n props.children = children;\n }\n\n setHostOwnPropsMeta(props);\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type,\n key,\n ref,\n props,\n };\n }\n\n const normalizedType =\n typeof type === \"object\" && type !== null ? normalizeElementType(type) : type;\n const key = config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const props = applyDefaultProps(normalizedType, copyElementProps(config)) as P & {\n children?: ReactCompatNode;\n };\n\n if (children.length === 1) {\n props.children = children[0];\n } else if (children.length > 1) {\n props.children = children;\n }\n\n if (typeof normalizedType === \"string\") {\n setHostOwnPropsMeta(props);\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: normalizedType as ElementType<P>,\n key,\n ref,\n props: props as P & { children?: ReactCompatNode },\n };\n}\n\nexport function createElementFromJsxConfig<P extends Record<string, unknown>>(\n type: ElementType<P>,\n config: (P & ReactReservedProps & { children?: ReactCompatNode }) | null,\n keyArgument?: unknown,\n): ReactCompatElement<P> {\n const normalizedType =\n typeof type === \"object\" && type !== null ? normalizeElementType(type) : type;\n const key = keyArgument !== undefined\n ? String(keyArgument)\n : config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const hasChildren = config !== null && config !== undefined && hasOwnProperty.call(config, \"children\");\n const children = config?.children;\n const copiedProps = copyElementProps(config, undefined, true);\n const props = (typeof normalizedType === \"string\"\n ? copiedProps\n : applyDefaultProps(normalizedType, copiedProps)) as P & {\n children?: ReactCompatNode;\n };\n\n if (hasChildren) {\n props.children = children;\n }\n\n if (typeof normalizedType === \"string\") {\n setHostOwnPropsMeta(props);\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: normalizedType as ElementType<P>,\n key,\n ref,\n props,\n };\n}\n\nexport function isReactCompatElement(\n value: unknown,\n): value is ReactCompatElement {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_ELEMENT_TYPE\n );\n}\n\nexport function createPortal(\n children: ReactCompatNode,\n container: Element,\n key?: unknown,\n): ReactCompatPortal {\n return {\n $$typeof: PORTAL_TYPE,\n container,\n children,\n key: key === undefined ? null : String(key),\n };\n}\n\nexport function isReactCompatPortal(value: unknown): value is ReactCompatPortal {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === PORTAL_TYPE\n );\n}\n\nexport function createRef<T>(): { current: T | null } {\n return { current: null };\n}\n\nexport interface ForwardRefType<P = Record<string, unknown>> {\n $$typeof: typeof FORWARD_REF_TYPE;\n render: (props: P, ref: unknown) => ReactCompatNode;\n}\n\nexport interface MemoType<P = Record<string, unknown>> {\n $$typeof: typeof MEMO_TYPE;\n type: ElementType<P>;\n compare?: (previous: P, next: P) => boolean;\n}\n\nexport interface LazyType<P = Record<string, unknown>> {\n $$typeof: typeof LAZY_TYPE;\n load: () => Promise<{ default: ElementType<P> }>;\n status: \"uninitialized\" | \"pending\" | \"resolved\" | \"rejected\";\n promise?: Promise<void>;\n resolved?: ElementType<P>;\n error?: unknown;\n}\n\nexport function forwardRef<P, T>(\n render: (props: P, ref: { current: T | null } | ((value: T | null) => void) | null) => ReactCompatNode,\n): ForwardRefType<P & { ref?: unknown }> {\n return { $$typeof: FORWARD_REF_TYPE, render: render as ForwardRefType<P>[\"render\"] };\n}\n\nexport function memo<P>(\n type: ElementType<P>,\n compare?: (previous: P, next: P) => boolean,\n): MemoType<P> {\n return compare === undefined\n ? { $$typeof: MEMO_TYPE, type }\n : { $$typeof: MEMO_TYPE, type, compare };\n}\n\nexport function lazy<P>(\n load: () => Promise<{ default: ElementType<P> }>,\n): LazyType<P> {\n return {\n $$typeof: LAZY_TYPE,\n load,\n status: \"uninitialized\",\n };\n}\n\nexport const StrictMode = STRICT_MODE_TYPE;\n\nexport function cloneElement<P extends Record<string, unknown>>(\n element: ReactCompatElement<P>,\n props: Partial<P> | null,\n ...children: ReactCompatNode[]\n): ReactCompatElement<P> {\n const key = props === null || props.key === undefined ? element.key : String(props.key);\n const ref = props === null || props.ref === undefined ? element.ref : props.ref;\n const nextProps = applyDefaultProps(\n element.type,\n copyElementProps(props, element.props),\n ) as P & { children?: ReactCompatNode };\n\n if (children.length === 1) {\n (nextProps as P & { children?: ReactCompatNode }).children = children[0];\n } else if (children.length > 1) {\n (nextProps as P & { children?: ReactCompatNode }).children = children;\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: element.type,\n key,\n ref,\n props: nextProps as P & { children?: ReactCompatNode },\n };\n}\n\nfunction copyElementProps(\n source: Record<string, unknown> | null | undefined,\n base?: Record<string, unknown>,\n omitChildren = false,\n): Record<string, unknown> {\n const props: Record<PropertyKey, unknown> = {};\n\n if (base !== undefined) {\n copyOwnStringElementProps(base, props, omitChildren);\n }\n\n if (source === null || source === undefined) {\n return props as Record<string, unknown>;\n }\n\n copyOwnStringElementProps(source, props, omitChildren);\n copyOwnSymbolElementProps(source, props);\n return props as Record<string, unknown>;\n}\n\nfunction copyOwnStringElementProps(\n source: Record<string, unknown>,\n target: Record<string, unknown>,\n omitChildren: boolean,\n): void {\n for (const name in source) {\n if (!hasOwnProperty.call(source, name)) {\n continue;\n }\n\n if (\n name !== \"key\" &&\n name !== \"ref\" &&\n name !== \"__self\" &&\n name !== \"__source\" &&\n (!omitChildren || name !== \"children\")\n ) {\n target[name] = source[name];\n }\n }\n}\n\nfunction copyOwnSymbolElementProps(\n source: Record<string, unknown>,\n target: Record<PropertyKey, unknown>,\n): void {\n const symbolSource = source as Record<PropertyKey, unknown>;\n for (const symbol of Object.getOwnPropertySymbols(source)) {\n target[symbol] = symbolSource[symbol];\n }\n}\n\nfunction normalizeElementType<P>(type: ElementType<P>): ElementType<P> {\n return isReactCompatContextProviderShorthand(type) ? (type.Provider as ElementType<P>) : type;\n}\n\nfunction applyDefaultProps(\n type: unknown,\n props: Record<string, unknown>,\n): Record<string, unknown> {\n if (typeof type !== \"function\" && (typeof type !== \"object\" || type === null)) {\n return props;\n }\n\n const defaultProps = (type as { defaultProps?: Record<string, unknown> } | undefined)\n ?.defaultProps;\n\n if (defaultProps === undefined) {\n return props;\n }\n\n for (const [name, value] of Object.entries(defaultProps)) {\n if (props[name] === undefined) {\n props[name] = value;\n }\n }\n\n return props;\n}\n\ninterface ReactReservedProps {\n key?: unknown;\n ref?: unknown;\n __self?: unknown;\n __source?: unknown;\n}\n\nfunction isReactCompatContextProviderShorthand(\n value: unknown,\n): value is ReactCompatContextProviderShorthand {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n\n const provider = (value as { Provider?: unknown }).Provider;\n\n return (\n typeof provider === \"object\" &&\n provider !== null &&\n (provider as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_PROVIDER_TYPE\n );\n}\n\nfunction setHostOwnPropsMeta(props: Record<string, unknown>): void {\n if (hostPropsAreChildrenOnly(props)) {\n (props as { [HOST_CHILDREN_ONLY_PROPS_META]?: true })[\n HOST_CHILDREN_ONLY_PROPS_META\n ] = true;\n }\n}\n\nfunction hostPropsAreChildrenOnly(props: Record<string, unknown>): boolean {\n for (const name in props) {\n if (hasOwnProperty.call(props, name) && name !== \"children\") {\n return false;\n }\n }\n\n return true;\n}\n\nexport const isValidElement = isReactCompatElement;\n\nexport const Children = {\n map<T>(\n children: ReactCompatNode,\n fn: (child: Exclude<ReactCompatNode, null | undefined | boolean>, index: number) => T,\n ): T[] | null {\n if (children === null || children === undefined) {\n return null;\n }\n\n return flattenChildren(children).map((child, index) =>\n fn(child as Exclude<ReactCompatNode, null | undefined | boolean>, index),\n );\n },\n forEach(\n children: ReactCompatNode,\n fn: (child: Exclude<ReactCompatNode, null | undefined | boolean>, index: number) => void,\n ): void {\n toChildArray(children).forEach((child, index) => {\n fn(child, index);\n });\n },\n count(children: ReactCompatNode): number {\n if (children === null || children === undefined) {\n return 0;\n }\n\n return flattenChildren(children).length;\n },\n toArray(children: ReactCompatNode): Exclude<ReactCompatNode, null | undefined | boolean>[] {\n return toChildArray(children);\n },\n only(children: ReactCompatNode): Exclude<ReactCompatNode, null | undefined | boolean> {\n const array = toChildArray(children);\n\n if (array.length !== 1) {\n throw new Error(\"Expected exactly one child.\");\n }\n\n return array[0] as Exclude<ReactCompatNode, null | undefined | boolean>;\n },\n};\n\nfunction toChildArray(\n children: ReactCompatNode,\n): Exclude<ReactCompatNode, null | undefined | boolean>[] {\n return flattenChildren(children).filter(\n (child): child is Exclude<ReactCompatNode, null | undefined | boolean> =>\n child !== null && child !== undefined && typeof child !== \"boolean\",\n );\n}\n\nfunction flattenChildren(children: ReactCompatNode): ReactCompatNode[] {\n if (Array.isArray(children)) {\n return children.flatMap((child) => flattenChildren(child));\n }\n\n return [children];\n}\n\nexport interface ErrorBoundaryOptions {\n fallback: (error: Error) => ReactCompatNode;\n onError?: (error: Error) => void;\n}\n\nexport function createErrorBoundary(\n options: ErrorBoundaryOptions,\n children: ReactCompatNode,\n): ReactCompatElement<ErrorBoundaryOptions & { children: ReactCompatNode }> {\n return createElement(ERROR_BOUNDARY_TYPE, {\n ...options,\n children,\n });\n}\n"]}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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","sourcesContent":["export const REACT_COMPAT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\");\nexport const ERROR_BOUNDARY_TYPE = Symbol.for(\"modular.react.error_boundary\");\nexport const FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\");\nexport const MEMO_TYPE = Symbol.for(\"react.memo\");\nexport const LAZY_TYPE = Symbol.for(\"react.lazy\");\nexport const STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\");\nexport const PORTAL_TYPE = Symbol.for(\"react.portal\");\nconst REACT_COMPAT_PROVIDER_TYPE = Symbol.for(\"react.context\");\n/** Symbol used to group JSX children without adding a host element. */\nexport const Fragment = Symbol.for(\"react.fragment\");\n/** Symbol used to suspend rendering while async content resolves. */\nexport const Suspense = Symbol.for(\"react.suspense\");\n/** Symbol used to coordinate multiple suspense boundaries. */\nexport const SuspenseList = Symbol.for(\"react.suspense_list\");\n/** Symbol used to mark activity boundaries in React-compatible trees. */\nexport const Activity = Symbol.for(\"react.activity\");\n/** Symbol used to measure render work with profiler callbacks. */\nexport const Profiler = Symbol.for(\"react.profiler\");\nexport const HOST_CHILDREN_ONLY_PROPS_META = Symbol.for(\n \"modular.react.host_children_only_props_meta\",\n);\n/** Metadata key that links a state value to a reactive text binding. */\nexport const REACTIVE_TEXT_BINDING_META = Symbol.for(\n \"modular.react.reactive_text_binding_meta\",\n);\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nexport interface ReactCompatProviderType {\n $$typeof: symbol;\n context: unknown;\n}\n\nexport interface ReactCompatContextProviderShorthand {\n Provider: ReactCompatProviderType;\n Consumer: unknown;\n}\n\n/** Element type accepted by createElement, JSX, and renderer entrypoints. */\nexport type ElementType<P = Record<string, unknown>> =\n | string\n | typeof Fragment\n | typeof Suspense\n | typeof SuspenseList\n | typeof Activity\n | typeof Profiler\n | typeof ERROR_BOUNDARY_TYPE\n | typeof STRICT_MODE_TYPE\n | ReactCompatContextProviderShorthand\n | ReactCompatProviderType\n | ForwardRefType<P>\n | MemoType<P>\n | LazyType<P>\n | ((props: P) => ReactCompatNode | PromiseLike<ReactCompatNode>)\n | (new (props: P) => { render(): ReactCompatNode });\n\n/** Renderable value accepted by the React-compatible renderer. */\nexport type ReactCompatNode =\n | ReactCompatElement\n | ReactCompatPortal\n | string\n | number\n | boolean\n | null\n | undefined\n | ReactCompatNode[];\n\n/** React-compatible element record produced by createElement and JSX transforms. */\nexport interface ReactCompatElement<P = Record<string, unknown>> {\n $$typeof: typeof REACT_COMPAT_ELEMENT_TYPE;\n type: ElementType<P>;\n key: string | null;\n ref: unknown;\n props: P & { children?: ReactCompatNode };\n}\n\n/** Portal record that renders children into an external DOM container. */\nexport interface ReactCompatPortal {\n $$typeof: typeof PORTAL_TYPE;\n container: Element;\n children: ReactCompatNode;\n key: string | null;\n}\n\n/** Creates a React-compatible element from a type, config object, and children. */\nexport function createElement<P extends Record<string, unknown>>(\n type: ElementType<P>,\n config: (P & ReactReservedProps) | null,\n ...children: ReactCompatNode[]\n): ReactCompatElement<P> {\n if (typeof type === \"string\") {\n const key = config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const props = copyElementProps(config) as P & { children?: ReactCompatNode };\n\n if (children.length === 1) {\n props.children = children[0];\n } else if (children.length > 1) {\n props.children = children;\n }\n\n setHostOwnPropsMeta(props);\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type,\n key,\n ref,\n props,\n };\n }\n\n const normalizedType =\n typeof type === \"object\" && type !== null ? normalizeElementType(type) : type;\n const key = config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const props = applyDefaultProps(normalizedType, copyElementProps(config)) as P & {\n children?: ReactCompatNode;\n };\n\n if (children.length === 1) {\n props.children = children[0];\n } else if (children.length > 1) {\n props.children = children;\n }\n\n if (typeof normalizedType === \"string\") {\n setHostOwnPropsMeta(props);\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: normalizedType as ElementType<P>,\n key,\n ref,\n props: props as P & { children?: ReactCompatNode },\n };\n}\n\n/** Creates a React-compatible element from JSX runtime arguments. */\nexport function createElementFromJsxConfig<P extends Record<string, unknown>>(\n type: ElementType<P>,\n config: (P & ReactReservedProps & { children?: ReactCompatNode }) | null,\n keyArgument?: unknown,\n): ReactCompatElement<P> {\n const normalizedType =\n typeof type === \"object\" && type !== null ? normalizeElementType(type) : type;\n const key = keyArgument !== undefined\n ? String(keyArgument)\n : config?.key === undefined ? null : String(config.key);\n const ref = config?.ref ?? null;\n const hasChildren = config !== null && config !== undefined && hasOwnProperty.call(config, \"children\");\n const children = config?.children;\n const copiedProps = copyElementProps(config, undefined, true);\n const props = (typeof normalizedType === \"string\"\n ? copiedProps\n : applyDefaultProps(normalizedType, copiedProps)) as P & {\n children?: ReactCompatNode;\n };\n\n if (hasChildren) {\n props.children = children;\n }\n\n if (typeof normalizedType === \"string\") {\n setHostOwnPropsMeta(props);\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: normalizedType as ElementType<P>,\n key,\n ref,\n props,\n };\n}\n\n/** Returns true when a value is a React-compatible element record. */\nexport function isReactCompatElement(\n value: unknown,\n): value is ReactCompatElement {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_ELEMENT_TYPE\n );\n}\n\n/** Creates a portal that renders children into a DOM container outside the parent tree. */\nexport function createPortal(\n children: ReactCompatNode,\n container: Element,\n key?: unknown,\n): ReactCompatPortal {\n return {\n $$typeof: PORTAL_TYPE,\n container,\n children,\n key: key === undefined ? null : String(key),\n };\n}\n\n/** Returns true when a value is a React-compatible portal record. */\nexport function isReactCompatPortal(value: unknown): value is ReactCompatPortal {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === PORTAL_TYPE\n );\n}\n\n/** Creates a mutable ref object with a null initial current value. */\nexport function createRef<T>(): { current: T | null } {\n return { current: null };\n}\n\n/** Element type record produced by forwardRef. */\nexport interface ForwardRefType<P = Record<string, unknown>> {\n $$typeof: typeof FORWARD_REF_TYPE;\n render: (props: P, ref: unknown) => ReactCompatNode;\n}\n\n/** Element type record produced by memo. */\nexport interface MemoType<P = Record<string, unknown>> {\n $$typeof: typeof MEMO_TYPE;\n type: ElementType<P>;\n compare?: (previous: P, next: P) => boolean;\n}\n\n/** Element type record produced by lazy. */\nexport interface LazyType<P = Record<string, unknown>> {\n $$typeof: typeof LAZY_TYPE;\n load: () => Promise<{ default: ElementType<P> }>;\n status: \"uninitialized\" | \"pending\" | \"resolved\" | \"rejected\";\n promise?: Promise<void>;\n resolved?: ElementType<P>;\n error?: unknown;\n}\n\n/** Wraps a component so it can receive a ref as the second render argument. */\nexport function forwardRef<P, T>(\n render: (props: P, ref: { current: T | null } | ((value: T | null) => void) | null) => ReactCompatNode,\n): ForwardRefType<P & { ref?: unknown }> {\n return { $$typeof: FORWARD_REF_TYPE, render: render as ForwardRefType<P>[\"render\"] };\n}\n\n/** Wraps an element type with optional prop comparison for memoized renders. */\nexport function memo<P>(\n type: ElementType<P>,\n compare?: (previous: P, next: P) => boolean,\n): MemoType<P> {\n return compare === undefined\n ? { $$typeof: MEMO_TYPE, type }\n : { $$typeof: MEMO_TYPE, type, compare };\n}\n\n/** Creates a lazy element type that resolves its implementation on demand. */\nexport function lazy<P>(\n load: () => Promise<{ default: ElementType<P> }>,\n): LazyType<P> {\n return {\n $$typeof: LAZY_TYPE,\n load,\n status: \"uninitialized\",\n };\n}\n\n/** Symbol used to mark a subtree for strict-mode development checks. */\nexport const StrictMode = STRICT_MODE_TYPE;\n\n/** Clones an existing element with merged props and optional replacement children. */\nexport function cloneElement<P extends Record<string, unknown>>(\n element: ReactCompatElement<P>,\n props: Partial<P> | null,\n ...children: ReactCompatNode[]\n): ReactCompatElement<P> {\n const key = props === null || props.key === undefined ? element.key : String(props.key);\n const ref = props === null || props.ref === undefined ? element.ref : props.ref;\n const nextProps = copyElementProps(props, element.props) as P & {\n children?: ReactCompatNode;\n };\n\n if (children.length === 1) {\n (nextProps as P & { children?: ReactCompatNode }).children = children[0];\n } else if (children.length > 1) {\n (nextProps as P & { children?: ReactCompatNode }).children = children;\n }\n\n return {\n $$typeof: REACT_COMPAT_ELEMENT_TYPE,\n type: element.type,\n key,\n ref,\n props: nextProps as P & { children?: ReactCompatNode },\n };\n}\n\nfunction copyElementProps(\n source: Record<string, unknown> | null | undefined,\n base?: Record<string, unknown>,\n omitChildren = false,\n): Record<string, unknown> {\n const props: Record<PropertyKey, unknown> = {};\n\n if (base !== undefined) {\n copyOwnStringElementProps(base, props, omitChildren);\n }\n\n if (source === null || source === undefined) {\n return props as Record<string, unknown>;\n }\n\n copyOwnStringElementProps(source, props, omitChildren);\n copyOwnSymbolElementProps(source, props);\n return props as Record<string, unknown>;\n}\n\nfunction copyOwnStringElementProps(\n source: Record<string, unknown>,\n target: Record<string, unknown>,\n omitChildren: boolean,\n): void {\n for (const name in source) {\n if (!hasOwnProperty.call(source, name)) {\n continue;\n }\n\n if (\n name !== \"key\" &&\n name !== \"ref\" &&\n name !== \"__self\" &&\n name !== \"__source\" &&\n (!omitChildren || name !== \"children\")\n ) {\n target[name] = source[name];\n }\n }\n}\n\nfunction copyOwnSymbolElementProps(\n source: Record<string, unknown>,\n target: Record<PropertyKey, unknown>,\n): void {\n const symbolSource = source as Record<PropertyKey, unknown>;\n for (const symbol of Object.getOwnPropertySymbols(source)) {\n target[symbol] = symbolSource[symbol];\n }\n}\n\nfunction normalizeElementType<P>(type: ElementType<P>): ElementType<P> {\n return isReactCompatContextProviderShorthand(type) ? (type.Provider as ElementType<P>) : type;\n}\n\nfunction applyDefaultProps(\n type: unknown,\n props: Record<string, unknown>,\n): Record<string, unknown> {\n if (typeof type !== \"function\" && (typeof type !== \"object\" || type === null)) {\n return props;\n }\n\n const defaultProps = (type as { defaultProps?: Record<string, unknown> } | undefined)\n ?.defaultProps;\n\n if (defaultProps === undefined) {\n return props;\n }\n\n for (const [name, value] of Object.entries(defaultProps)) {\n if (props[name] === undefined) {\n props[name] = value;\n }\n }\n\n return props;\n}\n\ninterface ReactReservedProps {\n key?: unknown;\n ref?: unknown;\n __self?: unknown;\n __source?: unknown;\n}\n\nfunction isReactCompatContextProviderShorthand(\n value: unknown,\n): value is ReactCompatContextProviderShorthand {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n\n const provider = (value as { Provider?: unknown }).Provider;\n\n return (\n typeof provider === \"object\" &&\n provider !== null &&\n (provider as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_PROVIDER_TYPE\n );\n}\n\nfunction setHostOwnPropsMeta(props: Record<string, unknown>): void {\n if (hostPropsAreChildrenOnly(props)) {\n (props as { [HOST_CHILDREN_ONLY_PROPS_META]?: true })[\n HOST_CHILDREN_ONLY_PROPS_META\n ] = true;\n }\n}\n\nfunction hostPropsAreChildrenOnly(props: Record<string, unknown>): boolean {\n for (const name in props) {\n if (hasOwnProperty.call(props, name) && name !== \"children\") {\n return false;\n }\n }\n\n return true;\n}\n\n/** Alias for checking whether a value is a React-compatible element. */\nexport const isValidElement = isReactCompatElement;\n\n/** Helpers for iterating, counting, flattening, and validating children. */\nexport const Children = {\n map<T>(\n children: ReactCompatNode,\n fn: (child: Exclude<ReactCompatNode, null | undefined | boolean>, index: number) => T,\n ): T[] | null {\n if (children === null || children === undefined) {\n return null;\n }\n\n return flattenChildren(children).map((child, index) =>\n fn(child as Exclude<ReactCompatNode, null | undefined | boolean>, index),\n );\n },\n forEach(\n children: ReactCompatNode,\n fn: (child: Exclude<ReactCompatNode, null | undefined | boolean>, index: number) => void,\n ): void {\n toChildArray(children).forEach((child, index) => {\n fn(child, index);\n });\n },\n count(children: ReactCompatNode): number {\n if (children === null || children === undefined) {\n return 0;\n }\n\n return flattenChildren(children).length;\n },\n toArray(children: ReactCompatNode): Exclude<ReactCompatNode, null | undefined | boolean>[] {\n return toChildArray(children);\n },\n only(children: ReactCompatNode): Exclude<ReactCompatNode, null | undefined | boolean> {\n const array = toChildArray(children);\n\n if (array.length !== 1) {\n throw new Error(\"Expected exactly one child.\");\n }\n\n return array[0] as Exclude<ReactCompatNode, null | undefined | boolean>;\n },\n};\n\nfunction toChildArray(\n children: ReactCompatNode,\n): Exclude<ReactCompatNode, null | undefined | boolean>[] {\n return flattenChildren(children).filter(\n (child): child is Exclude<ReactCompatNode, null | undefined | boolean> =>\n child !== null && child !== undefined && typeof child !== \"boolean\",\n );\n}\n\nfunction flattenChildren(children: ReactCompatNode): ReactCompatNode[] {\n if (Array.isArray(children)) {\n return children.flatMap((child) => flattenChildren(child));\n }\n\n return [children];\n}\n\n/** Options used to render and observe a React-compatible error boundary. */\nexport interface ErrorBoundaryOptions {\n fallback: (error: Error) => ReactCompatNode;\n onError?: (error: Error) => void;\n}\n\n/** Creates an error boundary element with a fallback renderer. */\nexport function createErrorBoundary(\n options: ErrorBoundaryOptions,\n children: ReactCompatNode,\n): ReactCompatElement<ErrorBoundaryOptions & { children: ReactCompatNode }> {\n return createElement(ERROR_BOUNDARY_TYPE, {\n ...options,\n children,\n });\n}\n"]}
@@ -1,2 +1,3 @@
1
+ /** Event priority helpers for React-compatible event batching. */
1
2
  export { runWithEventPriority, type EventPriority } from "./hooks.js";
2
3
  //# sourceMappingURL=event-priority.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-priority.d.ts","sourceRoot":"","sources":["../src/event-priority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"event-priority.d.ts","sourceRoot":"","sources":["../src/event-priority.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1,2 +1,3 @@
1
+ /** Event priority helpers for React-compatible event batching. */
1
2
  export { runWithEventPriority } from "./hooks.js";
2
3
  //# sourceMappingURL=event-priority.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-priority.js","sourceRoot":"","sources":["../src/event-priority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,YAAY,CAAC","sourcesContent":["export { runWithEventPriority, type EventPriority } from \"./hooks.js\";\n"]}
1
+ {"version":3,"file":"event-priority.js","sourceRoot":"","sources":["../src/event-priority.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,oBAAoB,EAAsB,MAAM,YAAY,CAAC","sourcesContent":["/** Event priority helpers for React-compatible event batching. */\nexport { runWithEventPriority, type EventPriority } from \"./hooks.js\";\n"]}
@@ -1,7 +1,9 @@
1
+ /** Serialized map of server-rendered event handlers used for hydration replay. */
1
2
  export interface EventHydrationManifest {
2
3
  version: 1;
3
4
  events: EventHydrationManifestEntry[];
4
5
  }
6
+ /** Single event handler entry in a hydration replay manifest. */
5
7
  export interface EventHydrationManifestEntry {
6
8
  id: string;
7
9
  event: string;
@@ -10,9 +12,13 @@ export interface EventHydrationManifestEntry {
10
12
  export interface HydrationEventReplayOptions {
11
13
  onCapturedEvent?: (event: Event, target: EventTarget) => void;
12
14
  }
15
+ /** Queues a captured event so it can be replayed after hydration. */
13
16
  export declare function queueHydrationEvent(container: Element, event: Event, target: EventTarget): void;
17
+ /** Captures supported events on a container until hydration can replay them. */
14
18
  export declare function enableHydrationEventReplay(container: Element): () => void;
19
+ /** Reads an event hydration manifest script from a document or parent node. */
15
20
  export declare function readEventHydrationManifest(root?: ParentNode): EventHydrationManifest | undefined;
21
+ /** Captures only the event types declared by a hydration manifest. */
16
22
  export declare function enableEventHydrationManifestReplay(container: Element, manifest: EventHydrationManifest | undefined, options?: HydrationEventReplayOptions): () => void;
17
23
  export declare function replayQueuedHydrationEvents(container: Element): void;
18
24
  //# sourceMappingURL=event-replay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-replay.d.ts","sourceRoot":"","sources":["../src/event-replay.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,MAAM,WAAW,2BAA2B;IAC1C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC/D;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,WAAW,GAClB,IAAI,CAYN;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,IAAI,CAEzE;AAED,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,UAAqB,GAC1B,sBAAsB,GAAG,SAAS,CAgBpC;AAED,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,sBAAsB,GAAG,SAAS,EAC5C,OAAO,GAAE,2BAAgC,GACxC,MAAM,IAAI,CAYZ;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAQpE"}
1
+ {"version":3,"file":"event-replay.d.ts","sourceRoot":"","sources":["../src/event-replay.ts"],"names":[],"mappings":"AAIA,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACvC;AAED,iEAAiE;AACjE,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,MAAM,WAAW,2BAA2B;IAC1C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC/D;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,WAAW,GAClB,IAAI,CAYN;AAED,gFAAgF;AAChF,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,IAAI,CAEzE;AAED,+EAA+E;AAC/E,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,UAAqB,GAC1B,sBAAsB,GAAG,SAAS,CAgBpC;AAED,sEAAsE;AACtE,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,sBAAsB,GAAG,SAAS,EAC5C,OAAO,GAAE,2BAAgC,GACxC,MAAM,IAAI,CAYZ;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAQpE"}
@@ -1,6 +1,7 @@
1
1
  const queuedHydrationEvents = new WeakMap();
2
2
  const replayedEvents = new WeakSet();
3
3
  const allowedReplayEventTypes = new Set(["click", "input", "change", "submit"]);
4
+ /** Queues a captured event so it can be replayed after hydration. */
4
5
  export function queueHydrationEvent(container, event, target) {
5
6
  if (!allowedReplayEventTypes.has(event.type) ||
6
7
  !(target instanceof Node) ||
@@ -11,9 +12,11 @@ export function queueHydrationEvent(container, event, target) {
11
12
  events.push({ event, target });
12
13
  queuedHydrationEvents.set(container, events);
13
14
  }
15
+ /** Captures supported events on a container until hydration can replay them. */
14
16
  export function enableHydrationEventReplay(container) {
15
17
  return enableHydrationEventReplayForTypes(container, allowedReplayEventTypes);
16
18
  }
19
+ /** Reads an event hydration manifest script from a document or parent node. */
17
20
  export function readEventHydrationManifest(root = document) {
18
21
  const script = root.querySelector("script[data-mreact-event-manifest]");
19
22
  if (script === null) {
@@ -25,6 +28,7 @@ export function readEventHydrationManifest(root = document) {
25
28
  }
26
29
  return value;
27
30
  }
31
+ /** Captures only the event types declared by a hydration manifest. */
28
32
  export function enableEventHydrationManifestReplay(container, manifest, options = {}) {
29
33
  if (manifest === undefined) {
30
34
  return () => undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"event-replay.js","sourceRoot":"","sources":["../src/event-replay.ts"],"names":[],"mappings":"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","sourcesContent":["const queuedHydrationEvents = new WeakMap<Element, QueuedHydrationEvent[]>();\nconst replayedEvents = new WeakSet<Event>();\nconst allowedReplayEventTypes = new Set([\"click\", \"input\", \"change\", \"submit\"]);\n\nexport interface EventHydrationManifest {\n version: 1;\n events: EventHydrationManifestEntry[];\n}\n\nexport interface EventHydrationManifestEntry {\n id: string;\n event: string;\n handler: string;\n}\n\ninterface QueuedHydrationEvent {\n target: EventTarget;\n event: Event;\n}\n\nexport interface HydrationEventReplayOptions {\n onCapturedEvent?: (event: Event, target: EventTarget) => void;\n}\n\nexport function queueHydrationEvent(\n container: Element,\n event: Event,\n target: EventTarget,\n): void {\n if (\n !allowedReplayEventTypes.has(event.type) ||\n !(target instanceof Node) ||\n !container.contains(target)\n ) {\n return;\n }\n\n const events = queuedHydrationEvents.get(container) ?? [];\n events.push({ event, target });\n queuedHydrationEvents.set(container, events);\n}\n\nexport function enableHydrationEventReplay(container: Element): () => void {\n return enableHydrationEventReplayForTypes(container, allowedReplayEventTypes);\n}\n\nexport function readEventHydrationManifest(\n root: ParentNode = document,\n): EventHydrationManifest | undefined {\n const script = root.querySelector<HTMLScriptElement>(\n \"script[data-mreact-event-manifest]\",\n );\n\n if (script === null) {\n return undefined;\n }\n\n const value = JSON.parse(script.textContent ?? \"\") as EventHydrationManifest;\n\n if (value.version !== 1 || !Array.isArray(value.events)) {\n return undefined;\n }\n\n return value;\n}\n\nexport function enableEventHydrationManifestReplay(\n container: Element,\n manifest: EventHydrationManifest | undefined,\n options: HydrationEventReplayOptions = {},\n): () => void {\n if (manifest === undefined) {\n return () => undefined;\n }\n\n const eventTypes = new Set(\n manifest.events\n .map((event) => event.event)\n .filter((event) => allowedReplayEventTypes.has(event)),\n );\n\n return enableHydrationEventReplayForTypes(container, eventTypes, options);\n}\n\nexport function replayQueuedHydrationEvents(container: Element): void {\n const events = queuedHydrationEvents.get(container) ?? [];\n queuedHydrationEvents.delete(container);\n\n for (const { event, target } of events) {\n replayedEvents.add(event);\n target.dispatchEvent(event);\n }\n}\n\nfunction enableHydrationEventReplayForTypes(\n container: Element,\n eventTypes: Iterable<string>,\n options: HydrationEventReplayOptions = {},\n): () => void {\n const listeners = Array.from(eventTypes, (type) => {\n const listener = (event: Event): void => {\n if (replayedEvents.has(event) || !(event.target instanceof Node)) {\n return;\n }\n\n const replayEvent = cloneReplayableEvent(event);\n queueHydrationEvent(container, replayEvent, event.target);\n options.onCapturedEvent?.(replayEvent, event.target);\n event.stopImmediatePropagation();\n event.preventDefault();\n };\n\n container.addEventListener(type, listener, true);\n return { type, listener };\n });\n\n return () => {\n for (const { type, listener } of listeners) {\n container.removeEventListener(type, listener, true);\n }\n };\n}\n\nfunction cloneReplayableEvent(event: Event): Event {\n const init = {\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed,\n };\n\n if (typeof MouseEvent !== \"undefined\" && event instanceof MouseEvent) {\n return new MouseEvent(event.type, {\n ...init,\n button: event.button,\n buttons: event.buttons,\n clientX: event.clientX,\n clientY: event.clientY,\n ctrlKey: event.ctrlKey,\n metaKey: event.metaKey,\n shiftKey: event.shiftKey,\n altKey: event.altKey,\n });\n }\n\n if (typeof InputEvent !== \"undefined\" && event instanceof InputEvent) {\n return new InputEvent(event.type, {\n ...init,\n data: event.data,\n inputType: event.inputType,\n });\n }\n\n return new Event(event.type, init);\n}\n"]}
1
+ {"version":3,"file":"event-replay.js","sourceRoot":"","sources":["../src/event-replay.ts"],"names":[],"mappings":"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","sourcesContent":["const queuedHydrationEvents = new WeakMap<Element, QueuedHydrationEvent[]>();\nconst replayedEvents = new WeakSet<Event>();\nconst allowedReplayEventTypes = new Set([\"click\", \"input\", \"change\", \"submit\"]);\n\n/** Serialized map of server-rendered event handlers used for hydration replay. */\nexport interface EventHydrationManifest {\n version: 1;\n events: EventHydrationManifestEntry[];\n}\n\n/** Single event handler entry in a hydration replay manifest. */\nexport interface EventHydrationManifestEntry {\n id: string;\n event: string;\n handler: string;\n}\n\ninterface QueuedHydrationEvent {\n target: EventTarget;\n event: Event;\n}\n\nexport interface HydrationEventReplayOptions {\n onCapturedEvent?: (event: Event, target: EventTarget) => void;\n}\n\n/** Queues a captured event so it can be replayed after hydration. */\nexport function queueHydrationEvent(\n container: Element,\n event: Event,\n target: EventTarget,\n): void {\n if (\n !allowedReplayEventTypes.has(event.type) ||\n !(target instanceof Node) ||\n !container.contains(target)\n ) {\n return;\n }\n\n const events = queuedHydrationEvents.get(container) ?? [];\n events.push({ event, target });\n queuedHydrationEvents.set(container, events);\n}\n\n/** Captures supported events on a container until hydration can replay them. */\nexport function enableHydrationEventReplay(container: Element): () => void {\n return enableHydrationEventReplayForTypes(container, allowedReplayEventTypes);\n}\n\n/** Reads an event hydration manifest script from a document or parent node. */\nexport function readEventHydrationManifest(\n root: ParentNode = document,\n): EventHydrationManifest | undefined {\n const script = root.querySelector<HTMLScriptElement>(\n \"script[data-mreact-event-manifest]\",\n );\n\n if (script === null) {\n return undefined;\n }\n\n const value = JSON.parse(script.textContent ?? \"\") as EventHydrationManifest;\n\n if (value.version !== 1 || !Array.isArray(value.events)) {\n return undefined;\n }\n\n return value;\n}\n\n/** Captures only the event types declared by a hydration manifest. */\nexport function enableEventHydrationManifestReplay(\n container: Element,\n manifest: EventHydrationManifest | undefined,\n options: HydrationEventReplayOptions = {},\n): () => void {\n if (manifest === undefined) {\n return () => undefined;\n }\n\n const eventTypes = new Set(\n manifest.events\n .map((event) => event.event)\n .filter((event) => allowedReplayEventTypes.has(event)),\n );\n\n return enableHydrationEventReplayForTypes(container, eventTypes, options);\n}\n\nexport function replayQueuedHydrationEvents(container: Element): void {\n const events = queuedHydrationEvents.get(container) ?? [];\n queuedHydrationEvents.delete(container);\n\n for (const { event, target } of events) {\n replayedEvents.add(event);\n target.dispatchEvent(event);\n }\n}\n\nfunction enableHydrationEventReplayForTypes(\n container: Element,\n eventTypes: Iterable<string>,\n options: HydrationEventReplayOptions = {},\n): () => void {\n const listeners = Array.from(eventTypes, (type) => {\n const listener = (event: Event): void => {\n if (replayedEvents.has(event) || !(event.target instanceof Node)) {\n return;\n }\n\n const replayEvent = cloneReplayableEvent(event);\n queueHydrationEvent(container, replayEvent, event.target);\n options.onCapturedEvent?.(replayEvent, event.target);\n event.stopImmediatePropagation();\n event.preventDefault();\n };\n\n container.addEventListener(type, listener, true);\n return { type, listener };\n });\n\n return () => {\n for (const { type, listener } of listeners) {\n container.removeEventListener(type, listener, true);\n }\n };\n}\n\nfunction cloneReplayableEvent(event: Event): Event {\n const init = {\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed,\n };\n\n if (typeof MouseEvent !== \"undefined\" && event instanceof MouseEvent) {\n return new MouseEvent(event.type, {\n ...init,\n button: event.button,\n buttons: event.buttons,\n clientX: event.clientX,\n clientY: event.clientY,\n ctrlKey: event.ctrlKey,\n metaKey: event.metaKey,\n shiftKey: event.shiftKey,\n altKey: event.altKey,\n });\n }\n\n if (typeof InputEvent !== \"undefined\" && event instanceof InputEvent) {\n return new InputEvent(event.type, {\n ...init,\n data: event.data,\n inputType: event.inputType,\n });\n }\n\n return new Event(event.type, init);\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import type { ElementType } from "./element.js";
2
2
  import type { FlightClientReference, FlightModel, FlightResponse, FlightServerReference } from "./flight-types.js";
3
+ /** Options used when resolving client and server references while decoding Flight models. */
3
4
  export interface DecodeFlightOptions {
4
5
  loadClientReference(reference: FlightClientReference): ElementType<Record<string, unknown>>;
5
6
  callServerReference?(reference: FlightServerReference, args: unknown[]): unknown | Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"flight-decoder.d.ts","sourceRoot":"","sources":["../src/flight-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD,OAAO,KAAK,EACV,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,SAAS,EAAE,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5F,mBAAmB,CAAC,CAClB,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE,OAAO,EAAE,GACd,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAaD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,SAAI,GACR,OAAO,CA4HT"}
1
+ {"version":3,"file":"flight-decoder.d.ts","sourceRoot":"","sources":["../src/flight-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD,OAAO,KAAK,EACV,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAE3B,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,SAAS,EAAE,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5F,mBAAmB,CAAC,CAClB,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE,OAAO,EAAE,GACd,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAaD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,SAAI,GACR,OAAO,CA4HT"}
@@ -1 +1 @@
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
+ {"version":3,"file":"flight-decoder.js","sourceRoot":"","sources":["../src/flight-decoder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAkBrC,mEAAmE;AACnE,4CAA4C;AAC5C,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,iBAAkB,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAkB,EAClB,QAAwB,EACxB,OAA4B,EAC5B,KAAK,GAAG,CAAC;IAET,IAAI,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACpC,MAAM,IAAI,iBAAiB,CACzB,0CAA0C,uBAAuB,SAAS,CAC3E,CAAC;IACJ,CAAC;IACD,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,UAAU;gBACb,OAAO,QAAQ,CAAC;YAClB,KAAK,WAAW;gBACd,OAAO,CAAC,QAAQ,CAAC;YACnB,KAAK,IAAI;gBACP,OAAO,CAAC,CAAC,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,MAAM,CAAC,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YAClC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC;YACpD,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC;SACvD,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CACpF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACvE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAqC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC/D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,wBAAwB,CAC7B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAClF,KAAK,EACL,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACtC,OAAO,+BAA+B,CACpC,KAAK,CAAC,EAAE,EACR,QAAQ,EACR,OAAO,EACP,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IAAI,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACpC,MAAM,IAAI,iBAAiB,CACzB,0CAA0C,uBAAuB,SAAS,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA+B,EAAE,KAAe;IACxE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAExC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,YAAY;YACf,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,mBAAmB;YACtB,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,KAAK,YAAY;YACf,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,aAAa;YAChB,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,aAAa;YAChB,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,cAAc;YACjB,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,cAAc;YACjB,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,eAAe;YAClB,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,gBAAgB;YACnB,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;AACH,CAAC","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\n/** Options used when resolving client and server references while decoding Flight models. */\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"]}
@@ -2,10 +2,12 @@ export declare const reactFlightBinaryRowTags: readonly ["A", "O", "o", "U", "S"
2
2
  export declare const reactFlightRowTags: readonly ["C", "D", "E", "F", "H", "I", "J", "N", "P", "R", "T", "W", "X", "x", "r"];
3
3
  export declare const reactFlightModelTokens: readonly ["$", "$$", "$@", "$D", "$E", "$F", "$I", "$K", "$L", "$N", "$Q", "$S", "$W", "$Y", "$Z", "$i", "$n", "$u", "$undefined"];
4
4
  export type ReactFlightBinaryRowTag = (typeof reactFlightBinaryRowTags)[number];
5
+ /** Lists the React Flight row tags and model tokens recognized by this package. */
5
6
  export interface ReactFlightProtocolCoverage {
6
7
  binaryRowTags: string[];
7
8
  modelTokens: string[];
8
9
  rowTags: string[];
9
10
  }
11
+ /** Returns the React Flight protocol markers currently covered by the decoder. */
10
12
  export declare function getReactFlightProtocolCoverage(): ReactFlightProtocolCoverage;
11
13
  //# sourceMappingURL=flight-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flight-protocol.d.ts","sourceRoot":"","sources":["../src/flight-protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,4EAc3B,CAAC;AAEX,eAAO,MAAM,kBAAkB,sFAgBrB,CAAC;AAEX,eAAO,MAAM,sBAAsB,oIAoBzB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,8BAA8B,IAAI,2BAA2B,CAM5E"}
1
+ {"version":3,"file":"flight-protocol.d.ts","sourceRoot":"","sources":["../src/flight-protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,4EAc3B,CAAC;AAEX,eAAO,MAAM,kBAAkB,sFAgBrB,CAAC;AAEX,eAAO,MAAM,sBAAsB,oIAoBzB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,mFAAmF;AACnF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,kFAAkF;AAClF,wBAAgB,8BAA8B,IAAI,2BAA2B,CAM5E"}
@@ -51,6 +51,7 @@ export const reactFlightModelTokens = [
51
51
  "$u",
52
52
  "$undefined",
53
53
  ];
54
+ /** Returns the React Flight protocol markers currently covered by the decoder. */
54
55
  export function getReactFlightProtocolCoverage() {
55
56
  return {
56
57
  binaryRowTags: [...reactFlightBinaryRowTags],
@@ -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","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
+ {"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;AAWX,kFAAkF;AAClF,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\n/** Lists the React Flight row tags and model tokens recognized by this package. */\nexport interface ReactFlightProtocolCoverage {\n binaryRowTags: string[];\n modelTokens: string[];\n rowTags: string[];\n}\n\n/** Returns the React Flight protocol markers currently covered by the decoder. */\nexport function getReactFlightProtocolCoverage(): ReactFlightProtocolCoverage {\n return {\n binaryRowTags: [...reactFlightBinaryRowTags],\n modelTokens: [...reactFlightModelTokens],\n rowTags: [...reactFlightRowTags],\n };\n}\n"]}
@@ -1,21 +1,25 @@
1
+ /** Client module reference carried by a Flight response. */
1
2
  export interface FlightClientReference {
2
3
  id: number;
3
4
  moduleId: string;
4
5
  exportName: string;
5
6
  chunks?: string[];
6
7
  }
8
+ /** Server action reference carried by a Flight response. */
7
9
  export interface FlightServerReference {
8
10
  id: number;
9
11
  moduleId: string;
10
12
  exportName: string;
11
13
  bound?: FlightModel[];
12
14
  }
15
+ /** Parsed React Flight response with root model and reference tables. */
13
16
  export interface FlightResponse {
14
17
  version: 1;
15
18
  root: FlightModel;
16
19
  clientReferences: FlightClientReference[];
17
20
  serverReferences: FlightServerReference[];
18
21
  }
22
+ /** Serializable model value supported by the mreact Flight decoder. */
19
23
  export type FlightModel = null | string | number | boolean | FlightModel[] | FlightObjectModel | FlightElementModel | FlightClientReferenceModel | FlightServerReferenceModel | FlightDateModel | FlightBigIntModel | FlightNumberModel | FlightSymbolModel | FlightMapModel | FlightSetModel | FlightFormDataModel | FlightIterableModel | FlightErrorModel | FlightPromiseModel | FlightArrayBufferModel | FlightTypedArrayModel | FlightDataViewModel | {
20
24
  kind: "undefined";
21
25
  };
@@ -23,6 +27,7 @@ export interface FlightObjectModel {
23
27
  kind?: never;
24
28
  [key: string]: FlightModel | undefined;
25
29
  }
30
+ /** Flight model record for a rendered element. */
26
31
  export interface FlightElementModel {
27
32
  kind: "element";
28
33
  type: string | FlightClientReferenceModel | {
@@ -31,68 +36,84 @@ export interface FlightElementModel {
31
36
  key: string | null;
32
37
  props: Record<string, FlightModel>;
33
38
  }
39
+ /** Flight model record that points at a client reference table entry. */
34
40
  export interface FlightClientReferenceModel {
35
41
  kind: "client-reference";
36
42
  id: number;
37
43
  }
44
+ /** Flight model record that points at a server reference table entry. */
38
45
  export interface FlightServerReferenceModel {
39
46
  kind: "server-reference";
40
47
  id: number;
41
48
  }
49
+ /** Flight model record for a Date value. */
42
50
  export interface FlightDateModel {
43
51
  kind: "date";
44
52
  value: string;
45
53
  }
54
+ /** Flight model record for a bigint value. */
46
55
  export interface FlightBigIntModel {
47
56
  kind: "bigint";
48
57
  value: string;
49
58
  }
59
+ /** Flight model record for non-finite or negative-zero numbers. */
50
60
  export interface FlightNumberModel {
51
61
  kind: "number";
52
62
  value: "Infinity" | "-Infinity" | "NaN" | "-0";
53
63
  }
64
+ /** Flight model record for a global symbol. */
54
65
  export interface FlightSymbolModel {
55
66
  kind: "symbol";
56
67
  name: string;
57
68
  }
69
+ /** Flight model record for a Map value. */
58
70
  export interface FlightMapModel {
59
71
  kind: "map";
60
72
  entries: [FlightModel, FlightModel][];
61
73
  }
74
+ /** Flight model record for a Set value. */
62
75
  export interface FlightSetModel {
63
76
  kind: "set";
64
77
  values: FlightModel[];
65
78
  }
79
+ /** Flight model record for a FormData value. */
66
80
  export interface FlightFormDataModel {
67
81
  kind: "form-data";
68
82
  entries: [string, FlightModel][];
69
83
  }
84
+ /** Flight model record for an iterable value encoded as an array. */
70
85
  export interface FlightIterableModel {
71
86
  kind: "iterable";
72
87
  values: FlightModel[];
73
88
  }
89
+ /** Flight model record for an error thrown while decoding. */
74
90
  export interface FlightErrorModel {
75
91
  kind: "error";
76
92
  name: string;
77
93
  message: string;
78
94
  digest?: string;
79
95
  }
96
+ /** Flight model record for a pending promise chunk. */
80
97
  export interface FlightPromiseModel {
81
98
  kind: "promise";
82
99
  id: number;
83
100
  }
101
+ /** Flight model record for an ArrayBuffer value. */
84
102
  export interface FlightArrayBufferModel {
85
103
  kind: "array-buffer";
86
104
  bytes: number[];
87
105
  }
106
+ /** Flight model record for a typed array value. */
88
107
  export interface FlightTypedArrayModel {
89
108
  kind: "typed-array";
90
109
  arrayType: FlightTypedArrayName;
91
110
  bytes: number[];
92
111
  }
112
+ /** Flight model record for a DataView value. */
93
113
  export interface FlightDataViewModel {
94
114
  kind: "data-view";
95
115
  bytes: number[];
96
116
  }
117
+ /** Typed array constructor names supported by the Flight decoder. */
97
118
  export type FlightTypedArrayName = "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float32Array" | "Float64Array" | "BigInt64Array" | "BigUint64Array";
98
119
  //# sourceMappingURL=flight-types.d.ts.map