react-router 7.18.0 → 8.0.0-pre.1

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 (285) hide show
  1. package/dist/development/dom-export.d.ts +6 -172
  2. package/dist/development/dom-export.js +12 -1009
  3. package/dist/development/index-react-server-client.d.ts +7 -4
  4. package/dist/development/index-react-server-client.js +8 -52
  5. package/dist/development/index-react-server.d.ts +1650 -1641
  6. package/dist/development/index-react-server.js +2882 -3664
  7. package/dist/development/index.d.ts +42 -1476
  8. package/dist/development/index.js +36 -2553
  9. package/dist/development/lib/actions.js +50 -0
  10. package/dist/development/lib/components.d.ts +1030 -0
  11. package/dist/development/lib/components.js +841 -0
  12. package/dist/development/lib/context.d.ts +83 -0
  13. package/dist/development/lib/context.js +41 -0
  14. package/dist/development/lib/dom/dom.d.ts +119 -0
  15. package/dist/development/lib/dom/dom.js +143 -0
  16. package/dist/development/lib/dom/lib.d.ts +2053 -0
  17. package/dist/development/lib/dom/lib.js +1271 -0
  18. package/dist/development/lib/dom/server.d.ts +138 -0
  19. package/dist/development/lib/dom/server.js +301 -0
  20. package/dist/development/lib/dom/ssr/components.d.ts +198 -0
  21. package/dist/development/lib/dom/ssr/components.js +589 -0
  22. package/dist/development/lib/dom/ssr/data.js +29 -0
  23. package/dist/development/lib/dom/ssr/entry.d.ts +60 -0
  24. package/dist/development/lib/dom/ssr/errorBoundaries.d.ts +27 -0
  25. package/dist/development/lib/dom/ssr/errorBoundaries.js +87 -0
  26. package/dist/development/lib/dom/ssr/fallback.js +33 -0
  27. package/dist/development/lib/dom/ssr/fog-of-war.d.ts +12 -0
  28. package/dist/development/lib/dom/ssr/fog-of-war.js +180 -0
  29. package/dist/development/lib/dom/ssr/hydration.d.ts +32 -0
  30. package/dist/development/lib/dom/ssr/hydration.js +29 -0
  31. package/dist/development/lib/dom/ssr/invariant.js +16 -0
  32. package/dist/development/lib/dom/ssr/links.js +170 -0
  33. package/dist/development/lib/dom/ssr/markup.js +24 -0
  34. package/dist/development/lib/dom/ssr/routeModules.d.ts +206 -0
  35. package/dist/development/lib/dom/ssr/routeModules.js +31 -0
  36. package/dist/development/lib/dom/ssr/routes-test-stub.d.ts +62 -0
  37. package/dist/development/lib/dom/ssr/routes-test-stub.js +108 -0
  38. package/dist/development/lib/dom/ssr/routes.d.ts +33 -0
  39. package/dist/development/lib/dom/ssr/routes.js +303 -0
  40. package/dist/development/lib/dom/ssr/server.d.ts +48 -0
  41. package/dist/development/lib/dom/ssr/server.js +69 -0
  42. package/dist/development/lib/dom/ssr/single-fetch.d.ts +14 -0
  43. package/dist/development/lib/dom/ssr/single-fetch.js +345 -0
  44. package/dist/development/lib/dom-export/dom-router-provider.d.ts +9 -0
  45. package/dist/development/lib/dom-export/dom-router-provider.js +22 -0
  46. package/dist/development/lib/dom-export/hydrated-router.d.ts +125 -0
  47. package/dist/development/lib/dom-export/hydrated-router.js +150 -0
  48. package/dist/development/lib/errors.js +29 -0
  49. package/dist/development/lib/hooks.d.ts +947 -0
  50. package/dist/development/lib/hooks.js +1388 -0
  51. package/dist/development/lib/href.d.ts +20 -0
  52. package/dist/development/lib/href.js +50 -0
  53. package/dist/development/lib/router/history.d.ts +258 -0
  54. package/dist/development/lib/router/history.js +372 -0
  55. package/dist/development/lib/router/instrumentation.d.ts +86 -0
  56. package/dist/development/lib/router/instrumentation.js +213 -0
  57. package/dist/development/lib/router/links.d.ts +114 -0
  58. package/dist/development/lib/router/router.d.ts +663 -0
  59. package/dist/development/lib/router/router.js +2988 -0
  60. package/dist/development/lib/router/url.js +18 -0
  61. package/dist/development/lib/router/utils.d.ts +948 -0
  62. package/dist/development/lib/router/utils.js +810 -0
  63. package/dist/development/lib/rsc/browser.d.ts +137 -0
  64. package/dist/development/lib/rsc/browser.js +603 -0
  65. package/dist/development/lib/rsc/errorBoundaries.d.ts +11 -0
  66. package/dist/development/lib/rsc/errorBoundaries.js +90 -0
  67. package/dist/development/lib/rsc/html-stream/browser.d.ts +48 -0
  68. package/dist/development/lib/rsc/html-stream/browser.js +74 -0
  69. package/dist/development/lib/rsc/html-stream/server.js +78 -0
  70. package/dist/development/lib/rsc/route-modules.js +27 -0
  71. package/dist/development/lib/rsc/server.rsc.d.ts +219 -0
  72. package/dist/development/lib/rsc/server.ssr.d.ts +129 -0
  73. package/dist/development/lib/rsc/server.ssr.js +404 -0
  74. package/dist/development/lib/server-runtime/build.d.ts +66 -0
  75. package/dist/development/lib/server-runtime/cookies.d.ts +66 -0
  76. package/dist/development/lib/server-runtime/cookies.js +139 -0
  77. package/dist/development/lib/server-runtime/crypto.js +43 -0
  78. package/dist/development/lib/server-runtime/data.d.ts +13 -0
  79. package/dist/development/lib/server-runtime/data.js +25 -0
  80. package/dist/development/lib/server-runtime/dev.d.ts +9 -0
  81. package/dist/development/lib/server-runtime/dev.js +26 -0
  82. package/dist/development/lib/server-runtime/entry.js +20 -0
  83. package/dist/development/lib/server-runtime/errors.js +75 -0
  84. package/dist/development/lib/server-runtime/headers.js +73 -0
  85. package/dist/development/lib/server-runtime/invariant.js +19 -0
  86. package/dist/development/lib/server-runtime/mode.d.ts +12 -0
  87. package/dist/development/lib/server-runtime/mode.js +25 -0
  88. package/dist/development/lib/server-runtime/routeMatching.js +28 -0
  89. package/dist/development/lib/server-runtime/routes.d.ts +13 -0
  90. package/dist/development/lib/server-runtime/routes.js +74 -0
  91. package/dist/development/lib/server-runtime/server.d.ts +10 -0
  92. package/dist/development/lib/server-runtime/server.js +345 -0
  93. package/dist/development/lib/server-runtime/serverHandoff.js +17 -0
  94. package/dist/development/lib/server-runtime/sessions/cookieStorage.d.ts +25 -0
  95. package/dist/development/lib/server-runtime/sessions/cookieStorage.js +45 -0
  96. package/dist/development/lib/server-runtime/sessions/memoryStorage.d.ts +23 -0
  97. package/dist/development/lib/server-runtime/sessions/memoryStorage.js +52 -0
  98. package/dist/development/lib/server-runtime/sessions.d.ts +145 -0
  99. package/dist/development/lib/server-runtime/sessions.js +98 -0
  100. package/dist/development/lib/server-runtime/single-fetch.d.ts +7 -0
  101. package/dist/development/lib/server-runtime/single-fetch.js +215 -0
  102. package/dist/development/lib/server-runtime/urls.js +28 -0
  103. package/dist/development/lib/server-runtime/warnings.js +20 -0
  104. package/dist/development/lib/types/future.d.ts +9 -0
  105. package/dist/development/lib/types/internal.d.ts +26 -177
  106. package/dist/development/lib/types/internal.js +3 -2
  107. package/dist/development/{register-roq_0qYo.d.ts → lib/types/register.d.ts} +9 -15
  108. package/dist/development/lib/types/route-data.d.ts +113 -0
  109. package/dist/development/lib/types/route-module-annotations.d.ts +149 -0
  110. package/dist/development/lib/types/route-module.d.ts +19 -0
  111. package/dist/development/lib/types/serializes-to.d.ts +13 -0
  112. package/dist/development/lib/types/utils.d.ts +11 -0
  113. package/dist/development/vendor/turbo-stream-v2/flatten.js +159 -0
  114. package/dist/development/vendor/turbo-stream-v2/turbo-stream.js +179 -0
  115. package/dist/development/vendor/turbo-stream-v2/unflatten.js +199 -0
  116. package/dist/development/vendor/turbo-stream-v2/utils.js +39 -0
  117. package/dist/production/dom-export.d.ts +6 -172
  118. package/dist/production/dom-export.js +12 -1009
  119. package/dist/production/index-react-server-client.d.ts +7 -4
  120. package/dist/production/index-react-server-client.js +8 -52
  121. package/dist/production/index-react-server.d.ts +1650 -1641
  122. package/dist/production/index-react-server.js +2873 -3664
  123. package/dist/production/index.d.ts +42 -1476
  124. package/dist/production/index.js +36 -2553
  125. package/dist/production/lib/actions.js +50 -0
  126. package/dist/production/lib/components.d.ts +1030 -0
  127. package/dist/production/lib/components.js +841 -0
  128. package/dist/production/lib/context.d.ts +83 -0
  129. package/dist/production/lib/context.js +41 -0
  130. package/dist/production/lib/dom/dom.d.ts +119 -0
  131. package/dist/production/lib/dom/dom.js +143 -0
  132. package/dist/production/lib/dom/lib.d.ts +2053 -0
  133. package/dist/production/lib/dom/lib.js +1271 -0
  134. package/dist/production/lib/dom/server.d.ts +138 -0
  135. package/dist/production/lib/dom/server.js +301 -0
  136. package/dist/production/lib/dom/ssr/components.d.ts +198 -0
  137. package/dist/production/lib/dom/ssr/components.js +589 -0
  138. package/dist/production/lib/dom/ssr/data.js +29 -0
  139. package/dist/production/lib/dom/ssr/entry.d.ts +60 -0
  140. package/dist/production/lib/dom/ssr/errorBoundaries.d.ts +27 -0
  141. package/dist/production/lib/dom/ssr/errorBoundaries.js +87 -0
  142. package/dist/production/lib/dom/ssr/fallback.js +23 -0
  143. package/dist/production/lib/dom/ssr/fog-of-war.d.ts +12 -0
  144. package/dist/production/lib/dom/ssr/fog-of-war.js +180 -0
  145. package/dist/production/lib/dom/ssr/hydration.d.ts +32 -0
  146. package/dist/production/lib/dom/ssr/hydration.js +29 -0
  147. package/dist/production/lib/dom/ssr/invariant.js +16 -0
  148. package/dist/production/lib/dom/ssr/links.js +170 -0
  149. package/dist/production/lib/dom/ssr/markup.js +24 -0
  150. package/dist/production/lib/dom/ssr/routeModules.d.ts +206 -0
  151. package/dist/production/lib/dom/ssr/routeModules.js +31 -0
  152. package/dist/production/lib/dom/ssr/routes-test-stub.d.ts +62 -0
  153. package/dist/production/lib/dom/ssr/routes-test-stub.js +108 -0
  154. package/dist/production/lib/dom/ssr/routes.d.ts +33 -0
  155. package/dist/production/lib/dom/ssr/routes.js +303 -0
  156. package/dist/production/lib/dom/ssr/server.d.ts +48 -0
  157. package/dist/production/lib/dom/ssr/server.js +69 -0
  158. package/dist/production/lib/dom/ssr/single-fetch.d.ts +14 -0
  159. package/dist/production/lib/dom/ssr/single-fetch.js +345 -0
  160. package/dist/production/lib/dom-export/dom-router-provider.d.ts +9 -0
  161. package/dist/production/lib/dom-export/dom-router-provider.js +22 -0
  162. package/dist/production/lib/dom-export/hydrated-router.d.ts +125 -0
  163. package/dist/production/lib/dom-export/hydrated-router.js +150 -0
  164. package/dist/production/lib/errors.js +29 -0
  165. package/dist/production/lib/hooks.d.ts +947 -0
  166. package/dist/production/lib/hooks.js +1373 -0
  167. package/dist/production/lib/href.d.ts +20 -0
  168. package/dist/production/lib/href.js +50 -0
  169. package/dist/production/lib/router/history.d.ts +258 -0
  170. package/dist/production/lib/router/history.js +372 -0
  171. package/dist/production/lib/router/instrumentation.d.ts +86 -0
  172. package/dist/production/lib/router/instrumentation.js +213 -0
  173. package/dist/production/lib/router/links.d.ts +114 -0
  174. package/dist/production/lib/router/router.d.ts +663 -0
  175. package/dist/production/lib/router/router.js +2988 -0
  176. package/dist/production/lib/router/url.js +18 -0
  177. package/dist/production/lib/router/utils.d.ts +948 -0
  178. package/dist/production/lib/router/utils.js +801 -0
  179. package/dist/production/lib/rsc/browser.d.ts +137 -0
  180. package/dist/production/lib/rsc/browser.js +603 -0
  181. package/dist/production/lib/rsc/errorBoundaries.d.ts +11 -0
  182. package/dist/production/lib/rsc/errorBoundaries.js +90 -0
  183. package/dist/production/lib/rsc/html-stream/browser.d.ts +48 -0
  184. package/dist/production/lib/rsc/html-stream/browser.js +74 -0
  185. package/dist/production/lib/rsc/html-stream/server.js +78 -0
  186. package/dist/production/lib/rsc/route-modules.js +27 -0
  187. package/dist/production/lib/rsc/server.rsc.d.ts +219 -0
  188. package/dist/production/lib/rsc/server.ssr.d.ts +129 -0
  189. package/dist/production/lib/rsc/server.ssr.js +404 -0
  190. package/dist/production/lib/server-runtime/build.d.ts +66 -0
  191. package/dist/production/lib/server-runtime/cookies.d.ts +66 -0
  192. package/dist/production/lib/server-runtime/cookies.js +139 -0
  193. package/dist/production/lib/server-runtime/crypto.js +43 -0
  194. package/dist/production/lib/server-runtime/data.d.ts +13 -0
  195. package/dist/production/lib/server-runtime/data.js +25 -0
  196. package/dist/production/lib/server-runtime/dev.d.ts +9 -0
  197. package/dist/production/lib/server-runtime/dev.js +26 -0
  198. package/dist/production/lib/server-runtime/entry.js +20 -0
  199. package/dist/production/lib/server-runtime/errors.js +75 -0
  200. package/dist/production/lib/server-runtime/headers.js +73 -0
  201. package/dist/production/lib/server-runtime/invariant.js +19 -0
  202. package/dist/production/lib/server-runtime/mode.d.ts +12 -0
  203. package/dist/production/lib/server-runtime/mode.js +25 -0
  204. package/dist/production/lib/server-runtime/routeMatching.js +28 -0
  205. package/dist/production/lib/server-runtime/routes.d.ts +13 -0
  206. package/dist/production/lib/server-runtime/routes.js +74 -0
  207. package/dist/production/lib/server-runtime/server.d.ts +10 -0
  208. package/dist/production/lib/server-runtime/server.js +345 -0
  209. package/dist/production/lib/server-runtime/serverHandoff.js +17 -0
  210. package/dist/production/lib/server-runtime/sessions/cookieStorage.d.ts +25 -0
  211. package/dist/production/lib/server-runtime/sessions/cookieStorage.js +45 -0
  212. package/dist/production/lib/server-runtime/sessions/memoryStorage.d.ts +23 -0
  213. package/dist/production/lib/server-runtime/sessions/memoryStorage.js +52 -0
  214. package/dist/production/lib/server-runtime/sessions.d.ts +145 -0
  215. package/dist/production/lib/server-runtime/sessions.js +98 -0
  216. package/dist/production/lib/server-runtime/single-fetch.d.ts +7 -0
  217. package/dist/production/lib/server-runtime/single-fetch.js +215 -0
  218. package/dist/production/lib/server-runtime/urls.js +28 -0
  219. package/dist/production/lib/server-runtime/warnings.js +20 -0
  220. package/dist/production/lib/types/future.d.ts +9 -0
  221. package/dist/production/lib/types/internal.d.ts +26 -177
  222. package/dist/production/lib/types/internal.js +3 -2
  223. package/dist/production/{register-roq_0qYo.d.ts → lib/types/register.d.ts} +9 -15
  224. package/dist/production/lib/types/route-data.d.ts +113 -0
  225. package/dist/production/lib/types/route-module-annotations.d.ts +149 -0
  226. package/dist/production/lib/types/route-module.d.ts +19 -0
  227. package/dist/production/lib/types/serializes-to.d.ts +13 -0
  228. package/dist/production/lib/types/utils.d.ts +11 -0
  229. package/dist/production/vendor/turbo-stream-v2/flatten.js +159 -0
  230. package/dist/production/vendor/turbo-stream-v2/turbo-stream.js +179 -0
  231. package/dist/production/vendor/turbo-stream-v2/unflatten.js +199 -0
  232. package/dist/production/vendor/turbo-stream-v2/utils.js +39 -0
  233. package/docs/explanation/code-splitting.md +16 -0
  234. package/docs/how-to/middleware.md +6 -41
  235. package/docs/how-to/react-server-components.md +1 -1
  236. package/docs/upgrading/future.md +0 -249
  237. package/package.json +43 -87
  238. package/dist/development/browser-B2PdsXXH.d.ts +0 -318
  239. package/dist/development/browser-DBmQ1yAR.d.mts +0 -318
  240. package/dist/development/chunk-4ZMWKKQ3.mjs +0 -11606
  241. package/dist/development/chunk-E4MTK73K.mjs +0 -2517
  242. package/dist/development/chunk-U7ORXROY.js +0 -10307
  243. package/dist/development/chunk-WW7PN6QI.js +0 -188
  244. package/dist/development/chunk-YL5M26XI.js +0 -1366
  245. package/dist/development/context-CeD5LmaF.d.mts +0 -1779
  246. package/dist/development/data-CjO11-hU.d.ts +0 -1740
  247. package/dist/development/data-DEjBmEfD.d.mts +0 -1740
  248. package/dist/development/dom-export.d.mts +0 -172
  249. package/dist/development/dom-export.mjs +0 -1010
  250. package/dist/development/index-react-server-client-3ykjivgQ.d.ts +0 -3677
  251. package/dist/development/index-react-server-client-CACgcj2J.d.mts +0 -2614
  252. package/dist/development/index-react-server-client.d.mts +0 -4
  253. package/dist/development/index-react-server-client.mjs +0 -59
  254. package/dist/development/index-react-server.d.mts +0 -2711
  255. package/dist/development/index-react-server.mjs +0 -3803
  256. package/dist/development/index.d.mts +0 -1479
  257. package/dist/development/index.mjs +0 -275
  258. package/dist/development/instrumentation-Dkmpzd13.d.ts +0 -715
  259. package/dist/development/lib/types/internal.d.mts +0 -184
  260. package/dist/development/lib/types/internal.mjs +0 -10
  261. package/dist/development/register-CmkRspdl.d.mts +0 -30
  262. package/dist/production/browser-B2PdsXXH.d.ts +0 -318
  263. package/dist/production/browser-DBmQ1yAR.d.mts +0 -318
  264. package/dist/production/chunk-3Z6WS2WZ.js +0 -188
  265. package/dist/production/chunk-BIP66BKV.js +0 -1366
  266. package/dist/production/chunk-EGOTSXNH.mjs +0 -2517
  267. package/dist/production/chunk-IUPBOWYO.js +0 -10307
  268. package/dist/production/chunk-M7NGGUU6.mjs +0 -11606
  269. package/dist/production/context-CeD5LmaF.d.mts +0 -1779
  270. package/dist/production/data-CjO11-hU.d.ts +0 -1740
  271. package/dist/production/data-DEjBmEfD.d.mts +0 -1740
  272. package/dist/production/dom-export.d.mts +0 -172
  273. package/dist/production/dom-export.mjs +0 -1010
  274. package/dist/production/index-react-server-client-3ykjivgQ.d.ts +0 -3677
  275. package/dist/production/index-react-server-client-CACgcj2J.d.mts +0 -2614
  276. package/dist/production/index-react-server-client.d.mts +0 -4
  277. package/dist/production/index-react-server-client.mjs +0 -59
  278. package/dist/production/index-react-server.d.mts +0 -2711
  279. package/dist/production/index-react-server.mjs +0 -3803
  280. package/dist/production/index.d.mts +0 -1479
  281. package/dist/production/index.mjs +0 -275
  282. package/dist/production/instrumentation-Dkmpzd13.d.ts +0 -715
  283. package/dist/production/lib/types/internal.d.mts +0 -184
  284. package/dist/production/lib/types/internal.mjs +0 -10
  285. package/dist/production/register-CmkRspdl.d.mts +0 -30
@@ -0,0 +1,199 @@
1
+ /**
2
+ * react-router v8.0.0-pre.1
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ import { SUPPORTED_ERROR_TYPES } from "../../lib/router/utils.js";
12
+ import { Deferred } from "./utils.js";
13
+ //#region vendor/turbo-stream-v2/unflatten.ts
14
+ const globalObj = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : void 0;
15
+ function unflatten(parsed) {
16
+ const { hydrated, values } = this;
17
+ if (typeof parsed === "number") return hydrate.call(this, parsed);
18
+ if (!Array.isArray(parsed) || !parsed.length) throw new SyntaxError();
19
+ const startIndex = values.length;
20
+ for (const value of parsed) values.push(value);
21
+ hydrated.length = values.length;
22
+ return hydrate.call(this, startIndex);
23
+ }
24
+ function hydrate(index) {
25
+ const { hydrated, values, deferred, plugins } = this;
26
+ let result;
27
+ const stack = [[index, (v) => {
28
+ result = v;
29
+ }]];
30
+ let postRun = [];
31
+ while (stack.length > 0) {
32
+ const [index, set] = stack.pop();
33
+ switch (index) {
34
+ case -7:
35
+ set(void 0);
36
+ continue;
37
+ case -5:
38
+ set(null);
39
+ continue;
40
+ case -2:
41
+ set(NaN);
42
+ continue;
43
+ case -6:
44
+ set(Infinity);
45
+ continue;
46
+ case -3:
47
+ set(-Infinity);
48
+ continue;
49
+ case -4:
50
+ set(-0);
51
+ continue;
52
+ }
53
+ if (hydrated[index]) {
54
+ set(hydrated[index]);
55
+ continue;
56
+ }
57
+ const value = values[index];
58
+ if (!value || typeof value !== "object") {
59
+ hydrated[index] = value;
60
+ set(value);
61
+ continue;
62
+ }
63
+ if (Array.isArray(value)) if (typeof value[0] === "string") {
64
+ const [type, b, c] = value;
65
+ switch (type) {
66
+ case "D":
67
+ set(hydrated[index] = new Date(b));
68
+ continue;
69
+ case "U":
70
+ set(hydrated[index] = new URL(b));
71
+ continue;
72
+ case "B":
73
+ set(hydrated[index] = BigInt(b));
74
+ continue;
75
+ case "R":
76
+ set(hydrated[index] = new RegExp(b, c));
77
+ continue;
78
+ case "Y":
79
+ set(hydrated[index] = Symbol.for(b));
80
+ continue;
81
+ case "S":
82
+ const newSet = /* @__PURE__ */ new Set();
83
+ hydrated[index] = newSet;
84
+ for (let i = value.length - 1; i > 0; i--) stack.push([value[i], (v) => {
85
+ newSet.add(v);
86
+ }]);
87
+ set(newSet);
88
+ continue;
89
+ case "M":
90
+ const map = /* @__PURE__ */ new Map();
91
+ hydrated[index] = map;
92
+ for (let i = value.length - 2; i > 0; i -= 2) {
93
+ const r = [];
94
+ stack.push([value[i + 1], (v) => {
95
+ r[1] = v;
96
+ }]);
97
+ stack.push([value[i], (k) => {
98
+ r[0] = k;
99
+ }]);
100
+ postRun.push(() => {
101
+ map.set(r[0], r[1]);
102
+ });
103
+ }
104
+ set(map);
105
+ continue;
106
+ case "N":
107
+ const obj = Object.create(null);
108
+ hydrated[index] = obj;
109
+ for (const key of Object.keys(b).reverse()) {
110
+ const r = [];
111
+ stack.push([b[key], (v) => {
112
+ r[1] = v;
113
+ }]);
114
+ stack.push([Number(key.slice(1)), (k) => {
115
+ r[0] = k;
116
+ }]);
117
+ postRun.push(() => {
118
+ obj[r[0]] = r[1];
119
+ });
120
+ }
121
+ set(obj);
122
+ continue;
123
+ case "P":
124
+ if (hydrated[b]) set(hydrated[index] = hydrated[b]);
125
+ else {
126
+ const d = new Deferred();
127
+ deferred[b] = d;
128
+ set(hydrated[index] = d.promise);
129
+ }
130
+ continue;
131
+ case "E":
132
+ const [, message, errorType] = value;
133
+ let error = errorType && globalObj && SUPPORTED_ERROR_TYPES.includes(errorType) && errorType in globalObj && typeof globalObj[errorType] === "function" ? new globalObj[errorType](message) : new Error(message);
134
+ hydrated[index] = error;
135
+ set(error);
136
+ continue;
137
+ case "Z":
138
+ set(hydrated[index] = hydrated[b]);
139
+ continue;
140
+ default:
141
+ if (Array.isArray(plugins)) {
142
+ const r = [];
143
+ const vals = value.slice(1);
144
+ for (let i = 0; i < vals.length; i++) {
145
+ const v = vals[i];
146
+ stack.push([v, (v) => {
147
+ r[i] = v;
148
+ }]);
149
+ }
150
+ postRun.push(() => {
151
+ for (const plugin of plugins) {
152
+ const result = plugin(value[0], ...r);
153
+ if (result) {
154
+ set(hydrated[index] = result.value);
155
+ return;
156
+ }
157
+ }
158
+ throw new SyntaxError();
159
+ });
160
+ continue;
161
+ }
162
+ throw new SyntaxError();
163
+ }
164
+ } else {
165
+ const array = [];
166
+ hydrated[index] = array;
167
+ for (let i = 0; i < value.length; i++) {
168
+ const n = value[i];
169
+ if (n !== -1) stack.push([n, (v) => {
170
+ array[i] = v;
171
+ }]);
172
+ }
173
+ set(array);
174
+ continue;
175
+ }
176
+ else {
177
+ const object = {};
178
+ hydrated[index] = object;
179
+ for (const key of Object.keys(value).reverse()) {
180
+ const r = [];
181
+ stack.push([value[key], (v) => {
182
+ r[1] = v;
183
+ }]);
184
+ stack.push([Number(key.slice(1)), (k) => {
185
+ r[0] = k;
186
+ }]);
187
+ postRun.push(() => {
188
+ object[r[0]] = r[1];
189
+ });
190
+ }
191
+ set(object);
192
+ continue;
193
+ }
194
+ }
195
+ while (postRun.length > 0) postRun.pop()();
196
+ return result;
197
+ }
198
+ //#endregion
199
+ export { unflatten };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * react-router v8.0.0-pre.1
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ //#region vendor/turbo-stream-v2/utils.ts
12
+ var Deferred = class {
13
+ promise;
14
+ resolve;
15
+ reject;
16
+ constructor() {
17
+ this.promise = new Promise((resolve, reject) => {
18
+ this.resolve = resolve;
19
+ this.reject = reject;
20
+ });
21
+ }
22
+ };
23
+ function createLineSplittingTransform() {
24
+ const decoder = new TextDecoder();
25
+ let leftover = "";
26
+ return new TransformStream({
27
+ transform(chunk, controller) {
28
+ const str = decoder.decode(chunk, { stream: true });
29
+ const parts = (leftover + str).split("\n");
30
+ leftover = parts.pop() || "";
31
+ for (const part of parts) controller.enqueue(part);
32
+ },
33
+ flush(controller) {
34
+ if (leftover) controller.enqueue(leftover);
35
+ }
36
+ });
37
+ }
38
+ //#endregion
39
+ export { Deferred, createLineSplittingTransform };
@@ -1,173 +1,7 @@
1
- import * as React from 'react';
2
- import { RouterProviderProps as RouterProviderProps$1, RouterInit, ClientOnErrorFunction } from 'react-router';
3
- import { C as ClientInstrumentation } from './instrumentation-Dkmpzd13.js';
4
- export { D as unstable_DecodeActionFunction, a as unstable_DecodeFormStateFunction, b as unstable_DecodeReplyFunction, R as unstable_RSCHydratedRouter, d as unstable_RSCManifestPayload, e as unstable_RSCPayload, f as unstable_RSCRenderPayload, c as unstable_createCallServer } from './browser-B2PdsXXH.js';
5
- import './data-CjO11-hU.js';
6
1
 
7
- type RouterProviderProps = Omit<RouterProviderProps$1, "flushSync">;
8
- declare function RouterProvider(props: RouterProviderProps): React.JSX.Element;
9
-
10
- /**
11
- * Props for the {@link dom.HydratedRouter} component.
12
- *
13
- * @category Types
14
- */
15
- interface HydratedRouterProps {
16
- /**
17
- * Context factory function to be passed through to {@link createBrowserRouter}.
18
- * This function will be called to create a fresh `context` instance on each
19
- * navigation/fetch and made available to
20
- * [`clientAction`](../../start/framework/route-module#clientAction)/[`clientLoader`](../../start/framework/route-module#clientLoader)
21
- * functions.
22
- */
23
- getContext?: RouterInit["getContext"];
24
- /**
25
- * Array of instrumentation objects allowing you to instrument the router and
26
- * individual routes prior to router initialization (and on any subsequently
27
- * added routes via `route.lazy` or `patchRoutesOnNavigation`). This is
28
- * mostly useful for observability such as wrapping navigations, fetches,
29
- * as well as route loaders/actions/middlewares with logging and/or performance
30
- * tracing. See the [docs](../../how-to/instrumentation) for more information.
31
- *
32
- * ```tsx
33
- * const logging = {
34
- * router({ instrument }) {
35
- * instrument({
36
- * navigate: (impl, { to }) => logExecution(`navigate ${to}`, impl),
37
- * fetch: (impl, { to }) => logExecution(`fetch ${to}`, impl)
38
- * });
39
- * },
40
- * route({ instrument, id }) {
41
- * instrument({
42
- * middleware: (impl, { request }) => logExecution(
43
- * `middleware ${request.url} (route ${id})`,
44
- * impl
45
- * ),
46
- * loader: (impl, { request }) => logExecution(
47
- * `loader ${request.url} (route ${id})`,
48
- * impl
49
- * ),
50
- * action: (impl, { request }) => logExecution(
51
- * `action ${request.url} (route ${id})`,
52
- * impl
53
- * ),
54
- * })
55
- * }
56
- * };
57
- *
58
- * async function logExecution(label: string, impl: () => Promise<void>) {
59
- * let start = performance.now();
60
- * console.log(`start ${label}`);
61
- * await impl();
62
- * let duration = Math.round(performance.now() - start);
63
- * console.log(`end ${label} (${duration}ms)`);
64
- * }
65
- *
66
- * startTransition(() => {
67
- * hydrateRoot(
68
- * document,
69
- * <HydratedRouter instrumentations={[logging]} />
70
- * );
71
- * });
72
- * ```
73
- */
74
- instrumentations?: ClientInstrumentation[];
75
- /**
76
- * An error handler function that will be called for any middleware, loader, action,
77
- * or render errors that are encountered in your application. This is useful for
78
- * logging or reporting errors instead of in the {@link ErrorBoundary} because it's not
79
- * subject to re-rendering and will only run one time per error.
80
- *
81
- * The `errorInfo` parameter is passed along from
82
- * [`componentDidCatch`](https://react.dev/reference/react/Component#componentdidcatch)
83
- * and is only present for render errors.
84
- *
85
- * ```tsx
86
- * <HydratedRouter onError={(error, info) => {
87
- * let { location, params, pattern, errorInfo } = info;
88
- * console.error(error, location, errorInfo);
89
- * reportToErrorService(error, location, errorInfo);
90
- * }} />
91
- * ```
92
- */
93
- onError?: ClientOnErrorFunction;
94
- /**
95
- * Control whether router state updates are internally wrapped in
96
- * [`React.startTransition`](https://react.dev/reference/react/startTransition).
97
- *
98
- * - When left `undefined`, all state updates are wrapped in
99
- * `React.startTransition`
100
- * - This can lead to buggy behaviors if you are wrapping your own
101
- * navigations/fetchers in `startTransition`.
102
- * - When set to `true`, {@link Link} and {@link Form} navigations will be wrapped
103
- * in `React.startTransition` and router state changes will be wrapped in
104
- * `React.startTransition` and also sent through
105
- * [`useOptimistic`](https://react.dev/reference/react/useOptimistic) to
106
- * surface mid-navigation router state changes to the UI.
107
- * - When set to `false`, the router will not leverage `React.startTransition` or
108
- * `React.useOptimistic` on any navigations or state changes.
109
- *
110
- * For more information, please see the [docs](../../explanation/react-transitions).
111
- */
112
- useTransitions?: boolean;
113
- }
114
- /**
115
- * Framework-mode router component to be used to hydrate a router from a
116
- * {@link ServerRouter}. See [`entry.client.tsx`](../framework-conventions/entry.client.tsx).
117
- *
118
- * @public
119
- * @category Framework Routers
120
- * @mode framework
121
- * @param props Props
122
- * @param {dom.HydratedRouterProps.getContext} props.getContext n/a
123
- * @param {dom.HydratedRouterProps.onError} props.onError n/a
124
- * @returns A React element that represents the hydrated application.
125
- */
126
- declare function HydratedRouter(props: HydratedRouterProps): React.JSX.Element;
127
-
128
- declare global {
129
- interface Window {
130
- __FLIGHT_DATA: any[];
131
- }
132
- }
133
- /**
134
- * Get the prerendered [RSC](https://react.dev/reference/rsc/server-components)
135
- * stream for hydration. Usually passed directly to your
136
- * `react-server-dom-xyz/client`'s `createFromReadableStream`.
137
- *
138
- * @example
139
- * import { startTransition, StrictMode } from "react";
140
- * import { hydrateRoot } from "react-dom/client";
141
- * import {
142
- * unstable_getRSCStream as getRSCStream,
143
- * unstable_RSCHydratedRouter as RSCHydratedRouter,
144
- * } from "react-router";
145
- * import type { unstable_RSCPayload as RSCPayload } from "react-router";
146
- *
147
- * createFromReadableStream(getRSCStream()).then(
148
- * (payload: RSCServerPayload) => {
149
- * startTransition(async () => {
150
- * hydrateRoot(
151
- * document,
152
- * <StrictMode>
153
- * <RSCHydratedRouter {...props} />
154
- * </StrictMode>,
155
- * {
156
- * // Options
157
- * }
158
- * );
159
- * });
160
- * }
161
- * );
162
- *
163
- * @name unstable_getRSCStream
164
- * @public
165
- * @category RSC
166
- * @mode data
167
- * @returns A [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream)
168
- * that contains the [RSC](https://react.dev/reference/rsc/server-components)
169
- * data for hydration.
170
- */
171
- declare function getRSCStream(): ReadableStream;
172
-
173
- export { HydratedRouter, type HydratedRouterProps, RouterProvider, type RouterProviderProps, getRSCStream as unstable_getRSCStream };
2
+ import { RouterProvider, RouterProviderProps } from "./lib/dom-export/dom-router-provider.js";
3
+ import { DecodeActionFunction, DecodeFormStateFunction, DecodeReplyFunction, RSCManifestPayload, RSCPayload, RSCRenderPayload } from "./lib/rsc/server.rsc.js";
4
+ import { RSCHydratedRouter, createCallServer } from "./lib/rsc/browser.js";
5
+ import { HydratedRouter, HydratedRouterProps } from "./lib/dom-export/hydrated-router.js";
6
+ import { getRSCStream } from "./lib/rsc/html-stream/browser.js";
7
+ export { HydratedRouter, type HydratedRouterProps, RouterProvider, type RouterProviderProps, type DecodeActionFunction as unstable_DecodeActionFunction, type DecodeFormStateFunction as unstable_DecodeFormStateFunction, type DecodeReplyFunction as unstable_DecodeReplyFunction, RSCHydratedRouter as unstable_RSCHydratedRouter, type RSCManifestPayload as unstable_RSCManifestPayload, type RSCPayload as unstable_RSCPayload, type RSCRenderPayload as unstable_RSCRenderPayload, createCallServer as unstable_createCallServer, getRSCStream as unstable_getRSCStream };