one 1.14.4 → 1.15.0

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 (1808) hide show
  1. package/dist/cjs/Frozen.cjs +16 -14
  2. package/dist/cjs/Frozen.native.js +15 -13
  3. package/dist/cjs/Frozen.native.js.map +1 -1
  4. package/dist/cjs/Root.cjs +127 -95
  5. package/dist/cjs/Root.native.js +158 -126
  6. package/dist/cjs/Root.native.js.map +1 -1
  7. package/dist/cjs/__mocks__/@react-navigation/native-stack.cjs +12 -10
  8. package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js +12 -10
  9. package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js.map +1 -1
  10. package/dist/cjs/__mocks__/expo-linking.cjs +20 -18
  11. package/dist/cjs/__mocks__/expo-linking.native.js +26 -24
  12. package/dist/cjs/__mocks__/expo-linking.native.js.map +1 -1
  13. package/dist/cjs/__mocks__/expo-modules-core.cjs +20 -18
  14. package/dist/cjs/__mocks__/expo-modules-core.native.js +45 -35
  15. package/dist/cjs/__mocks__/expo-modules-core.native.js.map +1 -1
  16. package/dist/cjs/__mocks__/react-native-screens.cjs +14 -12
  17. package/dist/cjs/__mocks__/react-native-screens.native.js +14 -12
  18. package/dist/cjs/__mocks__/react-native-screens.native.js.map +1 -1
  19. package/dist/cjs/babel-plugins/environment-guard.cjs +32 -25
  20. package/dist/cjs/babel-plugins/environment-guard.native.js +33 -26
  21. package/dist/cjs/babel-plugins/environment-guard.native.js.map +1 -1
  22. package/dist/cjs/babel-plugins/inline-one-server-url.cjs +18 -14
  23. package/dist/cjs/babel-plugins/inline-one-server-url.native.js +22 -21
  24. package/dist/cjs/babel-plugins/inline-one-server-url.native.js.map +1 -1
  25. package/dist/cjs/babel-plugins/one-router-metro.cjs +56 -30
  26. package/dist/cjs/babel-plugins/one-router-metro.native.js +58 -29
  27. package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
  28. package/dist/cjs/babel-plugins/one-router-metro.test.cjs +51 -35
  29. package/dist/cjs/babel-plugins/one-router-metro.test.native.js +68 -54
  30. package/dist/cjs/babel-plugins/one-router-metro.test.native.js.map +1 -1
  31. package/dist/cjs/babel-plugins/remove-server-code.cjs +82 -59
  32. package/dist/cjs/babel-plugins/remove-server-code.native.js +100 -75
  33. package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -1
  34. package/dist/cjs/cli/build.cjs +582 -413
  35. package/dist/cjs/cli/build.native.js +876 -674
  36. package/dist/cjs/cli/build.native.js.map +1 -1
  37. package/dist/cjs/cli/buildPage.cjs +219 -162
  38. package/dist/cjs/cli/buildPage.native.js +258 -187
  39. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  40. package/dist/cjs/cli/buildPageWorker.cjs +48 -28
  41. package/dist/cjs/cli/buildPageWorker.native.js +42 -28
  42. package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
  43. package/dist/cjs/cli/checkNodeVersion.cjs +20 -11
  44. package/dist/cjs/cli/checkNodeVersion.native.js +20 -11
  45. package/dist/cjs/cli/checkNodeVersion.native.js.map +1 -1
  46. package/dist/cjs/cli/daemon.cjs +142 -74
  47. package/dist/cjs/cli/daemon.native.js +169 -97
  48. package/dist/cjs/cli/daemon.native.js.map +1 -1
  49. package/dist/cjs/cli/dev.cjs +113 -90
  50. package/dist/cjs/cli/dev.native.js +118 -95
  51. package/dist/cjs/cli/dev.native.js.map +1 -1
  52. package/dist/cjs/cli/generateRoutes.cjs +47 -21
  53. package/dist/cjs/cli/generateRoutes.native.js +51 -33
  54. package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
  55. package/dist/cjs/cli/generateSitemap.cjs +54 -41
  56. package/dist/cjs/cli/generateSitemap.native.js +80 -62
  57. package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
  58. package/dist/cjs/cli/generateSitemap.test.cjs +131 -64
  59. package/dist/cjs/cli/generateSitemap.test.native.js +211 -166
  60. package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
  61. package/dist/cjs/cli/label-process.cjs +14 -12
  62. package/dist/cjs/cli/label-process.native.js +14 -12
  63. package/dist/cjs/cli/label-process.native.js.map +1 -1
  64. package/dist/cjs/cli/main.cjs +44 -31
  65. package/dist/cjs/cli/main.native.js +44 -36
  66. package/dist/cjs/cli/main.native.js.map +1 -1
  67. package/dist/cjs/cli/patch.cjs +32 -26
  68. package/dist/cjs/cli/patch.native.js +32 -27
  69. package/dist/cjs/cli/patch.native.js.map +1 -1
  70. package/dist/cjs/cli/prebuild.cjs +24 -22
  71. package/dist/cjs/cli/prebuild.native.js +24 -22
  72. package/dist/cjs/cli/prebuild.native.js.map +1 -1
  73. package/dist/cjs/cli/runAndroid.cjs +24 -22
  74. package/dist/cjs/cli/runAndroid.native.js +24 -22
  75. package/dist/cjs/cli/runAndroid.native.js.map +1 -1
  76. package/dist/cjs/cli/runIos.cjs +24 -22
  77. package/dist/cjs/cli/runIos.native.js +24 -22
  78. package/dist/cjs/cli/runIos.native.js.map +1 -1
  79. package/dist/cjs/cli/securityScan.cjs +79 -48
  80. package/dist/cjs/cli/securityScan.native.js +141 -94
  81. package/dist/cjs/cli/securityScan.native.js.map +1 -1
  82. package/dist/cjs/cli/workerPool.cjs +103 -62
  83. package/dist/cjs/cli/workerPool.native.js +211 -141
  84. package/dist/cjs/cli/workerPool.native.js.map +1 -1
  85. package/dist/cjs/cli.cjs +422 -401
  86. package/dist/cjs/cli.native.js +433 -413
  87. package/dist/cjs/cli.native.js.map +1 -1
  88. package/dist/cjs/clientLoaderResolver.cjs +20 -14
  89. package/dist/cjs/clientLoaderResolver.native.js +20 -14
  90. package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
  91. package/dist/cjs/config.cjs +19 -13
  92. package/dist/cjs/config.native.js +25 -19
  93. package/dist/cjs/config.native.js.map +1 -1
  94. package/dist/cjs/constants.cjs +28 -26
  95. package/dist/cjs/constants.native.js +33 -31
  96. package/dist/cjs/constants.native.js.map +1 -1
  97. package/dist/cjs/createAPIRoute.cjs +12 -10
  98. package/dist/cjs/createAPIRoute.native.js +12 -10
  99. package/dist/cjs/createAPIRoute.native.js.map +1 -1
  100. package/dist/cjs/createApp.cjs +140 -88
  101. package/dist/cjs/createApp.native.js +23 -18
  102. package/dist/cjs/createApp.native.js.map +1 -1
  103. package/dist/cjs/createHandleRequest.cjs +233 -122
  104. package/dist/cjs/createHandleRequest.native.js +261 -162
  105. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  106. package/dist/cjs/createHandleRequest.test.cjs +104 -74
  107. package/dist/cjs/createHandleRequest.test.native.js +104 -74
  108. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  109. package/dist/cjs/createMiddleware.cjs +12 -10
  110. package/dist/cjs/createMiddleware.native.js +12 -10
  111. package/dist/cjs/createMiddleware.native.js.map +1 -1
  112. package/dist/cjs/daemon/index.cjs +7 -5
  113. package/dist/cjs/daemon/index.native.js +7 -5
  114. package/dist/cjs/daemon/index.native.js.map +1 -1
  115. package/dist/cjs/daemon/ipc.cjs +193 -126
  116. package/dist/cjs/daemon/ipc.native.js +202 -136
  117. package/dist/cjs/daemon/ipc.native.js.map +1 -1
  118. package/dist/cjs/daemon/picker.cjs +169 -96
  119. package/dist/cjs/daemon/picker.native.js +257 -165
  120. package/dist/cjs/daemon/picker.native.js.map +1 -1
  121. package/dist/cjs/daemon/proxy.cjs +66 -44
  122. package/dist/cjs/daemon/proxy.native.js +64 -44
  123. package/dist/cjs/daemon/proxy.native.js.map +1 -1
  124. package/dist/cjs/daemon/registry.cjs +80 -47
  125. package/dist/cjs/daemon/registry.native.js +127 -81
  126. package/dist/cjs/daemon/registry.native.js.map +1 -1
  127. package/dist/cjs/daemon/server.cjs +337 -183
  128. package/dist/cjs/daemon/server.native.js +426 -262
  129. package/dist/cjs/daemon/server.native.js.map +1 -1
  130. package/dist/cjs/daemon/tui.cjs +442 -221
  131. package/dist/cjs/daemon/tui.native.js +566 -330
  132. package/dist/cjs/daemon/tui.native.js.map +1 -1
  133. package/dist/cjs/daemon/types.cjs +7 -5
  134. package/dist/cjs/daemon/types.native.js +7 -5
  135. package/dist/cjs/daemon/types.native.js.map +1 -1
  136. package/dist/cjs/daemon/utils.cjs +53 -30
  137. package/dist/cjs/daemon/utils.native.js +56 -38
  138. package/dist/cjs/daemon/utils.native.js.map +1 -1
  139. package/dist/cjs/devtools/registry.cjs +12 -10
  140. package/dist/cjs/devtools/registry.native.js +12 -10
  141. package/dist/cjs/devtools/registry.native.js.map +1 -1
  142. package/dist/cjs/drawer.cjs +12 -10
  143. package/dist/cjs/drawer.native.js +12 -10
  144. package/dist/cjs/drawer.native.js.map +1 -1
  145. package/dist/cjs/fallbackViews/Sitemap.cjs +16 -14
  146. package/dist/cjs/fallbackViews/Sitemap.native.js +17 -15
  147. package/dist/cjs/fallbackViews/Sitemap.native.js.map +1 -1
  148. package/dist/cjs/fallbackViews/Unmatched.cjs +27 -25
  149. package/dist/cjs/fallbackViews/Unmatched.native.js +27 -25
  150. package/dist/cjs/fallbackViews/Unmatched.native.js.map +1 -1
  151. package/dist/cjs/fork/NavigationContainer.cjs +103 -79
  152. package/dist/cjs/fork/NavigationContainer.native.js +119 -99
  153. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  154. package/dist/cjs/fork/SSRNavigationContainer.cjs +99 -94
  155. package/dist/cjs/fork/SSRNavigationContainer.native.js +145 -114
  156. package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -1
  157. package/dist/cjs/fork/__tests__/getPathFromState.test.cjs +702 -631
  158. package/dist/cjs/fork/__tests__/getPathFromState.test.native.js +1299 -1262
  159. package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +1 -1
  160. package/dist/cjs/fork/__tests__/getStateFromPath.test.cjs +1980 -1894
  161. package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js +2049 -1973
  162. package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
  163. package/dist/cjs/fork/_shared.cjs +12 -10
  164. package/dist/cjs/fork/_shared.native.js +12 -10
  165. package/dist/cjs/fork/_shared.native.js.map +1 -1
  166. package/dist/cjs/fork/createMemoryHistory.cjs +123 -64
  167. package/dist/cjs/fork/createMemoryHistory.native.js +201 -145
  168. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  169. package/dist/cjs/fork/extractPathFromURL.cjs +50 -22
  170. package/dist/cjs/fork/extractPathFromURL.native.js +57 -31
  171. package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
  172. package/dist/cjs/fork/findFocusedRoute.cjs +17 -12
  173. package/dist/cjs/fork/findFocusedRoute.native.js +16 -12
  174. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  175. package/dist/cjs/fork/getPathFromState-mods.cjs +70 -20
  176. package/dist/cjs/fork/getPathFromState-mods.native.js +78 -30
  177. package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
  178. package/dist/cjs/fork/getPathFromState.cjs +169 -100
  179. package/dist/cjs/fork/getPathFromState.native.js +183 -112
  180. package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
  181. package/dist/cjs/fork/getPathFromState.test.cjs +46 -37
  182. package/dist/cjs/fork/getPathFromState.test.native.js +89 -88
  183. package/dist/cjs/fork/getPathFromState.test.native.js.map +1 -1
  184. package/dist/cjs/fork/getStateFromPath-mods.cjs +194 -93
  185. package/dist/cjs/fork/getStateFromPath-mods.native.js +254 -153
  186. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
  187. package/dist/cjs/fork/getStateFromPath.cjs +304 -202
  188. package/dist/cjs/fork/getStateFromPath.native.js +381 -272
  189. package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
  190. package/dist/cjs/fork/getStateFromPath.test.cjs +38 -27
  191. package/dist/cjs/fork/getStateFromPath.test.native.js +38 -27
  192. package/dist/cjs/fork/getStateFromPath.test.native.js.map +1 -1
  193. package/dist/cjs/fork/useBackButton.cjs +12 -10
  194. package/dist/cjs/fork/useBackButton.native.js +34 -25
  195. package/dist/cjs/fork/useBackButton.native.js.map +1 -1
  196. package/dist/cjs/fork/useDocumentTitle.cjs +28 -24
  197. package/dist/cjs/fork/useDocumentTitle.native.js +12 -10
  198. package/dist/cjs/fork/useDocumentTitle.native.js.map +1 -1
  199. package/dist/cjs/fork/useLinking.cjs +339 -192
  200. package/dist/cjs/fork/useLinking.native.js +149 -110
  201. package/dist/cjs/fork/useLinking.native.js.map +1 -1
  202. package/dist/cjs/fork/useThenable.cjs +42 -33
  203. package/dist/cjs/fork/useThenable.native.js +47 -39
  204. package/dist/cjs/fork/useThenable.native.js.map +1 -1
  205. package/dist/cjs/fork/validatePathConfig.cjs +38 -23
  206. package/dist/cjs/fork/validatePathConfig.native.js +54 -39
  207. package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
  208. package/dist/cjs/getDevServer.cjs +13 -11
  209. package/dist/cjs/getDevServer.native.js +27 -25
  210. package/dist/cjs/getDevServer.native.js.map +1 -1
  211. package/dist/cjs/getReactNavigationConfig.cjs +53 -30
  212. package/dist/cjs/getReactNavigationConfig.native.js +53 -30
  213. package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
  214. package/dist/cjs/getURL.cjs +13 -11
  215. package/dist/cjs/getURL.native.js +24 -14
  216. package/dist/cjs/getURL.native.js.map +1 -1
  217. package/dist/cjs/head/Head.cjs +15 -11
  218. package/dist/cjs/head/Head.native.js +19 -17
  219. package/dist/cjs/head/Head.native.js.map +1 -1
  220. package/dist/cjs/head/HeadModule.cjs +15 -11
  221. package/dist/cjs/head/HeadModule.native.js +17 -15
  222. package/dist/cjs/head/HeadModule.native.js.map +1 -1
  223. package/dist/cjs/head/index.cjs +7 -5
  224. package/dist/cjs/head/index.native.js +7 -5
  225. package/dist/cjs/head/index.native.js.map +1 -1
  226. package/dist/cjs/head/types.cjs +7 -5
  227. package/dist/cjs/head/types.native.js +7 -5
  228. package/dist/cjs/head/types.native.js.map +1 -1
  229. package/dist/cjs/head/url.cjs +35 -15
  230. package/dist/cjs/head/url.native.js +40 -20
  231. package/dist/cjs/head/url.native.js.map +1 -1
  232. package/dist/cjs/headless-server.cjs +22 -18
  233. package/dist/cjs/headless-server.native.js +25 -28
  234. package/dist/cjs/headless-server.native.js.map +1 -1
  235. package/dist/cjs/headless.cjs +24 -20
  236. package/dist/cjs/headless.native.js +22 -20
  237. package/dist/cjs/headless.native.js.map +1 -1
  238. package/dist/cjs/hooks.cjs +64 -47
  239. package/dist/cjs/hooks.native.js +132 -89
  240. package/dist/cjs/hooks.native.js.map +1 -1
  241. package/dist/cjs/hooks.test.cjs +47 -25
  242. package/dist/cjs/hooks.test.native.js +120 -74
  243. package/dist/cjs/hooks.test.native.js.map +1 -1
  244. package/dist/cjs/href.cjs +15 -11
  245. package/dist/cjs/href.native.js +15 -11
  246. package/dist/cjs/href.native.js.map +1 -1
  247. package/dist/cjs/image/getImageData.cjs +70 -44
  248. package/dist/cjs/image/getImageData.native.js +70 -45
  249. package/dist/cjs/image/getImageData.native.js.map +1 -1
  250. package/dist/cjs/image.cjs +12 -10
  251. package/dist/cjs/image.native.js +12 -10
  252. package/dist/cjs/image.native.js.map +1 -1
  253. package/dist/cjs/import-mode/index.cjs +12 -10
  254. package/dist/cjs/import-mode/index.native.js +12 -10
  255. package/dist/cjs/import-mode/index.native.js.map +1 -1
  256. package/dist/cjs/index.cjs +71 -69
  257. package/dist/cjs/index.native.js +71 -69
  258. package/dist/cjs/index.native.js.map +1 -1
  259. package/dist/cjs/interfaces/router.cjs +13 -11
  260. package/dist/cjs/interfaces/router.native.js +14 -11
  261. package/dist/cjs/interfaces/router.native.js.map +1 -1
  262. package/dist/cjs/layouts/Drawer.cjs +16 -14
  263. package/dist/cjs/layouts/Drawer.native.js +17 -15
  264. package/dist/cjs/layouts/Drawer.native.js.map +1 -1
  265. package/dist/cjs/layouts/NativeTabs.cjs +23 -17
  266. package/dist/cjs/layouts/NativeTabs.native.js +31 -26
  267. package/dist/cjs/layouts/NativeTabs.native.js.map +1 -1
  268. package/dist/cjs/layouts/Stack.cjs +83 -69
  269. package/dist/cjs/layouts/Stack.native.js +93 -77
  270. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  271. package/dist/cjs/layouts/Tabs.cjs +46 -38
  272. package/dist/cjs/layouts/Tabs.native.js +78 -72
  273. package/dist/cjs/layouts/Tabs.native.js.map +1 -1
  274. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.cjs +12 -10
  275. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js +12 -10
  276. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
  277. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.cjs +59 -37
  278. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js +85 -66
  279. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
  280. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.cjs +17 -12
  281. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js +17 -12
  282. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
  283. package/dist/cjs/layouts/stack-utils/StackHeaderRight.cjs +17 -12
  284. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js +17 -12
  285. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
  286. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.cjs +12 -10
  287. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js +12 -10
  288. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -1
  289. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.cjs +29 -27
  290. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js +30 -28
  291. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
  292. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +38 -23
  293. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +53 -37
  294. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  295. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +241 -144
  296. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +277 -162
  297. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  298. package/dist/cjs/layouts/stack-utils/index.cjs +19 -17
  299. package/dist/cjs/layouts/stack-utils/index.native.js +26 -24
  300. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  301. package/dist/cjs/layouts/withLayoutContext.cjs +87 -61
  302. package/dist/cjs/layouts/withLayoutContext.native.js +89 -65
  303. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  304. package/dist/cjs/link/Link.cjs +83 -58
  305. package/dist/cjs/link/Link.native.js +110 -91
  306. package/dist/cjs/link/Link.native.js.map +1 -1
  307. package/dist/cjs/link/Redirect.cjs +26 -24
  308. package/dist/cjs/link/Redirect.native.js +28 -26
  309. package/dist/cjs/link/Redirect.native.js.map +1 -1
  310. package/dist/cjs/link/href.cjs +35 -23
  311. package/dist/cjs/link/href.native.js +47 -30
  312. package/dist/cjs/link/href.native.js.map +1 -1
  313. package/dist/cjs/link/linking.cjs +23 -15
  314. package/dist/cjs/link/linking.native.js +62 -47
  315. package/dist/cjs/link/linking.native.js.map +1 -1
  316. package/dist/cjs/link/openExternalURL.cjs +12 -10
  317. package/dist/cjs/link/openExternalURL.native.js +24 -22
  318. package/dist/cjs/link/openExternalURL.native.js.map +1 -1
  319. package/dist/cjs/link/path.cjs +78 -29
  320. package/dist/cjs/link/path.native.js +84 -26
  321. package/dist/cjs/link/path.native.js.map +1 -1
  322. package/dist/cjs/link/prefetchIntent.cjs +77 -54
  323. package/dist/cjs/link/prefetchIntent.native.js +101 -77
  324. package/dist/cjs/link/prefetchIntent.native.js.map +1 -1
  325. package/dist/cjs/link/prefetchIntent.test.cjs +211 -65
  326. package/dist/cjs/link/prefetchIntent.test.native.js +230 -84
  327. package/dist/cjs/link/prefetchIntent.test.native.js.map +1 -1
  328. package/dist/cjs/link/prefetchViewport.cjs +34 -21
  329. package/dist/cjs/link/prefetchViewport.native.js +46 -29
  330. package/dist/cjs/link/prefetchViewport.native.js.map +1 -1
  331. package/dist/cjs/link/prefetchViewport.test.cjs +52 -21
  332. package/dist/cjs/link/prefetchViewport.test.native.js +72 -32
  333. package/dist/cjs/link/prefetchViewport.test.native.js.map +1 -1
  334. package/dist/cjs/link/useLinkTo.cjs +46 -32
  335. package/dist/cjs/link/useLinkTo.native.js +46 -32
  336. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  337. package/dist/cjs/link/useLoadedNavigation.cjs +44 -30
  338. package/dist/cjs/link/useLoadedNavigation.native.js +37 -27
  339. package/dist/cjs/link/useLoadedNavigation.native.js.map +1 -1
  340. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +111 -78
  341. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +141 -115
  342. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  343. package/dist/cjs/native-tabs.cjs +12 -10
  344. package/dist/cjs/native-tabs.native.js +12 -10
  345. package/dist/cjs/native-tabs.native.js.map +1 -1
  346. package/dist/cjs/notFoundState.cjs +60 -34
  347. package/dist/cjs/notFoundState.native.js +113 -75
  348. package/dist/cjs/notFoundState.native.js.map +1 -1
  349. package/dist/cjs/polyfills-mobile.cjs +19 -17
  350. package/dist/cjs/polyfills-mobile.native.js +22 -20
  351. package/dist/cjs/polyfills-mobile.native.js.map +1 -1
  352. package/dist/cjs/polyfills-server.cjs +11 -9
  353. package/dist/cjs/polyfills-server.native.js +13 -11
  354. package/dist/cjs/polyfills-server.native.js.map +1 -1
  355. package/dist/cjs/render.cjs +49 -33
  356. package/dist/cjs/render.native.js +13 -11
  357. package/dist/cjs/render.native.js.map +1 -1
  358. package/dist/cjs/router/FlagsContext.cjs +12 -10
  359. package/dist/cjs/router/FlagsContext.native.js +14 -12
  360. package/dist/cjs/router/FlagsContext.native.js.map +1 -1
  361. package/dist/cjs/router/Route.cjs +36 -30
  362. package/dist/cjs/router/Route.native.js +37 -31
  363. package/dist/cjs/router/Route.native.js.map +1 -1
  364. package/dist/cjs/router/RouteInfoContext.cjs +38 -26
  365. package/dist/cjs/router/RouteInfoContext.native.js +41 -29
  366. package/dist/cjs/router/RouteInfoContext.native.js.map +1 -1
  367. package/dist/cjs/router/RouterStore.cjs +7 -5
  368. package/dist/cjs/router/RouterStore.native.js +7 -5
  369. package/dist/cjs/router/RouterStore.native.js.map +1 -1
  370. package/dist/cjs/router/SpaShellContext.cjs +13 -11
  371. package/dist/cjs/router/SpaShellContext.native.js +14 -12
  372. package/dist/cjs/router/SpaShellContext.native.js.map +1 -1
  373. package/dist/cjs/router/createRoute.cjs +22 -17
  374. package/dist/cjs/router/createRoute.native.js +24 -19
  375. package/dist/cjs/router/createRoute.native.js.map +1 -1
  376. package/dist/cjs/router/filterRootHTML.cjs +51 -26
  377. package/dist/cjs/router/filterRootHTML.native.js +48 -25
  378. package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
  379. package/dist/cjs/router/findRouteNode.cjs +93 -41
  380. package/dist/cjs/router/findRouteNode.native.js +118 -61
  381. package/dist/cjs/router/findRouteNode.native.js.map +1 -1
  382. package/dist/cjs/router/getLinkingConfig.cjs +22 -17
  383. package/dist/cjs/router/getLinkingConfig.native.js +23 -18
  384. package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
  385. package/dist/cjs/router/getNormalizedStatePath.cjs +23 -17
  386. package/dist/cjs/router/getNormalizedStatePath.native.js +28 -22
  387. package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
  388. package/dist/cjs/router/getRouteInfo.cjs +28 -24
  389. package/dist/cjs/router/getRouteInfo.native.js +20 -18
  390. package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
  391. package/dist/cjs/router/getRoutes.cjs +331 -175
  392. package/dist/cjs/router/getRoutes.native.js +603 -392
  393. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  394. package/dist/cjs/router/getRoutes.test.cjs +57 -45
  395. package/dist/cjs/router/getRoutes.test.native.js +87 -74
  396. package/dist/cjs/router/getRoutes.test.native.js.map +1 -1
  397. package/dist/cjs/router/glob-patterns.cjs +16 -14
  398. package/dist/cjs/router/glob-patterns.native.js +16 -14
  399. package/dist/cjs/router/glob-patterns.native.js.map +1 -1
  400. package/dist/cjs/router/hmrImport.cjs +12 -10
  401. package/dist/cjs/router/hmrImport.native.js +12 -10
  402. package/dist/cjs/router/hmrImport.native.js.map +1 -1
  403. package/dist/cjs/router/imperative-api.cjs +24 -22
  404. package/dist/cjs/router/imperative-api.native.js +40 -38
  405. package/dist/cjs/router/imperative-api.native.js.map +1 -1
  406. package/dist/cjs/router/interceptRoutes.cjs +155 -82
  407. package/dist/cjs/router/interceptRoutes.native.js +187 -106
  408. package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
  409. package/dist/cjs/router/isIndexPath.cjs +28 -12
  410. package/dist/cjs/router/isIndexPath.native.js +29 -13
  411. package/dist/cjs/router/isIndexPath.native.js.map +1 -1
  412. package/dist/cjs/router/lastAction.cjs +16 -14
  413. package/dist/cjs/router/lastAction.native.js +19 -17
  414. package/dist/cjs/router/lastAction.native.js.map +1 -1
  415. package/dist/cjs/router/linkingConfig.cjs +43 -28
  416. package/dist/cjs/router/linkingConfig.native.js +50 -36
  417. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  418. package/dist/cjs/router/matchers.cjs +49 -27
  419. package/dist/cjs/router/matchers.native.js +48 -32
  420. package/dist/cjs/router/matchers.native.js.map +1 -1
  421. package/dist/cjs/router/matchers.test.cjs +108 -33
  422. package/dist/cjs/router/matchers.test.native.js +108 -33
  423. package/dist/cjs/router/matchers.test.native.js.map +1 -1
  424. package/dist/cjs/router/router.cjs +547 -286
  425. package/dist/cjs/router/router.native.js +645 -382
  426. package/dist/cjs/router/router.native.js.map +1 -1
  427. package/dist/cjs/router/serverLocationContext.cjs +12 -10
  428. package/dist/cjs/router/serverLocationContext.native.js +14 -12
  429. package/dist/cjs/router/serverLocationContext.native.js.map +1 -1
  430. package/dist/cjs/router/sortRoutes.cjs +59 -27
  431. package/dist/cjs/router/sortRoutes.native.js +59 -27
  432. package/dist/cjs/router/sortRoutes.native.js.map +1 -1
  433. package/dist/cjs/router/useInitializeOneRouter.cjs +44 -35
  434. package/dist/cjs/router/useInitializeOneRouter.native.js +44 -35
  435. package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
  436. package/dist/cjs/router/useNavigation.cjs +62 -41
  437. package/dist/cjs/router/useNavigation.native.js +69 -45
  438. package/dist/cjs/router/useNavigation.native.js.map +1 -1
  439. package/dist/cjs/router/useScreens.cjs +310 -205
  440. package/dist/cjs/router/useScreens.native.js +542 -355
  441. package/dist/cjs/router/useScreens.native.js.map +1 -1
  442. package/dist/cjs/router/useViteRoutes.cjs +158 -85
  443. package/dist/cjs/router/useViteRoutes.native.js +197 -120
  444. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  445. package/dist/cjs/router/utils/getNavigateAction.cjs +52 -28
  446. package/dist/cjs/router/utils/getNavigateAction.native.js +58 -32
  447. package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
  448. package/dist/cjs/router/utils/getNavigateAction.test.cjs +50 -33
  449. package/dist/cjs/router/utils/getNavigateAction.test.native.js +182 -177
  450. package/dist/cjs/router/utils/getNavigateAction.test.native.js.map +1 -1
  451. package/dist/cjs/screensFeatureFlags.cjs +26 -20
  452. package/dist/cjs/screensFeatureFlags.native.js +26 -20
  453. package/dist/cjs/screensFeatureFlags.native.js.map +1 -1
  454. package/dist/cjs/serve-worker.cjs +22 -17
  455. package/dist/cjs/serve-worker.native.js +22 -17
  456. package/dist/cjs/serve-worker.native.js.map +1 -1
  457. package/dist/cjs/serve.cjs +120 -70
  458. package/dist/cjs/serve.native.js +138 -90
  459. package/dist/cjs/serve.native.js.map +1 -1
  460. package/dist/cjs/server/ServerContextScript.cjs +51 -47
  461. package/dist/cjs/server/ServerContextScript.native.js +54 -50
  462. package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
  463. package/dist/cjs/server/createRoutesManifest.cjs +23 -18
  464. package/dist/cjs/server/createRoutesManifest.native.js +28 -23
  465. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  466. package/dist/cjs/server/getServerManifest.cjs +176 -85
  467. package/dist/cjs/server/getServerManifest.native.js +218 -117
  468. package/dist/cjs/server/getServerManifest.native.js.map +1 -1
  469. package/dist/cjs/server/getServerManifest.test.cjs +120 -110
  470. package/dist/cjs/server/getServerManifest.test.native.js +127 -122
  471. package/dist/cjs/server/getServerManifest.test.native.js.map +1 -1
  472. package/dist/cjs/server/oneServe.cjs +565 -386
  473. package/dist/cjs/server/oneServe.native.js +688 -495
  474. package/dist/cjs/server/oneServe.native.js.map +1 -1
  475. package/dist/cjs/server/setServerGlobals.cjs +14 -11
  476. package/dist/cjs/server/setServerGlobals.native.js +14 -11
  477. package/dist/cjs/server/setServerGlobals.native.js.map +1 -1
  478. package/dist/cjs/server/setupBuildOptions.cjs +14 -11
  479. package/dist/cjs/server/setupBuildOptions.native.js +16 -12
  480. package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
  481. package/dist/cjs/server/ssrLoaderData.cjs +12 -10
  482. package/dist/cjs/server/ssrLoaderData.native.js +12 -10
  483. package/dist/cjs/server/ssrLoaderData.native.js.map +1 -1
  484. package/dist/cjs/server/staticHtmlFetcher.cjs +12 -10
  485. package/dist/cjs/server/staticHtmlFetcher.native.js +12 -10
  486. package/dist/cjs/server/staticHtmlFetcher.native.js.map +1 -1
  487. package/dist/cjs/server/workerHandler.cjs +373 -241
  488. package/dist/cjs/server/workerHandler.native.js +498 -342
  489. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  490. package/dist/cjs/server-render.cjs +47 -42
  491. package/dist/cjs/server-render.native.js +50 -44
  492. package/dist/cjs/server-render.native.js.map +1 -1
  493. package/dist/cjs/skewProtection.cjs +27 -19
  494. package/dist/cjs/skewProtection.native.js +28 -20
  495. package/dist/cjs/skewProtection.native.js.map +1 -1
  496. package/dist/cjs/testing-utils.cjs +43 -33
  497. package/dist/cjs/testing-utils.native.js +44 -36
  498. package/dist/cjs/testing-utils.native.js.map +1 -1
  499. package/dist/cjs/typed-routes/generateRouteTypes.cjs +61 -46
  500. package/dist/cjs/typed-routes/generateRouteTypes.native.js +73 -54
  501. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
  502. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.cjs +75 -50
  503. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js +115 -87
  504. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  505. package/dist/cjs/typed-routes/injectRouteHelpers.cjs +95 -69
  506. package/dist/cjs/typed-routes/injectRouteHelpers.native.js +87 -68
  507. package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -1
  508. package/dist/cjs/types.cjs +7 -5
  509. package/dist/cjs/types.native.js +7 -5
  510. package/dist/cjs/types.native.js.map +1 -1
  511. package/dist/cjs/ui/Slot.cjs +24 -17
  512. package/dist/cjs/ui/Slot.native.js +25 -18
  513. package/dist/cjs/ui/Slot.native.js.map +1 -1
  514. package/dist/cjs/ui/TabContext.cjs +26 -24
  515. package/dist/cjs/ui/TabContext.native.js +27 -25
  516. package/dist/cjs/ui/TabContext.native.js.map +1 -1
  517. package/dist/cjs/ui/TabList.cjs +17 -14
  518. package/dist/cjs/ui/TabList.native.js +20 -18
  519. package/dist/cjs/ui/TabList.native.js.map +1 -1
  520. package/dist/cjs/ui/TabRouter.cjs +57 -37
  521. package/dist/cjs/ui/TabRouter.native.js +58 -40
  522. package/dist/cjs/ui/TabRouter.native.js.map +1 -1
  523. package/dist/cjs/ui/TabSlot.cjs +41 -30
  524. package/dist/cjs/ui/TabSlot.native.js +54 -43
  525. package/dist/cjs/ui/TabSlot.native.js.map +1 -1
  526. package/dist/cjs/ui/TabTrigger.cjs +110 -81
  527. package/dist/cjs/ui/TabTrigger.native.js +135 -104
  528. package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
  529. package/dist/cjs/ui/Tabs.cjs +117 -97
  530. package/dist/cjs/ui/Tabs.native.js +137 -119
  531. package/dist/cjs/ui/Tabs.native.js.map +1 -1
  532. package/dist/cjs/ui/common.cjs +113 -53
  533. package/dist/cjs/ui/common.native.js +210 -141
  534. package/dist/cjs/ui/common.native.js.map +1 -1
  535. package/dist/cjs/ui/index.cjs +7 -5
  536. package/dist/cjs/ui/index.native.js +7 -5
  537. package/dist/cjs/ui/index.native.js.map +1 -1
  538. package/dist/cjs/ui/useComponent.cjs +24 -16
  539. package/dist/cjs/ui/useComponent.native.js +31 -25
  540. package/dist/cjs/ui/useComponent.native.js.map +1 -1
  541. package/dist/cjs/useBlocker.cjs +174 -104
  542. package/dist/cjs/useBlocker.native.js +77 -56
  543. package/dist/cjs/useBlocker.native.js.map +1 -1
  544. package/dist/cjs/useFocusEffect.cjs +47 -40
  545. package/dist/cjs/useFocusEffect.native.js +54 -48
  546. package/dist/cjs/useFocusEffect.native.js.map +1 -1
  547. package/dist/cjs/useLoader.cjs +375 -201
  548. package/dist/cjs/useLoader.native.js +366 -269
  549. package/dist/cjs/useLoader.native.js.map +1 -1
  550. package/dist/cjs/useMatches.cjs +29 -17
  551. package/dist/cjs/useMatches.native.js +42 -29
  552. package/dist/cjs/useMatches.native.js.map +1 -1
  553. package/dist/cjs/useMatches.test.cjs +146 -102
  554. package/dist/cjs/useMatches.test.native.js +152 -119
  555. package/dist/cjs/useMatches.test.native.js.map +1 -1
  556. package/dist/cjs/useScrollGroup.cjs +15 -13
  557. package/dist/cjs/useScrollGroup.native.js +12 -10
  558. package/dist/cjs/useScrollGroup.native.js.map +1 -1
  559. package/dist/cjs/useServerHeadInsertion.cjs +27 -22
  560. package/dist/cjs/useServerHeadInsertion.native.js +29 -25
  561. package/dist/cjs/useServerHeadInsertion.native.js.map +1 -1
  562. package/dist/cjs/utils/assertIsReady.cjs +15 -11
  563. package/dist/cjs/utils/assertIsReady.native.js +15 -11
  564. package/dist/cjs/utils/assertIsReady.native.js.map +1 -1
  565. package/dist/cjs/utils/children.cjs +24 -14
  566. package/dist/cjs/utils/children.native.js +28 -18
  567. package/dist/cjs/utils/children.native.js.map +1 -1
  568. package/dist/cjs/utils/cleanUrl.cjs +22 -20
  569. package/dist/cjs/utils/cleanUrl.native.js +23 -21
  570. package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
  571. package/dist/cjs/utils/cleanUrl.test.cjs +40 -25
  572. package/dist/cjs/utils/cleanUrl.test.native.js +40 -25
  573. package/dist/cjs/utils/cleanUrl.test.native.js.map +1 -1
  574. package/dist/cjs/utils/dynamicImport.cjs +41 -25
  575. package/dist/cjs/utils/dynamicImport.native.js +25 -11
  576. package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
  577. package/dist/cjs/utils/ensureExists.cjs +15 -11
  578. package/dist/cjs/utils/ensureExists.native.js +15 -11
  579. package/dist/cjs/utils/ensureExists.native.js.map +1 -1
  580. package/dist/cjs/utils/evictOldest.cjs +13 -11
  581. package/dist/cjs/utils/evictOldest.native.js +18 -13
  582. package/dist/cjs/utils/evictOldest.native.js.map +1 -1
  583. package/dist/cjs/utils/existsAsync.cjs +21 -17
  584. package/dist/cjs/utils/existsAsync.native.js +22 -20
  585. package/dist/cjs/utils/existsAsync.native.js.map +1 -1
  586. package/dist/cjs/utils/findRootLayout.cjs +13 -10
  587. package/dist/cjs/utils/findRootLayout.native.js +17 -14
  588. package/dist/cjs/utils/findRootLayout.native.js.map +1 -1
  589. package/dist/cjs/utils/getPageExport.cjs +26 -15
  590. package/dist/cjs/utils/getPageExport.native.js +31 -25
  591. package/dist/cjs/utils/getPageExport.native.js.map +1 -1
  592. package/dist/cjs/utils/getPathnameFromFilePath.cjs +57 -49
  593. package/dist/cjs/utils/getPathnameFromFilePath.native.js +60 -52
  594. package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +1 -1
  595. package/dist/cjs/utils/getPathnameFromFilePath.test.cjs +54 -30
  596. package/dist/cjs/utils/getPathnameFromFilePath.test.native.js +54 -30
  597. package/dist/cjs/utils/getPathnameFromFilePath.test.native.js.map +1 -1
  598. package/dist/cjs/utils/getRouterRootFromOneOptions.cjs +12 -10
  599. package/dist/cjs/utils/getRouterRootFromOneOptions.native.js +13 -11
  600. package/dist/cjs/utils/getRouterRootFromOneOptions.native.js.map +1 -1
  601. package/dist/cjs/utils/globDir.cjs +25 -23
  602. package/dist/cjs/utils/globDir.native.js +25 -23
  603. package/dist/cjs/utils/globDir.native.js.map +1 -1
  604. package/dist/cjs/utils/hashString.cjs +24 -22
  605. package/dist/cjs/utils/hashString.native.js +24 -22
  606. package/dist/cjs/utils/hashString.native.js.map +1 -1
  607. package/dist/cjs/utils/htmlEscape.cjs +24 -22
  608. package/dist/cjs/utils/htmlEscape.native.js +23 -21
  609. package/dist/cjs/utils/htmlEscape.native.js.map +1 -1
  610. package/dist/cjs/utils/isResponse.cjs +14 -11
  611. package/dist/cjs/utils/isResponse.native.js +19 -12
  612. package/dist/cjs/utils/isResponse.native.js.map +1 -1
  613. package/dist/cjs/utils/isRolldown.cjs +12 -10
  614. package/dist/cjs/utils/isRolldown.native.js +14 -12
  615. package/dist/cjs/utils/isRolldown.native.js.map +1 -1
  616. package/dist/cjs/utils/isStatus.cjs +12 -10
  617. package/dist/cjs/utils/isStatus.native.js +12 -10
  618. package/dist/cjs/utils/isStatus.native.js.map +1 -1
  619. package/dist/cjs/utils/pLimit.cjs +27 -17
  620. package/dist/cjs/utils/pLimit.native.js +25 -21
  621. package/dist/cjs/utils/pLimit.native.js.map +1 -1
  622. package/dist/cjs/utils/platform.cjs +13 -11
  623. package/dist/cjs/utils/platform.native.js +13 -11
  624. package/dist/cjs/utils/platform.native.js.map +1 -1
  625. package/dist/cjs/utils/promiseWithResolvers.cjs +16 -12
  626. package/dist/cjs/utils/promiseWithResolvers.native.js +18 -15
  627. package/dist/cjs/utils/promiseWithResolvers.native.js.map +1 -1
  628. package/dist/cjs/utils/rand.cjs +12 -10
  629. package/dist/cjs/utils/rand.native.js +12 -10
  630. package/dist/cjs/utils/rand.native.js.map +1 -1
  631. package/dist/cjs/utils/redirect.cjs +14 -12
  632. package/dist/cjs/utils/redirect.native.js +22 -20
  633. package/dist/cjs/utils/redirect.native.js.map +1 -1
  634. package/dist/cjs/utils/removeParams.cjs +34 -22
  635. package/dist/cjs/utils/removeParams.native.js +45 -30
  636. package/dist/cjs/utils/removeParams.native.js.map +1 -1
  637. package/dist/cjs/utils/removeSearch.cjs +12 -10
  638. package/dist/cjs/utils/removeSearch.native.js +12 -10
  639. package/dist/cjs/utils/removeSearch.native.js.map +1 -1
  640. package/dist/cjs/utils/removeUndefined.cjs +17 -11
  641. package/dist/cjs/utils/removeUndefined.native.js +17 -11
  642. package/dist/cjs/utils/removeUndefined.native.js.map +1 -1
  643. package/dist/cjs/utils/style.cjs +19 -11
  644. package/dist/cjs/utils/style.native.js +19 -11
  645. package/dist/cjs/utils/style.native.js.map +1 -1
  646. package/dist/cjs/utils/toAbsolute.cjs +12 -10
  647. package/dist/cjs/utils/toAbsolute.native.js +16 -14
  648. package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
  649. package/dist/cjs/utils/trackLoaderDependencies.cjs +38 -27
  650. package/dist/cjs/utils/trackLoaderDependencies.native.js +38 -30
  651. package/dist/cjs/utils/trackLoaderDependencies.native.js.map +1 -1
  652. package/dist/cjs/utils/url.cjs +12 -10
  653. package/dist/cjs/utils/url.native.js +12 -10
  654. package/dist/cjs/utils/url.native.js.map +1 -1
  655. package/dist/cjs/utils/useConstant.cjs +33 -26
  656. package/dist/cjs/utils/useConstant.native.js +35 -28
  657. package/dist/cjs/utils/useConstant.native.js.map +1 -1
  658. package/dist/cjs/utils/watchFile.cjs +16 -12
  659. package/dist/cjs/utils/watchFile.native.js +16 -13
  660. package/dist/cjs/utils/watchFile.native.js.map +1 -1
  661. package/dist/cjs/utils/weakKey.cjs +19 -14
  662. package/dist/cjs/utils/weakKey.native.js +21 -18
  663. package/dist/cjs/utils/weakKey.native.js.map +1 -1
  664. package/dist/cjs/utils/weakMemo.cjs +18 -11
  665. package/dist/cjs/utils/weakMemo.native.js +28 -18
  666. package/dist/cjs/utils/weakMemo.native.js.map +1 -1
  667. package/dist/cjs/utils/withStaticProperties.cjs +44 -40
  668. package/dist/cjs/utils/withStaticProperties.native.js +46 -42
  669. package/dist/cjs/utils/withStaticProperties.native.js.map +1 -1
  670. package/dist/cjs/utils/workerImport.cjs +24 -18
  671. package/dist/cjs/utils/workerImport.native.js +25 -20
  672. package/dist/cjs/utils/workerImport.native.js.map +1 -1
  673. package/dist/cjs/validateParams.cjs +34 -21
  674. package/dist/cjs/validateParams.native.js +121 -77
  675. package/dist/cjs/validateParams.native.js.map +1 -1
  676. package/dist/cjs/validateSearch.cjs +43 -25
  677. package/dist/cjs/validateSearch.native.js +114 -67
  678. package/dist/cjs/validateSearch.native.js.map +1 -1
  679. package/dist/cjs/vercel/build/buildVercelOutputDirectory.cjs +103 -73
  680. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +160 -126
  681. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  682. package/dist/cjs/vercel/build/config/vc-build-output-config-base.cjs +12 -10
  683. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js +12 -10
  684. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
  685. package/dist/cjs/vercel/build/config/vc-config-base.cjs +14 -12
  686. package/dist/cjs/vercel/build/config/vc-config-base.native.js +14 -12
  687. package/dist/cjs/vercel/build/config/vc-config-base.native.js.map +1 -1
  688. package/dist/cjs/vercel/build/config/vc-package-base.cjs +12 -10
  689. package/dist/cjs/vercel/build/config/vc-package-base.native.js +12 -10
  690. package/dist/cjs/vercel/build/config/vc-package-base.native.js.map +1 -1
  691. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +83 -61
  692. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +74 -55
  693. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  694. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.cjs +47 -37
  695. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js +47 -37
  696. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  697. package/dist/cjs/vercel/build/getPathFromRoute.cjs +14 -12
  698. package/dist/cjs/vercel/build/getPathFromRoute.native.js +14 -12
  699. package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +1 -1
  700. package/dist/cjs/views/EmptyRoute.cjs +12 -10
  701. package/dist/cjs/views/EmptyRoute.native.js +25 -12
  702. package/dist/cjs/views/EmptyRoute.native.js.map +1 -1
  703. package/dist/cjs/views/ErrorBoundary.cjs +50 -41
  704. package/dist/cjs/views/ErrorBoundary.native.js +41 -38
  705. package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
  706. package/dist/cjs/views/LoadProgressBar.cjs +35 -23
  707. package/dist/cjs/views/LoadProgressBar.native.js +87 -75
  708. package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
  709. package/dist/cjs/views/Navigator.cjs +157 -112
  710. package/dist/cjs/views/Navigator.native.js +200 -153
  711. package/dist/cjs/views/Navigator.native.js.map +1 -1
  712. package/dist/cjs/views/OneStackRouter.cjs +27 -18
  713. package/dist/cjs/views/OneStackRouter.native.js +34 -19
  714. package/dist/cjs/views/OneStackRouter.native.js.map +1 -1
  715. package/dist/cjs/views/PreloadLinks.cjs +125 -89
  716. package/dist/cjs/views/PreloadLinks.native.js +12 -10
  717. package/dist/cjs/views/PreloadLinks.native.js.map +1 -1
  718. package/dist/cjs/views/Protected.cjs +18 -16
  719. package/dist/cjs/views/Protected.native.js +19 -17
  720. package/dist/cjs/views/Protected.native.js.map +1 -1
  721. package/dist/cjs/views/RootErrorBoundary.cjs +155 -144
  722. package/dist/cjs/views/RootErrorBoundary.native.js +217 -176
  723. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  724. package/dist/cjs/views/Screen.cjs +21 -16
  725. package/dist/cjs/views/Screen.native.js +25 -20
  726. package/dist/cjs/views/Screen.native.js.map +1 -1
  727. package/dist/cjs/views/ScrollBehavior.cjs +117 -68
  728. package/dist/cjs/views/ScrollBehavior.native.js +144 -99
  729. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  730. package/dist/cjs/views/SourceInspector.cjs +12 -10
  731. package/dist/cjs/views/SourceInspector.native.js +12 -10
  732. package/dist/cjs/views/SourceInspector.native.js.map +1 -1
  733. package/dist/cjs/views/Try.cjs +65 -57
  734. package/dist/cjs/views/Try.native.js +112 -80
  735. package/dist/cjs/views/Try.native.js.map +1 -1
  736. package/dist/cjs/vite/DevHead.cjs +39 -28
  737. package/dist/cjs/vite/DevHead.native.js +38 -12
  738. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  739. package/dist/cjs/vite/constants.cjs +15 -13
  740. package/dist/cjs/vite/constants.native.js +15 -13
  741. package/dist/cjs/vite/constants.native.js.map +1 -1
  742. package/dist/cjs/vite/customNodeExternals.cjs +35 -30
  743. package/dist/cjs/vite/customNodeExternals.native.js +35 -30
  744. package/dist/cjs/vite/customNodeExternals.native.js.map +1 -1
  745. package/dist/cjs/vite/ensureTsConfig.cjs +20 -15
  746. package/dist/cjs/vite/ensureTsConfig.native.js +20 -15
  747. package/dist/cjs/vite/ensureTsConfig.native.js.map +1 -1
  748. package/dist/cjs/vite/findDepsToOptimize.cjs +52 -36
  749. package/dist/cjs/vite/findDepsToOptimize.native.js +59 -44
  750. package/dist/cjs/vite/findDepsToOptimize.native.js.map +1 -1
  751. package/dist/cjs/vite/getManifest.cjs +33 -28
  752. package/dist/cjs/vite/getManifest.native.js +37 -32
  753. package/dist/cjs/vite/getManifest.native.js.map +1 -1
  754. package/dist/cjs/vite/loadConfig.cjs +30 -18
  755. package/dist/cjs/vite/loadConfig.native.js +31 -19
  756. package/dist/cjs/vite/loadConfig.native.js.map +1 -1
  757. package/dist/cjs/vite/makePluginWebOnly.cjs +21 -13
  758. package/dist/cjs/vite/makePluginWebOnly.native.js +24 -14
  759. package/dist/cjs/vite/makePluginWebOnly.native.js.map +1 -1
  760. package/dist/cjs/vite/one-server-only.cjs +92 -59
  761. package/dist/cjs/vite/one-server-only.native.js +14 -12
  762. package/dist/cjs/vite/one-server-only.native.js.map +1 -1
  763. package/dist/cjs/vite/one.cjs +559 -467
  764. package/dist/cjs/vite/one.native.js +693 -603
  765. package/dist/cjs/vite/one.native.js.map +1 -1
  766. package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +93 -70
  767. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +87 -70
  768. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  769. package/dist/cjs/vite/plugins/clientTreeShakePlugin.cjs +100 -66
  770. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js +151 -116
  771. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  772. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.cjs +100 -54
  773. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js +86 -54
  774. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  775. package/dist/cjs/vite/plugins/criticalCSSPlugin.cjs +22 -15
  776. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js +34 -24
  777. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  778. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.cjs +81 -66
  779. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js +89 -76
  780. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  781. package/dist/cjs/vite/plugins/devtoolsPlugin.cjs +41 -34
  782. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js +45 -40
  783. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -1
  784. package/dist/cjs/vite/plugins/environmentGuardPlugin.cjs +44 -27
  785. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js +46 -29
  786. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  787. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.cjs +65 -33
  788. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js +65 -33
  789. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
  790. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +363 -216
  791. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +462 -308
  792. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  793. package/dist/cjs/vite/plugins/fixDependenciesPlugin.cjs +18 -14
  794. package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js +19 -15
  795. package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
  796. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +33 -26
  797. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +35 -31
  798. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  799. package/dist/cjs/vite/plugins/imageDataPlugin.cjs +50 -24
  800. package/dist/cjs/vite/plugins/imageDataPlugin.native.js +51 -26
  801. package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
  802. package/dist/cjs/vite/plugins/imageDataPlugin.test.cjs +209 -139
  803. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js +201 -137
  804. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  805. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.cjs +29 -23
  806. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js +29 -23
  807. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
  808. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +130 -81
  809. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +244 -194
  810. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  811. package/dist/cjs/vite/plugins/useDomPlugin.cjs +54 -38
  812. package/dist/cjs/vite/plugins/useDomPlugin.native.js +51 -33
  813. package/dist/cjs/vite/plugins/useDomPlugin.native.js.map +1 -1
  814. package/dist/cjs/vite/plugins/virtualEntryConstants.cjs +19 -17
  815. package/dist/cjs/vite/plugins/virtualEntryConstants.native.js +19 -17
  816. package/dist/cjs/vite/plugins/virtualEntryConstants.native.js.map +1 -1
  817. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +65 -49
  818. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +71 -58
  819. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  820. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.cjs +87 -59
  821. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js +88 -62
  822. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  823. package/dist/cjs/vite/plugins/warmRoutesPlugin.cjs +67 -42
  824. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js +87 -64
  825. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  826. package/dist/cjs/vite/replaceLoader.cjs +28 -17
  827. package/dist/cjs/vite/replaceLoader.native.js +27 -19
  828. package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
  829. package/dist/cjs/vite/resolveResponse.cjs +61 -40
  830. package/dist/cjs/vite/resolveResponse.native.js +70 -46
  831. package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
  832. package/dist/cjs/vite/types.cjs +7 -5
  833. package/dist/cjs/vite/types.native.js +7 -5
  834. package/dist/cjs/vite/types.native.js.map +1 -1
  835. package/dist/cjs/vite-auto-warm.cjs +12 -10
  836. package/dist/cjs/vite-auto-warm.native.js +12 -10
  837. package/dist/cjs/vite-auto-warm.native.js.map +1 -1
  838. package/dist/cjs/vite.cjs +22 -20
  839. package/dist/cjs/vite.native.js +22 -20
  840. package/dist/cjs/vite.native.js.map +1 -1
  841. package/dist/cjs/zero/getQueryKey.cjs +12 -10
  842. package/dist/cjs/zero/getQueryKey.native.js +12 -10
  843. package/dist/cjs/zero/getQueryKey.native.js.map +1 -1
  844. package/dist/cjs/zero/isZeroQuery.cjs +16 -11
  845. package/dist/cjs/zero/isZeroQuery.native.js +17 -12
  846. package/dist/cjs/zero/isZeroQuery.native.js.map +1 -1
  847. package/dist/cjs/zero/resolveQuery.cjs +21 -16
  848. package/dist/cjs/zero/resolveQuery.native.js +21 -16
  849. package/dist/cjs/zero/resolveQuery.native.js.map +1 -1
  850. package/dist/cjs/zero/subscribeToQuery.cjs +14 -11
  851. package/dist/cjs/zero/subscribeToQuery.native.js +14 -11
  852. package/dist/cjs/zero/subscribeToQuery.native.js.map +1 -1
  853. package/dist/cjs/zero/types.cjs +7 -5
  854. package/dist/cjs/zero/types.native.js +7 -5
  855. package/dist/cjs/zero/types.native.js.map +1 -1
  856. package/dist/cjs/zero/useQuery.cjs +52 -42
  857. package/dist/cjs/zero/useQuery.native.js +51 -27
  858. package/dist/cjs/zero/useQuery.native.js.map +1 -1
  859. package/dist/cjs/zero/useQueryZero.cjs +26 -19
  860. package/dist/cjs/zero/useQueryZero.native.js +26 -19
  861. package/dist/cjs/zero/useQueryZero.native.js.map +1 -1
  862. package/dist/cjs/zero.cjs +15 -13
  863. package/dist/cjs/zero.native.js +15 -13
  864. package/dist/cjs/zero.native.js.map +1 -1
  865. package/dist/esm/Frozen.mjs +2 -2
  866. package/dist/esm/Frozen.native.js +1 -1
  867. package/dist/esm/Root.mjs +95 -65
  868. package/dist/esm/Root.mjs.map +1 -1
  869. package/dist/esm/Root.native.js +125 -95
  870. package/dist/esm/Root.native.js.map +1 -1
  871. package/dist/esm/__mocks__/expo-linking.mjs +8 -8
  872. package/dist/esm/__mocks__/expo-linking.mjs.map +1 -1
  873. package/dist/esm/__mocks__/expo-linking.native.js +14 -14
  874. package/dist/esm/__mocks__/expo-linking.native.js.map +1 -1
  875. package/dist/esm/__mocks__/expo-modules-core.mjs +8 -8
  876. package/dist/esm/__mocks__/expo-modules-core.mjs.map +1 -1
  877. package/dist/esm/__mocks__/expo-modules-core.native.js +33 -25
  878. package/dist/esm/__mocks__/expo-modules-core.native.js.map +1 -1
  879. package/dist/esm/__mocks__/react-native-screens.mjs +2 -2
  880. package/dist/esm/__mocks__/react-native-screens.mjs.map +1 -1
  881. package/dist/esm/__mocks__/react-native-screens.native.js +2 -2
  882. package/dist/esm/__mocks__/react-native-screens.native.js.map +1 -1
  883. package/dist/esm/babel-plugins/environment-guard.mjs +8 -3
  884. package/dist/esm/babel-plugins/environment-guard.mjs.map +1 -1
  885. package/dist/esm/babel-plugins/environment-guard.native.js +8 -3
  886. package/dist/esm/babel-plugins/environment-guard.native.js.map +1 -1
  887. package/dist/esm/babel-plugins/inline-one-server-url.mjs +6 -4
  888. package/dist/esm/babel-plugins/inline-one-server-url.mjs.map +1 -1
  889. package/dist/esm/babel-plugins/inline-one-server-url.native.js +10 -11
  890. package/dist/esm/babel-plugins/inline-one-server-url.native.js.map +1 -1
  891. package/dist/esm/babel-plugins/one-router-metro.mjs +32 -8
  892. package/dist/esm/babel-plugins/one-router-metro.mjs.map +1 -1
  893. package/dist/esm/babel-plugins/one-router-metro.native.js +34 -7
  894. package/dist/esm/babel-plugins/one-router-metro.native.js.map +1 -1
  895. package/dist/esm/babel-plugins/one-router-metro.test.mjs +39 -25
  896. package/dist/esm/babel-plugins/one-router-metro.test.mjs.map +1 -1
  897. package/dist/esm/babel-plugins/one-router-metro.test.native.js +51 -39
  898. package/dist/esm/babel-plugins/one-router-metro.test.native.js.map +1 -1
  899. package/dist/esm/babel-plugins/remove-server-code.mjs +53 -32
  900. package/dist/esm/babel-plugins/remove-server-code.mjs.map +1 -1
  901. package/dist/esm/babel-plugins/remove-server-code.native.js +71 -48
  902. package/dist/esm/babel-plugins/remove-server-code.native.js.map +1 -1
  903. package/dist/esm/cli/build.mjs +528 -361
  904. package/dist/esm/cli/build.mjs.map +1 -1
  905. package/dist/esm/cli/build.native.js +827 -627
  906. package/dist/esm/cli/build.native.js.map +1 -1
  907. package/dist/esm/cli/buildPage.mjs +187 -132
  908. package/dist/esm/cli/buildPage.mjs.map +1 -1
  909. package/dist/esm/cli/buildPage.native.js +226 -157
  910. package/dist/esm/cli/buildPage.native.js.map +1 -1
  911. package/dist/esm/cli/buildPageWorker.mjs +46 -26
  912. package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
  913. package/dist/esm/cli/buildPageWorker.native.js +40 -26
  914. package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
  915. package/dist/esm/cli/checkNodeVersion.mjs +8 -1
  916. package/dist/esm/cli/checkNodeVersion.mjs.map +1 -1
  917. package/dist/esm/cli/checkNodeVersion.native.js +8 -1
  918. package/dist/esm/cli/checkNodeVersion.native.js.map +1 -1
  919. package/dist/esm/cli/daemon.mjs +116 -50
  920. package/dist/esm/cli/daemon.mjs.map +1 -1
  921. package/dist/esm/cli/daemon.native.js +143 -73
  922. package/dist/esm/cli/daemon.native.js.map +1 -1
  923. package/dist/esm/cli/dev.mjs +83 -62
  924. package/dist/esm/cli/dev.mjs.map +1 -1
  925. package/dist/esm/cli/dev.native.js +87 -66
  926. package/dist/esm/cli/dev.native.js.map +1 -1
  927. package/dist/esm/cli/generateRoutes.mjs +30 -6
  928. package/dist/esm/cli/generateRoutes.mjs.map +1 -1
  929. package/dist/esm/cli/generateRoutes.native.js +34 -18
  930. package/dist/esm/cli/generateRoutes.native.js.map +1 -1
  931. package/dist/esm/cli/generateSitemap.mjs +30 -19
  932. package/dist/esm/cli/generateSitemap.mjs.map +1 -1
  933. package/dist/esm/cli/generateSitemap.native.js +56 -40
  934. package/dist/esm/cli/generateSitemap.native.js.map +1 -1
  935. package/dist/esm/cli/generateSitemap.test.mjs +129 -62
  936. package/dist/esm/cli/generateSitemap.test.mjs.map +1 -1
  937. package/dist/esm/cli/generateSitemap.test.native.js +209 -164
  938. package/dist/esm/cli/generateSitemap.test.native.js.map +1 -1
  939. package/dist/esm/cli/label-process.mjs +2 -2
  940. package/dist/esm/cli/label-process.mjs.map +1 -1
  941. package/dist/esm/cli/label-process.native.js +2 -2
  942. package/dist/esm/cli/label-process.native.js.map +1 -1
  943. package/dist/esm/cli/main.mjs +17 -6
  944. package/dist/esm/cli/main.mjs.map +1 -1
  945. package/dist/esm/cli/main.native.js +17 -11
  946. package/dist/esm/cli/main.native.js.map +1 -1
  947. package/dist/esm/cli/patch.mjs +8 -4
  948. package/dist/esm/cli/patch.mjs.map +1 -1
  949. package/dist/esm/cli/patch.native.js +8 -5
  950. package/dist/esm/cli/patch.native.js.map +1 -1
  951. package/dist/esm/cli/securityScan.mjs +65 -36
  952. package/dist/esm/cli/securityScan.mjs.map +1 -1
  953. package/dist/esm/cli/securityScan.native.js +126 -81
  954. package/dist/esm/cli/securityScan.native.js.map +1 -1
  955. package/dist/esm/cli/workerPool.mjs +86 -47
  956. package/dist/esm/cli/workerPool.mjs.map +1 -1
  957. package/dist/esm/cli/workerPool.native.js +195 -127
  958. package/dist/esm/cli/workerPool.native.js.map +1 -1
  959. package/dist/esm/cli.mjs +408 -389
  960. package/dist/esm/cli.mjs.map +1 -1
  961. package/dist/esm/cli.native.js +419 -401
  962. package/dist/esm/cli.native.js.map +1 -1
  963. package/dist/esm/clientLoaderResolver.mjs +8 -4
  964. package/dist/esm/clientLoaderResolver.mjs.map +1 -1
  965. package/dist/esm/clientLoaderResolver.native.js +8 -4
  966. package/dist/esm/clientLoaderResolver.native.js.map +1 -1
  967. package/dist/esm/config.mjs +7 -3
  968. package/dist/esm/config.mjs.map +1 -1
  969. package/dist/esm/config.native.js +10 -6
  970. package/dist/esm/config.native.js.map +1 -1
  971. package/dist/esm/constants.mjs +16 -16
  972. package/dist/esm/constants.mjs.map +1 -1
  973. package/dist/esm/constants.native.js +20 -20
  974. package/dist/esm/constants.native.js.map +1 -1
  975. package/dist/esm/createApp.mjs +101 -51
  976. package/dist/esm/createApp.mjs.map +1 -1
  977. package/dist/esm/createApp.native.js +6 -3
  978. package/dist/esm/createApp.native.js.map +1 -1
  979. package/dist/esm/createHandleRequest.mjs +216 -107
  980. package/dist/esm/createHandleRequest.mjs.map +1 -1
  981. package/dist/esm/createHandleRequest.native.js +244 -147
  982. package/dist/esm/createHandleRequest.native.js.map +1 -1
  983. package/dist/esm/createHandleRequest.test.mjs +102 -72
  984. package/dist/esm/createHandleRequest.test.mjs.map +1 -1
  985. package/dist/esm/createHandleRequest.test.native.js +102 -72
  986. package/dist/esm/createHandleRequest.test.native.js.map +1 -1
  987. package/dist/esm/daemon/ipc.mjs +164 -99
  988. package/dist/esm/daemon/ipc.mjs.map +1 -1
  989. package/dist/esm/daemon/ipc.native.js +173 -109
  990. package/dist/esm/daemon/ipc.native.js.map +1 -1
  991. package/dist/esm/daemon/picker.mjs +142 -71
  992. package/dist/esm/daemon/picker.mjs.map +1 -1
  993. package/dist/esm/daemon/picker.native.js +230 -140
  994. package/dist/esm/daemon/picker.native.js.map +1 -1
  995. package/dist/esm/daemon/proxy.mjs +40 -20
  996. package/dist/esm/daemon/proxy.mjs.map +1 -1
  997. package/dist/esm/daemon/proxy.native.js +38 -20
  998. package/dist/esm/daemon/proxy.native.js.map +1 -1
  999. package/dist/esm/daemon/registry.mjs +56 -25
  1000. package/dist/esm/daemon/registry.mjs.map +1 -1
  1001. package/dist/esm/daemon/registry.native.js +101 -57
  1002. package/dist/esm/daemon/registry.native.js.map +1 -1
  1003. package/dist/esm/daemon/server.mjs +304 -152
  1004. package/dist/esm/daemon/server.mjs.map +1 -1
  1005. package/dist/esm/daemon/server.native.js +393 -231
  1006. package/dist/esm/daemon/server.native.js.map +1 -1
  1007. package/dist/esm/daemon/tui.mjs +414 -195
  1008. package/dist/esm/daemon/tui.mjs.map +1 -1
  1009. package/dist/esm/daemon/tui.native.js +538 -304
  1010. package/dist/esm/daemon/tui.native.js.map +1 -1
  1011. package/dist/esm/daemon/utils.mjs +27 -6
  1012. package/dist/esm/daemon/utils.mjs.map +1 -1
  1013. package/dist/esm/daemon/utils.native.js +30 -14
  1014. package/dist/esm/daemon/utils.native.js.map +1 -1
  1015. package/dist/esm/fallbackViews/Sitemap.mjs +2 -2
  1016. package/dist/esm/fallbackViews/Sitemap.native.js +2 -2
  1017. package/dist/esm/fork/NavigationContainer.mjs +68 -46
  1018. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  1019. package/dist/esm/fork/NavigationContainer.native.js +84 -66
  1020. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  1021. package/dist/esm/fork/SSRNavigationContainer.mjs +81 -78
  1022. package/dist/esm/fork/SSRNavigationContainer.mjs.map +1 -1
  1023. package/dist/esm/fork/SSRNavigationContainer.native.js +116 -97
  1024. package/dist/esm/fork/SSRNavigationContainer.native.js.map +1 -1
  1025. package/dist/esm/fork/__tests__/getPathFromState.test.mjs +699 -628
  1026. package/dist/esm/fork/__tests__/getPathFromState.test.mjs.map +1 -1
  1027. package/dist/esm/fork/__tests__/getPathFromState.test.native.js +1296 -1259
  1028. package/dist/esm/fork/__tests__/getPathFromState.test.native.js.map +1 -1
  1029. package/dist/esm/fork/__tests__/getStateFromPath.test.mjs +1975 -1889
  1030. package/dist/esm/fork/__tests__/getStateFromPath.test.mjs.map +1 -1
  1031. package/dist/esm/fork/__tests__/getStateFromPath.test.native.js +2036 -1960
  1032. package/dist/esm/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
  1033. package/dist/esm/fork/createMemoryHistory.mjs +111 -54
  1034. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  1035. package/dist/esm/fork/createMemoryHistory.native.js +189 -135
  1036. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  1037. package/dist/esm/fork/extractPathFromURL.mjs +38 -12
  1038. package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
  1039. package/dist/esm/fork/extractPathFromURL.native.js +45 -21
  1040. package/dist/esm/fork/extractPathFromURL.native.js.map +1 -1
  1041. package/dist/esm/fork/findFocusedRoute.mjs +5 -2
  1042. package/dist/esm/fork/findFocusedRoute.mjs.map +1 -1
  1043. package/dist/esm/fork/findFocusedRoute.native.js +4 -2
  1044. package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
  1045. package/dist/esm/fork/getPathFromState-mods.mjs +56 -8
  1046. package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -1
  1047. package/dist/esm/fork/getPathFromState-mods.native.js +64 -18
  1048. package/dist/esm/fork/getPathFromState-mods.native.js.map +1 -1
  1049. package/dist/esm/fork/getPathFromState.mjs +142 -75
  1050. package/dist/esm/fork/getPathFromState.mjs.map +1 -1
  1051. package/dist/esm/fork/getPathFromState.native.js +156 -87
  1052. package/dist/esm/fork/getPathFromState.native.js.map +1 -1
  1053. package/dist/esm/fork/getPathFromState.test.mjs +44 -35
  1054. package/dist/esm/fork/getPathFromState.test.mjs.map +1 -1
  1055. package/dist/esm/fork/getPathFromState.test.native.js +87 -86
  1056. package/dist/esm/fork/getPathFromState.test.native.js.map +1 -1
  1057. package/dist/esm/fork/getStateFromPath-mods.mjs +168 -69
  1058. package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -1
  1059. package/dist/esm/fork/getStateFromPath-mods.native.js +229 -130
  1060. package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
  1061. package/dist/esm/fork/getStateFromPath.mjs +275 -175
  1062. package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
  1063. package/dist/esm/fork/getStateFromPath.native.js +352 -245
  1064. package/dist/esm/fork/getStateFromPath.native.js.map +1 -1
  1065. package/dist/esm/fork/getStateFromPath.test.mjs +33 -22
  1066. package/dist/esm/fork/getStateFromPath.test.mjs.map +1 -1
  1067. package/dist/esm/fork/getStateFromPath.test.native.js +33 -22
  1068. package/dist/esm/fork/getStateFromPath.test.native.js.map +1 -1
  1069. package/dist/esm/fork/useBackButton.native.js +8 -1
  1070. package/dist/esm/fork/useBackButton.native.js.map +1 -1
  1071. package/dist/esm/fork/useDocumentTitle.mjs +4 -2
  1072. package/dist/esm/fork/useDocumentTitle.mjs.map +1 -1
  1073. package/dist/esm/fork/useLinking.mjs +304 -159
  1074. package/dist/esm/fork/useLinking.mjs.map +1 -1
  1075. package/dist/esm/fork/useLinking.native.js +121 -84
  1076. package/dist/esm/fork/useLinking.native.js.map +1 -1
  1077. package/dist/esm/fork/useThenable.mjs +18 -11
  1078. package/dist/esm/fork/useThenable.mjs.map +1 -1
  1079. package/dist/esm/fork/useThenable.native.js +23 -17
  1080. package/dist/esm/fork/useThenable.native.js.map +1 -1
  1081. package/dist/esm/fork/validatePathConfig.mjs +26 -13
  1082. package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
  1083. package/dist/esm/fork/validatePathConfig.native.js +42 -29
  1084. package/dist/esm/fork/validatePathConfig.native.js.map +1 -1
  1085. package/dist/esm/getDevServer.mjs +1 -1
  1086. package/dist/esm/getDevServer.native.js +2 -2
  1087. package/dist/esm/getDevServer.native.js.map +1 -1
  1088. package/dist/esm/getReactNavigationConfig.mjs +41 -20
  1089. package/dist/esm/getReactNavigationConfig.mjs.map +1 -1
  1090. package/dist/esm/getReactNavigationConfig.native.js +41 -20
  1091. package/dist/esm/getReactNavigationConfig.native.js.map +1 -1
  1092. package/dist/esm/getURL.mjs +1 -1
  1093. package/dist/esm/getURL.mjs.map +1 -1
  1094. package/dist/esm/getURL.native.js +11 -3
  1095. package/dist/esm/getURL.native.js.map +1 -1
  1096. package/dist/esm/head/Head.mjs +3 -1
  1097. package/dist/esm/head/Head.mjs.map +1 -1
  1098. package/dist/esm/head/Head.native.js.map +1 -1
  1099. package/dist/esm/head/HeadModule.mjs +3 -1
  1100. package/dist/esm/head/HeadModule.mjs.map +1 -1
  1101. package/dist/esm/head/HeadModule.native.js +5 -5
  1102. package/dist/esm/head/HeadModule.native.js.map +1 -1
  1103. package/dist/esm/head/url.mjs +23 -5
  1104. package/dist/esm/head/url.mjs.map +1 -1
  1105. package/dist/esm/head/url.native.js +28 -10
  1106. package/dist/esm/head/url.native.js.map +1 -1
  1107. package/dist/esm/headless-server.mjs +4 -2
  1108. package/dist/esm/headless-server.mjs.map +1 -1
  1109. package/dist/esm/headless-server.native.js +7 -12
  1110. package/dist/esm/headless-server.native.js.map +1 -1
  1111. package/dist/esm/headless.mjs +6 -4
  1112. package/dist/esm/headless.mjs.map +1 -1
  1113. package/dist/esm/headless.native.js +4 -4
  1114. package/dist/esm/headless.native.js.map +1 -1
  1115. package/dist/esm/hooks.mjs +35 -20
  1116. package/dist/esm/hooks.mjs.map +1 -1
  1117. package/dist/esm/hooks.native.js +103 -62
  1118. package/dist/esm/hooks.native.js.map +1 -1
  1119. package/dist/esm/hooks.test.mjs +47 -25
  1120. package/dist/esm/hooks.test.mjs.map +1 -1
  1121. package/dist/esm/hooks.test.native.js +120 -74
  1122. package/dist/esm/hooks.test.native.js.map +1 -1
  1123. package/dist/esm/href.mjs +3 -1
  1124. package/dist/esm/href.mjs.map +1 -1
  1125. package/dist/esm/href.native.js +3 -1
  1126. package/dist/esm/href.native.js.map +1 -1
  1127. package/dist/esm/image/getImageData.mjs +44 -20
  1128. package/dist/esm/image/getImageData.mjs.map +1 -1
  1129. package/dist/esm/image/getImageData.native.js +44 -21
  1130. package/dist/esm/image/getImageData.native.js.map +1 -1
  1131. package/dist/esm/interfaces/router.mjs +1 -1
  1132. package/dist/esm/interfaces/router.mjs.map +1 -1
  1133. package/dist/esm/interfaces/router.native.js +1 -1
  1134. package/dist/esm/interfaces/router.native.js.map +1 -1
  1135. package/dist/esm/layouts/Drawer.mjs +2 -2
  1136. package/dist/esm/layouts/Drawer.mjs.map +1 -1
  1137. package/dist/esm/layouts/Drawer.native.js +3 -3
  1138. package/dist/esm/layouts/Drawer.native.js.map +1 -1
  1139. package/dist/esm/layouts/NativeTabs.mjs +9 -5
  1140. package/dist/esm/layouts/NativeTabs.mjs.map +1 -1
  1141. package/dist/esm/layouts/NativeTabs.native.js +16 -13
  1142. package/dist/esm/layouts/NativeTabs.native.js.map +1 -1
  1143. package/dist/esm/layouts/Stack.mjs +51 -39
  1144. package/dist/esm/layouts/Stack.mjs.map +1 -1
  1145. package/dist/esm/layouts/Stack.native.js +61 -47
  1146. package/dist/esm/layouts/Stack.native.js.map +1 -1
  1147. package/dist/esm/layouts/Tabs.mjs +28 -22
  1148. package/dist/esm/layouts/Tabs.mjs.map +1 -1
  1149. package/dist/esm/layouts/Tabs.native.js +59 -55
  1150. package/dist/esm/layouts/Tabs.native.js.map +1 -1
  1151. package/dist/esm/layouts/stack-utils/StackHeaderComponent.mjs +39 -19
  1152. package/dist/esm/layouts/stack-utils/StackHeaderComponent.mjs.map +1 -1
  1153. package/dist/esm/layouts/stack-utils/StackHeaderComponent.native.js +65 -48
  1154. package/dist/esm/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
  1155. package/dist/esm/layouts/stack-utils/StackHeaderLeft.mjs +5 -2
  1156. package/dist/esm/layouts/stack-utils/StackHeaderLeft.mjs.map +1 -1
  1157. package/dist/esm/layouts/stack-utils/StackHeaderLeft.native.js +5 -2
  1158. package/dist/esm/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
  1159. package/dist/esm/layouts/stack-utils/StackHeaderRight.mjs +5 -2
  1160. package/dist/esm/layouts/stack-utils/StackHeaderRight.mjs.map +1 -1
  1161. package/dist/esm/layouts/stack-utils/StackHeaderRight.native.js +5 -2
  1162. package/dist/esm/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
  1163. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs +15 -15
  1164. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs.map +1 -1
  1165. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js +16 -16
  1166. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
  1167. package/dist/esm/layouts/stack-utils/StackScreen.mjs +22 -9
  1168. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
  1169. package/dist/esm/layouts/stack-utils/StackScreen.native.js +37 -23
  1170. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
  1171. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +230 -133
  1172. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +1 -1
  1173. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +242 -150
  1174. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  1175. package/dist/esm/layouts/withLayoutContext.mjs +54 -30
  1176. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  1177. package/dist/esm/layouts/withLayoutContext.native.js +56 -34
  1178. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  1179. package/dist/esm/link/Link.mjs +53 -30
  1180. package/dist/esm/link/Link.mjs.map +1 -1
  1181. package/dist/esm/link/Link.native.js +65 -48
  1182. package/dist/esm/link/Link.native.js.map +1 -1
  1183. package/dist/esm/link/Redirect.mjs +11 -11
  1184. package/dist/esm/link/Redirect.mjs.map +1 -1
  1185. package/dist/esm/link/Redirect.native.js +13 -13
  1186. package/dist/esm/link/Redirect.native.js.map +1 -1
  1187. package/dist/esm/link/href.mjs +23 -13
  1188. package/dist/esm/link/href.mjs.map +1 -1
  1189. package/dist/esm/link/href.native.js +35 -20
  1190. package/dist/esm/link/href.native.js.map +1 -1
  1191. package/dist/esm/link/linking.mjs +9 -3
  1192. package/dist/esm/link/linking.mjs.map +1 -1
  1193. package/dist/esm/link/linking.native.js +34 -21
  1194. package/dist/esm/link/linking.native.js.map +1 -1
  1195. package/dist/esm/link/path.mjs +66 -19
  1196. package/dist/esm/link/path.mjs.map +1 -1
  1197. package/dist/esm/link/path.native.js +72 -16
  1198. package/dist/esm/link/path.native.js.map +1 -1
  1199. package/dist/esm/link/prefetchIntent.mjs +65 -44
  1200. package/dist/esm/link/prefetchIntent.mjs.map +1 -1
  1201. package/dist/esm/link/prefetchIntent.native.js +89 -67
  1202. package/dist/esm/link/prefetchIntent.native.js.map +1 -1
  1203. package/dist/esm/link/prefetchIntent.test.mjs +209 -63
  1204. package/dist/esm/link/prefetchIntent.test.mjs.map +1 -1
  1205. package/dist/esm/link/prefetchIntent.test.native.js +212 -66
  1206. package/dist/esm/link/prefetchIntent.test.native.js.map +1 -1
  1207. package/dist/esm/link/prefetchViewport.mjs +22 -11
  1208. package/dist/esm/link/prefetchViewport.mjs.map +1 -1
  1209. package/dist/esm/link/prefetchViewport.native.js +34 -19
  1210. package/dist/esm/link/prefetchViewport.native.js.map +1 -1
  1211. package/dist/esm/link/prefetchViewport.test.mjs +50 -19
  1212. package/dist/esm/link/prefetchViewport.test.mjs.map +1 -1
  1213. package/dist/esm/link/prefetchViewport.test.native.js +70 -30
  1214. package/dist/esm/link/prefetchViewport.test.native.js.map +1 -1
  1215. package/dist/esm/link/useLinkTo.mjs +30 -18
  1216. package/dist/esm/link/useLinkTo.mjs.map +1 -1
  1217. package/dist/esm/link/useLinkTo.native.js +30 -18
  1218. package/dist/esm/link/useLinkTo.native.js.map +1 -1
  1219. package/dist/esm/link/useLoadedNavigation.mjs +29 -17
  1220. package/dist/esm/link/useLoadedNavigation.mjs.map +1 -1
  1221. package/dist/esm/link/useLoadedNavigation.native.js +22 -14
  1222. package/dist/esm/link/useLoadedNavigation.native.js.map +1 -1
  1223. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +82 -51
  1224. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  1225. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +112 -88
  1226. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  1227. package/dist/esm/notFoundState.mjs +36 -12
  1228. package/dist/esm/notFoundState.mjs.map +1 -1
  1229. package/dist/esm/notFoundState.native.js +88 -52
  1230. package/dist/esm/notFoundState.native.js.map +1 -1
  1231. package/dist/esm/polyfills-mobile.mjs +4 -4
  1232. package/dist/esm/polyfills-mobile.mjs.map +1 -1
  1233. package/dist/esm/polyfills-mobile.native.js +7 -2
  1234. package/dist/esm/polyfills-mobile.native.js.map +1 -1
  1235. package/dist/esm/polyfills-server.mjs +2 -2
  1236. package/dist/esm/polyfills-server.mjs.map +1 -1
  1237. package/dist/esm/polyfills-server.native.js +3 -2
  1238. package/dist/esm/polyfills-server.native.js.map +1 -1
  1239. package/dist/esm/render.mjs +35 -21
  1240. package/dist/esm/render.mjs.map +1 -1
  1241. package/dist/esm/render.native.js +1 -1
  1242. package/dist/esm/router/Route.mjs +8 -4
  1243. package/dist/esm/router/Route.mjs.map +1 -1
  1244. package/dist/esm/router/Route.native.js +9 -5
  1245. package/dist/esm/router/Route.native.js.map +1 -1
  1246. package/dist/esm/router/RouteInfoContext.mjs +22 -12
  1247. package/dist/esm/router/RouteInfoContext.mjs.map +1 -1
  1248. package/dist/esm/router/RouteInfoContext.native.js +24 -14
  1249. package/dist/esm/router/RouteInfoContext.native.js.map +1 -1
  1250. package/dist/esm/router/SpaShellContext.mjs +1 -1
  1251. package/dist/esm/router/SpaShellContext.mjs.map +1 -1
  1252. package/dist/esm/router/SpaShellContext.native.js +1 -1
  1253. package/dist/esm/router/SpaShellContext.native.js.map +1 -1
  1254. package/dist/esm/router/createRoute.mjs +10 -7
  1255. package/dist/esm/router/createRoute.mjs.map +1 -1
  1256. package/dist/esm/router/createRoute.native.js +12 -9
  1257. package/dist/esm/router/createRoute.native.js.map +1 -1
  1258. package/dist/esm/router/filterRootHTML.mjs +39 -16
  1259. package/dist/esm/router/filterRootHTML.mjs.map +1 -1
  1260. package/dist/esm/router/filterRootHTML.native.js +36 -15
  1261. package/dist/esm/router/filterRootHTML.native.js.map +1 -1
  1262. package/dist/esm/router/findRouteNode.mjs +81 -31
  1263. package/dist/esm/router/findRouteNode.mjs.map +1 -1
  1264. package/dist/esm/router/findRouteNode.native.js +106 -51
  1265. package/dist/esm/router/findRouteNode.native.js.map +1 -1
  1266. package/dist/esm/router/getLinkingConfig.mjs +7 -4
  1267. package/dist/esm/router/getLinkingConfig.mjs.map +1 -1
  1268. package/dist/esm/router/getLinkingConfig.native.js +8 -5
  1269. package/dist/esm/router/getLinkingConfig.native.js.map +1 -1
  1270. package/dist/esm/router/getNormalizedStatePath.mjs +11 -7
  1271. package/dist/esm/router/getNormalizedStatePath.mjs.map +1 -1
  1272. package/dist/esm/router/getNormalizedStatePath.native.js +16 -12
  1273. package/dist/esm/router/getNormalizedStatePath.native.js.map +1 -1
  1274. package/dist/esm/router/getRouteInfo.mjs +11 -9
  1275. package/dist/esm/router/getRouteInfo.mjs.map +1 -1
  1276. package/dist/esm/router/getRouteInfo.native.js +3 -3
  1277. package/dist/esm/router/getRouteInfo.native.js.map +1 -1
  1278. package/dist/esm/router/getRoutes.mjs +316 -162
  1279. package/dist/esm/router/getRoutes.mjs.map +1 -1
  1280. package/dist/esm/router/getRoutes.native.js +587 -378
  1281. package/dist/esm/router/getRoutes.native.js.map +1 -1
  1282. package/dist/esm/router/getRoutes.test.mjs +55 -43
  1283. package/dist/esm/router/getRoutes.test.mjs.map +1 -1
  1284. package/dist/esm/router/getRoutes.test.native.js +85 -72
  1285. package/dist/esm/router/getRoutes.test.native.js.map +1 -1
  1286. package/dist/esm/router/glob-patterns.mjs +4 -4
  1287. package/dist/esm/router/glob-patterns.mjs.map +1 -1
  1288. package/dist/esm/router/glob-patterns.native.js +4 -4
  1289. package/dist/esm/router/glob-patterns.native.js.map +1 -1
  1290. package/dist/esm/router/interceptRoutes.mjs +141 -70
  1291. package/dist/esm/router/interceptRoutes.mjs.map +1 -1
  1292. package/dist/esm/router/interceptRoutes.native.js +172 -93
  1293. package/dist/esm/router/interceptRoutes.native.js.map +1 -1
  1294. package/dist/esm/router/isIndexPath.mjs +16 -2
  1295. package/dist/esm/router/isIndexPath.mjs.map +1 -1
  1296. package/dist/esm/router/isIndexPath.native.js +17 -3
  1297. package/dist/esm/router/isIndexPath.native.js.map +1 -1
  1298. package/dist/esm/router/lastAction.mjs +4 -4
  1299. package/dist/esm/router/lastAction.mjs.map +1 -1
  1300. package/dist/esm/router/lastAction.native.js +7 -7
  1301. package/dist/esm/router/lastAction.native.js.map +1 -1
  1302. package/dist/esm/router/linkingConfig.mjs +28 -15
  1303. package/dist/esm/router/linkingConfig.mjs.map +1 -1
  1304. package/dist/esm/router/linkingConfig.native.js +35 -23
  1305. package/dist/esm/router/linkingConfig.native.js.map +1 -1
  1306. package/dist/esm/router/matchers.mjs +37 -17
  1307. package/dist/esm/router/matchers.mjs.map +1 -1
  1308. package/dist/esm/router/matchers.native.js +36 -22
  1309. package/dist/esm/router/matchers.native.js.map +1 -1
  1310. package/dist/esm/router/matchers.test.mjs +106 -31
  1311. package/dist/esm/router/matchers.test.mjs.map +1 -1
  1312. package/dist/esm/router/matchers.test.native.js +106 -31
  1313. package/dist/esm/router/matchers.test.native.js.map +1 -1
  1314. package/dist/esm/router/router.mjs +508 -249
  1315. package/dist/esm/router/router.mjs.map +1 -1
  1316. package/dist/esm/router/router.native.js +606 -345
  1317. package/dist/esm/router/router.native.js.map +1 -1
  1318. package/dist/esm/router/sortRoutes.mjs +47 -17
  1319. package/dist/esm/router/sortRoutes.mjs.map +1 -1
  1320. package/dist/esm/router/sortRoutes.native.js +47 -17
  1321. package/dist/esm/router/sortRoutes.native.js.map +1 -1
  1322. package/dist/esm/router/useInitializeOneRouter.mjs +15 -8
  1323. package/dist/esm/router/useInitializeOneRouter.mjs.map +1 -1
  1324. package/dist/esm/router/useInitializeOneRouter.native.js +15 -8
  1325. package/dist/esm/router/useInitializeOneRouter.native.js.map +1 -1
  1326. package/dist/esm/router/useNavigation.mjs +34 -15
  1327. package/dist/esm/router/useNavigation.mjs.map +1 -1
  1328. package/dist/esm/router/useNavigation.native.js +41 -19
  1329. package/dist/esm/router/useNavigation.native.js.map +1 -1
  1330. package/dist/esm/router/useScreens.mjs +269 -166
  1331. package/dist/esm/router/useScreens.mjs.map +1 -1
  1332. package/dist/esm/router/useScreens.native.js +502 -317
  1333. package/dist/esm/router/useScreens.native.js.map +1 -1
  1334. package/dist/esm/router/useViteRoutes.mjs +146 -75
  1335. package/dist/esm/router/useViteRoutes.mjs.map +1 -1
  1336. package/dist/esm/router/useViteRoutes.native.js +184 -109
  1337. package/dist/esm/router/useViteRoutes.native.js.map +1 -1
  1338. package/dist/esm/router/utils/getNavigateAction.mjs +37 -15
  1339. package/dist/esm/router/utils/getNavigateAction.mjs.map +1 -1
  1340. package/dist/esm/router/utils/getNavigateAction.native.js +43 -19
  1341. package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
  1342. package/dist/esm/router/utils/getNavigateAction.test.mjs +48 -31
  1343. package/dist/esm/router/utils/getNavigateAction.test.mjs.map +1 -1
  1344. package/dist/esm/router/utils/getNavigateAction.test.native.js +180 -175
  1345. package/dist/esm/router/utils/getNavigateAction.test.native.js.map +1 -1
  1346. package/dist/esm/screensFeatureFlags.mjs +14 -10
  1347. package/dist/esm/screensFeatureFlags.mjs.map +1 -1
  1348. package/dist/esm/screensFeatureFlags.native.js +14 -10
  1349. package/dist/esm/screensFeatureFlags.native.js.map +1 -1
  1350. package/dist/esm/serve-worker.mjs +5 -2
  1351. package/dist/esm/serve-worker.mjs.map +1 -1
  1352. package/dist/esm/serve-worker.native.js +5 -2
  1353. package/dist/esm/serve-worker.native.js.map +1 -1
  1354. package/dist/esm/serve.mjs +91 -43
  1355. package/dist/esm/serve.mjs.map +1 -1
  1356. package/dist/esm/serve.native.js +109 -63
  1357. package/dist/esm/serve.native.js.map +1 -1
  1358. package/dist/esm/server/ServerContextScript.mjs +34 -32
  1359. package/dist/esm/server/ServerContextScript.mjs.map +1 -1
  1360. package/dist/esm/server/ServerContextScript.native.js +37 -35
  1361. package/dist/esm/server/ServerContextScript.native.js.map +1 -1
  1362. package/dist/esm/server/createRoutesManifest.mjs +9 -6
  1363. package/dist/esm/server/createRoutesManifest.mjs.map +1 -1
  1364. package/dist/esm/server/createRoutesManifest.native.js +14 -11
  1365. package/dist/esm/server/createRoutesManifest.native.js.map +1 -1
  1366. package/dist/esm/server/getServerManifest.mjs +164 -75
  1367. package/dist/esm/server/getServerManifest.mjs.map +1 -1
  1368. package/dist/esm/server/getServerManifest.native.js +206 -107
  1369. package/dist/esm/server/getServerManifest.native.js.map +1 -1
  1370. package/dist/esm/server/getServerManifest.test.mjs +118 -108
  1371. package/dist/esm/server/getServerManifest.test.mjs.map +1 -1
  1372. package/dist/esm/server/getServerManifest.test.native.js +125 -120
  1373. package/dist/esm/server/getServerManifest.test.native.js.map +1 -1
  1374. package/dist/esm/server/oneServe.mjs +533 -356
  1375. package/dist/esm/server/oneServe.mjs.map +1 -1
  1376. package/dist/esm/server/oneServe.native.js +656 -465
  1377. package/dist/esm/server/oneServe.native.js.map +1 -1
  1378. package/dist/esm/server/setServerGlobals.mjs +2 -1
  1379. package/dist/esm/server/setServerGlobals.mjs.map +1 -1
  1380. package/dist/esm/server/setServerGlobals.native.js +2 -1
  1381. package/dist/esm/server/setServerGlobals.native.js.map +1 -1
  1382. package/dist/esm/server/setupBuildOptions.mjs +2 -1
  1383. package/dist/esm/server/setupBuildOptions.mjs.map +1 -1
  1384. package/dist/esm/server/setupBuildOptions.native.js +4 -2
  1385. package/dist/esm/server/setupBuildOptions.native.js.map +1 -1
  1386. package/dist/esm/server/workerHandler.mjs +354 -224
  1387. package/dist/esm/server/workerHandler.mjs.map +1 -1
  1388. package/dist/esm/server/workerHandler.native.js +479 -325
  1389. package/dist/esm/server/workerHandler.native.js.map +1 -1
  1390. package/dist/esm/server-render.mjs +22 -19
  1391. package/dist/esm/server-render.mjs.map +1 -1
  1392. package/dist/esm/server-render.native.js +24 -20
  1393. package/dist/esm/server-render.native.js.map +1 -1
  1394. package/dist/esm/skewProtection.mjs +13 -7
  1395. package/dist/esm/skewProtection.mjs.map +1 -1
  1396. package/dist/esm/skewProtection.native.js +14 -8
  1397. package/dist/esm/skewProtection.native.js.map +1 -1
  1398. package/dist/esm/testing-utils.mjs +16 -8
  1399. package/dist/esm/testing-utils.mjs.map +1 -1
  1400. package/dist/esm/testing-utils.native.js +16 -10
  1401. package/dist/esm/testing-utils.native.js.map +1 -1
  1402. package/dist/esm/typed-routes/generateRouteTypes.mjs +28 -15
  1403. package/dist/esm/typed-routes/generateRouteTypes.mjs.map +1 -1
  1404. package/dist/esm/typed-routes/generateRouteTypes.native.js +40 -23
  1405. package/dist/esm/typed-routes/generateRouteTypes.native.js.map +1 -1
  1406. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs +61 -38
  1407. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs.map +1 -1
  1408. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js +101 -75
  1409. package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  1410. package/dist/esm/typed-routes/injectRouteHelpers.mjs +81 -57
  1411. package/dist/esm/typed-routes/injectRouteHelpers.mjs.map +1 -1
  1412. package/dist/esm/typed-routes/injectRouteHelpers.native.js +73 -56
  1413. package/dist/esm/typed-routes/injectRouteHelpers.native.js.map +1 -1
  1414. package/dist/esm/ui/Slot.mjs +8 -3
  1415. package/dist/esm/ui/Slot.mjs.map +1 -1
  1416. package/dist/esm/ui/Slot.native.js +9 -4
  1417. package/dist/esm/ui/Slot.native.js.map +1 -1
  1418. package/dist/esm/ui/TabContext.mjs +14 -14
  1419. package/dist/esm/ui/TabContext.mjs.map +1 -1
  1420. package/dist/esm/ui/TabContext.native.js +14 -14
  1421. package/dist/esm/ui/TabContext.native.js.map +1 -1
  1422. package/dist/esm/ui/TabList.mjs +2 -1
  1423. package/dist/esm/ui/TabList.mjs.map +1 -1
  1424. package/dist/esm/ui/TabList.native.js +5 -5
  1425. package/dist/esm/ui/TabList.native.js.map +1 -1
  1426. package/dist/esm/ui/TabRouter.mjs +45 -27
  1427. package/dist/esm/ui/TabRouter.mjs.map +1 -1
  1428. package/dist/esm/ui/TabRouter.native.js +46 -30
  1429. package/dist/esm/ui/TabRouter.native.js.map +1 -1
  1430. package/dist/esm/ui/TabSlot.mjs +23 -14
  1431. package/dist/esm/ui/TabSlot.mjs.map +1 -1
  1432. package/dist/esm/ui/TabSlot.native.js +36 -27
  1433. package/dist/esm/ui/TabSlot.native.js.map +1 -1
  1434. package/dist/esm/ui/TabTrigger.mjs +89 -62
  1435. package/dist/esm/ui/TabTrigger.mjs.map +1 -1
  1436. package/dist/esm/ui/TabTrigger.native.js +113 -84
  1437. package/dist/esm/ui/TabTrigger.native.js.map +1 -1
  1438. package/dist/esm/ui/Tabs.mjs +89 -71
  1439. package/dist/esm/ui/Tabs.mjs.map +1 -1
  1440. package/dist/esm/ui/Tabs.native.js +108 -92
  1441. package/dist/esm/ui/Tabs.native.js.map +1 -1
  1442. package/dist/esm/ui/common.mjs +96 -38
  1443. package/dist/esm/ui/common.mjs.map +1 -1
  1444. package/dist/esm/ui/common.native.js +192 -125
  1445. package/dist/esm/ui/common.native.js.map +1 -1
  1446. package/dist/esm/ui/useComponent.mjs +10 -4
  1447. package/dist/esm/ui/useComponent.mjs.map +1 -1
  1448. package/dist/esm/ui/useComponent.native.js +10 -6
  1449. package/dist/esm/ui/useComponent.native.js.map +1 -1
  1450. package/dist/esm/useBlocker.mjs +148 -80
  1451. package/dist/esm/useBlocker.mjs.map +1 -1
  1452. package/dist/esm/useBlocker.native.js +51 -32
  1453. package/dist/esm/useBlocker.native.js.map +1 -1
  1454. package/dist/esm/useFocusEffect.mjs +33 -28
  1455. package/dist/esm/useFocusEffect.mjs.map +1 -1
  1456. package/dist/esm/useFocusEffect.native.js +40 -36
  1457. package/dist/esm/useFocusEffect.native.js.map +1 -1
  1458. package/dist/esm/useLoader.mjs +347 -175
  1459. package/dist/esm/useLoader.mjs.map +1 -1
  1460. package/dist/esm/useLoader.native.js +338 -243
  1461. package/dist/esm/useLoader.native.js.map +1 -1
  1462. package/dist/esm/useMatches.mjs +15 -5
  1463. package/dist/esm/useMatches.mjs.map +1 -1
  1464. package/dist/esm/useMatches.native.js +28 -17
  1465. package/dist/esm/useMatches.native.js.map +1 -1
  1466. package/dist/esm/useMatches.test.mjs +144 -100
  1467. package/dist/esm/useMatches.test.mjs.map +1 -1
  1468. package/dist/esm/useMatches.test.native.js +150 -117
  1469. package/dist/esm/useMatches.test.native.js.map +1 -1
  1470. package/dist/esm/useServerHeadInsertion.mjs +15 -12
  1471. package/dist/esm/useServerHeadInsertion.mjs.map +1 -1
  1472. package/dist/esm/useServerHeadInsertion.native.js +16 -14
  1473. package/dist/esm/useServerHeadInsertion.native.js.map +1 -1
  1474. package/dist/esm/utils/assertIsReady.mjs +3 -1
  1475. package/dist/esm/utils/assertIsReady.mjs.map +1 -1
  1476. package/dist/esm/utils/assertIsReady.native.js +3 -1
  1477. package/dist/esm/utils/assertIsReady.native.js.map +1 -1
  1478. package/dist/esm/utils/children.mjs +12 -4
  1479. package/dist/esm/utils/children.mjs.map +1 -1
  1480. package/dist/esm/utils/children.native.js +16 -8
  1481. package/dist/esm/utils/children.native.js.map +1 -1
  1482. package/dist/esm/utils/cleanUrl.mjs +7 -7
  1483. package/dist/esm/utils/cleanUrl.mjs.map +1 -1
  1484. package/dist/esm/utils/cleanUrl.native.js +8 -8
  1485. package/dist/esm/utils/cleanUrl.native.js.map +1 -1
  1486. package/dist/esm/utils/cleanUrl.test.mjs +38 -23
  1487. package/dist/esm/utils/cleanUrl.test.mjs.map +1 -1
  1488. package/dist/esm/utils/cleanUrl.test.native.js +38 -23
  1489. package/dist/esm/utils/cleanUrl.test.native.js.map +1 -1
  1490. package/dist/esm/utils/dynamicImport.mjs +29 -15
  1491. package/dist/esm/utils/dynamicImport.mjs.map +1 -1
  1492. package/dist/esm/utils/dynamicImport.native.js +13 -1
  1493. package/dist/esm/utils/dynamicImport.native.js.map +1 -1
  1494. package/dist/esm/utils/ensureExists.mjs +3 -1
  1495. package/dist/esm/utils/ensureExists.mjs.map +1 -1
  1496. package/dist/esm/utils/ensureExists.native.js +3 -1
  1497. package/dist/esm/utils/ensureExists.native.js.map +1 -1
  1498. package/dist/esm/utils/evictOldest.mjs +1 -1
  1499. package/dist/esm/utils/evictOldest.mjs.map +1 -1
  1500. package/dist/esm/utils/evictOldest.native.js +6 -3
  1501. package/dist/esm/utils/evictOldest.native.js.map +1 -1
  1502. package/dist/esm/utils/existsAsync.mjs +9 -7
  1503. package/dist/esm/utils/existsAsync.mjs.map +1 -1
  1504. package/dist/esm/utils/existsAsync.native.js +2 -2
  1505. package/dist/esm/utils/existsAsync.native.js.map +1 -1
  1506. package/dist/esm/utils/findRootLayout.mjs +1 -0
  1507. package/dist/esm/utils/findRootLayout.mjs.map +1 -1
  1508. package/dist/esm/utils/findRootLayout.native.js +5 -4
  1509. package/dist/esm/utils/findRootLayout.native.js.map +1 -1
  1510. package/dist/esm/utils/getPageExport.mjs +13 -4
  1511. package/dist/esm/utils/getPageExport.mjs.map +1 -1
  1512. package/dist/esm/utils/getPageExport.native.js +19 -15
  1513. package/dist/esm/utils/getPageExport.native.js.map +1 -1
  1514. package/dist/esm/utils/getPathnameFromFilePath.mjs +33 -27
  1515. package/dist/esm/utils/getPathnameFromFilePath.mjs.map +1 -1
  1516. package/dist/esm/utils/getPathnameFromFilePath.native.js +36 -30
  1517. package/dist/esm/utils/getPathnameFromFilePath.native.js.map +1 -1
  1518. package/dist/esm/utils/getPathnameFromFilePath.test.mjs +52 -28
  1519. package/dist/esm/utils/getPathnameFromFilePath.test.mjs.map +1 -1
  1520. package/dist/esm/utils/getPathnameFromFilePath.test.native.js +52 -28
  1521. package/dist/esm/utils/getPathnameFromFilePath.test.native.js.map +1 -1
  1522. package/dist/esm/utils/getRouterRootFromOneOptions.native.js +1 -1
  1523. package/dist/esm/utils/getRouterRootFromOneOptions.native.js.map +1 -1
  1524. package/dist/esm/utils/globDir.mjs +1 -1
  1525. package/dist/esm/utils/globDir.native.js +1 -1
  1526. package/dist/esm/utils/htmlEscape.mjs +12 -12
  1527. package/dist/esm/utils/htmlEscape.mjs.map +1 -1
  1528. package/dist/esm/utils/htmlEscape.native.js +11 -11
  1529. package/dist/esm/utils/htmlEscape.native.js.map +1 -1
  1530. package/dist/esm/utils/isResponse.mjs +2 -1
  1531. package/dist/esm/utils/isResponse.mjs.map +1 -1
  1532. package/dist/esm/utils/isResponse.native.js +7 -2
  1533. package/dist/esm/utils/isResponse.native.js.map +1 -1
  1534. package/dist/esm/utils/pLimit.mjs +15 -7
  1535. package/dist/esm/utils/pLimit.mjs.map +1 -1
  1536. package/dist/esm/utils/pLimit.native.js +13 -11
  1537. package/dist/esm/utils/pLimit.native.js.map +1 -1
  1538. package/dist/esm/utils/platform.mjs +1 -1
  1539. package/dist/esm/utils/platform.mjs.map +1 -1
  1540. package/dist/esm/utils/platform.native.js +1 -1
  1541. package/dist/esm/utils/platform.native.js.map +1 -1
  1542. package/dist/esm/utils/promiseWithResolvers.mjs +4 -2
  1543. package/dist/esm/utils/promiseWithResolvers.mjs.map +1 -1
  1544. package/dist/esm/utils/promiseWithResolvers.native.js +6 -5
  1545. package/dist/esm/utils/promiseWithResolvers.native.js.map +1 -1
  1546. package/dist/esm/utils/removeParams.mjs +22 -12
  1547. package/dist/esm/utils/removeParams.mjs.map +1 -1
  1548. package/dist/esm/utils/removeParams.native.js +33 -20
  1549. package/dist/esm/utils/removeParams.native.js.map +1 -1
  1550. package/dist/esm/utils/removeUndefined.mjs +5 -1
  1551. package/dist/esm/utils/removeUndefined.mjs.map +1 -1
  1552. package/dist/esm/utils/removeUndefined.native.js +5 -1
  1553. package/dist/esm/utils/removeUndefined.native.js.map +1 -1
  1554. package/dist/esm/utils/style.mjs +7 -1
  1555. package/dist/esm/utils/style.mjs.map +1 -1
  1556. package/dist/esm/utils/style.native.js +7 -1
  1557. package/dist/esm/utils/style.native.js.map +1 -1
  1558. package/dist/esm/utils/trackLoaderDependencies.mjs +24 -15
  1559. package/dist/esm/utils/trackLoaderDependencies.mjs.map +1 -1
  1560. package/dist/esm/utils/trackLoaderDependencies.native.js +24 -18
  1561. package/dist/esm/utils/trackLoaderDependencies.native.js.map +1 -1
  1562. package/dist/esm/utils/useConstant.mjs +9 -4
  1563. package/dist/esm/utils/useConstant.mjs.map +1 -1
  1564. package/dist/esm/utils/useConstant.native.js +11 -6
  1565. package/dist/esm/utils/useConstant.native.js.map +1 -1
  1566. package/dist/esm/utils/watchFile.mjs +4 -2
  1567. package/dist/esm/utils/watchFile.mjs.map +1 -1
  1568. package/dist/esm/utils/watchFile.native.js +4 -3
  1569. package/dist/esm/utils/watchFile.native.js.map +1 -1
  1570. package/dist/esm/utils/weakKey.mjs +6 -3
  1571. package/dist/esm/utils/weakKey.mjs.map +1 -1
  1572. package/dist/esm/utils/weakKey.native.js +9 -8
  1573. package/dist/esm/utils/weakKey.native.js.map +1 -1
  1574. package/dist/esm/utils/weakMemo.mjs +6 -1
  1575. package/dist/esm/utils/weakMemo.mjs.map +1 -1
  1576. package/dist/esm/utils/weakMemo.native.js +16 -8
  1577. package/dist/esm/utils/weakMemo.native.js.map +1 -1
  1578. package/dist/esm/utils/withStaticProperties.mjs +20 -18
  1579. package/dist/esm/utils/withStaticProperties.mjs.map +1 -1
  1580. package/dist/esm/utils/withStaticProperties.native.js +22 -20
  1581. package/dist/esm/utils/withStaticProperties.native.js.map +1 -1
  1582. package/dist/esm/utils/workerImport.mjs +10 -6
  1583. package/dist/esm/utils/workerImport.mjs.map +1 -1
  1584. package/dist/esm/utils/workerImport.native.js +10 -7
  1585. package/dist/esm/utils/workerImport.native.js.map +1 -1
  1586. package/dist/esm/validateParams.mjs +22 -11
  1587. package/dist/esm/validateParams.mjs.map +1 -1
  1588. package/dist/esm/validateParams.native.js +109 -67
  1589. package/dist/esm/validateParams.native.js.map +1 -1
  1590. package/dist/esm/validateSearch.mjs +31 -15
  1591. package/dist/esm/validateSearch.mjs.map +1 -1
  1592. package/dist/esm/validateSearch.native.js +102 -57
  1593. package/dist/esm/validateSearch.native.js.map +1 -1
  1594. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs +71 -43
  1595. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
  1596. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +121 -89
  1597. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  1598. package/dist/esm/vercel/build/config/vc-config-base.mjs +2 -2
  1599. package/dist/esm/vercel/build/config/vc-config-base.native.js +2 -2
  1600. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +48 -28
  1601. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
  1602. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +39 -22
  1603. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  1604. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs +18 -10
  1605. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
  1606. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js +18 -10
  1607. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  1608. package/dist/esm/vercel/build/getPathFromRoute.mjs +2 -2
  1609. package/dist/esm/vercel/build/getPathFromRoute.mjs.map +1 -1
  1610. package/dist/esm/vercel/build/getPathFromRoute.native.js +2 -2
  1611. package/dist/esm/vercel/build/getPathFromRoute.native.js.map +1 -1
  1612. package/dist/esm/views/EmptyRoute.native.js +1 -0
  1613. package/dist/esm/views/EmptyRoute.native.js.map +1 -1
  1614. package/dist/esm/views/ErrorBoundary.mjs +24 -17
  1615. package/dist/esm/views/ErrorBoundary.mjs.map +1 -1
  1616. package/dist/esm/views/ErrorBoundary.native.js +12 -11
  1617. package/dist/esm/views/ErrorBoundary.native.js.map +1 -1
  1618. package/dist/esm/views/LoadProgressBar.mjs +19 -9
  1619. package/dist/esm/views/LoadProgressBar.mjs.map +1 -1
  1620. package/dist/esm/views/LoadProgressBar.native.js +49 -39
  1621. package/dist/esm/views/LoadProgressBar.native.js.map +1 -1
  1622. package/dist/esm/views/Navigator.mjs +121 -78
  1623. package/dist/esm/views/Navigator.mjs.map +1 -1
  1624. package/dist/esm/views/Navigator.native.js +164 -119
  1625. package/dist/esm/views/Navigator.native.js.map +1 -1
  1626. package/dist/esm/views/OneStackRouter.mjs +15 -8
  1627. package/dist/esm/views/OneStackRouter.mjs.map +1 -1
  1628. package/dist/esm/views/OneStackRouter.native.js +18 -5
  1629. package/dist/esm/views/OneStackRouter.native.js.map +1 -1
  1630. package/dist/esm/views/PreloadLinks.mjs +96 -62
  1631. package/dist/esm/views/PreloadLinks.mjs.map +1 -1
  1632. package/dist/esm/views/Protected.mjs +4 -4
  1633. package/dist/esm/views/Protected.mjs.map +1 -1
  1634. package/dist/esm/views/Protected.native.js +5 -5
  1635. package/dist/esm/views/Protected.native.js.map +1 -1
  1636. package/dist/esm/views/RootErrorBoundary.mjs +128 -119
  1637. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  1638. package/dist/esm/views/RootErrorBoundary.native.js +190 -151
  1639. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  1640. package/dist/esm/views/Screen.mjs +7 -4
  1641. package/dist/esm/views/Screen.mjs.map +1 -1
  1642. package/dist/esm/views/Screen.native.js +11 -8
  1643. package/dist/esm/views/Screen.native.js.map +1 -1
  1644. package/dist/esm/views/ScrollBehavior.mjs +102 -55
  1645. package/dist/esm/views/ScrollBehavior.mjs.map +1 -1
  1646. package/dist/esm/views/ScrollBehavior.native.js +129 -86
  1647. package/dist/esm/views/ScrollBehavior.native.js.map +1 -1
  1648. package/dist/esm/views/Try.mjs +39 -33
  1649. package/dist/esm/views/Try.mjs.map +1 -1
  1650. package/dist/esm/views/Try.native.js +86 -56
  1651. package/dist/esm/views/Try.native.js.map +1 -1
  1652. package/dist/esm/vite/DevHead.mjs +25 -16
  1653. package/dist/esm/vite/DevHead.mjs.map +1 -1
  1654. package/dist/esm/vite/DevHead.native.js +24 -0
  1655. package/dist/esm/vite/DevHead.native.js.map +1 -1
  1656. package/dist/esm/vite/constants.mjs +3 -3
  1657. package/dist/esm/vite/constants.mjs.map +1 -1
  1658. package/dist/esm/vite/constants.native.js +3 -3
  1659. package/dist/esm/vite/constants.native.js.map +1 -1
  1660. package/dist/esm/vite/customNodeExternals.mjs +9 -6
  1661. package/dist/esm/vite/customNodeExternals.mjs.map +1 -1
  1662. package/dist/esm/vite/customNodeExternals.native.js +9 -6
  1663. package/dist/esm/vite/customNodeExternals.native.js.map +1 -1
  1664. package/dist/esm/vite/ensureTsConfig.mjs +5 -2
  1665. package/dist/esm/vite/ensureTsConfig.mjs.map +1 -1
  1666. package/dist/esm/vite/ensureTsConfig.native.js +5 -2
  1667. package/dist/esm/vite/ensureTsConfig.native.js.map +1 -1
  1668. package/dist/esm/vite/findDepsToOptimize.mjs +24 -10
  1669. package/dist/esm/vite/findDepsToOptimize.mjs.map +1 -1
  1670. package/dist/esm/vite/findDepsToOptimize.native.js +31 -18
  1671. package/dist/esm/vite/findDepsToOptimize.native.js.map +1 -1
  1672. package/dist/esm/vite/getManifest.mjs +6 -3
  1673. package/dist/esm/vite/getManifest.mjs.map +1 -1
  1674. package/dist/esm/vite/getManifest.native.js +10 -7
  1675. package/dist/esm/vite/getManifest.native.js.map +1 -1
  1676. package/dist/esm/vite/loadConfig.mjs +16 -6
  1677. package/dist/esm/vite/loadConfig.mjs.map +1 -1
  1678. package/dist/esm/vite/loadConfig.native.js +17 -7
  1679. package/dist/esm/vite/loadConfig.native.js.map +1 -1
  1680. package/dist/esm/vite/makePluginWebOnly.mjs +9 -3
  1681. package/dist/esm/vite/makePluginWebOnly.mjs.map +1 -1
  1682. package/dist/esm/vite/makePluginWebOnly.native.js +12 -4
  1683. package/dist/esm/vite/makePluginWebOnly.native.js.map +1 -1
  1684. package/dist/esm/vite/one-server-only.mjs +78 -47
  1685. package/dist/esm/vite/one-server-only.mjs.map +1 -1
  1686. package/dist/esm/vite/one-server-only.native.js +2 -2
  1687. package/dist/esm/vite/one-server-only.native.js.map +1 -1
  1688. package/dist/esm/vite/one.mjs +508 -418
  1689. package/dist/esm/vite/one.mjs.map +1 -1
  1690. package/dist/esm/vite/one.native.js +642 -554
  1691. package/dist/esm/vite/one.native.js.map +1 -1
  1692. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +69 -48
  1693. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
  1694. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +63 -48
  1695. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  1696. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs +70 -38
  1697. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
  1698. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js +121 -88
  1699. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  1700. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs +98 -52
  1701. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs.map +1 -1
  1702. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js +84 -52
  1703. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  1704. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs +10 -5
  1705. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs.map +1 -1
  1706. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js +21 -13
  1707. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  1708. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs +72 -59
  1709. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs.map +1 -1
  1710. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js +80 -69
  1711. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  1712. package/dist/esm/vite/plugins/devtoolsPlugin.mjs +14 -9
  1713. package/dist/esm/vite/plugins/devtoolsPlugin.mjs.map +1 -1
  1714. package/dist/esm/vite/plugins/devtoolsPlugin.native.js +17 -14
  1715. package/dist/esm/vite/plugins/devtoolsPlugin.native.js.map +1 -1
  1716. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs +32 -17
  1717. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs.map +1 -1
  1718. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js +34 -19
  1719. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  1720. package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs +63 -31
  1721. package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs.map +1 -1
  1722. package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js +63 -31
  1723. package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
  1724. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +322 -177
  1725. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  1726. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +421 -269
  1727. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  1728. package/dist/esm/vite/plugins/fixDependenciesPlugin.mjs +6 -4
  1729. package/dist/esm/vite/plugins/fixDependenciesPlugin.mjs.map +1 -1
  1730. package/dist/esm/vite/plugins/fixDependenciesPlugin.native.js +7 -5
  1731. package/dist/esm/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
  1732. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +17 -12
  1733. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  1734. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +19 -17
  1735. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  1736. package/dist/esm/vite/plugins/imageDataPlugin.mjs +35 -11
  1737. package/dist/esm/vite/plugins/imageDataPlugin.mjs.map +1 -1
  1738. package/dist/esm/vite/plugins/imageDataPlugin.native.js +36 -13
  1739. package/dist/esm/vite/plugins/imageDataPlugin.native.js.map +1 -1
  1740. package/dist/esm/vite/plugins/imageDataPlugin.test.mjs +200 -132
  1741. package/dist/esm/vite/plugins/imageDataPlugin.test.mjs.map +1 -1
  1742. package/dist/esm/vite/plugins/imageDataPlugin.test.native.js +192 -130
  1743. package/dist/esm/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  1744. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.mjs +17 -13
  1745. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.mjs.map +1 -1
  1746. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js +17 -13
  1747. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
  1748. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +102 -55
  1749. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
  1750. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +216 -168
  1751. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  1752. package/dist/esm/vite/plugins/useDomPlugin.mjs +28 -14
  1753. package/dist/esm/vite/plugins/useDomPlugin.mjs.map +1 -1
  1754. package/dist/esm/vite/plugins/useDomPlugin.native.js +25 -9
  1755. package/dist/esm/vite/plugins/useDomPlugin.native.js.map +1 -1
  1756. package/dist/esm/vite/plugins/virtualEntryConstants.mjs +7 -7
  1757. package/dist/esm/vite/plugins/virtualEntryConstants.mjs.map +1 -1
  1758. package/dist/esm/vite/plugins/virtualEntryConstants.native.js +7 -7
  1759. package/dist/esm/vite/plugins/virtualEntryConstants.native.js.map +1 -1
  1760. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +48 -34
  1761. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  1762. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +54 -43
  1763. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  1764. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs +85 -57
  1765. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs.map +1 -1
  1766. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js +86 -60
  1767. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  1768. package/dist/esm/vite/plugins/warmRoutesPlugin.mjs +53 -30
  1769. package/dist/esm/vite/plugins/warmRoutesPlugin.mjs.map +1 -1
  1770. package/dist/esm/vite/plugins/warmRoutesPlugin.native.js +73 -52
  1771. package/dist/esm/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  1772. package/dist/esm/vite/replaceLoader.mjs +16 -7
  1773. package/dist/esm/vite/replaceLoader.mjs.map +1 -1
  1774. package/dist/esm/vite/replaceLoader.native.js +15 -9
  1775. package/dist/esm/vite/replaceLoader.native.js.map +1 -1
  1776. package/dist/esm/vite/resolveResponse.mjs +47 -28
  1777. package/dist/esm/vite/resolveResponse.mjs.map +1 -1
  1778. package/dist/esm/vite/resolveResponse.native.js +56 -34
  1779. package/dist/esm/vite/resolveResponse.native.js.map +1 -1
  1780. package/dist/esm/zero/isZeroQuery.mjs +4 -1
  1781. package/dist/esm/zero/isZeroQuery.mjs.map +1 -1
  1782. package/dist/esm/zero/isZeroQuery.native.js +5 -2
  1783. package/dist/esm/zero/isZeroQuery.native.js.map +1 -1
  1784. package/dist/esm/zero/resolveQuery.mjs +9 -6
  1785. package/dist/esm/zero/resolveQuery.mjs.map +1 -1
  1786. package/dist/esm/zero/resolveQuery.native.js +9 -6
  1787. package/dist/esm/zero/resolveQuery.native.js.map +1 -1
  1788. package/dist/esm/zero/subscribeToQuery.mjs +2 -1
  1789. package/dist/esm/zero/subscribeToQuery.mjs.map +1 -1
  1790. package/dist/esm/zero/subscribeToQuery.native.js +2 -1
  1791. package/dist/esm/zero/subscribeToQuery.native.js.map +1 -1
  1792. package/dist/esm/zero/useQuery.mjs +35 -27
  1793. package/dist/esm/zero/useQuery.mjs.map +1 -1
  1794. package/dist/esm/zero/useQuery.native.js +35 -12
  1795. package/dist/esm/zero/useQuery.native.js.map +1 -1
  1796. package/dist/esm/zero/useQueryZero.mjs +14 -9
  1797. package/dist/esm/zero/useQueryZero.mjs.map +1 -1
  1798. package/dist/esm/zero/useQueryZero.native.js +14 -9
  1799. package/dist/esm/zero/useQueryZero.native.js.map +1 -1
  1800. package/package.json +10 -10
  1801. package/src/createApp.tsx +10 -2
  1802. package/src/router/useViteRoutes.tsx +8 -3
  1803. package/src/useLoader.ts +17 -4
  1804. package/src/vite/plugins/fileSystemRouterPlugin.tsx +12 -0
  1805. package/types/createApp.d.ts.map +1 -1
  1806. package/types/router/useViteRoutes.d.ts.map +1 -1
  1807. package/types/useLoader.d.ts.map +1 -1
  1808. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
@@ -13,114 +13,116 @@ test("returns undefined for invalid path", function () {
13
13
  expect(getStateFromPath("//")).toBeUndefined();
14
14
  });
15
15
  test.skip("converts path string to initial state", function () {
16
- var path = "foo/bar/baz%20qux?author=jane%20%26%20co&valid=true",
17
- state = {
18
- routes: [{
19
- name: "foo",
20
- state: {
21
- routes: [{
22
- name: "bar",
23
- state: {
24
- routes: [{
25
- name: "baz qux",
26
- params: {
27
- author: "jane & co",
28
- valid: "true"
29
- },
30
- path
31
- }]
32
- }
33
- }]
34
- }
35
- }]
36
- };
37
- expect(getStateFromPath(path)).toEqual(state), expect(getStateFromPath(getPathFromState(state))).toEqual(changePath(state, "/foo/bar/baz%20qux?author=jane%20%26%20co&valid=true"));
16
+ var path = "foo/bar/baz%20qux?author=jane%20%26%20co&valid=true";
17
+ var state = {
18
+ routes: [{
19
+ name: "foo",
20
+ state: {
21
+ routes: [{
22
+ name: "bar",
23
+ state: {
24
+ routes: [{
25
+ name: "baz qux",
26
+ params: {
27
+ author: "jane & co",
28
+ valid: "true"
29
+ },
30
+ path
31
+ }]
32
+ }
33
+ }]
34
+ }
35
+ }]
36
+ };
37
+ expect(getStateFromPath(path)).toEqual(state);
38
+ expect(getStateFromPath(getPathFromState(state))).toEqual(changePath(state, "/foo/bar/baz%20qux?author=jane%20%26%20co&valid=true"));
38
39
  });
39
40
  test.skip("decodes encoded params in path", function () {
40
- var path = "/foo/bar/bar_%23_foo",
41
- config = {
42
- screens: {
43
- Foo: {
44
- path: "foo",
45
- screens: {
46
- Bar: {
47
- path: "/bar/:id"
48
- }
41
+ var path = "/foo/bar/bar_%23_foo";
42
+ var config = {
43
+ screens: {
44
+ Foo: {
45
+ path: "foo",
46
+ screens: {
47
+ Bar: {
48
+ path: "/bar/:id"
49
49
  }
50
50
  }
51
51
  }
52
- },
53
- state = {
54
- routes: [{
55
- name: "Foo",
56
- state: {
57
- routes: [{
58
- name: "Bar",
59
- params: {
60
- id: "bar_#_foo"
61
- },
62
- path
63
- }]
64
- }
65
- }]
66
- };
67
- expect(getStateFromPath(path, config)).toEqual(state), expect(getPathFromState(getStateFromPath(path, config), config)).toEqual(path);
52
+ }
53
+ };
54
+ var state = {
55
+ routes: [{
56
+ name: "Foo",
57
+ state: {
58
+ routes: [{
59
+ name: "Bar",
60
+ params: {
61
+ id: "bar_#_foo"
62
+ },
63
+ path
64
+ }]
65
+ }
66
+ }]
67
+ };
68
+ expect(getStateFromPath(path, config)).toEqual(state);
69
+ expect(getPathFromState(getStateFromPath(path, config), config)).toEqual(path);
68
70
  });
69
71
  test.skip("decodes encoded params in path that have encoded /", function () {
70
- var path = "/foo/bar/bar_%2F_foo",
71
- config = {
72
- screens: {
73
- Foo: {
74
- path: "foo",
75
- screens: {
76
- Bar: {
77
- path: "/bar/:id"
78
- }
72
+ var path = "/foo/bar/bar_%2F_foo";
73
+ var config = {
74
+ screens: {
75
+ Foo: {
76
+ path: "foo",
77
+ screens: {
78
+ Bar: {
79
+ path: "/bar/:id"
79
80
  }
80
81
  }
81
82
  }
82
- },
83
- state = {
84
- routes: [{
85
- name: "Foo",
86
- state: {
87
- routes: [{
88
- name: "Bar",
89
- params: {
90
- id: "bar_/_foo"
91
- },
92
- path
93
- }]
94
- }
95
- }]
96
- };
97
- expect(getStateFromPath(path, config)).toEqual(state), expect(getPathFromState(getStateFromPath(path, config), config)).toEqual(path);
83
+ }
84
+ };
85
+ var state = {
86
+ routes: [{
87
+ name: "Foo",
88
+ state: {
89
+ routes: [{
90
+ name: "Bar",
91
+ params: {
92
+ id: "bar_/_foo"
93
+ },
94
+ path
95
+ }]
96
+ }
97
+ }]
98
+ };
99
+ expect(getStateFromPath(path, config)).toEqual(state);
100
+ expect(getPathFromState(getStateFromPath(path, config), config)).toEqual(path);
98
101
  });
99
102
  test.skip("converts path string to initial state with config", function () {
100
- var path = "/foo/bar/sweet/apple/baz/jane?count=10&answer=42&valid=true",
101
- config = {
102
- screens: {
103
- Foo: {
104
- path: "foo",
105
- screens: {
106
- Bar: {
107
- path: "bar/:type/:fruit",
108
- screens: {
109
- Baz: {
110
- path: "baz/:author",
111
- parse: {
112
- author: function (author) {
113
- return author.replace(/^\w/, function (c) {
114
- return c.toUpperCase();
115
- });
116
- },
117
- count: Number,
118
- valid: Boolean
103
+ var path = "/foo/bar/sweet/apple/baz/jane?count=10&answer=42&valid=true";
104
+ var config = {
105
+ screens: {
106
+ Foo: {
107
+ path: "foo",
108
+ screens: {
109
+ Bar: {
110
+ path: "bar/:type/:fruit",
111
+ screens: {
112
+ Baz: {
113
+ path: "baz/:author",
114
+ parse: {
115
+ author: function (author) {
116
+ return author.replace(/^\w/, function (c) {
117
+ return c.toUpperCase();
118
+ });
119
119
  },
120
- stringify: {
121
- author: function (author) {
122
- return author.toLowerCase();
123
- }
120
+ count: Number,
121
+ valid: Boolean
122
+ },
123
+ stringify: {
124
+ author: function (author) {
125
+ return author.toLowerCase();
124
126
  }
125
127
  }
126
128
  }
@@ -128,34 +130,36 @@ test.skip("converts path string to initial state with config", function () {
128
130
  }
129
131
  }
130
132
  }
131
- },
132
- state = {
133
- routes: [{
134
- name: "Foo",
135
- state: {
136
- routes: [{
137
- name: "Bar",
138
- params: {
139
- fruit: "apple",
140
- type: "sweet"
141
- },
142
- state: {
143
- routes: [{
144
- name: "Baz",
145
- params: {
146
- author: "Jane",
147
- count: 10,
148
- answer: "42",
149
- valid: !0
150
- },
151
- path
152
- }]
153
- }
154
- }]
155
- }
156
- }]
157
- };
158
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
133
+ }
134
+ };
135
+ var state = {
136
+ routes: [{
137
+ name: "Foo",
138
+ state: {
139
+ routes: [{
140
+ name: "Bar",
141
+ params: {
142
+ fruit: "apple",
143
+ type: "sweet"
144
+ },
145
+ state: {
146
+ routes: [{
147
+ name: "Baz",
148
+ params: {
149
+ author: "Jane",
150
+ count: 10,
151
+ answer: "42",
152
+ valid: true
153
+ },
154
+ path
155
+ }]
156
+ }
157
+ }]
158
+ }
159
+ }]
160
+ };
161
+ expect(getStateFromPath(path, config)).toEqual(state);
162
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
159
163
  });
160
164
  test("handles leading slash when converting", function () {
161
165
  var path = "/foo/bar/?count=42";
@@ -196,51 +200,51 @@ test("handles ending slash when converting", function () {
196
200
  });
197
201
  });
198
202
  test("handles route without param", function () {
199
- var path = "foo/bar",
200
- state = {
201
- routes: [{
202
- name: "foo",
203
- key: "foo-0",
204
- state: {
205
- routes: [{
206
- name: "bar",
207
- key: "bar-1",
208
- path
209
- }]
210
- }
211
- }]
212
- };
213
- expect(getStateFromPath(path)).toEqual(state), expect(getStateFromPath(getPathFromState(state))).toEqual(changePath(state, "/foo/bar"));
203
+ var path = "foo/bar";
204
+ var state = {
205
+ routes: [{
206
+ name: "foo",
207
+ key: "foo-0",
208
+ state: {
209
+ routes: [{
210
+ name: "bar",
211
+ key: "bar-1",
212
+ path
213
+ }]
214
+ }
215
+ }]
216
+ };
217
+ expect(getStateFromPath(path)).toEqual(state);
218
+ expect(getStateFromPath(getPathFromState(state))).toEqual(changePath(state, "/foo/bar"));
214
219
  });
215
220
  test.skip("converts path string to initial state with config with nested screens", function () {
216
- var path = "/foe/bar/sweet/apple/baz/jane?count=10&answer=42&valid=true",
217
- config = {
218
- screens: {
219
- Foo: {
220
- path: "foo",
221
- screens: {
222
- Foe: {
223
- path: "foe",
224
- exact: !0,
225
- screens: {
226
- Bar: {
227
- path: "bar/:type/:fruit",
228
- screens: {
229
- Baz: {
230
- path: "baz/:author",
231
- parse: {
232
- author: function (author) {
233
- return author.replace(/^\w/, function (c) {
234
- return c.toUpperCase();
235
- });
236
- },
237
- count: Number,
238
- valid: Boolean
221
+ var path = "/foe/bar/sweet/apple/baz/jane?count=10&answer=42&valid=true";
222
+ var config = {
223
+ screens: {
224
+ Foo: {
225
+ path: "foo",
226
+ screens: {
227
+ Foe: {
228
+ path: "foe",
229
+ exact: true,
230
+ screens: {
231
+ Bar: {
232
+ path: "bar/:type/:fruit",
233
+ screens: {
234
+ Baz: {
235
+ path: "baz/:author",
236
+ parse: {
237
+ author: function (author) {
238
+ return author.replace(/^\w/, function (c) {
239
+ return c.toUpperCase();
240
+ });
239
241
  },
240
- stringify: {
241
- author: function (author) {
242
- return author.toLowerCase();
243
- }
242
+ count: Number,
243
+ valid: Boolean
244
+ },
245
+ stringify: {
246
+ author: function (author) {
247
+ return author.toLowerCase();
244
248
  }
245
249
  }
246
250
  }
@@ -250,130 +254,132 @@ test.skip("converts path string to initial state with config with nested screens
250
254
  }
251
255
  }
252
256
  }
253
- },
254
- state = {
255
- routes: [{
256
- name: "Foo",
257
- state: {
258
- routes: [{
259
- name: "Foe",
260
- state: {
261
- routes: [{
262
- name: "Bar",
263
- params: {
264
- fruit: "apple",
265
- type: "sweet"
266
- },
267
- state: {
268
- routes: [{
269
- name: "Baz",
270
- params: {
271
- author: "Jane",
272
- count: 10,
273
- answer: "42",
274
- valid: !0
275
- },
276
- path
277
- }]
278
- }
279
- }]
280
- }
281
- }]
282
- }
283
- }]
284
- };
285
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
257
+ }
258
+ };
259
+ var state = {
260
+ routes: [{
261
+ name: "Foo",
262
+ state: {
263
+ routes: [{
264
+ name: "Foe",
265
+ state: {
266
+ routes: [{
267
+ name: "Bar",
268
+ params: {
269
+ fruit: "apple",
270
+ type: "sweet"
271
+ },
272
+ state: {
273
+ routes: [{
274
+ name: "Baz",
275
+ params: {
276
+ author: "Jane",
277
+ count: 10,
278
+ answer: "42",
279
+ valid: true
280
+ },
281
+ path
282
+ }]
283
+ }
284
+ }]
285
+ }
286
+ }]
287
+ }
288
+ }]
289
+ };
290
+ expect(getStateFromPath(path, config)).toEqual(state);
291
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
286
292
  });
287
293
  test.skip("converts path string to initial state with config with nested screens and unused parse functions", function () {
288
- var path = "/foe/baz/jane?count=10&answer=42&valid=true",
289
- config = {
290
- screens: {
291
- Foo: {
292
- path: "foo",
293
- screens: {
294
- Foe: {
295
- path: "foe",
296
- exact: !0,
297
- screens: {
298
- Baz: {
299
- path: "baz/:author",
300
- parse: {
301
- author: function (author) {
302
- return author.replace(/^\w/, function (c) {
303
- return c.toUpperCase();
304
- });
305
- },
306
- count: Number,
307
- valid: Boolean,
308
- id: Boolean
309
- }
294
+ var path = "/foe/baz/jane?count=10&answer=42&valid=true";
295
+ var config = {
296
+ screens: {
297
+ Foo: {
298
+ path: "foo",
299
+ screens: {
300
+ Foe: {
301
+ path: "foe",
302
+ exact: true,
303
+ screens: {
304
+ Baz: {
305
+ path: "baz/:author",
306
+ parse: {
307
+ author: function (author) {
308
+ return author.replace(/^\w/, function (c) {
309
+ return c.toUpperCase();
310
+ });
311
+ },
312
+ count: Number,
313
+ valid: Boolean,
314
+ id: Boolean
310
315
  }
311
316
  }
312
317
  }
313
318
  }
314
319
  }
315
320
  }
316
- },
317
- state = {
318
- routes: [{
319
- name: "Foo",
320
- state: {
321
- routes: [{
322
- name: "Foe",
323
- state: {
324
- routes: [{
325
- name: "Baz",
326
- params: {
327
- author: "Jane",
328
- count: 10,
329
- answer: "42",
330
- valid: !0
331
- },
332
- path
333
- }]
334
- }
335
- }]
336
- }
337
- }]
338
- };
339
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/foe/baz/Jane?count=10&answer=42&valid=true"));
321
+ }
322
+ };
323
+ var state = {
324
+ routes: [{
325
+ name: "Foo",
326
+ state: {
327
+ routes: [{
328
+ name: "Foe",
329
+ state: {
330
+ routes: [{
331
+ name: "Baz",
332
+ params: {
333
+ author: "Jane",
334
+ count: 10,
335
+ answer: "42",
336
+ valid: true
337
+ },
338
+ path
339
+ }]
340
+ }
341
+ }]
342
+ }
343
+ }]
344
+ };
345
+ expect(getStateFromPath(path, config)).toEqual(state);
346
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/foe/baz/Jane?count=10&answer=42&valid=true"));
340
347
  });
341
348
  test.skip("handles nested object with unused configs and with parse in it", function () {
342
- var path = "/bar/sweet/apple/foe/bis/jane?count=10&answer=42&valid=true",
343
- config = {
344
- screens: {
345
- Bar: {
346
- path: "bar/:type/:fruit",
347
- screens: {
348
- Foo: {
349
- screens: {
350
- Foe: {
351
- path: "foe",
352
- screens: {
353
- Baz: {
354
- screens: {
355
- Bos: {
356
- path: "bos",
357
- exact: !0
349
+ var path = "/bar/sweet/apple/foe/bis/jane?count=10&answer=42&valid=true";
350
+ var config = {
351
+ screens: {
352
+ Bar: {
353
+ path: "bar/:type/:fruit",
354
+ screens: {
355
+ Foo: {
356
+ screens: {
357
+ Foe: {
358
+ path: "foe",
359
+ screens: {
360
+ Baz: {
361
+ screens: {
362
+ Bos: {
363
+ path: "bos",
364
+ exact: true
365
+ },
366
+ Bis: {
367
+ path: "bis/:author",
368
+ stringify: {
369
+ author: function (author) {
370
+ return author.replace(/^\w/, function (c) {
371
+ return c.toLowerCase();
372
+ });
373
+ }
358
374
  },
359
- Bis: {
360
- path: "bis/:author",
361
- stringify: {
362
- author: function (author) {
363
- return author.replace(/^\w/, function (c) {
364
- return c.toLowerCase();
365
- });
366
- }
375
+ parse: {
376
+ author: function (author) {
377
+ return author.replace(/^\w/, function (c) {
378
+ return c.toUpperCase();
379
+ });
367
380
  },
368
- parse: {
369
- author: function (author) {
370
- return author.replace(/^\w/, function (c) {
371
- return c.toUpperCase();
372
- });
373
- },
374
- count: Number,
375
- valid: Boolean
376
- }
381
+ count: Number,
382
+ valid: Boolean
377
383
  }
378
384
  }
379
385
  }
@@ -384,327 +390,334 @@ test.skip("handles nested object with unused configs and with parse in it", func
384
390
  }
385
391
  }
386
392
  }
387
- },
388
- state = {
389
- routes: [{
390
- name: "Bar",
391
- params: {
392
- fruit: "apple",
393
- type: "sweet"
394
- },
395
- state: {
396
- routes: [{
397
- name: "Foo",
398
- state: {
399
- routes: [{
400
- name: "Foe",
401
- state: {
402
- routes: [{
403
- name: "Baz",
404
- state: {
405
- routes: [{
406
- name: "Bis",
407
- params: {
408
- author: "Jane",
409
- count: 10,
410
- answer: "42",
411
- valid: !0
412
- },
413
- path
414
- }]
415
- }
416
- }]
417
- }
418
- }]
419
- }
420
- }]
421
- }
422
- }]
423
- };
424
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
393
+ }
394
+ };
395
+ var state = {
396
+ routes: [{
397
+ name: "Bar",
398
+ params: {
399
+ fruit: "apple",
400
+ type: "sweet"
401
+ },
402
+ state: {
403
+ routes: [{
404
+ name: "Foo",
405
+ state: {
406
+ routes: [{
407
+ name: "Foe",
408
+ state: {
409
+ routes: [{
410
+ name: "Baz",
411
+ state: {
412
+ routes: [{
413
+ name: "Bis",
414
+ params: {
415
+ author: "Jane",
416
+ count: 10,
417
+ answer: "42",
418
+ valid: true
419
+ },
420
+ path
421
+ }]
422
+ }
423
+ }]
424
+ }
425
+ }]
426
+ }
427
+ }]
428
+ }
429
+ }]
430
+ };
431
+ expect(getStateFromPath(path, config)).toEqual(state);
432
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
425
433
  });
426
434
  test("handles parse in nested object for second route depth", function () {
427
- var path = "/baz",
428
- config = {
429
- screens: {
430
- Foo: {
431
- path: "foo",
432
- screens: {
433
- Foe: {
434
- path: "foe",
435
- exact: !0
436
- },
437
- Bar: {
438
- path: "bar",
439
- exact: !0,
440
- screens: {
441
- Baz: {
442
- path: "baz",
443
- exact: !0
444
- }
435
+ var path = "/baz";
436
+ var config = {
437
+ screens: {
438
+ Foo: {
439
+ path: "foo",
440
+ screens: {
441
+ Foe: {
442
+ path: "foe",
443
+ exact: true
444
+ },
445
+ Bar: {
446
+ path: "bar",
447
+ exact: true,
448
+ screens: {
449
+ Baz: {
450
+ path: "baz",
451
+ exact: true
445
452
  }
446
453
  }
447
454
  }
448
455
  }
449
456
  }
450
- },
451
- state = {
452
- routes: [{
453
- name: "Foo",
454
- key: "Foo-0",
455
- state: {
456
- routes: [{
457
- name: "Bar",
458
- key: "Bar-1",
459
- state: {
460
- routes: [{
461
- name: "Baz",
462
- key: "Baz-2",
463
- path
464
- }]
465
- }
466
- }]
467
- }
468
- }]
469
- };
470
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
457
+ }
458
+ };
459
+ var state = {
460
+ routes: [{
461
+ name: "Foo",
462
+ key: "Foo-0",
463
+ state: {
464
+ routes: [{
465
+ name: "Bar",
466
+ key: "Bar-1",
467
+ state: {
468
+ routes: [{
469
+ name: "Baz",
470
+ key: "Baz-2",
471
+ path
472
+ }]
473
+ }
474
+ }]
475
+ }
476
+ }]
477
+ };
478
+ expect(getStateFromPath(path, config)).toEqual(state);
479
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
471
480
  });
472
481
  test("handles parse in nested object for second route depth and and path and parse in roots", function () {
473
- var path = "/baz",
474
- config = {
475
- screens: {
476
- Foo: {
477
- path: "foo/:id",
478
- parse: {
479
- id: Number
480
- },
481
- stringify: {
482
- id: function (id) {
483
- return `id=${id}`;
484
- }
485
- },
486
- screens: {
487
- Foe: "foe",
488
- Bar: {
489
- screens: {
490
- Baz: {
491
- path: "baz",
492
- exact: !0
493
- }
482
+ var path = "/baz";
483
+ var config = {
484
+ screens: {
485
+ Foo: {
486
+ path: "foo/:id",
487
+ parse: {
488
+ id: Number
489
+ },
490
+ stringify: {
491
+ id: function (id) {
492
+ return `id=${id}`;
493
+ }
494
+ },
495
+ screens: {
496
+ Foe: "foe",
497
+ Bar: {
498
+ screens: {
499
+ Baz: {
500
+ path: "baz",
501
+ exact: true
494
502
  }
495
503
  }
496
504
  }
497
505
  }
498
506
  }
499
- },
500
- state = {
501
- routes: [{
502
- name: "Foo",
503
- key: "Foo-0",
504
- state: {
505
- routes: [{
506
- name: "Bar",
507
- key: "Bar-1",
508
- state: {
509
- routes: [{
510
- name: "Baz",
511
- key: "Baz-2",
512
- path
513
- }]
514
- }
515
- }]
516
- }
517
- }]
518
- };
519
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
520
- });
521
- test.skip("handles path at top level", function () {
522
- var path = "/foo/fruits/apple",
523
- config = {
524
- path: "foo",
525
- screens: {
526
- Foo: {
527
- screens: {
528
- Fruits: "fruits/:fruit"
507
+ }
508
+ };
509
+ var state = {
510
+ routes: [{
511
+ name: "Foo",
512
+ key: "Foo-0",
513
+ state: {
514
+ routes: [{
515
+ name: "Bar",
516
+ key: "Bar-1",
517
+ state: {
518
+ routes: [{
519
+ name: "Baz",
520
+ key: "Baz-2",
521
+ path
522
+ }]
529
523
  }
530
- }
524
+ }]
531
525
  }
532
- },
533
- state = {
534
- routes: [{
535
- name: "Foo",
536
- state: {
537
- routes: [{
538
- name: "Fruits",
539
- params: {
540
- fruit: "apple"
541
- },
542
- path
543
- }]
526
+ }]
527
+ };
528
+ expect(getStateFromPath(path, config)).toEqual(state);
529
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
530
+ });
531
+ test.skip("handles path at top level", function () {
532
+ var path = "/foo/fruits/apple";
533
+ var config = {
534
+ path: "foo",
535
+ screens: {
536
+ Foo: {
537
+ screens: {
538
+ Fruits: "fruits/:fruit"
544
539
  }
545
- }]
546
- };
547
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
540
+ }
541
+ }
542
+ };
543
+ var state = {
544
+ routes: [{
545
+ name: "Foo",
546
+ state: {
547
+ routes: [{
548
+ name: "Fruits",
549
+ params: {
550
+ fruit: "apple"
551
+ },
552
+ path
553
+ }]
554
+ }
555
+ }]
556
+ };
557
+ expect(getStateFromPath(path, config)).toEqual(state);
558
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
548
559
  });
549
560
  test("handles initialRouteName at top level", function () {
550
- var path = "/baz",
551
- config = {
552
- initialRouteName: "Boo",
553
- screens: {
554
- Foo: {
555
- screens: {
556
- Foe: "foe",
557
- Bar: {
558
- screens: {
559
- Baz: "baz"
560
- }
561
+ var path = "/baz";
562
+ var config = {
563
+ initialRouteName: "Boo",
564
+ screens: {
565
+ Foo: {
566
+ screens: {
567
+ Foe: "foe",
568
+ Bar: {
569
+ screens: {
570
+ Baz: "baz"
561
571
  }
562
572
  }
563
573
  }
564
574
  }
565
- },
566
- state = {
567
- index: 1,
568
- routes: [{
569
- name: "Boo",
570
- key: "Boo-0"
571
- }, {
572
- name: "Foo",
573
- key: "Foo-1",
574
- state: {
575
- routes: [{
576
- name: "Bar",
577
- key: "Bar-2",
578
- state: {
579
- routes: [{
580
- name: "Baz",
581
- key: "Baz-3",
582
- path
583
- }]
584
- }
585
- }]
586
- }
587
- }]
588
- };
589
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
575
+ }
576
+ };
577
+ var state = {
578
+ index: 1,
579
+ routes: [{
580
+ name: "Boo",
581
+ key: "Boo-0"
582
+ }, {
583
+ name: "Foo",
584
+ key: "Foo-1",
585
+ state: {
586
+ routes: [{
587
+ name: "Bar",
588
+ key: "Bar-2",
589
+ state: {
590
+ routes: [{
591
+ name: "Baz",
592
+ key: "Baz-3",
593
+ path
594
+ }]
595
+ }
596
+ }]
597
+ }
598
+ }]
599
+ };
600
+ expect(getStateFromPath(path, config)).toEqual(state);
601
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
590
602
  });
591
603
  test("handles initialRouteName inside a screen", function () {
592
- var path = "/baz",
593
- config = {
594
- screens: {
595
- Foo: {
596
- initialRouteName: "Foe",
597
- screens: {
598
- Foe: "foe",
599
- Bar: {
600
- screens: {
601
- Baz: "baz"
602
- }
604
+ var path = "/baz";
605
+ var config = {
606
+ screens: {
607
+ Foo: {
608
+ initialRouteName: "Foe",
609
+ screens: {
610
+ Foe: "foe",
611
+ Bar: {
612
+ screens: {
613
+ Baz: "baz"
603
614
  }
604
615
  }
605
616
  }
606
617
  }
607
- },
608
- state = {
609
- routes: [{
610
- name: "Foo",
611
- key: "Foo-0",
612
- state: {
613
- index: 1,
614
- routes: [{
615
- name: "Foe",
616
- key: "Foe-1"
617
- }, {
618
- name: "Bar",
619
- key: "Bar-2",
620
- state: {
621
- routes: [{
622
- name: "Baz",
623
- key: "Baz-3",
624
- path
625
- }]
626
- }
627
- }]
628
- }
629
- }]
630
- };
631
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
632
- });
633
- test("handles initialRouteName included in path", function () {
634
- var path = "/baz",
635
- config = {
636
- screens: {
637
- Foo: {
638
- initialRouteName: "Foe",
639
- screens: {
640
- Foe: {
641
- screens: {
642
- Baz: "baz"
643
- }
644
- },
645
- Bar: "bar"
618
+ }
619
+ };
620
+ var state = {
621
+ routes: [{
622
+ name: "Foo",
623
+ key: "Foo-0",
624
+ state: {
625
+ index: 1,
626
+ routes: [{
627
+ name: "Foe",
628
+ key: "Foe-1"
629
+ }, {
630
+ name: "Bar",
631
+ key: "Bar-2",
632
+ state: {
633
+ routes: [{
634
+ name: "Baz",
635
+ key: "Baz-3",
636
+ path
637
+ }]
646
638
  }
647
- }
639
+ }]
648
640
  }
649
- },
650
- state = {
651
- routes: [{
652
- name: "Foo",
653
- key: "Foo-0",
654
- state: {
655
- routes: [{
656
- name: "Foe",
657
- key: "Foe-1",
658
- state: {
659
- routes: [{
660
- name: "Baz",
661
- key: "Baz-2",
662
- path
663
- }]
641
+ }]
642
+ };
643
+ expect(getStateFromPath(path, config)).toEqual(state);
644
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
645
+ });
646
+ test("handles initialRouteName included in path", function () {
647
+ var path = "/baz";
648
+ var config = {
649
+ screens: {
650
+ Foo: {
651
+ initialRouteName: "Foe",
652
+ screens: {
653
+ Foe: {
654
+ screens: {
655
+ Baz: "baz"
664
656
  }
665
- }]
657
+ },
658
+ Bar: "bar"
666
659
  }
667
- }]
668
- };
669
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
660
+ }
661
+ }
662
+ };
663
+ var state = {
664
+ routes: [{
665
+ name: "Foo",
666
+ key: "Foo-0",
667
+ state: {
668
+ routes: [{
669
+ name: "Foe",
670
+ key: "Foe-1",
671
+ state: {
672
+ routes: [{
673
+ name: "Baz",
674
+ key: "Baz-2",
675
+ path
676
+ }]
677
+ }
678
+ }]
679
+ }
680
+ }]
681
+ };
682
+ expect(getStateFromPath(path, config)).toEqual(state);
683
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
670
684
  });
671
685
  test.skip("handles two initialRouteNames", function () {
672
- var path = "/bar/sweet/apple/foe/bis/jane?answer=42&count=10&valid=true",
673
- config = {
674
- screens: {
675
- Bar: {
676
- path: "bar/:type/:fruit",
677
- screens: {
678
- Foo: {
679
- screens: {
680
- Foe: {
681
- path: "foe",
682
- screens: {
683
- Baz: {
684
- initialRouteName: "Bos",
685
- screens: {
686
- Bos: {
687
- path: "bos",
688
- exact: !0
686
+ var path = "/bar/sweet/apple/foe/bis/jane?answer=42&count=10&valid=true";
687
+ var config = {
688
+ screens: {
689
+ Bar: {
690
+ path: "bar/:type/:fruit",
691
+ screens: {
692
+ Foo: {
693
+ screens: {
694
+ Foe: {
695
+ path: "foe",
696
+ screens: {
697
+ Baz: {
698
+ initialRouteName: "Bos",
699
+ screens: {
700
+ Bos: {
701
+ path: "bos",
702
+ exact: true
703
+ },
704
+ Bis: {
705
+ path: "bis/:author",
706
+ stringify: {
707
+ author: function (author) {
708
+ return author.replace(/^\w/, function (c) {
709
+ return c.toLowerCase();
710
+ });
711
+ }
689
712
  },
690
- Bis: {
691
- path: "bis/:author",
692
- stringify: {
693
- author: function (author) {
694
- return author.replace(/^\w/, function (c) {
695
- return c.toLowerCase();
696
- });
697
- }
713
+ parse: {
714
+ author: function (author) {
715
+ return author.replace(/^\w/, function (c) {
716
+ return c.toUpperCase();
717
+ });
698
718
  },
699
- parse: {
700
- author: function (author) {
701
- return author.replace(/^\w/, function (c) {
702
- return c.toUpperCase();
703
- });
704
- },
705
- count: Number,
706
- valid: Boolean
707
- }
719
+ count: Number,
720
+ valid: Boolean
708
721
  }
709
722
  }
710
723
  }
@@ -715,85 +728,86 @@ test.skip("handles two initialRouteNames", function () {
715
728
  }
716
729
  }
717
730
  }
718
- },
719
- state = {
720
- routes: [{
721
- name: "Bar",
722
- params: {
723
- fruit: "apple",
724
- type: "sweet"
725
- },
726
- state: {
727
- routes: [{
728
- name: "Foo",
729
- state: {
730
- routes: [{
731
- name: "Foe",
732
- state: {
733
- routes: [{
734
- name: "Baz",
735
- state: {
736
- index: 1,
737
- routes: [{
738
- name: "Bos"
739
- }, {
740
- name: "Bis",
741
- params: {
742
- answer: "42",
743
- author: "Jane",
744
- count: 10,
745
- valid: !0
746
- },
747
- path
748
- }]
749
- }
750
- }]
751
- }
752
- }]
753
- }
754
- }]
755
- }
756
- }]
757
- };
758
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
731
+ }
732
+ };
733
+ var state = {
734
+ routes: [{
735
+ name: "Bar",
736
+ params: {
737
+ fruit: "apple",
738
+ type: "sweet"
739
+ },
740
+ state: {
741
+ routes: [{
742
+ name: "Foo",
743
+ state: {
744
+ routes: [{
745
+ name: "Foe",
746
+ state: {
747
+ routes: [{
748
+ name: "Baz",
749
+ state: {
750
+ index: 1,
751
+ routes: [{
752
+ name: "Bos"
753
+ }, {
754
+ name: "Bis",
755
+ params: {
756
+ answer: "42",
757
+ author: "Jane",
758
+ count: 10,
759
+ valid: true
760
+ },
761
+ path
762
+ }]
763
+ }
764
+ }]
765
+ }
766
+ }]
767
+ }
768
+ }]
769
+ }
770
+ }]
771
+ };
772
+ expect(getStateFromPath(path, config)).toEqual(state);
773
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
759
774
  });
760
775
  test.skip("accepts initialRouteName without config for it", function () {
761
- var path = "/bar/sweet/apple/foe/bis/jane?answer=42&count=10&valid=true",
762
- config = {
763
- screens: {
764
- Bar: {
765
- path: "bar/:type/:fruit",
766
- screens: {
767
- Foo: {
768
- screens: {
769
- Foe: {
770
- path: "foe",
771
- screens: {
772
- Baz: {
773
- initialRouteName: "Bas",
774
- screens: {
775
- Bos: {
776
- path: "bos",
777
- exact: !0
776
+ var path = "/bar/sweet/apple/foe/bis/jane?answer=42&count=10&valid=true";
777
+ var config = {
778
+ screens: {
779
+ Bar: {
780
+ path: "bar/:type/:fruit",
781
+ screens: {
782
+ Foo: {
783
+ screens: {
784
+ Foe: {
785
+ path: "foe",
786
+ screens: {
787
+ Baz: {
788
+ initialRouteName: "Bas",
789
+ screens: {
790
+ Bos: {
791
+ path: "bos",
792
+ exact: true
793
+ },
794
+ Bis: {
795
+ path: "bis/:author",
796
+ stringify: {
797
+ author: function (author) {
798
+ return author.replace(/^\w/, function (c) {
799
+ return c.toLowerCase();
800
+ });
801
+ }
778
802
  },
779
- Bis: {
780
- path: "bis/:author",
781
- stringify: {
782
- author: function (author) {
783
- return author.replace(/^\w/, function (c) {
784
- return c.toLowerCase();
785
- });
786
- }
803
+ parse: {
804
+ author: function (author) {
805
+ return author.replace(/^\w/, function (c) {
806
+ return c.toUpperCase();
807
+ });
787
808
  },
788
- parse: {
789
- author: function (author) {
790
- return author.replace(/^\w/, function (c) {
791
- return c.toUpperCase();
792
- });
793
- },
794
- count: Number,
795
- valid: Boolean
796
- }
809
+ count: Number,
810
+ valid: Boolean
797
811
  }
798
812
  }
799
813
  }
@@ -804,1368 +818,1400 @@ test.skip("accepts initialRouteName without config for it", function () {
804
818
  }
805
819
  }
806
820
  }
807
- },
808
- state = {
809
- routes: [{
810
- name: "Bar",
811
- params: {
812
- fruit: "apple",
813
- type: "sweet"
814
- },
815
- state: {
816
- routes: [{
817
- name: "Foo",
818
- state: {
819
- routes: [{
820
- name: "Foe",
821
- state: {
822
- routes: [{
823
- name: "Baz",
824
- state: {
825
- index: 1,
826
- routes: [{
827
- name: "Bas"
828
- }, {
829
- name: "Bis",
830
- params: {
831
- answer: "42",
832
- author: "Jane",
833
- count: 10,
834
- valid: !0
835
- },
836
- path
837
- }]
838
- }
839
- }]
840
- }
841
- }]
842
- }
843
- }]
844
- }
845
- }]
846
- };
847
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
821
+ }
822
+ };
823
+ var state = {
824
+ routes: [{
825
+ name: "Bar",
826
+ params: {
827
+ fruit: "apple",
828
+ type: "sweet"
829
+ },
830
+ state: {
831
+ routes: [{
832
+ name: "Foo",
833
+ state: {
834
+ routes: [{
835
+ name: "Foe",
836
+ state: {
837
+ routes: [{
838
+ name: "Baz",
839
+ state: {
840
+ index: 1,
841
+ routes: [{
842
+ name: "Bas"
843
+ }, {
844
+ name: "Bis",
845
+ params: {
846
+ answer: "42",
847
+ author: "Jane",
848
+ count: 10,
849
+ valid: true
850
+ },
851
+ path
852
+ }]
853
+ }
854
+ }]
855
+ }
856
+ }]
857
+ }
858
+ }]
859
+ }
860
+ }]
861
+ };
862
+ expect(getStateFromPath(path, config)).toEqual(state);
863
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
848
864
  });
849
865
  test("returns undefined if no matching screen is present (top level path)", function () {
850
- var path = "/foo/bar",
851
- config = {
852
- path: "qux",
853
- screens: {
854
- Foo: {
855
- screens: {
856
- Foe: "foo",
857
- Bar: {
858
- screens: {
859
- Baz: "bar"
860
- }
866
+ var path = "/foo/bar";
867
+ var config = {
868
+ path: "qux",
869
+ screens: {
870
+ Foo: {
871
+ screens: {
872
+ Foe: "foo",
873
+ Bar: {
874
+ screens: {
875
+ Baz: "bar"
861
876
  }
862
877
  }
863
878
  }
864
879
  }
865
- };
880
+ }
881
+ };
866
882
  expect(getStateFromPath(path, config)).toBeUndefined();
867
883
  });
868
884
  test("returns undefined if no matching screen is present", function () {
869
- var path = "/baz",
870
- config = {
871
- screens: {
872
- Foo: {
873
- path: "foo",
874
- screens: {
875
- Foe: "foe",
876
- Bar: {
877
- screens: {
878
- Baz: "baz"
879
- }
885
+ var path = "/baz";
886
+ var config = {
887
+ screens: {
888
+ Foo: {
889
+ path: "foo",
890
+ screens: {
891
+ Foe: "foe",
892
+ Bar: {
893
+ screens: {
894
+ Baz: "baz"
880
895
  }
881
896
  }
882
897
  }
883
898
  }
884
- };
899
+ }
900
+ };
885
901
  expect(getStateFromPath(path, config)).toBeUndefined();
886
902
  });
887
903
  test("returns undefined if path is empty and no matching screen is present", function () {
888
- var path = "",
889
- config = {
890
- screens: {
891
- Foo: {
892
- screens: {
893
- Foe: "foe",
894
- Bar: {
895
- screens: {
896
- Baz: "baz"
897
- }
904
+ var path = "";
905
+ var config = {
906
+ screens: {
907
+ Foo: {
908
+ screens: {
909
+ Foe: "foe",
910
+ Bar: {
911
+ screens: {
912
+ Baz: "baz"
898
913
  }
899
914
  }
900
915
  }
901
916
  }
902
- };
917
+ }
918
+ };
903
919
  expect(getStateFromPath(path, config)).toBeUndefined();
904
920
  });
905
921
  test.skip("returns matching screen if path is empty", function () {
906
- var path = "",
907
- config = {
908
- screens: {
909
- Foo: {
910
- screens: {
911
- Foe: "foe",
912
- Bar: {
913
- screens: {
914
- Qux: "",
915
- Baz: "baz"
916
- }
922
+ var path = "";
923
+ var config = {
924
+ screens: {
925
+ Foo: {
926
+ screens: {
927
+ Foe: "foe",
928
+ Bar: {
929
+ screens: {
930
+ Qux: "",
931
+ Baz: "baz"
917
932
  }
918
933
  }
919
934
  }
920
935
  }
921
- },
922
- state = {
923
- routes: [{
924
- name: "Foo",
925
- state: {
926
- routes: [{
927
- name: "Bar",
928
- state: {
929
- routes: [{
930
- name: "Qux",
931
- path
932
- }]
933
- }
934
- }]
935
- }
936
- }]
937
- };
938
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, ""));
936
+ }
937
+ };
938
+ var state = {
939
+ routes: [{
940
+ name: "Foo",
941
+ state: {
942
+ routes: [{
943
+ name: "Bar",
944
+ state: {
945
+ routes: [{
946
+ name: "Qux",
947
+ path
948
+ }]
949
+ }
950
+ }]
951
+ }
952
+ }]
953
+ };
954
+ expect(getStateFromPath(path, config)).toEqual(state);
955
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, ""));
939
956
  });
940
957
  test.skip("returns matching screen if path is only slash", function () {
941
- var path = "/",
942
- config = {
943
- screens: {
944
- Foo: {
945
- screens: {
946
- Foe: "foe",
947
- Bar: {
948
- screens: {
949
- Qux: "",
950
- Baz: "baz"
951
- }
958
+ var path = "/";
959
+ var config = {
960
+ screens: {
961
+ Foo: {
962
+ screens: {
963
+ Foe: "foe",
964
+ Bar: {
965
+ screens: {
966
+ Qux: "",
967
+ Baz: "baz"
952
968
  }
953
969
  }
954
970
  }
955
971
  }
956
- },
957
- state = {
958
- routes: [{
959
- name: "Foo",
960
- state: {
961
- routes: [{
962
- name: "Bar",
963
- state: {
964
- routes: [{
965
- name: "Qux",
966
- path: ""
967
- }]
968
- }
969
- }]
970
- }
971
- }]
972
- };
973
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, ""));
972
+ }
973
+ };
974
+ var state = {
975
+ routes: [{
976
+ name: "Foo",
977
+ state: {
978
+ routes: [{
979
+ name: "Bar",
980
+ state: {
981
+ routes: [{
982
+ name: "Qux",
983
+ path: ""
984
+ }]
985
+ }
986
+ }]
987
+ }
988
+ }]
989
+ };
990
+ expect(getStateFromPath(path, config)).toEqual(state);
991
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, ""));
974
992
  });
975
993
  test("returns matching screen with params if path is empty", function () {
976
- var path = "?foo=42",
977
- config = {
978
- screens: {
979
- Foo: {
980
- screens: {
981
- Foe: "foe",
982
- Bar: {
983
- screens: {
984
- Qux: {
985
- path: "",
986
- parse: {
987
- foo: Number
988
- }
989
- },
990
- Baz: "baz"
991
- }
994
+ var path = "?foo=42";
995
+ var config = {
996
+ screens: {
997
+ Foo: {
998
+ screens: {
999
+ Foe: "foe",
1000
+ Bar: {
1001
+ screens: {
1002
+ Qux: {
1003
+ path: "",
1004
+ parse: {
1005
+ foo: Number
1006
+ }
1007
+ },
1008
+ Baz: "baz"
992
1009
  }
993
1010
  }
994
1011
  }
995
1012
  }
996
- },
997
- state = {
998
- routes: [{
999
- name: "Foo",
1000
- key: "Foo-0",
1001
- state: {
1002
- routes: [{
1003
- name: "Bar",
1004
- key: "Bar-1",
1005
- state: {
1006
- routes: [{
1007
- name: "Qux",
1008
- key: "Qux-2",
1009
- params: {
1010
- foo: 42
1011
- },
1012
- path
1013
- }]
1014
- }
1015
- }]
1016
- }
1017
- }]
1018
- };
1019
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/?foo=42"));
1013
+ }
1014
+ };
1015
+ var state = {
1016
+ routes: [{
1017
+ name: "Foo",
1018
+ key: "Foo-0",
1019
+ state: {
1020
+ routes: [{
1021
+ name: "Bar",
1022
+ key: "Bar-1",
1023
+ state: {
1024
+ routes: [{
1025
+ name: "Qux",
1026
+ key: "Qux-2",
1027
+ params: {
1028
+ foo: 42
1029
+ },
1030
+ path
1031
+ }]
1032
+ }
1033
+ }]
1034
+ }
1035
+ }]
1036
+ };
1037
+ expect(getStateFromPath(path, config)).toEqual(state);
1038
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/?foo=42"));
1020
1039
  });
1021
1040
  test("doesn't match nested screen if path is empty", function () {
1022
1041
  var config = {
1023
- screens: {
1024
- Foo: {
1025
- screens: {
1026
- Foe: "foe",
1027
- Bar: {
1028
- path: "bar",
1029
- screens: {
1030
- Qux: {
1031
- path: "",
1032
- parse: {
1033
- foo: Number
1034
- }
1042
+ screens: {
1043
+ Foo: {
1044
+ screens: {
1045
+ Foe: "foe",
1046
+ Bar: {
1047
+ path: "bar",
1048
+ screens: {
1049
+ Qux: {
1050
+ path: "",
1051
+ parse: {
1052
+ foo: Number
1035
1053
  }
1036
1054
  }
1037
1055
  }
1038
1056
  }
1039
1057
  }
1040
1058
  }
1041
- },
1042
- path = "";
1059
+ }
1060
+ };
1061
+ var path = "";
1043
1062
  expect(getStateFromPath(path, config)).toBeUndefined();
1044
1063
  });
1045
1064
  test.skip("chooses more exhaustive pattern", function () {
1046
- var path = "/foo/5",
1047
- config = {
1048
- screens: {
1049
- Foe: {
1050
- path: "/",
1051
- initialRouteName: "Foo",
1052
- screens: {
1053
- Foo: "foo",
1054
- Bis: {
1055
- path: "foo/:id",
1056
- parse: {
1057
- id: Number
1058
- }
1065
+ var path = "/foo/5";
1066
+ var config = {
1067
+ screens: {
1068
+ Foe: {
1069
+ path: "/",
1070
+ initialRouteName: "Foo",
1071
+ screens: {
1072
+ Foo: "foo",
1073
+ Bis: {
1074
+ path: "foo/:id",
1075
+ parse: {
1076
+ id: Number
1059
1077
  }
1060
1078
  }
1061
1079
  }
1062
1080
  }
1063
- },
1064
- state = {
1065
- routes: [{
1066
- name: "Foe",
1067
- state: {
1068
- index: 1,
1069
- routes: [{
1070
- name: "Foo"
1071
- }, {
1072
- name: "Bis",
1073
- params: {
1074
- id: 5
1075
- },
1076
- path
1077
- }]
1078
- }
1079
- }]
1080
- };
1081
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1081
+ }
1082
+ };
1083
+ var state = {
1084
+ routes: [{
1085
+ name: "Foe",
1086
+ state: {
1087
+ index: 1,
1088
+ routes: [{
1089
+ name: "Foo"
1090
+ }, {
1091
+ name: "Bis",
1092
+ params: {
1093
+ id: 5
1094
+ },
1095
+ path
1096
+ }]
1097
+ }
1098
+ }]
1099
+ };
1100
+ expect(getStateFromPath(path, config)).toEqual(state);
1101
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1082
1102
  });
1083
1103
  test("handles same paths beginnings", function () {
1084
- var path = "/foos",
1085
- config = {
1086
- screens: {
1087
- Foe: {
1088
- path: "/",
1089
- initialRouteName: "Foo",
1090
- screens: {
1091
- Foo: "foo",
1092
- Bis: {
1093
- path: "foos"
1094
- }
1104
+ var path = "/foos";
1105
+ var config = {
1106
+ screens: {
1107
+ Foe: {
1108
+ path: "/",
1109
+ initialRouteName: "Foo",
1110
+ screens: {
1111
+ Foo: "foo",
1112
+ Bis: {
1113
+ path: "foos"
1095
1114
  }
1096
1115
  }
1097
1116
  }
1098
- },
1099
- state = {
1100
- routes: [{
1101
- name: "Foe",
1102
- key: "Foe-0",
1103
- state: {
1104
- index: 1,
1105
- routes: [{
1106
- name: "Foo",
1107
- key: "Foo-1"
1108
- }, {
1109
- name: "Bis",
1110
- key: "Bis-2",
1111
- path
1112
- }]
1113
- }
1114
- }]
1115
- };
1116
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1117
+ }
1118
+ };
1119
+ var state = {
1120
+ routes: [{
1121
+ name: "Foe",
1122
+ key: "Foe-0",
1123
+ state: {
1124
+ index: 1,
1125
+ routes: [{
1126
+ name: "Foo",
1127
+ key: "Foo-1"
1128
+ }, {
1129
+ name: "Bis",
1130
+ key: "Bis-2",
1131
+ path
1132
+ }]
1133
+ }
1134
+ }]
1135
+ };
1136
+ expect(getStateFromPath(path, config)).toEqual(state);
1137
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1117
1138
  });
1118
1139
  test.skip("handles same paths beginnings with params", function () {
1119
- var path = "/foos/5",
1120
- config = {
1121
- screens: {
1122
- Foe: {
1123
- path: "/",
1124
- initialRouteName: "Foo",
1125
- screens: {
1126
- Foo: "foo",
1127
- Bis: {
1128
- path: "foos/:id",
1129
- parse: {
1130
- id: Number
1131
- }
1140
+ var path = "/foos/5";
1141
+ var config = {
1142
+ screens: {
1143
+ Foe: {
1144
+ path: "/",
1145
+ initialRouteName: "Foo",
1146
+ screens: {
1147
+ Foo: "foo",
1148
+ Bis: {
1149
+ path: "foos/:id",
1150
+ parse: {
1151
+ id: Number
1132
1152
  }
1133
1153
  }
1134
1154
  }
1135
1155
  }
1136
- },
1137
- state = {
1138
- routes: [{
1139
- name: "Foe",
1140
- state: {
1141
- index: 1,
1142
- routes: [{
1143
- name: "Foo"
1144
- }, {
1145
- name: "Bis",
1146
- params: {
1147
- id: 5
1148
- },
1149
- path
1150
- }]
1151
- }
1152
- }]
1153
- };
1154
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1156
+ }
1157
+ };
1158
+ var state = {
1159
+ routes: [{
1160
+ name: "Foe",
1161
+ state: {
1162
+ index: 1,
1163
+ routes: [{
1164
+ name: "Foo"
1165
+ }, {
1166
+ name: "Bis",
1167
+ params: {
1168
+ id: 5
1169
+ },
1170
+ path
1171
+ }]
1172
+ }
1173
+ }]
1174
+ };
1175
+ expect(getStateFromPath(path, config)).toEqual(state);
1176
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1155
1177
  });
1156
1178
  test.skip("handles not taking path with too many segments", function () {
1157
- var path = "/foos/5",
1158
- config = {
1159
- screens: {
1160
- Foe: {
1161
- path: "/",
1162
- initialRouteName: "Foo",
1163
- screens: {
1164
- Foo: "foo",
1165
- Bis: {
1166
- path: "foos/:id",
1167
- parse: {
1168
- id: Number
1169
- }
1170
- },
1171
- Bas: {
1172
- path: "foos/:id/:nip",
1173
- parse: {
1174
- id: Number,
1175
- pwd: Number
1176
- }
1179
+ var path = "/foos/5";
1180
+ var config = {
1181
+ screens: {
1182
+ Foe: {
1183
+ path: "/",
1184
+ initialRouteName: "Foo",
1185
+ screens: {
1186
+ Foo: "foo",
1187
+ Bis: {
1188
+ path: "foos/:id",
1189
+ parse: {
1190
+ id: Number
1191
+ }
1192
+ },
1193
+ Bas: {
1194
+ path: "foos/:id/:nip",
1195
+ parse: {
1196
+ id: Number,
1197
+ pwd: Number
1177
1198
  }
1178
1199
  }
1179
1200
  }
1180
1201
  }
1181
- },
1182
- state = {
1183
- routes: [{
1184
- name: "Foe",
1185
- state: {
1186
- index: 1,
1187
- routes: [{
1188
- name: "Foo"
1189
- }, {
1190
- name: "Bis",
1191
- params: {
1192
- id: 5
1193
- },
1194
- path
1195
- }]
1196
- }
1197
- }]
1198
- };
1199
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1202
+ }
1203
+ };
1204
+ var state = {
1205
+ routes: [{
1206
+ name: "Foe",
1207
+ state: {
1208
+ index: 1,
1209
+ routes: [{
1210
+ name: "Foo"
1211
+ }, {
1212
+ name: "Bis",
1213
+ params: {
1214
+ id: 5
1215
+ },
1216
+ path
1217
+ }]
1218
+ }
1219
+ }]
1220
+ };
1221
+ expect(getStateFromPath(path, config)).toEqual(state);
1222
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1200
1223
  });
1201
1224
  test.skip("handles differently ordered params v1", function () {
1202
- var path = "/foos/5/res/20",
1203
- config = {
1204
- screens: {
1205
- Foe: {
1206
- path: "/",
1207
- initialRouteName: "Foo",
1208
- screens: {
1209
- Foo: "foo",
1210
- Bis: {
1211
- path: "foos/:id",
1212
- parse: {
1213
- id: Number
1214
- }
1215
- },
1216
- Bas: {
1217
- path: "foos/:id/res/:pwd",
1218
- parse: {
1219
- id: Number,
1220
- pwd: Number
1221
- }
1225
+ var path = "/foos/5/res/20";
1226
+ var config = {
1227
+ screens: {
1228
+ Foe: {
1229
+ path: "/",
1230
+ initialRouteName: "Foo",
1231
+ screens: {
1232
+ Foo: "foo",
1233
+ Bis: {
1234
+ path: "foos/:id",
1235
+ parse: {
1236
+ id: Number
1237
+ }
1238
+ },
1239
+ Bas: {
1240
+ path: "foos/:id/res/:pwd",
1241
+ parse: {
1242
+ id: Number,
1243
+ pwd: Number
1222
1244
  }
1223
1245
  }
1224
1246
  }
1225
1247
  }
1226
- },
1227
- state = {
1228
- routes: [{
1229
- name: "Foe",
1230
- state: {
1231
- index: 1,
1232
- routes: [{
1233
- name: "Foo"
1234
- }, {
1235
- name: "Bas",
1236
- params: {
1237
- id: 5,
1238
- pwd: 20
1239
- },
1240
- path
1241
- }]
1242
- }
1243
- }]
1244
- };
1245
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1248
+ }
1249
+ };
1250
+ var state = {
1251
+ routes: [{
1252
+ name: "Foe",
1253
+ state: {
1254
+ index: 1,
1255
+ routes: [{
1256
+ name: "Foo"
1257
+ }, {
1258
+ name: "Bas",
1259
+ params: {
1260
+ id: 5,
1261
+ pwd: 20
1262
+ },
1263
+ path
1264
+ }]
1265
+ }
1266
+ }]
1267
+ };
1268
+ expect(getStateFromPath(path, config)).toEqual(state);
1269
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1246
1270
  });
1247
1271
  test.skip("handles differently ordered params v2", function () {
1248
- var path = "/5/20/foos/res",
1249
- config = {
1250
- screens: {
1251
- Foe: {
1252
- path: "/",
1253
- initialRouteName: "Foo",
1254
- screens: {
1255
- Foo: "foo",
1256
- Bis: {
1257
- path: "foos/:id",
1258
- parse: {
1259
- id: Number
1260
- }
1261
- },
1262
- Bas: {
1263
- path: ":id/:pwd/foos/res",
1264
- parse: {
1265
- id: Number,
1266
- pwd: Number
1267
- }
1272
+ var path = "/5/20/foos/res";
1273
+ var config = {
1274
+ screens: {
1275
+ Foe: {
1276
+ path: "/",
1277
+ initialRouteName: "Foo",
1278
+ screens: {
1279
+ Foo: "foo",
1280
+ Bis: {
1281
+ path: "foos/:id",
1282
+ parse: {
1283
+ id: Number
1284
+ }
1285
+ },
1286
+ Bas: {
1287
+ path: ":id/:pwd/foos/res",
1288
+ parse: {
1289
+ id: Number,
1290
+ pwd: Number
1268
1291
  }
1269
1292
  }
1270
1293
  }
1271
1294
  }
1272
- },
1273
- state = {
1274
- routes: [{
1275
- name: "Foe",
1276
- state: {
1277
- index: 1,
1278
- routes: [{
1279
- name: "Foo"
1280
- }, {
1281
- name: "Bas",
1282
- params: {
1283
- id: 5,
1284
- pwd: 20
1285
- },
1286
- path
1287
- }]
1288
- }
1289
- }]
1290
- };
1291
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1295
+ }
1296
+ };
1297
+ var state = {
1298
+ routes: [{
1299
+ name: "Foe",
1300
+ state: {
1301
+ index: 1,
1302
+ routes: [{
1303
+ name: "Foo"
1304
+ }, {
1305
+ name: "Bas",
1306
+ params: {
1307
+ id: 5,
1308
+ pwd: 20
1309
+ },
1310
+ path
1311
+ }]
1312
+ }
1313
+ }]
1314
+ };
1315
+ expect(getStateFromPath(path, config)).toEqual(state);
1316
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1292
1317
  });
1293
1318
  test.skip("handles differently ordered params v3", function () {
1294
- var path = "/foos/5/20/res",
1295
- config = {
1296
- screens: {
1297
- Foe: {
1298
- path: "/",
1299
- initialRouteName: "Foo",
1300
- screens: {
1301
- Foo: "foo",
1302
- Bis: {
1303
- path: "foos/:id",
1304
- parse: {
1305
- id: Number
1306
- }
1307
- },
1308
- Bas: {
1309
- path: "foos/:id/:pwd/res",
1310
- parse: {
1311
- id: Number,
1312
- pwd: Number
1313
- }
1319
+ var path = "/foos/5/20/res";
1320
+ var config = {
1321
+ screens: {
1322
+ Foe: {
1323
+ path: "/",
1324
+ initialRouteName: "Foo",
1325
+ screens: {
1326
+ Foo: "foo",
1327
+ Bis: {
1328
+ path: "foos/:id",
1329
+ parse: {
1330
+ id: Number
1331
+ }
1332
+ },
1333
+ Bas: {
1334
+ path: "foos/:id/:pwd/res",
1335
+ parse: {
1336
+ id: Number,
1337
+ pwd: Number
1314
1338
  }
1315
1339
  }
1316
1340
  }
1317
1341
  }
1318
- },
1319
- state = {
1320
- routes: [{
1321
- name: "Foe",
1322
- state: {
1323
- index: 1,
1324
- routes: [{
1325
- name: "Foo"
1326
- }, {
1327
- name: "Bas",
1328
- params: {
1329
- id: 5,
1330
- pwd: 20
1331
- },
1332
- path
1333
- }]
1334
- }
1335
- }]
1336
- };
1337
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1342
+ }
1343
+ };
1344
+ var state = {
1345
+ routes: [{
1346
+ name: "Foe",
1347
+ state: {
1348
+ index: 1,
1349
+ routes: [{
1350
+ name: "Foo"
1351
+ }, {
1352
+ name: "Bas",
1353
+ params: {
1354
+ id: 5,
1355
+ pwd: 20
1356
+ },
1357
+ path
1358
+ }]
1359
+ }
1360
+ }]
1361
+ };
1362
+ expect(getStateFromPath(path, config)).toEqual(state);
1363
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1338
1364
  });
1339
1365
  test.skip("handles differently ordered params v4", function () {
1340
- var path = "5/foos/res/20",
1341
- config = {
1342
- screens: {
1343
- Foe: {
1344
- path: "/",
1345
- initialRouteName: "Foo",
1346
- screens: {
1347
- Foo: "foo",
1348
- Bis: {
1349
- path: "foos/:id",
1350
- parse: {
1351
- id: Number
1352
- }
1353
- },
1354
- Bas: {
1355
- path: ":id/foos/res/:pwd",
1356
- parse: {
1357
- id: Number,
1358
- pwd: Number
1359
- }
1366
+ var path = "5/foos/res/20";
1367
+ var config = {
1368
+ screens: {
1369
+ Foe: {
1370
+ path: "/",
1371
+ initialRouteName: "Foo",
1372
+ screens: {
1373
+ Foo: "foo",
1374
+ Bis: {
1375
+ path: "foos/:id",
1376
+ parse: {
1377
+ id: Number
1378
+ }
1379
+ },
1380
+ Bas: {
1381
+ path: ":id/foos/res/:pwd",
1382
+ parse: {
1383
+ id: Number,
1384
+ pwd: Number
1360
1385
  }
1361
1386
  }
1362
1387
  }
1363
1388
  }
1364
- },
1365
- state = {
1366
- routes: [{
1367
- name: "Foe",
1368
- state: {
1369
- index: 1,
1370
- routes: [{
1371
- name: "Foo"
1372
- }, {
1373
- name: "Bas",
1374
- params: {
1375
- id: 5,
1376
- pwd: 20
1377
- },
1378
- path
1379
- }]
1380
- }
1381
- }]
1382
- };
1383
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/5/foos/res/20"));
1389
+ }
1390
+ };
1391
+ var state = {
1392
+ routes: [{
1393
+ name: "Foe",
1394
+ state: {
1395
+ index: 1,
1396
+ routes: [{
1397
+ name: "Foo"
1398
+ }, {
1399
+ name: "Bas",
1400
+ params: {
1401
+ id: 5,
1402
+ pwd: 20
1403
+ },
1404
+ path
1405
+ }]
1406
+ }
1407
+ }]
1408
+ };
1409
+ expect(getStateFromPath(path, config)).toEqual(state);
1410
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/5/foos/res/20"));
1384
1411
  });
1385
1412
  test.skip("handles simple optional params", function () {
1386
- var path = "/foos/5",
1387
- config = {
1388
- screens: {
1389
- Foe: {
1390
- path: "/",
1391
- initialRouteName: "Foo",
1392
- screens: {
1393
- Foo: "foo",
1394
- Bis: {
1395
- path: "foo/:id",
1396
- parse: {
1397
- id: Number
1398
- }
1399
- },
1400
- Bas: {
1401
- path: "foos/:id/:nip?",
1402
- parse: {
1403
- id: Number,
1404
- nip: Number
1405
- }
1413
+ var path = "/foos/5";
1414
+ var config = {
1415
+ screens: {
1416
+ Foe: {
1417
+ path: "/",
1418
+ initialRouteName: "Foo",
1419
+ screens: {
1420
+ Foo: "foo",
1421
+ Bis: {
1422
+ path: "foo/:id",
1423
+ parse: {
1424
+ id: Number
1425
+ }
1426
+ },
1427
+ Bas: {
1428
+ path: "foos/:id/:nip?",
1429
+ parse: {
1430
+ id: Number,
1431
+ nip: Number
1406
1432
  }
1407
1433
  }
1408
1434
  }
1409
1435
  }
1410
- },
1411
- state = {
1412
- routes: [{
1413
- name: "Foe",
1414
- state: {
1415
- index: 1,
1416
- routes: [{
1417
- name: "Foo"
1418
- }, {
1419
- name: "Bas",
1420
- params: {
1421
- id: 5
1422
- },
1423
- path
1424
- }]
1425
- }
1426
- }]
1427
- };
1428
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1436
+ }
1437
+ };
1438
+ var state = {
1439
+ routes: [{
1440
+ name: "Foe",
1441
+ state: {
1442
+ index: 1,
1443
+ routes: [{
1444
+ name: "Foo"
1445
+ }, {
1446
+ name: "Bas",
1447
+ params: {
1448
+ id: 5
1449
+ },
1450
+ path
1451
+ }]
1452
+ }
1453
+ }]
1454
+ };
1455
+ expect(getStateFromPath(path, config)).toEqual(state);
1456
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1429
1457
  });
1430
1458
  test.skip("handle 2 optional params at the end v1", function () {
1431
- var path = "/foos/5",
1432
- config = {
1433
- screens: {
1434
- Foe: {
1435
- path: "/",
1436
- initialRouteName: "Foo",
1437
- screens: {
1438
- Foo: "foo",
1439
- Bis: {
1440
- path: "foo/:id",
1441
- parse: {
1442
- id: Number
1443
- }
1444
- },
1445
- Bas: {
1446
- path: "foos/:id/:nip?/:pwd?",
1447
- parse: {
1448
- id: Number,
1449
- nip: Number
1450
- }
1459
+ var path = "/foos/5";
1460
+ var config = {
1461
+ screens: {
1462
+ Foe: {
1463
+ path: "/",
1464
+ initialRouteName: "Foo",
1465
+ screens: {
1466
+ Foo: "foo",
1467
+ Bis: {
1468
+ path: "foo/:id",
1469
+ parse: {
1470
+ id: Number
1471
+ }
1472
+ },
1473
+ Bas: {
1474
+ path: "foos/:id/:nip?/:pwd?",
1475
+ parse: {
1476
+ id: Number,
1477
+ nip: Number
1451
1478
  }
1452
1479
  }
1453
1480
  }
1454
1481
  }
1455
- },
1456
- state = {
1457
- routes: [{
1458
- name: "Foe",
1459
- state: {
1460
- index: 1,
1461
- routes: [{
1462
- name: "Foo"
1463
- }, {
1464
- name: "Bas",
1465
- params: {
1466
- id: 5
1467
- },
1468
- path
1469
- }]
1470
- }
1471
- }]
1472
- };
1473
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1482
+ }
1483
+ };
1484
+ var state = {
1485
+ routes: [{
1486
+ name: "Foe",
1487
+ state: {
1488
+ index: 1,
1489
+ routes: [{
1490
+ name: "Foo"
1491
+ }, {
1492
+ name: "Bas",
1493
+ params: {
1494
+ id: 5
1495
+ },
1496
+ path
1497
+ }]
1498
+ }
1499
+ }]
1500
+ };
1501
+ expect(getStateFromPath(path, config)).toEqual(state);
1502
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1474
1503
  });
1475
1504
  test.skip("handle 2 optional params at the end v2", function () {
1476
- var path = "/foos/5/10",
1477
- config = {
1478
- screens: {
1479
- Foe: {
1480
- path: "/",
1481
- initialRouteName: "Foo",
1482
- screens: {
1483
- Foo: "foo",
1484
- Bis: {
1485
- path: "foo/:id",
1486
- parse: {
1487
- id: Number
1488
- }
1489
- },
1490
- Bas: {
1491
- path: "foos/:id/:nip?/:pwd?",
1492
- parse: {
1493
- id: Number,
1494
- nip: Number
1495
- }
1505
+ var path = "/foos/5/10";
1506
+ var config = {
1507
+ screens: {
1508
+ Foe: {
1509
+ path: "/",
1510
+ initialRouteName: "Foo",
1511
+ screens: {
1512
+ Foo: "foo",
1513
+ Bis: {
1514
+ path: "foo/:id",
1515
+ parse: {
1516
+ id: Number
1517
+ }
1518
+ },
1519
+ Bas: {
1520
+ path: "foos/:id/:nip?/:pwd?",
1521
+ parse: {
1522
+ id: Number,
1523
+ nip: Number
1496
1524
  }
1497
1525
  }
1498
1526
  }
1499
1527
  }
1500
- },
1501
- state = {
1502
- routes: [{
1503
- name: "Foe",
1504
- state: {
1505
- index: 1,
1506
- routes: [{
1507
- name: "Foo"
1508
- }, {
1509
- name: "Bas",
1510
- params: {
1511
- id: 5,
1512
- nip: 10
1513
- },
1514
- path
1515
- }]
1516
- }
1517
- }]
1518
- };
1519
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1528
+ }
1529
+ };
1530
+ var state = {
1531
+ routes: [{
1532
+ name: "Foe",
1533
+ state: {
1534
+ index: 1,
1535
+ routes: [{
1536
+ name: "Foo"
1537
+ }, {
1538
+ name: "Bas",
1539
+ params: {
1540
+ id: 5,
1541
+ nip: 10
1542
+ },
1543
+ path
1544
+ }]
1545
+ }
1546
+ }]
1547
+ };
1548
+ expect(getStateFromPath(path, config)).toEqual(state);
1549
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1520
1550
  });
1521
1551
  test.skip("handle 2 optional params at the end v3", function () {
1522
- var path = "/foos/5/10/15",
1523
- config = {
1524
- screens: {
1525
- Foe: {
1526
- path: "/",
1527
- initialRouteName: "Foo",
1528
- screens: {
1529
- Foo: "foo",
1530
- Bis: {
1531
- path: "foo/:id",
1532
- parse: {
1533
- id: Number
1534
- }
1535
- },
1536
- Bas: {
1537
- path: "foos/:id/:nip?/:pwd?",
1538
- parse: {
1539
- id: Number,
1540
- nip: Number,
1541
- pwd: Number
1542
- }
1552
+ var path = "/foos/5/10/15";
1553
+ var config = {
1554
+ screens: {
1555
+ Foe: {
1556
+ path: "/",
1557
+ initialRouteName: "Foo",
1558
+ screens: {
1559
+ Foo: "foo",
1560
+ Bis: {
1561
+ path: "foo/:id",
1562
+ parse: {
1563
+ id: Number
1564
+ }
1565
+ },
1566
+ Bas: {
1567
+ path: "foos/:id/:nip?/:pwd?",
1568
+ parse: {
1569
+ id: Number,
1570
+ nip: Number,
1571
+ pwd: Number
1543
1572
  }
1544
1573
  }
1545
1574
  }
1546
1575
  }
1547
- },
1548
- state = {
1549
- routes: [{
1550
- name: "Foe",
1551
- state: {
1552
- index: 1,
1553
- routes: [{
1554
- name: "Foo"
1555
- }, {
1556
- name: "Bas",
1557
- params: {
1558
- id: 5,
1559
- nip: 10,
1560
- pwd: 15
1561
- },
1562
- path
1563
- }]
1564
- }
1565
- }]
1566
- };
1567
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1576
+ }
1577
+ };
1578
+ var state = {
1579
+ routes: [{
1580
+ name: "Foe",
1581
+ state: {
1582
+ index: 1,
1583
+ routes: [{
1584
+ name: "Foo"
1585
+ }, {
1586
+ name: "Bas",
1587
+ params: {
1588
+ id: 5,
1589
+ nip: 10,
1590
+ pwd: 15
1591
+ },
1592
+ path
1593
+ }]
1594
+ }
1595
+ }]
1596
+ };
1597
+ expect(getStateFromPath(path, config)).toEqual(state);
1598
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1568
1599
  });
1569
1600
  test.skip("handle optional params in the middle v1", function () {
1570
- var path = "/foos/5/10",
1571
- config = {
1572
- screens: {
1573
- Foe: {
1574
- path: "/",
1575
- initialRouteName: "Foo",
1576
- screens: {
1577
- Foo: "foo",
1578
- Bis: {
1579
- path: "foo/:id",
1580
- parse: {
1581
- id: Number
1582
- }
1583
- },
1584
- Bas: {
1585
- path: "foos/:id/:nip?/:pwd",
1586
- parse: {
1587
- id: Number,
1588
- nip: Number,
1589
- pwd: Number
1590
- }
1601
+ var path = "/foos/5/10";
1602
+ var config = {
1603
+ screens: {
1604
+ Foe: {
1605
+ path: "/",
1606
+ initialRouteName: "Foo",
1607
+ screens: {
1608
+ Foo: "foo",
1609
+ Bis: {
1610
+ path: "foo/:id",
1611
+ parse: {
1612
+ id: Number
1613
+ }
1614
+ },
1615
+ Bas: {
1616
+ path: "foos/:id/:nip?/:pwd",
1617
+ parse: {
1618
+ id: Number,
1619
+ nip: Number,
1620
+ pwd: Number
1591
1621
  }
1592
1622
  }
1593
1623
  }
1594
1624
  }
1595
- },
1596
- state = {
1597
- routes: [{
1598
- name: "Foe",
1599
- state: {
1600
- index: 1,
1601
- routes: [{
1602
- name: "Foo"
1603
- }, {
1604
- name: "Bas",
1605
- params: {
1606
- id: 5,
1607
- pwd: 10
1608
- },
1609
- path
1610
- }]
1611
- }
1612
- }]
1613
- };
1614
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1625
+ }
1626
+ };
1627
+ var state = {
1628
+ routes: [{
1629
+ name: "Foe",
1630
+ state: {
1631
+ index: 1,
1632
+ routes: [{
1633
+ name: "Foo"
1634
+ }, {
1635
+ name: "Bas",
1636
+ params: {
1637
+ id: 5,
1638
+ pwd: 10
1639
+ },
1640
+ path
1641
+ }]
1642
+ }
1643
+ }]
1644
+ };
1645
+ expect(getStateFromPath(path, config)).toEqual(state);
1646
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1615
1647
  });
1616
1648
  test.skip("handle optional params in the middle v2", function () {
1617
- var path = "/foos/5/10/15",
1618
- config = {
1619
- screens: {
1620
- Foe: {
1621
- path: "/",
1622
- initialRouteName: "Foo",
1623
- screens: {
1624
- Foo: "foo",
1625
- Bis: {
1626
- path: "foo/:id",
1627
- parse: {
1628
- id: Number
1629
- }
1630
- },
1631
- Bas: {
1632
- path: "foos/:id/:nip?/:pwd",
1633
- parse: {
1634
- id: Number,
1635
- nip: Number,
1636
- pwd: Number
1637
- }
1649
+ var path = "/foos/5/10/15";
1650
+ var config = {
1651
+ screens: {
1652
+ Foe: {
1653
+ path: "/",
1654
+ initialRouteName: "Foo",
1655
+ screens: {
1656
+ Foo: "foo",
1657
+ Bis: {
1658
+ path: "foo/:id",
1659
+ parse: {
1660
+ id: Number
1661
+ }
1662
+ },
1663
+ Bas: {
1664
+ path: "foos/:id/:nip?/:pwd",
1665
+ parse: {
1666
+ id: Number,
1667
+ nip: Number,
1668
+ pwd: Number
1638
1669
  }
1639
1670
  }
1640
1671
  }
1641
1672
  }
1642
- },
1643
- state = {
1644
- routes: [{
1645
- name: "Foe",
1646
- state: {
1647
- index: 1,
1648
- routes: [{
1649
- name: "Foo"
1650
- }, {
1651
- name: "Bas",
1652
- params: {
1653
- id: 5,
1654
- nip: 10,
1655
- pwd: 15
1656
- },
1657
- path
1658
- }]
1659
- }
1660
- }]
1661
- };
1662
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1673
+ }
1674
+ };
1675
+ var state = {
1676
+ routes: [{
1677
+ name: "Foe",
1678
+ state: {
1679
+ index: 1,
1680
+ routes: [{
1681
+ name: "Foo"
1682
+ }, {
1683
+ name: "Bas",
1684
+ params: {
1685
+ id: 5,
1686
+ nip: 10,
1687
+ pwd: 15
1688
+ },
1689
+ path
1690
+ }]
1691
+ }
1692
+ }]
1693
+ };
1694
+ expect(getStateFromPath(path, config)).toEqual(state);
1695
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1663
1696
  });
1664
1697
  test.skip("handle optional params in the middle v3", function () {
1665
- var path = "/foos/5/10/15",
1666
- config = {
1667
- screens: {
1668
- Foe: {
1669
- path: "/",
1670
- initialRouteName: "Foo",
1671
- screens: {
1672
- Foo: "foo",
1673
- Bis: {
1674
- path: "foo/:id",
1675
- parse: {
1676
- id: Number
1677
- }
1678
- },
1679
- Bas: {
1680
- path: "foos/:id/:nip?/:pwd/:smh",
1681
- parse: {
1682
- id: Number,
1683
- nip: Number,
1684
- pwd: Number,
1685
- smh: Number
1686
- }
1698
+ var path = "/foos/5/10/15";
1699
+ var config = {
1700
+ screens: {
1701
+ Foe: {
1702
+ path: "/",
1703
+ initialRouteName: "Foo",
1704
+ screens: {
1705
+ Foo: "foo",
1706
+ Bis: {
1707
+ path: "foo/:id",
1708
+ parse: {
1709
+ id: Number
1710
+ }
1711
+ },
1712
+ Bas: {
1713
+ path: "foos/:id/:nip?/:pwd/:smh",
1714
+ parse: {
1715
+ id: Number,
1716
+ nip: Number,
1717
+ pwd: Number,
1718
+ smh: Number
1687
1719
  }
1688
1720
  }
1689
1721
  }
1690
1722
  }
1691
- },
1692
- state = {
1693
- routes: [{
1694
- name: "Foe",
1695
- state: {
1696
- index: 1,
1697
- routes: [{
1698
- name: "Foo"
1699
- }, {
1700
- name: "Bas",
1701
- params: {
1702
- id: 5,
1703
- pwd: 10,
1704
- smh: 15
1705
- },
1706
- path
1707
- }]
1708
- }
1709
- }]
1710
- };
1711
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1723
+ }
1724
+ };
1725
+ var state = {
1726
+ routes: [{
1727
+ name: "Foe",
1728
+ state: {
1729
+ index: 1,
1730
+ routes: [{
1731
+ name: "Foo"
1732
+ }, {
1733
+ name: "Bas",
1734
+ params: {
1735
+ id: 5,
1736
+ pwd: 10,
1737
+ smh: 15
1738
+ },
1739
+ path
1740
+ }]
1741
+ }
1742
+ }]
1743
+ };
1744
+ expect(getStateFromPath(path, config)).toEqual(state);
1745
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1712
1746
  });
1713
1747
  test.skip("handle optional params in the middle v4", function () {
1714
- var path = "/foos/5/10",
1715
- config = {
1716
- screens: {
1717
- Foe: {
1718
- path: "/",
1719
- initialRouteName: "Foo",
1720
- screens: {
1721
- Foo: "foo",
1722
- Bis: {
1723
- path: "foo/:id",
1724
- parse: {
1725
- id: Number
1726
- }
1727
- },
1728
- Bas: {
1729
- path: "foos/:nip?/:pwd/:smh?/:id",
1730
- parse: {
1731
- id: Number,
1732
- nip: Number,
1733
- pwd: Number,
1734
- smh: Number
1735
- }
1748
+ var path = "/foos/5/10";
1749
+ var config = {
1750
+ screens: {
1751
+ Foe: {
1752
+ path: "/",
1753
+ initialRouteName: "Foo",
1754
+ screens: {
1755
+ Foo: "foo",
1756
+ Bis: {
1757
+ path: "foo/:id",
1758
+ parse: {
1759
+ id: Number
1760
+ }
1761
+ },
1762
+ Bas: {
1763
+ path: "foos/:nip?/:pwd/:smh?/:id",
1764
+ parse: {
1765
+ id: Number,
1766
+ nip: Number,
1767
+ pwd: Number,
1768
+ smh: Number
1736
1769
  }
1737
1770
  }
1738
1771
  }
1739
1772
  }
1740
- },
1741
- state = {
1742
- routes: [{
1743
- name: "Foe",
1744
- state: {
1745
- index: 1,
1746
- routes: [{
1747
- name: "Foo"
1748
- }, {
1749
- name: "Bas",
1750
- params: {
1751
- pwd: 5,
1752
- id: 10
1753
- },
1754
- path
1755
- }]
1756
- }
1757
- }]
1758
- };
1759
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1773
+ }
1774
+ };
1775
+ var state = {
1776
+ routes: [{
1777
+ name: "Foe",
1778
+ state: {
1779
+ index: 1,
1780
+ routes: [{
1781
+ name: "Foo"
1782
+ }, {
1783
+ name: "Bas",
1784
+ params: {
1785
+ pwd: 5,
1786
+ id: 10
1787
+ },
1788
+ path
1789
+ }]
1790
+ }
1791
+ }]
1792
+ };
1793
+ expect(getStateFromPath(path, config)).toEqual(state);
1794
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1760
1795
  });
1761
1796
  test.skip("handle optional params in the middle v5", function () {
1762
- var path = "/foos/5/10/15",
1763
- config = {
1764
- screens: {
1765
- Foe: {
1766
- path: "/",
1767
- initialRouteName: "Foo",
1768
- screens: {
1769
- Foo: "foo",
1770
- Bis: {
1771
- path: "foo/:id",
1772
- parse: {
1773
- id: Number
1774
- }
1775
- },
1776
- Bas: {
1777
- path: "foos/:nip?/:pwd/:smh?/:id",
1778
- parse: {
1779
- id: Number,
1780
- nip: Number,
1781
- pwd: Number,
1782
- smh: Number
1783
- }
1797
+ var path = "/foos/5/10/15";
1798
+ var config = {
1799
+ screens: {
1800
+ Foe: {
1801
+ path: "/",
1802
+ initialRouteName: "Foo",
1803
+ screens: {
1804
+ Foo: "foo",
1805
+ Bis: {
1806
+ path: "foo/:id",
1807
+ parse: {
1808
+ id: Number
1809
+ }
1810
+ },
1811
+ Bas: {
1812
+ path: "foos/:nip?/:pwd/:smh?/:id",
1813
+ parse: {
1814
+ id: Number,
1815
+ nip: Number,
1816
+ pwd: Number,
1817
+ smh: Number
1784
1818
  }
1785
1819
  }
1786
1820
  }
1787
1821
  }
1788
- },
1789
- state = {
1790
- routes: [{
1791
- name: "Foe",
1792
- state: {
1793
- index: 1,
1794
- routes: [{
1795
- name: "Foo"
1796
- }, {
1797
- name: "Bas",
1798
- params: {
1799
- nip: 5,
1800
- pwd: 10,
1801
- id: 15
1802
- },
1803
- path
1804
- }]
1805
- }
1806
- }]
1807
- };
1808
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1822
+ }
1823
+ };
1824
+ var state = {
1825
+ routes: [{
1826
+ name: "Foe",
1827
+ state: {
1828
+ index: 1,
1829
+ routes: [{
1830
+ name: "Foo"
1831
+ }, {
1832
+ name: "Bas",
1833
+ params: {
1834
+ nip: 5,
1835
+ pwd: 10,
1836
+ id: 15
1837
+ },
1838
+ path
1839
+ }]
1840
+ }
1841
+ }]
1842
+ };
1843
+ expect(getStateFromPath(path, config)).toEqual(state);
1844
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1809
1845
  });
1810
1846
  test.skip("handle optional params in the beginning v1", function () {
1811
- var path = "5/10/foos/15",
1812
- config = {
1813
- screens: {
1814
- Foe: {
1815
- path: "/",
1816
- initialRouteName: "Foo",
1817
- screens: {
1818
- Foo: "foo",
1819
- Bis: {
1820
- path: "foo/:id",
1821
- parse: {
1822
- id: Number
1823
- }
1824
- },
1825
- Bas: {
1826
- path: ":nip?/:pwd/foos/:smh?/:id",
1827
- parse: {
1828
- id: Number,
1829
- nip: Number,
1830
- pwd: Number,
1831
- smh: Number
1832
- }
1847
+ var path = "5/10/foos/15";
1848
+ var config = {
1849
+ screens: {
1850
+ Foe: {
1851
+ path: "/",
1852
+ initialRouteName: "Foo",
1853
+ screens: {
1854
+ Foo: "foo",
1855
+ Bis: {
1856
+ path: "foo/:id",
1857
+ parse: {
1858
+ id: Number
1859
+ }
1860
+ },
1861
+ Bas: {
1862
+ path: ":nip?/:pwd/foos/:smh?/:id",
1863
+ parse: {
1864
+ id: Number,
1865
+ nip: Number,
1866
+ pwd: Number,
1867
+ smh: Number
1833
1868
  }
1834
1869
  }
1835
1870
  }
1836
1871
  }
1837
- },
1838
- state = {
1839
- routes: [{
1840
- name: "Foe",
1841
- state: {
1842
- index: 1,
1843
- routes: [{
1844
- name: "Foo"
1845
- }, {
1846
- name: "Bas",
1847
- params: {
1848
- nip: 5,
1849
- pwd: 10,
1850
- id: 15
1851
- },
1852
- path
1853
- }]
1854
- }
1855
- }]
1856
- };
1857
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/5/10/foos/15"));
1872
+ }
1873
+ };
1874
+ var state = {
1875
+ routes: [{
1876
+ name: "Foe",
1877
+ state: {
1878
+ index: 1,
1879
+ routes: [{
1880
+ name: "Foo"
1881
+ }, {
1882
+ name: "Bas",
1883
+ params: {
1884
+ nip: 5,
1885
+ pwd: 10,
1886
+ id: 15
1887
+ },
1888
+ path
1889
+ }]
1890
+ }
1891
+ }]
1892
+ };
1893
+ expect(getStateFromPath(path, config)).toEqual(state);
1894
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/5/10/foos/15"));
1858
1895
  });
1859
1896
  test.skip("handle optional params in the beginning v2", function () {
1860
- var path = "5/10/foos/15",
1861
- config = {
1862
- screens: {
1863
- Foe: {
1864
- path: "/",
1865
- initialRouteName: "Foo",
1866
- screens: {
1867
- Foo: "foo",
1868
- Bis: {
1869
- path: "foo/:id",
1870
- parse: {
1871
- id: Number
1872
- }
1873
- },
1874
- Bas: {
1875
- path: ":nip?/:smh?/:pwd/foos/:id",
1876
- parse: {
1877
- id: Number,
1878
- nip: Number,
1879
- pwd: Number,
1880
- smh: Number
1881
- }
1897
+ var path = "5/10/foos/15";
1898
+ var config = {
1899
+ screens: {
1900
+ Foe: {
1901
+ path: "/",
1902
+ initialRouteName: "Foo",
1903
+ screens: {
1904
+ Foo: "foo",
1905
+ Bis: {
1906
+ path: "foo/:id",
1907
+ parse: {
1908
+ id: Number
1909
+ }
1910
+ },
1911
+ Bas: {
1912
+ path: ":nip?/:smh?/:pwd/foos/:id",
1913
+ parse: {
1914
+ id: Number,
1915
+ nip: Number,
1916
+ pwd: Number,
1917
+ smh: Number
1882
1918
  }
1883
1919
  }
1884
1920
  }
1885
1921
  }
1886
- },
1887
- state = {
1888
- routes: [{
1889
- name: "Foe",
1890
- state: {
1891
- index: 1,
1892
- routes: [{
1893
- name: "Foo"
1894
- }, {
1895
- name: "Bas",
1896
- params: {
1897
- nip: 5,
1898
- pwd: 10,
1899
- id: 15
1900
- },
1901
- path
1902
- }]
1903
- }
1904
- }]
1905
- };
1906
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/5/10/foos/15"));
1907
- });
1908
- test.skip("merges parent patterns if needed", function () {
1909
- var path = "foo/42/baz/babel",
1910
- config = {
1911
- screens: {
1912
- Foo: {
1913
- path: "foo/:bar",
1914
- parse: {
1915
- bar: Number
1922
+ }
1923
+ };
1924
+ var state = {
1925
+ routes: [{
1926
+ name: "Foe",
1927
+ state: {
1928
+ index: 1,
1929
+ routes: [{
1930
+ name: "Foo"
1931
+ }, {
1932
+ name: "Bas",
1933
+ params: {
1934
+ nip: 5,
1935
+ pwd: 10,
1936
+ id: 15
1916
1937
  },
1917
- screens: {
1918
- Baz: "baz/:qux"
1919
- }
1920
- }
1938
+ path
1939
+ }]
1921
1940
  }
1922
- },
1923
- state = {
1924
- routes: [{
1925
- name: "Foo",
1926
- params: {
1927
- bar: 42
1941
+ }]
1942
+ };
1943
+ expect(getStateFromPath(path, config)).toEqual(state);
1944
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/5/10/foos/15"));
1945
+ });
1946
+ test.skip("merges parent patterns if needed", function () {
1947
+ var path = "foo/42/baz/babel";
1948
+ var config = {
1949
+ screens: {
1950
+ Foo: {
1951
+ path: "foo/:bar",
1952
+ parse: {
1953
+ bar: Number
1928
1954
  },
1929
- state: {
1930
- routes: [{
1931
- name: "Baz",
1932
- params: {
1933
- qux: "babel"
1934
- },
1935
- path
1936
- }]
1955
+ screens: {
1956
+ Baz: "baz/:qux"
1937
1957
  }
1938
- }]
1939
- };
1940
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/foo/42/baz/babel"));
1958
+ }
1959
+ }
1960
+ };
1961
+ var state = {
1962
+ routes: [{
1963
+ name: "Foo",
1964
+ params: {
1965
+ bar: 42
1966
+ },
1967
+ state: {
1968
+ routes: [{
1969
+ name: "Baz",
1970
+ params: {
1971
+ qux: "babel"
1972
+ },
1973
+ path
1974
+ }]
1975
+ }
1976
+ }]
1977
+ };
1978
+ expect(getStateFromPath(path, config)).toEqual(state);
1979
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/foo/42/baz/babel"));
1941
1980
  });
1942
1981
  test.skip("ignores extra slashes in the pattern", function () {
1943
- var path = "/bar/42",
1944
- config = {
1945
- screens: {
1946
- Foo: {
1947
- screens: {
1948
- Bar: {
1949
- path: "/bar//:id/"
1950
- }
1982
+ var path = "/bar/42";
1983
+ var config = {
1984
+ screens: {
1985
+ Foo: {
1986
+ screens: {
1987
+ Bar: {
1988
+ path: "/bar//:id/"
1951
1989
  }
1952
1990
  }
1953
1991
  }
1954
- },
1955
- state = {
1956
- routes: [{
1957
- name: "Foo",
1958
- state: {
1959
- routes: [{
1960
- name: "Bar",
1961
- params: {
1962
- id: "42"
1963
- },
1964
- path
1965
- }]
1966
- }
1967
- }]
1968
- };
1969
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1992
+ }
1993
+ };
1994
+ var state = {
1995
+ routes: [{
1996
+ name: "Foo",
1997
+ state: {
1998
+ routes: [{
1999
+ name: "Bar",
2000
+ params: {
2001
+ id: "42"
2002
+ },
2003
+ path
2004
+ }]
2005
+ }
2006
+ }]
2007
+ };
2008
+ expect(getStateFromPath(path, config)).toEqual(state);
2009
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
1970
2010
  });
1971
2011
  test.skip("matches wildcard patterns at root", function () {
1972
- var path = "/test/bar/42/whatever",
1973
- config = {
1974
- screens: {
1975
- 404: "*",
1976
- Foo: {
1977
- screens: {
1978
- Bar: {
1979
- path: "/bar/:id/"
2012
+ var path = "/test/bar/42/whatever";
2013
+ var config = {
2014
+ screens: {
2015
+ 404: "*",
2016
+ Foo: {
2017
+ screens: {
2018
+ Bar: {
2019
+ path: "/bar/:id/"
2020
+ }
2021
+ }
2022
+ }
2023
+ }
2024
+ };
2025
+ var state = {
2026
+ routes: [{
2027
+ name: "404",
2028
+ path
2029
+ }]
2030
+ };
2031
+ expect(getStateFromPath(path, config)).toEqual(state);
2032
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/404"));
2033
+ });
2034
+ test.skip("matches wildcard patterns at nested level", function () {
2035
+ var path = "/bar/42/whatever/baz/initt";
2036
+ var config = {
2037
+ screens: {
2038
+ Foo: {
2039
+ screens: {
2040
+ Bar: {
2041
+ path: "/bar/:id/",
2042
+ screens: {
2043
+ 404: "*"
1980
2044
  }
1981
2045
  }
1982
2046
  }
1983
2047
  }
1984
- },
1985
- state = {
1986
- routes: [{
1987
- name: "404",
1988
- path
1989
- }]
1990
- };
1991
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/404"));
2048
+ }
2049
+ };
2050
+ var state = {
2051
+ routes: [{
2052
+ name: "Foo",
2053
+ state: {
2054
+ routes: [{
2055
+ name: "Bar",
2056
+ params: {
2057
+ id: "42"
2058
+ },
2059
+ state: {
2060
+ routes: [{
2061
+ name: "404",
2062
+ path
2063
+ }]
2064
+ }
2065
+ }]
2066
+ }
2067
+ }]
2068
+ };
2069
+ expect(getStateFromPath(path, config)).toEqual(state);
2070
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/bar/42/404"));
1992
2071
  });
1993
- test.skip("matches wildcard patterns at nested level", function () {
1994
- var path = "/bar/42/whatever/baz/initt",
1995
- config = {
1996
- screens: {
1997
- Foo: {
1998
- screens: {
1999
- Bar: {
2000
- path: "/bar/:id/",
2001
- screens: {
2002
- 404: "*"
2072
+ test.skip("matches wildcard patterns at nested level with exact", function () {
2073
+ var path = "/whatever";
2074
+ var config = {
2075
+ screens: {
2076
+ Foo: {
2077
+ screens: {
2078
+ Bar: {
2079
+ path: "/bar/:id/",
2080
+ screens: {
2081
+ 404: {
2082
+ path: "*",
2083
+ exact: true
2003
2084
  }
2004
2085
  }
2005
- }
2086
+ },
2087
+ Baz: {}
2006
2088
  }
2007
2089
  }
2008
- },
2009
- state = {
2010
- routes: [{
2011
- name: "Foo",
2012
- state: {
2013
- routes: [{
2014
- name: "Bar",
2015
- params: {
2016
- id: "42"
2017
- },
2018
- state: {
2019
- routes: [{
2020
- name: "404",
2021
- path
2022
- }]
2023
- }
2024
- }]
2025
- }
2026
- }]
2027
- };
2028
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/bar/42/404"));
2029
- });
2030
- test.skip("matches wildcard patterns at nested level with exact", function () {
2031
- var path = "/whatever",
2032
- config = {
2033
- screens: {
2034
- Foo: {
2035
- screens: {
2036
- Bar: {
2037
- path: "/bar/:id/",
2038
- screens: {
2039
- 404: {
2040
- path: "*",
2041
- exact: !0
2042
- }
2043
- }
2044
- },
2045
- Baz: {}
2090
+ }
2091
+ };
2092
+ var state = {
2093
+ routes: [{
2094
+ name: "Foo",
2095
+ state: {
2096
+ routes: [{
2097
+ name: "Bar",
2098
+ state: {
2099
+ routes: [{
2100
+ name: "404",
2101
+ path
2102
+ }]
2046
2103
  }
2047
- }
2104
+ }]
2048
2105
  }
2049
- },
2050
- state = {
2051
- routes: [{
2052
- name: "Foo",
2053
- state: {
2054
- routes: [{
2055
- name: "Bar",
2056
- state: {
2057
- routes: [{
2058
- name: "404",
2059
- path
2060
- }]
2061
- }
2062
- }]
2063
- }
2064
- }]
2065
- };
2066
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/404"));
2106
+ }]
2107
+ };
2108
+ expect(getStateFromPath(path, config)).toEqual(state);
2109
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/404"));
2067
2110
  });
2068
2111
  test.skip("tries to match wildcard patterns at the end", function () {
2069
- var path = "/bar/42/test",
2070
- config = {
2071
- screens: {
2072
- Foo: {
2073
- screens: {
2074
- Bar: {
2075
- path: "/bar/:id/",
2076
- screens: {
2077
- 404: "*",
2078
- UserProfile: ":userSlug",
2079
- Test: "test"
2080
- }
2112
+ var path = "/bar/42/test";
2113
+ var config = {
2114
+ screens: {
2115
+ Foo: {
2116
+ screens: {
2117
+ Bar: {
2118
+ path: "/bar/:id/",
2119
+ screens: {
2120
+ 404: "*",
2121
+ UserProfile: ":userSlug",
2122
+ Test: "test"
2081
2123
  }
2082
2124
  }
2083
2125
  }
2084
2126
  }
2085
- },
2086
- state = {
2087
- routes: [{
2088
- name: "Foo",
2089
- state: {
2090
- routes: [{
2091
- name: "Bar",
2092
- params: {
2093
- id: "42"
2094
- },
2095
- state: {
2096
- routes: [{
2097
- name: "Test",
2098
- path
2099
- }]
2100
- }
2101
- }]
2102
- }
2103
- }]
2104
- };
2105
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
2127
+ }
2128
+ };
2129
+ var state = {
2130
+ routes: [{
2131
+ name: "Foo",
2132
+ state: {
2133
+ routes: [{
2134
+ name: "Bar",
2135
+ params: {
2136
+ id: "42"
2137
+ },
2138
+ state: {
2139
+ routes: [{
2140
+ name: "Test",
2141
+ path
2142
+ }]
2143
+ }
2144
+ }]
2145
+ }
2146
+ }]
2147
+ };
2148
+ expect(getStateFromPath(path, config)).toEqual(state);
2149
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
2106
2150
  });
2107
2151
  test.skip("uses nearest parent wildcard match for unmatched paths", function () {
2108
- var path = "/bar/42/baz/test",
2109
- config = {
2110
- screens: {
2111
- Foo: {
2112
- screens: {
2113
- Bar: {
2114
- path: "/bar/:id/",
2115
- screens: {
2116
- Baz: "baz"
2117
- }
2118
- },
2119
- 404: "*"
2120
- }
2152
+ var path = "/bar/42/baz/test";
2153
+ var config = {
2154
+ screens: {
2155
+ Foo: {
2156
+ screens: {
2157
+ Bar: {
2158
+ path: "/bar/:id/",
2159
+ screens: {
2160
+ Baz: "baz"
2161
+ }
2162
+ },
2163
+ 404: "*"
2121
2164
  }
2122
2165
  }
2123
- },
2124
- state = {
2125
- routes: [{
2126
- name: "Foo",
2127
- state: {
2128
- routes: [{
2129
- name: "404",
2130
- path
2131
- }]
2132
- }
2133
- }]
2134
- };
2135
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/404"));
2166
+ }
2167
+ };
2168
+ var state = {
2169
+ routes: [{
2170
+ name: "Foo",
2171
+ state: {
2172
+ routes: [{
2173
+ name: "404",
2174
+ path
2175
+ }]
2176
+ }
2177
+ }]
2178
+ };
2179
+ expect(getStateFromPath(path, config)).toEqual(state);
2180
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/404"));
2136
2181
  });
2137
2182
  test.skip("matches screen with overlapping initial path and wildcard", function () {
2138
- var path = "/bar/42/baz/test/whatever",
2139
- config = {
2140
- screens: {
2141
- Foo: {
2142
- screens: {
2143
- Bar: {
2144
- path: "/bar/:id/",
2145
- screens: {
2146
- Baz: "baz"
2147
- }
2148
- },
2149
- Baz: "/bar/:id/*"
2150
- }
2183
+ var path = "/bar/42/baz/test/whatever";
2184
+ var config = {
2185
+ screens: {
2186
+ Foo: {
2187
+ screens: {
2188
+ Bar: {
2189
+ path: "/bar/:id/",
2190
+ screens: {
2191
+ Baz: "baz"
2192
+ }
2193
+ },
2194
+ Baz: "/bar/:id/*"
2151
2195
  }
2152
2196
  }
2153
- },
2154
- state = {
2155
- routes: [{
2156
- name: "Foo",
2157
- state: {
2158
- routes: [{
2159
- name: "Baz",
2160
- params: {
2161
- id: "42"
2162
- },
2163
- path
2164
- }]
2165
- }
2166
- }]
2167
- };
2168
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/bar/42/Baz"));
2197
+ }
2198
+ };
2199
+ var state = {
2200
+ routes: [{
2201
+ name: "Foo",
2202
+ state: {
2203
+ routes: [{
2204
+ name: "Baz",
2205
+ params: {
2206
+ id: "42"
2207
+ },
2208
+ path
2209
+ }]
2210
+ }
2211
+ }]
2212
+ };
2213
+ expect(getStateFromPath(path, config)).toEqual(state);
2214
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(changePath(state, "/bar/42/Baz"));
2169
2215
  });
2170
2216
  test("throws if two screens map to the same pattern", function () {
2171
2217
  var path = "/bar/42/baz/test";
@@ -2185,7 +2231,8 @@ test("throws if two screens map to the same pattern", function () {
2185
2231
  }
2186
2232
  }
2187
2233
  });
2188
- }).toThrow("Found conflicting screens with the same pattern. The pattern 'bar/:id/baz' resolves to both 'Foo > Bax' and 'Foo > Bar > Baz'. Patterns must be unique and cannot resolve to more than one screen."), expect(function () {
2234
+ }).toThrow("Found conflicting screens with the same pattern. The pattern 'bar/:id/baz' resolves to both 'Foo > Bax' and 'Foo > Bar > Baz'. Patterns must be unique and cannot resolve to more than one screen.");
2235
+ expect(function () {
2189
2236
  return getStateFromPath(path, {
2190
2237
  screens: {
2191
2238
  Foo: {
@@ -2203,100 +2250,102 @@ test("throws if two screens map to the same pattern", function () {
2203
2250
  }).not.toThrow();
2204
2251
  });
2205
2252
  test("correctly applies initialRouteName for config with similar route names", function () {
2206
- var path = "/weekly-earnings",
2207
- config = {
2208
- screens: {
2209
- RootTabs: {
2210
- screens: {
2211
- HomeTab: {
2212
- screens: {
2213
- Home: "",
2214
- WeeklyEarnings: "weekly-earnings",
2215
- EventDetails: "event-details/:eventId"
2216
- }
2217
- },
2218
- EarningsTab: {
2219
- initialRouteName: "Earnings",
2220
- path: "earnings",
2221
- screens: {
2222
- Earnings: "",
2223
- WeeklyEarnings: "weekly-earnings"
2224
- }
2253
+ var path = "/weekly-earnings";
2254
+ var config = {
2255
+ screens: {
2256
+ RootTabs: {
2257
+ screens: {
2258
+ HomeTab: {
2259
+ screens: {
2260
+ Home: "",
2261
+ WeeklyEarnings: "weekly-earnings",
2262
+ EventDetails: "event-details/:eventId"
2263
+ }
2264
+ },
2265
+ EarningsTab: {
2266
+ initialRouteName: "Earnings",
2267
+ path: "earnings",
2268
+ screens: {
2269
+ Earnings: "",
2270
+ WeeklyEarnings: "weekly-earnings"
2225
2271
  }
2226
2272
  }
2227
2273
  }
2228
2274
  }
2229
- },
2230
- state = {
2231
- routes: [{
2232
- name: "RootTabs",
2233
- key: "RootTabs-0",
2234
- state: {
2235
- routes: [{
2236
- name: "HomeTab",
2237
- key: "HomeTab-1",
2238
- state: {
2239
- routes: [{
2240
- name: "WeeklyEarnings",
2241
- key: "WeeklyEarnings-2",
2242
- path
2243
- }]
2244
- }
2245
- }]
2246
- }
2247
- }]
2248
- };
2249
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
2275
+ }
2276
+ };
2277
+ var state = {
2278
+ routes: [{
2279
+ name: "RootTabs",
2280
+ key: "RootTabs-0",
2281
+ state: {
2282
+ routes: [{
2283
+ name: "HomeTab",
2284
+ key: "HomeTab-1",
2285
+ state: {
2286
+ routes: [{
2287
+ name: "WeeklyEarnings",
2288
+ key: "WeeklyEarnings-2",
2289
+ path
2290
+ }]
2291
+ }
2292
+ }]
2293
+ }
2294
+ }]
2295
+ };
2296
+ expect(getStateFromPath(path, config)).toEqual(state);
2297
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
2250
2298
  });
2251
2299
  test("correctly applies initialRouteName for config with similar route names v2", function () {
2252
- var path = "/earnings/weekly-earnings",
2253
- config = {
2254
- screens: {
2255
- RootTabs: {
2256
- screens: {
2257
- HomeTab: {
2258
- initialRouteName: "Home",
2259
- screens: {
2260
- Home: "",
2261
- WeeklyEarnings: "weekly-earnings"
2262
- }
2263
- },
2264
- EarningsTab: {
2265
- initialRouteName: "Earnings",
2266
- path: "earnings",
2267
- screens: {
2268
- Earnings: "",
2269
- WeeklyEarnings: "weekly-earnings"
2270
- }
2300
+ var path = "/earnings/weekly-earnings";
2301
+ var config = {
2302
+ screens: {
2303
+ RootTabs: {
2304
+ screens: {
2305
+ HomeTab: {
2306
+ initialRouteName: "Home",
2307
+ screens: {
2308
+ Home: "",
2309
+ WeeklyEarnings: "weekly-earnings"
2310
+ }
2311
+ },
2312
+ EarningsTab: {
2313
+ initialRouteName: "Earnings",
2314
+ path: "earnings",
2315
+ screens: {
2316
+ Earnings: "",
2317
+ WeeklyEarnings: "weekly-earnings"
2271
2318
  }
2272
2319
  }
2273
2320
  }
2274
2321
  }
2275
- },
2276
- state = {
2277
- routes: [{
2278
- name: "RootTabs",
2279
- key: "RootTabs-0",
2280
- state: {
2281
- routes: [{
2282
- name: "EarningsTab",
2283
- key: "EarningsTab-1",
2284
- state: {
2285
- index: 1,
2286
- routes: [{
2287
- name: "Earnings",
2288
- key: "Earnings-2"
2289
- }, {
2290
- name: "WeeklyEarnings",
2291
- key: "WeeklyEarnings-3",
2292
- path
2293
- }]
2294
- }
2295
- }]
2296
- }
2297
- }]
2298
- };
2299
- expect(getStateFromPath(path, config)).toEqual(state), expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
2322
+ }
2323
+ };
2324
+ var state = {
2325
+ routes: [{
2326
+ name: "RootTabs",
2327
+ key: "RootTabs-0",
2328
+ state: {
2329
+ routes: [{
2330
+ name: "EarningsTab",
2331
+ key: "EarningsTab-1",
2332
+ state: {
2333
+ index: 1,
2334
+ routes: [{
2335
+ name: "Earnings",
2336
+ key: "Earnings-2"
2337
+ }, {
2338
+ name: "WeeklyEarnings",
2339
+ key: "WeeklyEarnings-3",
2340
+ path
2341
+ }]
2342
+ }
2343
+ }]
2344
+ }
2345
+ }]
2346
+ };
2347
+ expect(getStateFromPath(path, config)).toEqual(state);
2348
+ expect(getStateFromPath(getPathFromState(state, config), config)).toEqual(state);
2300
2349
  });
2301
2350
  test.skip("throws when invalid properties are specified in the config", function () {
2302
2351
  expect(function () {
@@ -2321,7 +2370,8 @@ test.skip("throws when invalid properties are specified in the config", function
2321
2370
  If you want to specify configuration for screens, you need to specify them under a 'screens' property.
2322
2371
 
2323
2372
  See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration."
2324
- `), expect(function () {
2373
+ `);
2374
+ expect(function () {
2325
2375
  return getStateFromPath("", {
2326
2376
  screens: {
2327
2377
  Foo: "foo",
@@ -2351,75 +2401,77 @@ You can only specify the following properties:
2351
2401
  If you want to specify configuration for screens, you need to specify them under a 'screens' property.
2352
2402
 
2353
2403
  See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration."
2354
- `), expect(function () {
2404
+ `);
2405
+ expect(function () {
2355
2406
  return getStateFromPath("", {
2356
2407
  path: "foo/:id"
2357
2408
  });
2358
2409
  }).toThrowErrorMatchingInlineSnapshot(`"Found invalid path 'foo/:id'. The 'path' in the top-level configuration cannot contain patterns for params."`);
2359
2410
  });
2360
2411
  test.skip("encodes special characters in params", function () {
2361
- var paramWithValidSymbols = "User09-A_Z~!$&'()*+,;=:@__",
2362
- invalidSymbols = "#?[]{}%<>||",
2363
- queryString = "user#email@gmail.com=2&4",
2364
- path = `users/id/${paramWithValidSymbols}${encodeURIComponent(invalidSymbols)}?query=${encodeURIComponent(queryString)}`,
2365
- config = {
2366
- path: "users",
2367
- screens: {
2368
- Users: {
2369
- screens: {
2370
- User: "id/:id"
2371
- }
2412
+ var paramWithValidSymbols = `User09-A_Z~!$&'()*+,;=:@__`;
2413
+ var invalidSymbols = "#?[]{}%<>||";
2414
+ var queryString = "user#email@gmail.com=2&4";
2415
+ var path = `users/id/${paramWithValidSymbols}${encodeURIComponent(invalidSymbols)}?query=${encodeURIComponent(queryString)}`;
2416
+ var config = {
2417
+ path: "users",
2418
+ screens: {
2419
+ Users: {
2420
+ screens: {
2421
+ User: "id/:id"
2372
2422
  }
2373
2423
  }
2374
- },
2375
- state = {
2376
- routes: [{
2377
- name: "Users",
2378
- state: {
2379
- routes: [{
2380
- name: "User",
2381
- params: {
2382
- id: `${paramWithValidSymbols}${invalidSymbols}`,
2383
- query: queryString
2384
- }
2385
- }]
2386
- }
2387
- }]
2388
- };
2389
- expect(getPathFromState(state, config)).toBe(`/${path}`), expect(getPathFromState(getStateFromPath(path, config), config)).toBe(`/${path}`);
2424
+ }
2425
+ };
2426
+ var state = {
2427
+ routes: [{
2428
+ name: "Users",
2429
+ state: {
2430
+ routes: [{
2431
+ name: "User",
2432
+ params: {
2433
+ id: `${paramWithValidSymbols}${invalidSymbols}`,
2434
+ query: queryString
2435
+ }
2436
+ }]
2437
+ }
2438
+ }]
2439
+ };
2440
+ expect(getPathFromState(state, config)).toBe(`/${path}`);
2441
+ expect(getPathFromState(getStateFromPath(path, config), config)).toBe(`/${path}`);
2390
2442
  });
2391
2443
  test.skip("resolves nested path params with same name to correct screen", function () {
2392
- var path = "/foo/42/bar/43",
2393
- config = {
2394
- initialRouteName: "Foo",
2395
- screens: {
2396
- Foo: {
2397
- path: "foo/:id",
2398
- screens: {
2399
- Bar: {
2400
- path: "bar/:id"
2401
- }
2444
+ var path = "/foo/42/bar/43";
2445
+ var config = {
2446
+ initialRouteName: "Foo",
2447
+ screens: {
2448
+ Foo: {
2449
+ path: "foo/:id",
2450
+ screens: {
2451
+ Bar: {
2452
+ path: "bar/:id"
2402
2453
  }
2403
2454
  }
2404
2455
  }
2405
- },
2406
- state = {
2407
- routes: [{
2408
- name: "Foo",
2409
- params: {
2410
- id: "42"
2411
- },
2412
- state: {
2413
- routes: [{
2414
- name: "Bar",
2415
- params: {
2416
- id: "43"
2417
- },
2418
- path
2419
- }]
2420
- }
2421
- }]
2422
- };
2456
+ }
2457
+ };
2458
+ var state = {
2459
+ routes: [{
2460
+ name: "Foo",
2461
+ params: {
2462
+ id: "42"
2463
+ },
2464
+ state: {
2465
+ routes: [{
2466
+ name: "Bar",
2467
+ params: {
2468
+ id: "43"
2469
+ },
2470
+ path
2471
+ }]
2472
+ }
2473
+ }]
2474
+ };
2423
2475
  expect(getStateFromPath(path, config)).toEqual(state);
2424
2476
  });
2425
2477
  test("parses / same as empty string", function () {
@@ -2480,7 +2532,8 @@ test.skip("matches regexp patterns when provided", function () {
2480
2532
  },
2481
2533
  path: "foo/42"
2482
2534
  }]
2483
- }), expect(getStateFromPath("foo/bar", config)).toEqual({
2535
+ });
2536
+ expect(getStateFromPath("foo/bar", config)).toEqual({
2484
2537
  routes: [{
2485
2538
  name: "Bar",
2486
2539
  params: {
@@ -2488,7 +2541,8 @@ test.skip("matches regexp patterns when provided", function () {
2488
2541
  },
2489
2542
  path: "foo/bar"
2490
2543
  }]
2491
- }), expect(getStateFromPath("foo/42/bar", config)).toEqual({
2544
+ });
2545
+ expect(getStateFromPath("foo/42/bar", config)).toEqual({
2492
2546
  routes: [{
2493
2547
  name: "Baz",
2494
2548
  params: {
@@ -2497,7 +2551,8 @@ test.skip("matches regexp patterns when provided", function () {
2497
2551
  },
2498
2552
  path: "foo/42/bar"
2499
2553
  }]
2500
- }), expect(getStateFromPath("foo/@bar", config)).toEqual({
2554
+ });
2555
+ expect(getStateFromPath("foo/@bar", config)).toEqual({
2501
2556
  routes: [{
2502
2557
  name: "Qux",
2503
2558
  params: {
@@ -2505,7 +2560,8 @@ test.skip("matches regexp patterns when provided", function () {
2505
2560
  },
2506
2561
  path: "foo/@bar"
2507
2562
  }]
2508
- }), expect(getStateFromPath("foo/@bar", config)).toEqual({
2563
+ });
2564
+ expect(getStateFromPath("foo/@bar", config)).toEqual({
2509
2565
  routes: [{
2510
2566
  name: "Qux",
2511
2567
  params: {
@@ -2513,7 +2569,9 @@ test.skip("matches regexp patterns when provided", function () {
2513
2569
  },
2514
2570
  path: "foo/@bar"
2515
2571
  }]
2516
- }), expect(getStateFromPath("foo/42a", config)).toBeUndefined(), expect(getStateFromPath("foo/bar/123", config)).toEqual({
2572
+ });
2573
+ expect(getStateFromPath("foo/42a", config)).toBeUndefined();
2574
+ expect(getStateFromPath("foo/bar/123", config)).toEqual({
2517
2575
  routes: [{
2518
2576
  name: "Quy",
2519
2577
  params: {
@@ -2521,7 +2579,8 @@ test.skip("matches regexp patterns when provided", function () {
2521
2579
  },
2522
2580
  path: "foo/bar/123"
2523
2581
  }]
2524
- }), expect(getStateFromPath("foo/bar/test", config)).toEqual({
2582
+ });
2583
+ expect(getStateFromPath("foo/bar/test", config)).toEqual({
2525
2584
  routes: [{
2526
2585
  name: "Quz",
2527
2586
  params: {
@@ -2529,12 +2588,14 @@ test.skip("matches regexp patterns when provided", function () {
2529
2588
  },
2530
2589
  path: "foo/bar/test"
2531
2590
  }]
2532
- }), expect(getStateFromPath("foo/bar/baz", config)).toEqual({
2591
+ });
2592
+ expect(getStateFromPath("foo/bar/baz", config)).toEqual({
2533
2593
  routes: [{
2534
2594
  name: "Quu",
2535
2595
  path: "foo/bar/baz"
2536
2596
  }]
2537
- }), expect(getStateFromPath("foo/bar/hello/world", config)).toEqual({
2597
+ });
2598
+ expect(getStateFromPath("foo/bar/hello/world", config)).toEqual({
2538
2599
  routes: [{
2539
2600
  name: "NotFound",
2540
2601
  path: "foo/bar/hello/world"
@@ -2549,7 +2610,9 @@ test("regexp pattern doesn't match slash", function () {
2549
2610
  }
2550
2611
  }
2551
2612
  };
2552
- expect(getStateFromPath("foo/bar/", config)).toBeUndefined(), expect(getStateFromPath("foo/bar/baz", config)).toBeUndefined(), expect(getStateFromPath("foo/bar/baz/qux", config)).toBeUndefined();
2613
+ expect(getStateFromPath("foo/bar/", config)).toBeUndefined();
2614
+ expect(getStateFromPath("foo/bar/baz", config)).toBeUndefined();
2615
+ expect(getStateFromPath("foo/bar/baz/qux", config)).toBeUndefined();
2553
2616
  });
2554
2617
  test.skip("handles alias for paths", function () {
2555
2618
  var config = {
@@ -2567,7 +2630,7 @@ test.skip("handles alias for paths", function () {
2567
2630
  },
2568
2631
  alias: [{
2569
2632
  path: "second/:id",
2570
- exact: !0
2633
+ exact: true
2571
2634
  }, "third", {
2572
2635
  path: "fourth/:id",
2573
2636
  parse: {
@@ -2589,12 +2652,16 @@ test.skip("handles alias for paths", function () {
2589
2652
  name: "Foo",
2590
2653
  path: "foo"
2591
2654
  }]
2592
- }), expect(getPathFromState(getStateFromPath("foo", config), config)).toBe("/foo"), expect(getStateFromPath("first", config)).toEqual({
2655
+ });
2656
+ expect(getPathFromState(getStateFromPath("foo", config), config)).toBe("/foo");
2657
+ expect(getStateFromPath("first", config)).toEqual({
2593
2658
  routes: [{
2594
2659
  name: "Foo",
2595
2660
  path: "first"
2596
2661
  }]
2597
- }), expect(getPathFromState(getStateFromPath("first", config), config)).toBe("/foo"), expect(getStateFromPath("foo/baz/@$test", config)).toEqual({
2662
+ });
2663
+ expect(getPathFromState(getStateFromPath("first", config), config)).toBe("/foo");
2664
+ expect(getStateFromPath("foo/baz/@$test", config)).toEqual({
2598
2665
  routes: [{
2599
2666
  name: "Foo",
2600
2667
  state: {
@@ -2607,7 +2674,9 @@ test.skip("handles alias for paths", function () {
2607
2674
  }]
2608
2675
  }
2609
2676
  }]
2610
- }), expect(getPathFromState(getStateFromPath("foo/baz/@$test", config), config)).toBe("/foo/baz/$test"), expect(getStateFromPath("second/42", config)).toEqual({
2677
+ });
2678
+ expect(getPathFromState(getStateFromPath("foo/baz/@$test", config), config)).toBe("/foo/baz/$test");
2679
+ expect(getStateFromPath("second/42", config)).toEqual({
2611
2680
  routes: [{
2612
2681
  name: "Foo",
2613
2682
  state: {
@@ -2620,7 +2689,9 @@ test.skip("handles alias for paths", function () {
2620
2689
  }]
2621
2690
  }
2622
2691
  }]
2623
- }), expect(getPathFromState(getStateFromPath("second/42", config), config)).toBe("/foo/baz/42"), expect(getStateFromPath("foo/third", config)).toEqual({
2692
+ });
2693
+ expect(getPathFromState(getStateFromPath("second/42", config), config)).toBe("/foo/baz/42");
2694
+ expect(getStateFromPath("foo/third", config)).toEqual({
2624
2695
  routes: [{
2625
2696
  name: "Foo",
2626
2697
  state: {
@@ -2630,7 +2701,9 @@ test.skip("handles alias for paths", function () {
2630
2701
  }]
2631
2702
  }
2632
2703
  }]
2633
- }), expect(getPathFromState(getStateFromPath("foo/third", config), config)).toBe("/foo/baz"), expect(getStateFromPath("foo/fourth/@$test", config)).toEqual({
2704
+ });
2705
+ expect(getPathFromState(getStateFromPath("foo/third", config), config)).toBe("/foo/baz");
2706
+ expect(getStateFromPath("foo/fourth/@$test", config)).toEqual({
2634
2707
  routes: [{
2635
2708
  name: "Foo",
2636
2709
  state: {
@@ -2643,7 +2716,9 @@ test.skip("handles alias for paths", function () {
2643
2716
  }]
2644
2717
  }
2645
2718
  }]
2646
- }), expect(getPathFromState(getStateFromPath("foo/fourth/@$test", config), config)).toBe("/foo/baz/@test"), expect(getStateFromPath("foo/qux/42", config)).toEqual({
2719
+ });
2720
+ expect(getPathFromState(getStateFromPath("foo/fourth/@$test", config), config)).toBe("/foo/baz/@test");
2721
+ expect(getStateFromPath("foo/qux/42", config)).toEqual({
2647
2722
  routes: [{
2648
2723
  name: "Foo",
2649
2724
  state: {
@@ -2656,7 +2731,8 @@ test.skip("handles alias for paths", function () {
2656
2731
  }]
2657
2732
  }
2658
2733
  }]
2659
- }), expect(getPathFromState(getStateFromPath("foo/qux/42", config), config)).toBe("/foo/qux/42");
2734
+ });
2735
+ expect(getPathFromState(getStateFromPath("foo/qux/42", config), config)).toBe("/foo/qux/42");
2660
2736
  });
2661
2737
  test.skip("throws if screen has alias but no path", function () {
2662
2738
  expect(function () {
@@ -2667,6 +2743,6 @@ test.skip("throws if screen has alias but no path", function () {
2667
2743
  }
2668
2744
  }
2669
2745
  });
2670
- }).toThrow("Screen 'Foo' doesn't specify a 'path'. A 'path' needs to be specified in order to use 'alias'.");
2746
+ }).toThrow(`Screen 'Foo' doesn't specify a 'path'. A 'path' needs to be specified in order to use 'alias'.`);
2671
2747
  });
2672
2748
  //# sourceMappingURL=getStateFromPath.test.native.js.map