one 1.1.390 → 1.1.392

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 (294) hide show
  1. package/dist/cjs/Root.cjs +6 -17
  2. package/dist/cjs/Root.js +9 -13
  3. package/dist/cjs/Root.js.map +1 -1
  4. package/dist/cjs/Root.native.js +4 -12
  5. package/dist/cjs/Root.native.js.map +1 -1
  6. package/dist/cjs/cli/build.cjs +2 -3
  7. package/dist/cjs/cli/build.js +2 -3
  8. package/dist/cjs/cli/build.js.map +1 -1
  9. package/dist/cjs/cli/build.native.js +2 -3
  10. package/dist/cjs/cli/build.native.js.map +2 -2
  11. package/dist/cjs/constants.cjs +9 -1
  12. package/dist/cjs/constants.js +7 -1
  13. package/dist/cjs/constants.js.map +1 -1
  14. package/dist/cjs/constants.native.js +9 -1
  15. package/dist/cjs/constants.native.js.map +2 -2
  16. package/dist/cjs/fork/NavigationContainer.cjs +49 -31
  17. package/dist/cjs/fork/NavigationContainer.js +40 -21
  18. package/dist/cjs/fork/NavigationContainer.js.map +2 -2
  19. package/dist/cjs/fork/NavigationContainer.native.js +51 -29
  20. package/dist/cjs/fork/NavigationContainer.native.js.map +2 -2
  21. package/dist/cjs/fork/createMemoryHistory.cjs +4 -3
  22. package/dist/cjs/fork/createMemoryHistory.js +3 -2
  23. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  24. package/dist/cjs/fork/createMemoryHistory.native.js +8 -4
  25. package/dist/cjs/fork/createMemoryHistory.native.js.map +2 -2
  26. package/dist/cjs/fork/extractPathFromURL.cjs +48 -28
  27. package/dist/cjs/fork/extractPathFromURL.js +44 -21
  28. package/dist/cjs/fork/extractPathFromURL.js.map +2 -2
  29. package/dist/cjs/fork/extractPathFromURL.native.js +58 -26
  30. package/dist/cjs/fork/extractPathFromURL.native.js.map +2 -2
  31. package/dist/cjs/fork/findFocusedRoute.js.map +1 -1
  32. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  33. package/dist/cjs/fork/getPathFromState-mods.cjs +65 -0
  34. package/dist/cjs/fork/getPathFromState-mods.js +56 -0
  35. package/dist/cjs/fork/getPathFromState-mods.js.map +6 -0
  36. package/dist/cjs/fork/getPathFromState-mods.native.js +70 -0
  37. package/dist/cjs/fork/getPathFromState-mods.native.js.map +6 -0
  38. package/dist/cjs/fork/getPathFromState.cjs +75 -224
  39. package/dist/cjs/fork/getPathFromState.js +68 -223
  40. package/dist/cjs/fork/getPathFromState.js.map +2 -2
  41. package/dist/cjs/fork/getPathFromState.native.js +79 -261
  42. package/dist/cjs/fork/getPathFromState.native.js.map +2 -2
  43. package/dist/cjs/fork/getStateFromPath-mods.cjs +187 -0
  44. package/dist/cjs/fork/getStateFromPath-mods.js +199 -0
  45. package/dist/cjs/fork/getStateFromPath-mods.js.map +6 -0
  46. package/dist/cjs/fork/getStateFromPath-mods.native.js +284 -0
  47. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +6 -0
  48. package/dist/cjs/fork/getStateFromPath.cjs +181 -263
  49. package/dist/cjs/fork/getStateFromPath.js +148 -264
  50. package/dist/cjs/fork/getStateFromPath.js.map +2 -2
  51. package/dist/cjs/fork/getStateFromPath.native.js +164 -304
  52. package/dist/cjs/fork/getStateFromPath.native.js.map +2 -2
  53. package/dist/cjs/fork/useBackButton.js.map +1 -1
  54. package/dist/cjs/fork/useBackButton.native.js.map +1 -1
  55. package/dist/cjs/fork/useDocumentTitle.js +4 -1
  56. package/dist/cjs/fork/useDocumentTitle.js.map +1 -1
  57. package/dist/cjs/fork/useDocumentTitle.native.js +1 -1
  58. package/dist/cjs/fork/useDocumentTitle.native.js.map +2 -2
  59. package/dist/cjs/fork/useLinking.cjs +21 -24
  60. package/dist/cjs/fork/useLinking.js +21 -25
  61. package/dist/cjs/fork/useLinking.js.map +2 -2
  62. package/dist/cjs/fork/useLinking.native.js +68 -66
  63. package/dist/cjs/fork/useLinking.native.js.map +2 -2
  64. package/dist/cjs/fork/useThenable.js.map +1 -1
  65. package/dist/cjs/fork/useThenable.native.js.map +1 -1
  66. package/dist/cjs/fork/validatePathConfig.cjs +32 -11
  67. package/dist/cjs/fork/validatePathConfig.js +41 -11
  68. package/dist/cjs/fork/validatePathConfig.js.map +1 -1
  69. package/dist/cjs/fork/validatePathConfig.native.js +47 -18
  70. package/dist/cjs/fork/validatePathConfig.native.js.map +2 -2
  71. package/dist/cjs/layouts/withLayoutContext.cjs +1 -1
  72. package/dist/cjs/layouts/withLayoutContext.js +1 -1
  73. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  74. package/dist/cjs/layouts/withLayoutContext.native.js +1 -1
  75. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  76. package/dist/cjs/link/linking.cjs +4 -4
  77. package/dist/cjs/link/linking.js +3 -3
  78. package/dist/cjs/link/linking.js.map +2 -2
  79. package/dist/cjs/link/linking.native.js +3 -3
  80. package/dist/cjs/link/linking.native.js.map +1 -1
  81. package/dist/cjs/link/useLinkTo.cjs +2 -2
  82. package/dist/cjs/link/useLinkTo.js +2 -2
  83. package/dist/cjs/link/useLinkTo.js.map +1 -1
  84. package/dist/cjs/link/useLinkTo.native.js +2 -2
  85. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  86. package/dist/cjs/router/getNormalizedStatePath.cjs +2 -2
  87. package/dist/cjs/router/getNormalizedStatePath.js +2 -2
  88. package/dist/cjs/router/getNormalizedStatePath.js.map +1 -1
  89. package/dist/cjs/router/getNormalizedStatePath.native.js +2 -2
  90. package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
  91. package/dist/cjs/router/router.cjs +19 -3
  92. package/dist/cjs/router/router.js +25 -3
  93. package/dist/cjs/router/router.js.map +1 -1
  94. package/dist/cjs/router/router.native.js +39 -3
  95. package/dist/cjs/router/router.native.js.map +2 -2
  96. package/dist/cjs/utils/serverContext.cjs +7 -7
  97. package/dist/cjs/utils/serverContext.js +7 -7
  98. package/dist/cjs/utils/serverContext.js.map +1 -1
  99. package/dist/cjs/utils/serverContext.native.js +5 -5
  100. package/dist/cjs/utils/serverContext.native.js.map +2 -2
  101. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +6 -6
  102. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +3 -4
  103. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +2 -2
  104. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +3 -4
  105. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
  106. package/dist/esm/Root.js +6 -2
  107. package/dist/esm/Root.js.map +1 -1
  108. package/dist/esm/Root.mjs +1 -1
  109. package/dist/esm/Root.mjs.map +1 -1
  110. package/dist/esm/Root.native.js +1 -1
  111. package/dist/esm/Root.native.js.map +2 -2
  112. package/dist/esm/cli/build.js +2 -3
  113. package/dist/esm/cli/build.js.map +1 -1
  114. package/dist/esm/cli/build.mjs +2 -3
  115. package/dist/esm/cli/build.mjs.map +1 -1
  116. package/dist/esm/cli/build.native.js +2 -3
  117. package/dist/esm/cli/build.native.js.map +2 -2
  118. package/dist/esm/constants.js +7 -1
  119. package/dist/esm/constants.js.map +1 -1
  120. package/dist/esm/constants.mjs +8 -2
  121. package/dist/esm/constants.mjs.map +1 -1
  122. package/dist/esm/constants.native.js +7 -1
  123. package/dist/esm/constants.native.js.map +2 -2
  124. package/dist/esm/fork/NavigationContainer.js +43 -20
  125. package/dist/esm/fork/NavigationContainer.js.map +1 -1
  126. package/dist/esm/fork/NavigationContainer.mjs +42 -24
  127. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  128. package/dist/esm/fork/NavigationContainer.native.js +44 -24
  129. package/dist/esm/fork/NavigationContainer.native.js.map +2 -2
  130. package/dist/esm/fork/createMemoryHistory.js +3 -2
  131. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  132. package/dist/esm/fork/createMemoryHistory.mjs +4 -3
  133. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  134. package/dist/esm/fork/createMemoryHistory.native.js +4 -4
  135. package/dist/esm/fork/createMemoryHistory.native.js.map +2 -2
  136. package/dist/esm/fork/extractPathFromURL.js +42 -11
  137. package/dist/esm/fork/extractPathFromURL.js.map +1 -1
  138. package/dist/esm/fork/extractPathFromURL.mjs +39 -11
  139. package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
  140. package/dist/esm/fork/extractPathFromURL.native.js +52 -15
  141. package/dist/esm/fork/extractPathFromURL.native.js.map +2 -2
  142. package/dist/esm/fork/findFocusedRoute.js.map +1 -1
  143. package/dist/esm/fork/findFocusedRoute.mjs.map +1 -1
  144. package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
  145. package/dist/esm/fork/getPathFromState-mods.js +40 -0
  146. package/dist/esm/fork/getPathFromState-mods.js.map +6 -0
  147. package/dist/esm/fork/getPathFromState-mods.mjs +40 -0
  148. package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -0
  149. package/dist/esm/fork/getPathFromState-mods.native.js +47 -0
  150. package/dist/esm/fork/getPathFromState-mods.native.js.map +6 -0
  151. package/dist/esm/fork/getPathFromState.js +71 -228
  152. package/dist/esm/fork/getPathFromState.js.map +2 -2
  153. package/dist/esm/fork/getPathFromState.mjs +73 -221
  154. package/dist/esm/fork/getPathFromState.mjs.map +1 -1
  155. package/dist/esm/fork/getPathFromState.native.js +79 -260
  156. package/dist/esm/fork/getPathFromState.native.js.map +2 -2
  157. package/dist/esm/fork/getStateFromPath-mods.js +176 -0
  158. package/dist/esm/fork/getStateFromPath-mods.js.map +6 -0
  159. package/dist/esm/fork/getStateFromPath-mods.mjs +143 -0
  160. package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -0
  161. package/dist/esm/fork/getStateFromPath-mods.native.js +246 -0
  162. package/dist/esm/fork/getStateFromPath-mods.native.js.map +6 -0
  163. package/dist/esm/fork/getStateFromPath.js +160 -265
  164. package/dist/esm/fork/getStateFromPath.js.map +2 -2
  165. package/dist/esm/fork/getStateFromPath.mjs +181 -260
  166. package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
  167. package/dist/esm/fork/getStateFromPath.native.js +164 -302
  168. package/dist/esm/fork/getStateFromPath.native.js.map +2 -2
  169. package/dist/esm/fork/useBackButton.js.map +1 -1
  170. package/dist/esm/fork/useBackButton.mjs.map +1 -1
  171. package/dist/esm/fork/useBackButton.native.js.map +1 -1
  172. package/dist/esm/fork/useDocumentTitle.js +4 -1
  173. package/dist/esm/fork/useDocumentTitle.js.map +1 -1
  174. package/dist/esm/fork/useDocumentTitle.mjs.map +1 -1
  175. package/dist/esm/fork/useDocumentTitle.native.js +1 -1
  176. package/dist/esm/fork/useDocumentTitle.native.js.map +2 -2
  177. package/dist/esm/fork/useLinking.js +22 -26
  178. package/dist/esm/fork/useLinking.js.map +1 -1
  179. package/dist/esm/fork/useLinking.mjs +20 -23
  180. package/dist/esm/fork/useLinking.mjs.map +1 -1
  181. package/dist/esm/fork/useLinking.native.js +65 -67
  182. package/dist/esm/fork/useLinking.native.js.map +2 -2
  183. package/dist/esm/fork/useThenable.js.map +1 -1
  184. package/dist/esm/fork/useThenable.mjs.map +1 -1
  185. package/dist/esm/fork/useThenable.native.js.map +1 -1
  186. package/dist/esm/fork/validatePathConfig.js +41 -11
  187. package/dist/esm/fork/validatePathConfig.js.map +1 -1
  188. package/dist/esm/fork/validatePathConfig.mjs +32 -11
  189. package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
  190. package/dist/esm/fork/validatePathConfig.native.js +43 -18
  191. package/dist/esm/fork/validatePathConfig.native.js.map +2 -2
  192. package/dist/esm/layouts/withLayoutContext.js +1 -1
  193. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  194. package/dist/esm/layouts/withLayoutContext.mjs +1 -1
  195. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  196. package/dist/esm/layouts/withLayoutContext.native.js +1 -1
  197. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  198. package/dist/esm/link/linking.js +2 -2
  199. package/dist/esm/link/linking.js.map +1 -1
  200. package/dist/esm/link/linking.mjs +2 -2
  201. package/dist/esm/link/linking.mjs.map +1 -1
  202. package/dist/esm/link/linking.native.js +2 -2
  203. package/dist/esm/link/linking.native.js.map +1 -1
  204. package/dist/esm/link/useLinkTo.js +1 -1
  205. package/dist/esm/link/useLinkTo.mjs +1 -1
  206. package/dist/esm/link/useLinkTo.native.js +1 -1
  207. package/dist/esm/router/getNormalizedStatePath.js +1 -1
  208. package/dist/esm/router/getNormalizedStatePath.mjs +1 -1
  209. package/dist/esm/router/getNormalizedStatePath.native.js +1 -1
  210. package/dist/esm/router/router.js +24 -2
  211. package/dist/esm/router/router.js.map +1 -1
  212. package/dist/esm/router/router.mjs +18 -2
  213. package/dist/esm/router/router.mjs.map +1 -1
  214. package/dist/esm/router/router.native.js +38 -2
  215. package/dist/esm/router/router.native.js.map +2 -2
  216. package/dist/esm/utils/serverContext.js +2 -1
  217. package/dist/esm/utils/serverContext.js.map +1 -1
  218. package/dist/esm/utils/serverContext.mjs +1 -1
  219. package/dist/esm/utils/serverContext.mjs.map +1 -1
  220. package/dist/esm/utils/serverContext.native.js +2 -1
  221. package/dist/esm/utils/serverContext.native.js.map +2 -2
  222. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +3 -3
  223. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  224. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +3 -3
  225. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  226. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +3 -3
  227. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
  228. package/package.json +8 -9
  229. package/src/Root.tsx +6 -2
  230. package/src/cli/build.ts +2 -3
  231. package/src/constants.ts +8 -0
  232. package/src/fork/NavigationContainer.tsx +101 -39
  233. package/src/fork/createMemoryHistory.tsx +15 -13
  234. package/src/fork/extractPathFromURL.ts +85 -40
  235. package/src/fork/findFocusedRoute.tsx +9 -1
  236. package/src/fork/getPathFromState-mods.ts +142 -0
  237. package/src/fork/getPathFromState.ts +244 -501
  238. package/src/fork/getStateFromPath-mods.ts +400 -0
  239. package/src/fork/getStateFromPath.ts +447 -538
  240. package/src/fork/useBackButton.native.tsx +16 -2
  241. package/src/fork/useBackButton.tsx +11 -2
  242. package/src/fork/useDocumentTitle.native.tsx +9 -4
  243. package/src/fork/useDocumentTitle.tsx +12 -7
  244. package/src/fork/useLinking.native.ts +71 -63
  245. package/src/fork/useLinking.ts +75 -40
  246. package/src/fork/useThenable.tsx +7 -1
  247. package/src/fork/validatePathConfig.ts +64 -12
  248. package/src/layouts/withLayoutContext.tsx +1 -1
  249. package/src/link/linking.ts +2 -2
  250. package/src/link/useLinkTo.tsx +1 -1
  251. package/src/router/getNormalizedStatePath.tsx +1 -1
  252. package/src/router/router.ts +41 -2
  253. package/src/utils/serverContext.tsx +3 -1
  254. package/src/vite/plugins/fileSystemRouterPlugin.tsx +3 -3
  255. package/types/Root.d.ts.map +1 -1
  256. package/types/cli/build.d.ts.map +1 -1
  257. package/types/constants.d.ts +2 -0
  258. package/types/constants.d.ts.map +1 -1
  259. package/types/fork/NavigationContainer.d.ts +19 -8
  260. package/types/fork/NavigationContainer.d.ts.map +1 -1
  261. package/types/fork/createMemoryHistory.d.ts +10 -1
  262. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  263. package/types/fork/extractPathFromURL.d.ts +7 -1
  264. package/types/fork/extractPathFromURL.d.ts.map +1 -1
  265. package/types/fork/findFocusedRoute.d.ts +9 -0
  266. package/types/fork/findFocusedRoute.d.ts.map +1 -1
  267. package/types/fork/getPathFromState-mods.d.ts +23 -0
  268. package/types/fork/getPathFromState-mods.d.ts.map +1 -0
  269. package/types/fork/getPathFromState.d.ts +15 -14
  270. package/types/fork/getPathFromState.d.ts.map +1 -1
  271. package/types/fork/getStateFromPath-mods.d.ts +58 -0
  272. package/types/fork/getStateFromPath-mods.d.ts.map +1 -0
  273. package/types/fork/getStateFromPath.d.ts +28 -29
  274. package/types/fork/getStateFromPath.d.ts.map +1 -1
  275. package/types/fork/useBackButton.d.ts +6 -0
  276. package/types/fork/useBackButton.d.ts.map +1 -1
  277. package/types/fork/useBackButton.native.d.ts +9 -1
  278. package/types/fork/useBackButton.native.d.ts.map +1 -1
  279. package/types/fork/useDocumentTitle.d.ts +8 -6
  280. package/types/fork/useDocumentTitle.d.ts.map +1 -1
  281. package/types/fork/useDocumentTitle.native.d.ts +5 -2
  282. package/types/fork/useDocumentTitle.native.d.ts.map +1 -1
  283. package/types/fork/useLinking.d.ts +8 -1
  284. package/types/fork/useLinking.d.ts.map +1 -1
  285. package/types/fork/useLinking.native.d.ts +9 -2
  286. package/types/fork/useLinking.native.d.ts.map +1 -1
  287. package/types/fork/useThenable.d.ts +6 -0
  288. package/types/fork/useThenable.d.ts.map +1 -1
  289. package/types/fork/validatePathConfig.d.ts +8 -1
  290. package/types/fork/validatePathConfig.d.ts.map +1 -1
  291. package/types/link/linking.d.ts +2 -2
  292. package/types/link/linking.d.ts.map +1 -1
  293. package/types/utils/serverContext.d.ts.map +1 -1
  294. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
@@ -1,237 +1,176 @@
1
1
  import escape from "escape-string-regexp";
2
- import { matchGroupName, stripGroupSegmentsFromPath } from "../router/matchers.mjs";
3
2
  import { findFocusedRoute } from "./findFocusedRoute.mjs";
4
- import validatePathConfig from "./validatePathConfig.mjs";
5
- function getUrlWithReactNavigationConcessions(path, baseUrl = process.env.EXPO_BASE_URL) {
6
- let parsed;
7
- try {
8
- parsed = new URL(path, baseUrl || "http://phony.example");
9
- } catch (err) {
10
- return console.warn(`Error parsing url ${path}: ${err?.message}`), {
11
- nonstandardPathname: path,
12
- inputPathnameWithoutHash: path.replace(/#.*$/g, ""),
13
- url: null
14
- };
15
- }
16
- const pathname = parsed.pathname;
17
- return {
18
- // The slashes are at the end, not the beginning
19
- nonstandardPathname: stripBaseUrl(pathname, baseUrl).replace(/^\/+/g, "").replace(/\/+$/g, "") + "/",
20
- url: parsed
21
- };
22
- }
3
+ import { validatePathConfig } from "./validatePathConfig.mjs";
4
+ import { appendIsInitial, createConfigItemAdditionalProperties, decodeURIComponentSafe, formatRegexPattern, getParamValue, getRouteConfigSorter, getUrlWithReactNavigationConcessions, matchForEmptyPath, parseQueryParamsExtended, populateParams } from "./getStateFromPath-mods.mjs";
23
5
  function getStateFromPath(path, options) {
24
6
  const {
25
- initialRoutes,
26
- configs
27
- } = getMatchableRouteConfigs(options);
28
- return getStateFromPathWithConfigs(path, configs, initialRoutes);
7
+ initialRoutes,
8
+ configs,
9
+ configWithRegexes
10
+ } = getConfigResources(options),
11
+ screens = options?.screens,
12
+ pathData = getUrlWithReactNavigationConcessions(path);
13
+ let remaining = pathData.nonstandardPathname.replace(/\/+/g, "/").replace(/^\//, "").replace(/\?.*$/, "");
14
+ remaining = remaining.endsWith("/") ? remaining : `${remaining}/`;
15
+ const prefix = options?.path?.replace(/^\//, "");
16
+ if (prefix) {
17
+ const normalizedPrefix = prefix.endsWith("/") ? prefix : `${prefix}/`;
18
+ if (!remaining.startsWith(normalizedPrefix)) return;
19
+ remaining = remaining.replace(normalizedPrefix, "");
20
+ }
21
+ if (screens === void 0) {
22
+ const routes2 = remaining.split("/").filter(Boolean).map(segment => ({
23
+ name: decodeURIComponent(segment)
24
+ }));
25
+ return routes2.length ? createNestedStateObject(pathData, routes2, initialRoutes, [], pathData.url.hash) : void 0;
26
+ }
27
+ if (remaining === "/") {
28
+ const match = matchForEmptyPath(configWithRegexes);
29
+ return match ? createNestedStateObject(pathData,
30
+ // @modified: pass pathData instead of path
31
+ match.routeNames.map(name => ({
32
+ name
33
+ })), initialRoutes, configs) : void 0;
34
+ }
35
+ let result, current;
36
+ const {
37
+ routes,
38
+ remainingPath
39
+ } = matchAgainstConfigs(remaining, configWithRegexes);
40
+ if (routes !== void 0 && (current = createNestedStateObject(pathData, routes, initialRoutes, configs), remaining = remainingPath, result = current), !(current == null || result == null)) return result;
41
+ }
42
+ const cachedConfigResources = /* @__PURE__ */new WeakMap();
43
+ function getConfigResources(options) {
44
+ if (!options) return prepareConfigResources();
45
+ const cached = cachedConfigResources.get(options);
46
+ if (cached) return cached;
47
+ const resources = prepareConfigResources(options);
48
+ return cachedConfigResources.set(options, resources), resources;
29
49
  }
30
- function getMatchableRouteConfigs(options) {
50
+ function prepareConfigResources(options, previousSegments) {
31
51
  options && validatePathConfig(options);
32
- const screens = options?.screens;
33
- if (!screens) throw Error("You must pass a 'screens' object to 'getStateFromPath' to generate a path.");
52
+ const initialRoutes = getInitialRoutes(options),
53
+ configs = getNormalizedConfigs(initialRoutes, options?.screens, previousSegments);
54
+ checkForDuplicatedConfigs(configs);
55
+ const configWithRegexes = getConfigsWithRegexes(configs);
56
+ return {
57
+ initialRoutes,
58
+ configs,
59
+ configWithRegexes
60
+ };
61
+ }
62
+ function getInitialRoutes(options) {
34
63
  const initialRoutes = [];
35
- options?.initialRouteName && initialRoutes.push({
64
+ return options?.initialRouteName && initialRoutes.push({
36
65
  initialRouteName: options.initialRouteName,
37
66
  parentScreens: []
38
- });
39
- const converted = Object.keys(screens).flatMap(key => createNormalizedConfigs(key, screens, [], initialRoutes)).flat(),
40
- resolvedInitialPatterns = initialRoutes.map(route => joinPaths(...route.parentScreens, route.initialRouteName)),
41
- configs = converted.map(config => ({
42
- ...config,
43
- // TODO: Probably a safer way to do this
44
- // Mark initial routes to give them potential priority over other routes that match.
45
- isInitial: resolvedInitialPatterns.includes(config.routeNames.join("/"))
46
- })).sort(sortConfigs);
47
- return assertConfigDuplicates(configs), {
48
- configs,
49
- initialRoutes
50
- };
67
+ }), initialRoutes;
68
+ }
69
+ function getNormalizedConfigs(initialRoutes, screens = {}, previousSegments) {
70
+ return [].concat(...Object.keys(screens).map(key => createNormalizedConfigs(key, screens, [], initialRoutes, []))).map(appendIsInitial(initialRoutes)).sort(getRouteConfigSorter(previousSegments));
51
71
  }
52
- function assertConfigDuplicates(configs) {
72
+ function checkForDuplicatedConfigs(configs) {
53
73
  configs.reduce((acc, config) => {
54
- const indexedKey = config.regex?.toString() ?? config.pattern,
55
- alpha = acc[indexedKey];
56
- if (alpha && !alpha.hasChildren && !config.hasChildren) {
57
- const a = alpha.routeNames,
74
+ if (acc[config.pattern]) {
75
+ const a = acc[config.pattern].routeNames,
58
76
  b = config.routeNames;
59
- if (!(a.length > b.length ? b.every((it, i) => a[i] === it) : a.every((it, i) => b[i] === it))) {
60
- const last = config.pattern.split("/").pop();
61
- if (!last?.match(/^\*not-found$/)) {
62
- const routeType = last?.startsWith(":") ? "dynamic route" : last?.startsWith("*") ? "dynamic-rest route" : "route";
63
- throw new Error(`The ${routeType} pattern '${config.pattern || "/"}' resolves to both '${alpha.userReadableName}' and '${config.userReadableName}'. Patterns must be unique and cannot resolve to more than one route.`);
64
- }
65
- }
77
+ if (!(a.length > b.length ? b.every((it, i) => a[i] === it) : a.every((it, i) => b[i] === it))) throw new Error(`Found conflicting screens with the same pattern. The pattern '${config.pattern}' resolves to both '${a.join(" > ")}' and '${b.join(" > ")}'. Patterns must be unique and cannot resolve to more than one screen.`);
66
78
  }
67
79
  return Object.assign(acc, {
68
- [indexedKey]: config
80
+ [config.pattern]: config
69
81
  });
70
82
  }, {});
71
83
  }
72
- function sortConfigs(a, b) {
73
- if (a.pattern === b.pattern) return b.routeNames.join(">").localeCompare(a.routeNames.join(">"));
74
- if (a.pattern.startsWith(b.pattern) &&
75
- // NOTE: This is a hack to make sure that `*` is always at the end
76
- b.screen !== "index") return -1;
77
- if (b.pattern.startsWith(a.pattern) && a.screen !== "index") return 1;
78
- const aParts = a.pattern.split("/").filter(part => matchGroupName(part) == null);
79
- (a.screen === "index" || a.screen.match(/\/index$/)) && aParts.push("index");
80
- const bParts = b.pattern.split("/").filter(part => matchGroupName(part) == null);
81
- (b.screen === "index" || b.screen.match(/\/index$/)) && bParts.push("index");
82
- for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {
83
- if (aParts[i] == null) return 1;
84
- if (bParts[i] == null) return -1;
85
- const aWildCard = aParts[i].startsWith("*"),
86
- bWildCard = bParts[i].startsWith("*");
87
- if (aWildCard && bWildCard) {
88
- const aNotFound = aParts[i].match(/^[*]not-found$/),
89
- bNotFound = bParts[i].match(/^[*]not-found$/);
90
- if (aNotFound && bNotFound) continue;
91
- if (aNotFound) return 1;
92
- if (bNotFound) return -1;
93
- continue;
94
- }
95
- if (aWildCard) return 1;
96
- if (bWildCard) return -1;
97
- const aSlug = aParts[i].startsWith(":"),
98
- bSlug = bParts[i].startsWith(":");
99
- if (aSlug && bSlug) {
100
- const aNotFound = aParts[i].match(/^[*]not-found$/),
101
- bNotFound = bParts[i].match(/^[*]not-found$/);
102
- if (aNotFound && bNotFound) continue;
103
- if (aNotFound) return 1;
104
- if (bNotFound) return -1;
105
- continue;
106
- }
107
- if (aSlug) return 1;
108
- if (bSlug) return -1;
109
- }
110
- return a.isInitial && !b.isInitial ? -1 : !a.isInitial && b.isInitial ? 1 : bParts.length - aParts.length;
111
- }
112
- function getStateFromEmptyPathWithConfigs(path, hash, configs, initialRoutes) {
113
- const leafNodes = configs.filter(config => !config.hasChildren).map(value => ({
114
- ...value,
115
- // Collapse all levels of group segments before testing.
116
- // This enables `app/(one)/(two)/index.js` to be matched.
117
- path: stripGroupSegmentsFromPath(value.path)
118
- })),
119
- match = leafNodes.find(config =>
120
- // NOTE: Test leaf node index routes that either don't have a regex or match an empty string.
121
- config.path === "" && (!config.regex || config.regex.test(""))) ?? leafNodes.find(config =>
122
- // NOTE: Test leaf node dynamic routes that match an empty string.
123
- config.path.startsWith(":") && config.regex.test("")) ??
124
- // NOTE: Test leaf node deep dynamic routes that match a slash.
125
- // This should be done last to enable dynamic routes having a higher priority.
126
- leafNodes.find(config => config.path.startsWith("*") && config.regex.test("/"));
127
- if (!match) return;
128
- const routes = match.routeNames.map(name => match._route ? {
129
- name,
130
- _route: match._route
131
- } : {
132
- name
133
- });
134
- return createNestedStateObject(path, hash, routes, configs, initialRoutes);
84
+ function getConfigsWithRegexes(configs) {
85
+ return configs.map(c => ({
86
+ ...c,
87
+ // Add `$` to the regex to make sure it matches till end of the path and not just beginning
88
+ // @modified - start
89
+ // regex: c.regex ? new RegExp(c.regex.source + '$') : undefined,
90
+ regex: c.pattern ? new RegExp(`^(${c.pattern.split("/").map(formatRegexPattern).join("")})$`) : void 0
91
+ // @modified - end
92
+ }));
135
93
  }
136
- function getStateFromPathWithConfigs(path, configs, initialRoutes, baseUrl = process.env.EXPO_BASE_URL) {
137
- const formattedPaths = getUrlWithReactNavigationConcessions(path);
138
- if (!formattedPaths.url) {
139
- console.warn(`No url found for ${path}`);
140
- return;
141
- }
142
- let cleanPath = stripBaseUrl(stripGroupSegmentsFromPath(formattedPaths.url.pathname), baseUrl) + formattedPaths.url.search;
143
- if (path.startsWith("/") || (cleanPath = cleanPath.slice(1)), formattedPaths.nonstandardPathname === "/") return getStateFromEmptyPathWithConfigs(cleanPath, formattedPaths.url.hash.slice(1), configs, initialRoutes);
144
- const routes = matchAgainstConfigs(formattedPaths.nonstandardPathname, configs);
145
- if (routes != null) return createNestedStateObject(cleanPath, formattedPaths.url.hash.slice(1), routes, configs, initialRoutes);
146
- }
147
- const joinPaths = (...paths) => [].concat(...paths.map(p => p.split("/"))).filter(Boolean).join("/");
148
- function matchAgainstConfigs(remaining, configs) {
149
- let routes,
150
- remainingPath = remaining;
151
- for (const config of configs) {
152
- if (!config.regex) continue;
153
- const match = remainingPath.match(config.regex);
154
- if (!match) continue;
155
- const matchedParams = config.pattern?.split("/").filter(p => p.match(/^[:*]/)).reduce((acc, p, i) => p.match(/^\*/) ? {
156
- ...acc,
157
- [p]: match[(i + 1) * 2]
158
- //?.replace(/\//, ""),
159
- } : Object.assign(acc, {
160
- // The param segments appear every second item starting from 2 in the regex match result.
161
- // This will only work if we ensure groups aren't included in the match.
162
- [p]: match[(i + 1) * 2]?.replace(/\//, "")
163
- }), {}),
164
- routeFromName = name => {
165
- const config2 = configs.find(c => c.screen === name);
166
- if (!config2?.path) return {
167
- name
168
- };
169
- const segments = config2.path.split("/"),
170
- params = {};
171
- return segments.filter(p => p.match(/^[:*]/)).forEach(p => {
172
- let value = matchedParams[p];
173
- if (value) {
174
- p.match(/^\*/) && (value = value?.split("/").filter(Boolean));
175
- const key = p.replace(/^[:*]/, "").replace(/\?$/, "");
176
- params[key] = config2.parse?.[key] ? config2.parse[key](value) : value;
177
- }
178
- }), params && Object.keys(params).length ? {
179
- name,
180
- params
181
- } : {
182
- name
183
- };
184
- };
185
- routes = config.routeNames.map(name => config._route ? {
186
- ...routeFromName(name),
187
- _route: config._route
188
- } : {
189
- ...routeFromName(name)
190
- });
191
- const combinedParams = routes.reduce((acc, r) => Object.assign(acc, r.params), {}),
192
- hasCombinedParams = Object.keys(combinedParams).length > 0;
193
- routes = routes.map(r => (hasCombinedParams && (r.params = combinedParams), r)), remainingPath = remainingPath.replace(match[1], "");
194
- break;
195
- }
196
- return routes;
197
- }
198
- function equalHeritage(a, b) {
199
- if (a.length !== b.length) return !1;
200
- for (let i = 0; i < a.length; i++) if (a[i].localeCompare(b[i]) !== 0) return !1;
201
- return !0;
202
- }
203
- const createNormalizedConfigs = (screen, routeConfig, routeNames = [], initials = [], parentScreens = [], parentPattern) => {
204
- const configs = [];
205
- routeNames.push(screen), parentScreens.push(screen);
206
- const config = routeConfig[screen];
207
- if (typeof config == "string") {
208
- const pattern = parentPattern ? joinPaths(parentPattern, config) : config;
209
- configs.push(createConfigItem(screen, routeNames, pattern, config, !1));
210
- } else if (typeof config == "object") {
211
- let pattern;
212
- const {
213
- _route
214
- } = config;
215
- if (typeof config.path == "string") {
216
- if (config.exact && config.path === void 0) throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");
217
- pattern = config.exact !== !0 ? joinPaths(parentPattern || "", config.path || "") : config.path || "", configs.push(createConfigItem(screen, routeNames, pattern, config.path, config.screens ? !!Object.keys(config.screens)?.length : !1, config.parse, _route));
94
+ const joinPaths = (...paths) => [].concat(...paths.map(p => p.split("/"))).filter(Boolean).join("/"),
95
+ matchAgainstConfigs = (remaining, configs) => {
96
+ let routes,
97
+ remainingPath = remaining;
98
+ const allParams = /* @__PURE__ */Object.create(null);
99
+ for (const config of configs) {
100
+ if (!config.regex) continue;
101
+ const match = remainingPath.match(config.regex);
102
+ if (match) {
103
+ const matchedParams = (config.pattern?.split("/").reduce((acc, p, index) => {
104
+ if (!p.startsWith(":")) return acc;
105
+ acc.pos += 1;
106
+ const decodedParamSegment = decodeURIComponentSafe(
107
+ // @modified: use decodeURIComponent**Safe**
108
+ // The param segments appear every second item starting from 2 in the regex match result
109
+ match[(acc.pos + 1) * 2].replace(/\/$/, ""));
110
+ return Object.assign(acc.matchedParams, {
111
+ [p]: Object.assign(acc.matchedParams[p] || {}, {
112
+ [index]: decodedParamSegment
113
+ })
114
+ }), acc;
115
+ }, {
116
+ pos: -1,
117
+ matchedParams: {}
118
+ })).matchedParams || {};
119
+ routes = config.routeNames.map(name => {
120
+ const routeConfig = configs.find(c => c.screen === name && config.pattern.startsWith(c.pattern)),
121
+ normalizedPath = routeConfig?.path.split("/").filter(Boolean).join("/"),
122
+ numInitialSegments = routeConfig?.pattern.replace(new RegExp(`${escape(normalizedPath)}$`), "")?.split("/").length,
123
+ params = normalizedPath?.split("/").reduce((acc, p, index) => {
124
+ if (!p.startsWith(":")) return acc;
125
+ const offset = numInitialSegments ? numInitialSegments - 1 : 0,
126
+ value = getParamValue(p, matchedParams[p]?.[index + offset]);
127
+ if (value) {
128
+ const key = p.replace(/^:/, "").replace(/\?$/, "");
129
+ acc[key] = routeConfig?.parse?.[key] ? routeConfig.parse[key](value) : value;
130
+ }
131
+ return acc;
132
+ }, {});
133
+ return params && Object.keys(params).length ? {
134
+ name,
135
+ params
136
+ } : {
137
+ name
138
+ };
139
+ }), remainingPath = remainingPath.replace(match[1], "");
140
+ break;
141
+ }
218
142
  }
219
- config.screens && (config.initialRouteName && initials.push({
220
- initialRouteName: config.initialRouteName,
221
- parentScreens
222
- }), Object.keys(config.screens).forEach(nestedConfig => {
223
- const result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, [...parentScreens], pattern ?? parentPattern);
224
- configs.push(...result);
225
- }));
226
- }
227
- return routeNames.pop(), configs;
228
- };
229
- function formatRegexPattern(it) {
230
- return it = it.replace(" ", "%20"), it.startsWith(":") ? `(([^/]+\\/)${it.endsWith("?") ? "?" : ""})` : it.startsWith("*") ? `((.*\\/)${it.endsWith("?") ? "?" : ""})` : matchGroupName(it) != null ? `(?:${escape(it)}\\/)?` : escape(it) + "\\/";
231
- }
232
- const createConfigItem = (screen, routeNames, pattern, path, hasChildren, parse, _route) => {
143
+ return populateParams(routes, allParams), {
144
+ routes,
145
+ remainingPath
146
+ };
147
+ },
148
+ createNormalizedConfigs = (screen, routeConfig, routeNames = [], initials, parentScreens, parentPattern) => {
149
+ const configs = [];
150
+ routeNames.push(screen), parentScreens.push(screen);
151
+ const config = routeConfig[screen];
152
+ if (typeof config == "string") {
153
+ const pattern = parentPattern ? joinPaths(parentPattern, config) : config;
154
+ configs.push(createConfigItem(screen, routeNames, pattern, config));
155
+ } else if (typeof config == "object") {
156
+ let pattern;
157
+ if (typeof config.path == "string") {
158
+ if (config.exact && config.path === void 0) throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");
159
+ pattern = config.exact !== !0 ? joinPaths(parentPattern || "", config.path || "") : config.path || "", configs.push(createConfigItem(screen, routeNames, pattern, config.path, config.parse, config));
160
+ }
161
+ config.screens && (config.initialRouteName && initials.push({
162
+ initialRouteName: config.initialRouteName,
163
+ parentScreens
164
+ }), Object.keys(config.screens).forEach(nestedConfig => {
165
+ const result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, [...parentScreens], pattern ?? parentPattern);
166
+ configs.push(...result);
167
+ }));
168
+ }
169
+ return routeNames.pop(), configs;
170
+ },
171
+ createConfigItem = (screen, routeNames, pattern, path, parse = void 0, config = {}) => {
233
172
  pattern = pattern.split("/").filter(Boolean).join("/");
234
- const regex = pattern ? new RegExp(`^(${pattern.split("/").map(formatRegexPattern).join("")})$`) : void 0;
173
+ const regex = pattern ? new RegExp(`^(${pattern.split("/").map(it => it.startsWith(":") ? `(([^/]+\\/)${it.endsWith("?") ? "?" : ""})` : `${it === "*" ? ".*" : escape(it)}\\/`).join("")})`) : void 0;
235
174
  return {
236
175
  screen,
237
176
  regex,
@@ -240,18 +179,25 @@ const createConfigItem = (screen, routeNames, pattern, path, hasChildren, parse,
240
179
  // The routeNames array is mutated, so copy it to keep the current state
241
180
  routeNames: [...routeNames],
242
181
  parse,
243
- userReadableName: [...routeNames.slice(0, -1), path || screen].join("/"),
244
- hasChildren: !!hasChildren,
245
- _route
182
+ // @modified - start
183
+ ...createConfigItemAdditionalProperties(screen, pattern, routeNames, config)
184
+ // @modified - end
246
185
  };
247
186
  },
248
- findParseConfigForRoute = (routeName, routeConfigs) => {
249
- for (const config of routeConfigs) if (routeName === config.routeNames[config.routeNames.length - 1]) return config.parse;
187
+ findParseConfigForRoute = (routeName, flatConfig) => {
188
+ for (const config of flatConfig) if (routeName === config.routeNames[config.routeNames.length - 1]) return config.parse;
250
189
  },
251
190
  findInitialRoute = (routeName, parentScreens, initialRoutes) => {
252
- for (const config of initialRoutes) if (equalHeritage(parentScreens, config.parentScreens)) return routeName !== config.initialRouteName ? config.initialRouteName : void 0;
191
+ for (const config of initialRoutes) if (parentScreens.length === config.parentScreens.length) {
192
+ let sameParents = !0;
193
+ for (let i = 0; i < parentScreens.length; i++) if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {
194
+ sameParents = !1;
195
+ break;
196
+ }
197
+ if (sameParents) return routeName !== config.initialRouteName ? config.initialRouteName : void 0;
198
+ }
253
199
  },
254
- createStateObject = (route, isEmpty, initialRoute) => isEmpty ? initialRoute ? {
200
+ createStateObject = (initialRoute, route, isEmpty) => isEmpty ? initialRoute ? {
255
201
  index: 1,
256
202
  routes: [{
257
203
  name: initialRoute
@@ -276,54 +222,29 @@ const createConfigItem = (screen, routeNames, pattern, path, hasChildren, parse,
276
222
  }
277
223
  }]
278
224
  },
279
- createNestedStateObject = (path, hash, routes, routeConfigs, initialRoutes) => {
225
+ createNestedStateObject = ({
226
+ path,
227
+ ...restPathData
228
+ }, routes, initialRoutes, flatConfig, hash) => {
280
229
  let route = routes.shift();
281
230
  const parentScreens = [];
282
231
  let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
283
232
  parentScreens.push(route.name);
284
- const state = createStateObject(route, routes.length === 0, initialRoute);
233
+ const state = createStateObject(initialRoute, route, routes.length === 0);
285
234
  if (routes.length > 0) {
286
235
  let nestedState = state;
287
236
  for (; route = routes.shift();) {
288
237
  initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
289
238
  const nestedStateIndex = nestedState.index || nestedState.routes.length - 1;
290
- nestedState.routes[nestedStateIndex].state = createStateObject(route, routes.length === 0, initialRoute), routes.length > 0 && (nestedState = nestedState.routes[nestedStateIndex].state), parentScreens.push(route.name);
291
- }
292
- }
293
- route = findFocusedRoute(state), route.path = path;
294
- const params = parseQueryParams(route.path, findParseConfigForRoute(route.name, routeConfigs));
295
- if (params) {
296
- route.params = Object.assign(/* @__PURE__ */Object.create(null), route.params);
297
- for (const [name, value] of Object.entries(params)) if (route.params?.[name] && process.env.NODE_ENV !== "production" && console.warn(`Route '/${route.name}' with param '${name}' was specified both in the path and as a param, removing from path`), !route.params?.[name]) {
298
- route.params[name] = value;
299
- continue;
239
+ nestedState.routes[nestedStateIndex].state = createStateObject(initialRoute, route, routes.length === 0), routes.length > 0 && (nestedState = nestedState.routes[nestedStateIndex].state), parentScreens.push(route.name);
300
240
  }
301
- Object.keys(route.params).length === 0 && delete route.params;
302
241
  }
303
- return hash && (route.params = Object.assign(/* @__PURE__ */Object.create(null), route.params), route.params["#"] = hash), state;
304
- },
305
- parseQueryParams = (path, parseConfig) => {
306
- const query = path.split("?")[1],
307
- searchParams = new URLSearchParams(query),
308
- params = Object.fromEntries(
309
- // @ts-ignore: [Symbol.iterator] is indeed, available on every platform.
310
- searchParams);
311
- return parseConfig && Object.keys(params).forEach(name => {
312
- Object.hasOwnProperty.call(parseConfig, name) && typeof params[name] == "string" && (params[name] = parseConfig[name](params[name]));
313
- }), Object.keys(params).length ? params : void 0;
314
- },
315
- baseUrlCache = /* @__PURE__ */new Map();
316
- function getBaseUrlRegex(baseUrl) {
317
- if (baseUrlCache.has(baseUrl)) return baseUrlCache.get(baseUrl);
318
- const regex = new RegExp(`^\\/?${escape(baseUrl)}`, "g");
319
- return baseUrlCache.set(baseUrl, regex), regex;
320
- }
321
- function stripBaseUrl(path, baseUrl = process.env.EXPO_BASE_URL) {
322
- if (process.env.NODE_ENV !== "development" && baseUrl) {
323
- const reg = getBaseUrlRegex(baseUrl);
324
- return path.replace(/^\/+/g, "/").replace(reg, "");
325
- }
326
- return path;
327
- }
328
- export { getStateFromPath as default, getMatchableRouteConfigs, getUrlWithReactNavigationConcessions, stripBaseUrl };
242
+ route = findFocusedRoute(state), route.path = restPathData.pathWithoutGroups;
243
+ const params = parseQueryParamsExtended(path, route, flatConfig ? findParseConfigForRoute(route.name, flatConfig) : void 0, hash);
244
+ return params && (route.params = {
245
+ ...route.params,
246
+ ...params
247
+ }), state;
248
+ };
249
+ export { getStateFromPath };
329
250
  //# sourceMappingURL=getStateFromPath.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["escape","matchGroupName","stripGroupSegmentsFromPath","findFocusedRoute","validatePathConfig","getUrlWithReactNavigationConcessions","path","baseUrl","process","env","EXPO_BASE_URL","parsed","URL","err","console","warn","message","nonstandardPathname","inputPathnameWithoutHash","replace","url","pathname","stripBaseUrl","getStateFromPath","options","initialRoutes","configs","getMatchableRouteConfigs","getStateFromPathWithConfigs","screens","Error","initialRouteName","push","parentScreens","converted","Object","keys","flatMap","key","createNormalizedConfigs","flat","resolvedInitialPatterns","map","route","joinPaths","config","isInitial","includes","routeNames","join","sort","sortConfigs","assertConfigDuplicates","reduce","acc","indexedKey","regex","toString","pattern","alpha","hasChildren","a","b","length","every","it","i","last","split","pop","match","routeType","startsWith","userReadableName","assign","localeCompare","screen","aParts","filter","part","bParts","Math","max","aWildCard","bWildCard","aNotFound","bNotFound","aSlug","bSlug","getStateFromEmptyPathWithConfigs","hash","leafNodes","value","find","test","routes","name","_route","createNestedStateObject","formattedPaths","cleanPath","search","slice","matchAgainstConfigs","paths","concat","p","Boolean","remaining","remainingPath","matchedParams","routeFromName","config2","c","segments","params","forEach","parse","combinedParams","r","hasCombinedParams","equalHeritage","routeConfig","initials","parentPattern","createConfigItem","exact","nestedConfig","result","formatRegexPattern","endsWith","RegExp","findParseConfigForRoute","routeName","routeConfigs","findInitialRoute","createStateObject","isEmpty","initialRoute","index","state","shift","nestedState","nestedStateIndex","parseQueryParams","create","entries","NODE_ENV","parseConfig","query","searchParams","URLSearchParams","fromEntries","hasOwnProperty","call","baseUrlCache","Map","getBaseUrlRegex","has","get","set","reg"],"sources":["../../../src/fork/getStateFromPath.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["escape","findFocusedRoute","validatePathConfig","appendIsInitial","createConfigItemAdditionalProperties","decodeURIComponentSafe","formatRegexPattern","getParamValue","getRouteConfigSorter","getUrlWithReactNavigationConcessions","matchForEmptyPath","parseQueryParamsExtended","populateParams","getStateFromPath","path","options","initialRoutes","configs","configWithRegexes","getConfigResources","screens","pathData","remaining","nonstandardPathname","replace","endsWith","prefix","normalizedPrefix","startsWith","routes2","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","url","hash","match","routeNames","result","current","routes","remainingPath","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","previousSegments","getInitialRoutes","getNormalizedConfigs","checkForDuplicatedConfigs","getConfigsWithRegexes","initialRouteName","push","parentScreens","concat","Object","keys","key","createNormalizedConfigs","sort","reduce","acc","config","pattern","a","b","every","it","i","Error","join","assign","c","regex","RegExp","joinPaths","paths","p","allParams","create","matchedParams","index","pos","decodedParamSegment","routeConfig","find","screen","normalizedPath","numInitialSegments","params","offset","value","parse","initials","parentPattern","createConfigItem","exact","forEach","nestedConfig","pop","findParseConfigForRoute","routeName","flatConfig","findInitialRoute","sameParents","localeCompare","createStateObject","initialRoute","route","isEmpty","state","restPathData","shift","nestedState","nestedStateIndex","pathWithoutGroups"],"sources":["../../../src/fork/getStateFromPath.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}