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
@@ -0,0 +1,187 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf,
6
+ __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: !0
28
+ }) : target, mod)),
29
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
+ value: !0
31
+ }), mod);
32
+ var getStateFromPath_mods_exports = {};
33
+ __export(getStateFromPath_mods_exports, {
34
+ appendIsInitial: () => appendIsInitial,
35
+ createConfigItemAdditionalProperties: () => createConfigItemAdditionalProperties,
36
+ decodeURIComponentSafe: () => decodeURIComponentSafe,
37
+ formatRegexPattern: () => formatRegexPattern,
38
+ getParamValue: () => getParamValue,
39
+ getRouteConfigSorter: () => getRouteConfigSorter,
40
+ getUrlWithReactNavigationConcessions: () => getUrlWithReactNavigationConcessions,
41
+ matchForEmptyPath: () => matchForEmptyPath,
42
+ parseQueryParamsExtended: () => parseQueryParamsExtended,
43
+ populateParams: () => populateParams,
44
+ stripBaseUrl: () => stripBaseUrl
45
+ });
46
+ module.exports = __toCommonJS(getStateFromPath_mods_exports);
47
+ var import_escape_string_regexp = __toESM(require("escape-string-regexp"), 1),
48
+ import_matchers = require("../router/matchers.cjs");
49
+ function getUrlWithReactNavigationConcessions(path, baseUrl = process.env.EXPO_BASE_URL) {
50
+ let parsed;
51
+ try {
52
+ parsed = new URL(path, "https://phony.example");
53
+ } catch {
54
+ return {
55
+ path,
56
+ cleanUrl: "",
57
+ nonstandardPathname: "",
58
+ url: new URL("https://phony.example")
59
+ };
60
+ }
61
+ const pathname = parsed.pathname,
62
+ withoutBaseUrl = stripBaseUrl(pathname, baseUrl),
63
+ pathWithoutGroups = (0, import_matchers.stripGroupSegmentsFromPath)(stripBaseUrl(path, baseUrl));
64
+ return {
65
+ // The slashes are at the end, not the beginning
66
+ path,
67
+ nonstandardPathname: withoutBaseUrl.replace(/^\/+/g, "").replace(/\/+$/g, "") + "/",
68
+ url: parsed,
69
+ pathWithoutGroups
70
+ };
71
+ }
72
+ function matchForEmptyPath(configs) {
73
+ const leafNodes = configs.filter(config => !config.hasChildren).map(value => ({
74
+ ...value,
75
+ // Collapse all levels of group segments before testing.
76
+ // This enables `app/(one)/(two)/index.js` to be matched.
77
+ path: (0, import_matchers.stripGroupSegmentsFromPath)(value.path)
78
+ }));
79
+ return leafNodes.find(config =>
80
+ // NOTE: Test leaf node index routes that either don't have a regex or match an empty string.
81
+ config.path === "" && (!config.regex || config.regex.test(""))) ?? leafNodes.find(config =>
82
+ // NOTE: Test leaf node dynamic routes that match an empty string.
83
+ config.path.startsWith(":") && config.regex.test("")) ??
84
+ // NOTE: Test leaf node deep dynamic routes that match a slash.
85
+ // This should be done last to enable dynamic routes having a higher priority.
86
+ leafNodes.find(config => config.path.startsWith("*") && config.regex.test("/"));
87
+ }
88
+ function appendIsInitial(initialRoutes) {
89
+ const resolvedInitialPatterns = initialRoutes.map(route => joinPaths(...route.parentScreens, route.initialRouteName));
90
+ return config => (config.isInitial = resolvedInitialPatterns.includes(config.routeNames.join("/")), config);
91
+ }
92
+ const joinPaths = (...paths) => [].concat(...paths.map(p => p.split("/"))).filter(Boolean).join("/");
93
+ function getRouteConfigSorter(previousSegments = []) {
94
+ return function (a, b) {
95
+ if (a.pattern === b.pattern) return b.routeNames.join(">").localeCompare(a.routeNames.join(">"));
96
+ if (a.pattern.startsWith(b.pattern) && !b.isIndex) return -1;
97
+ if (b.pattern.startsWith(a.pattern) && !a.isIndex) return 1;
98
+ if (a.type === "static" && b.type !== "static") return -1;
99
+ if (a.type !== "static" && b.type === "static") return 1;
100
+ const similarToPreviousA = previousSegments.filter((value, index) => value === a.expandedRouteNames[index] && value.startsWith("(") && value.endsWith(")")),
101
+ similarToPreviousB = previousSegments.filter((value, index) => value === b.expandedRouteNames[index] && value.startsWith("(") && value.endsWith(")"));
102
+ if ((similarToPreviousA.length > 0 || similarToPreviousB.length > 0) && similarToPreviousA.length !== similarToPreviousB.length) return similarToPreviousB.length - similarToPreviousA.length;
103
+ for (let i = 0; i < Math.max(a.parts.length, b.parts.length); i++) {
104
+ if (a.parts[i] == null) return 1;
105
+ if (b.parts[i] == null) return -1;
106
+ const aWildCard = a.parts[i].startsWith("*"),
107
+ bWildCard = b.parts[i].startsWith("*");
108
+ if (aWildCard && bWildCard) {
109
+ const aNotFound = a.parts[i].match(/^[*]not-found$/),
110
+ bNotFound = b.parts[i].match(/^[*]not-found$/);
111
+ if (aNotFound && bNotFound) continue;
112
+ if (aNotFound) return 1;
113
+ if (bNotFound) return -1;
114
+ continue;
115
+ }
116
+ if (aWildCard) return 1;
117
+ if (bWildCard) return -1;
118
+ const aSlug = a.parts[i].startsWith(":"),
119
+ bSlug = b.parts[i].startsWith(":");
120
+ if (aSlug && bSlug) {
121
+ const aNotFound = a.parts[i].match(/^[*]not-found$/),
122
+ bNotFound = b.parts[i].match(/^[*]not-found$/);
123
+ if (aNotFound && bNotFound) continue;
124
+ if (aNotFound) return 1;
125
+ if (bNotFound) return -1;
126
+ continue;
127
+ }
128
+ if (aSlug) return 1;
129
+ if (bSlug) return -1;
130
+ }
131
+ return a.isInitial && !b.isInitial ? -1 : !a.isInitial && b.isInitial ? 1 : b.parts.length - a.parts.length;
132
+ };
133
+ }
134
+ function formatRegexPattern(it) {
135
+ return it = it.replace(" ", "%20"), it.startsWith(":") ? `(([^/]+\\/)${it.endsWith("?") ? "?" : ""})` : it.startsWith("*") ? `((.*\\/)${it.endsWith("?") ? "?" : ""})` : (0, import_matchers.matchGroupName)(it) != null ? `(?:${escape(it)}\\/)?` : (0, import_escape_string_regexp.default)(it) + "\\/";
136
+ }
137
+ function decodeURIComponentSafe(str) {
138
+ try {
139
+ return decodeURIComponent(str);
140
+ } catch {
141
+ return str;
142
+ }
143
+ }
144
+ function getParamValue(p, value) {
145
+ if (p.startsWith("*")) {
146
+ const values = value.split("/").filter(v => v !== "");
147
+ return values.length === 0 && p.endsWith("?") ? void 0 : values;
148
+ }
149
+ return value;
150
+ }
151
+ function populateParams(routes, params) {
152
+ if (!(!routes || !params || Object.keys(params).length === 0)) {
153
+ for (const route of routes) Object.assign(route, {
154
+ params
155
+ });
156
+ return routes;
157
+ }
158
+ }
159
+ function createConfigItemAdditionalProperties(screen, pattern, routeNames, config = {}) {
160
+ const parts = [];
161
+ let isDynamic = !1;
162
+ const isIndex = screen === "index" || screen.endsWith("/index");
163
+ for (const part of pattern.split("/")) part && (isDynamic ||= part.startsWith(":") || part.startsWith("*") || part.includes("*not-found"), (0, import_matchers.matchGroupName)(part) || parts.push(part));
164
+ const hasChildren = config.screens ? !!Object.keys(config.screens)?.length : !1,
165
+ type = hasChildren ? "layout" : isDynamic ? "dynamic" : "static";
166
+ return isIndex && parts.push("index"), {
167
+ type,
168
+ isIndex,
169
+ hasChildren,
170
+ parts,
171
+ userReadableName: [...routeNames.slice(0, -1), config.path || screen].join("/"),
172
+ expandedRouteNames: routeNames.flatMap(name => name.split("/"))
173
+ };
174
+ }
175
+ function parseQueryParamsExtended(path, route, parseConfig, hash) {
176
+ const searchParams = new URL(path, "https://phony.example").searchParams,
177
+ params = /* @__PURE__ */Object.create(null);
178
+ hash && (params["#"] = hash.slice(1));
179
+ for (const name of searchParams.keys()) 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`);else {
180
+ const values = parseConfig?.hasOwnProperty(name) ? searchParams.getAll(name).map(value => parseConfig[name](value)) : searchParams.getAll(name);
181
+ params[name] = values.length === 1 ? values[0] : values;
182
+ }
183
+ return Object.keys(params).length ? params : void 0;
184
+ }
185
+ function stripBaseUrl(path, baseUrl = process.env.EXPO_BASE_URL) {
186
+ return process.env.NODE_ENV !== "development" && baseUrl ? path.replace(/^\/+/g, "/").replace(new RegExp(`^\\/?${escape(baseUrl)}`, "g"), "") : path;
187
+ }
@@ -0,0 +1,199 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ // If the importer is in node compatibility mode or this is not an ESM
17
+ // file that has been converted to a CommonJS file using a Babel-
18
+ // compatible transform (i.e. "__esModule" has not been set), then set
19
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
+ mod
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
+ var getStateFromPath_mods_exports = {};
24
+ __export(getStateFromPath_mods_exports, {
25
+ appendIsInitial: () => appendIsInitial,
26
+ createConfigItemAdditionalProperties: () => createConfigItemAdditionalProperties,
27
+ decodeURIComponentSafe: () => decodeURIComponentSafe,
28
+ formatRegexPattern: () => formatRegexPattern,
29
+ getParamValue: () => getParamValue,
30
+ getRouteConfigSorter: () => getRouteConfigSorter,
31
+ getUrlWithReactNavigationConcessions: () => getUrlWithReactNavigationConcessions,
32
+ matchForEmptyPath: () => matchForEmptyPath,
33
+ parseQueryParamsExtended: () => parseQueryParamsExtended,
34
+ populateParams: () => populateParams,
35
+ stripBaseUrl: () => stripBaseUrl
36
+ });
37
+ module.exports = __toCommonJS(getStateFromPath_mods_exports);
38
+ var import_escape_string_regexp = __toESM(require("escape-string-regexp"), 1), import_matchers = require("../router/matchers");
39
+ function getUrlWithReactNavigationConcessions(path, baseUrl = process.env.EXPO_BASE_URL) {
40
+ let parsed;
41
+ try {
42
+ parsed = new URL(path, "https://phony.example");
43
+ } catch {
44
+ return {
45
+ path,
46
+ cleanUrl: "",
47
+ nonstandardPathname: "",
48
+ url: new URL("https://phony.example")
49
+ };
50
+ }
51
+ const pathname = parsed.pathname, withoutBaseUrl = stripBaseUrl(pathname, baseUrl), pathWithoutGroups = (0, import_matchers.stripGroupSegmentsFromPath)(stripBaseUrl(path, baseUrl));
52
+ return {
53
+ // The slashes are at the end, not the beginning
54
+ path,
55
+ nonstandardPathname: withoutBaseUrl.replace(/^\/+/g, "").replace(/\/+$/g, "") + "/",
56
+ url: parsed,
57
+ pathWithoutGroups
58
+ };
59
+ }
60
+ function matchForEmptyPath(configs) {
61
+ const leafNodes = configs.filter((config) => !config.hasChildren).map((value) => ({
62
+ ...value,
63
+ // Collapse all levels of group segments before testing.
64
+ // This enables `app/(one)/(two)/index.js` to be matched.
65
+ path: (0, import_matchers.stripGroupSegmentsFromPath)(value.path)
66
+ }));
67
+ return leafNodes.find(
68
+ (config) => (
69
+ // NOTE: Test leaf node index routes that either don't have a regex or match an empty string.
70
+ config.path === "" && (!config.regex || config.regex.test(""))
71
+ )
72
+ ) ?? leafNodes.find(
73
+ (config) => (
74
+ // NOTE: Test leaf node dynamic routes that match an empty string.
75
+ config.path.startsWith(":") && config.regex.test("")
76
+ )
77
+ ) ?? // NOTE: Test leaf node deep dynamic routes that match a slash.
78
+ // This should be done last to enable dynamic routes having a higher priority.
79
+ leafNodes.find((config) => config.path.startsWith("*") && config.regex.test("/"));
80
+ }
81
+ function appendIsInitial(initialRoutes) {
82
+ const resolvedInitialPatterns = initialRoutes.map(
83
+ (route) => joinPaths(...route.parentScreens, route.initialRouteName)
84
+ );
85
+ return (config) => (config.isInitial = resolvedInitialPatterns.includes(config.routeNames.join("/")), config);
86
+ }
87
+ const joinPaths = (...paths) => [].concat(...paths.map((p) => p.split("/"))).filter(Boolean).join("/");
88
+ function getRouteConfigSorter(previousSegments = []) {
89
+ return function(a, b) {
90
+ if (a.pattern === b.pattern)
91
+ return b.routeNames.join(">").localeCompare(a.routeNames.join(">"));
92
+ if (a.pattern.startsWith(b.pattern) && !b.isIndex)
93
+ return -1;
94
+ if (b.pattern.startsWith(a.pattern) && !a.isIndex)
95
+ return 1;
96
+ if (a.type === "static" && b.type !== "static")
97
+ return -1;
98
+ if (a.type !== "static" && b.type === "static")
99
+ return 1;
100
+ const similarToPreviousA = previousSegments.filter((value, index) => value === a.expandedRouteNames[index] && value.startsWith("(") && value.endsWith(")")), similarToPreviousB = previousSegments.filter((value, index) => value === b.expandedRouteNames[index] && value.startsWith("(") && value.endsWith(")"));
101
+ if ((similarToPreviousA.length > 0 || similarToPreviousB.length > 0) && similarToPreviousA.length !== similarToPreviousB.length)
102
+ return similarToPreviousB.length - similarToPreviousA.length;
103
+ for (let i = 0; i < Math.max(a.parts.length, b.parts.length); i++) {
104
+ if (a.parts[i] == null)
105
+ return 1;
106
+ if (b.parts[i] == null)
107
+ return -1;
108
+ const aWildCard = a.parts[i].startsWith("*"), bWildCard = b.parts[i].startsWith("*");
109
+ if (aWildCard && bWildCard) {
110
+ const aNotFound = a.parts[i].match(/^[*]not-found$/), bNotFound = b.parts[i].match(/^[*]not-found$/);
111
+ if (aNotFound && bNotFound)
112
+ continue;
113
+ if (aNotFound)
114
+ return 1;
115
+ if (bNotFound)
116
+ return -1;
117
+ continue;
118
+ }
119
+ if (aWildCard)
120
+ return 1;
121
+ if (bWildCard)
122
+ return -1;
123
+ const aSlug = a.parts[i].startsWith(":"), bSlug = b.parts[i].startsWith(":");
124
+ if (aSlug && bSlug) {
125
+ const aNotFound = a.parts[i].match(/^[*]not-found$/), bNotFound = b.parts[i].match(/^[*]not-found$/);
126
+ if (aNotFound && bNotFound)
127
+ continue;
128
+ if (aNotFound)
129
+ return 1;
130
+ if (bNotFound)
131
+ return -1;
132
+ continue;
133
+ }
134
+ if (aSlug)
135
+ return 1;
136
+ if (bSlug)
137
+ return -1;
138
+ }
139
+ return a.isInitial && !b.isInitial ? -1 : !a.isInitial && b.isInitial ? 1 : b.parts.length - a.parts.length;
140
+ };
141
+ }
142
+ function formatRegexPattern(it) {
143
+ return it = it.replace(" ", "%20"), it.startsWith(":") ? `(([^/]+\\/)${it.endsWith("?") ? "?" : ""})` : it.startsWith("*") ? `((.*\\/)${it.endsWith("?") ? "?" : ""})` : (0, import_matchers.matchGroupName)(it) != null ? `(?:${escape(it)}\\/)?` : (0, import_escape_string_regexp.default)(it) + "\\/";
144
+ }
145
+ function decodeURIComponentSafe(str) {
146
+ try {
147
+ return decodeURIComponent(str);
148
+ } catch {
149
+ return str;
150
+ }
151
+ }
152
+ function getParamValue(p, value) {
153
+ if (p.startsWith("*")) {
154
+ const values = value.split("/").filter((v) => v !== "");
155
+ return values.length === 0 && p.endsWith("?") ? void 0 : values;
156
+ }
157
+ return value;
158
+ }
159
+ function populateParams(routes, params) {
160
+ if (!(!routes || !params || Object.keys(params).length === 0)) {
161
+ for (const route of routes)
162
+ Object.assign(route, { params });
163
+ return routes;
164
+ }
165
+ }
166
+ function createConfigItemAdditionalProperties(screen, pattern, routeNames, config = {}) {
167
+ const parts = [];
168
+ let isDynamic = !1;
169
+ const isIndex = screen === "index" || screen.endsWith("/index");
170
+ for (const part of pattern.split("/"))
171
+ part && (isDynamic ||= part.startsWith(":") || part.startsWith("*") || part.includes("*not-found"), (0, import_matchers.matchGroupName)(part) || parts.push(part));
172
+ const hasChildren = config.screens ? !!Object.keys(config.screens)?.length : !1, type = hasChildren ? "layout" : isDynamic ? "dynamic" : "static";
173
+ return isIndex && parts.push("index"), {
174
+ type,
175
+ isIndex,
176
+ hasChildren,
177
+ parts,
178
+ userReadableName: [...routeNames.slice(0, -1), config.path || screen].join("/"),
179
+ expandedRouteNames: routeNames.flatMap((name) => name.split("/"))
180
+ };
181
+ }
182
+ function parseQueryParamsExtended(path, route, parseConfig, hash) {
183
+ const searchParams = new URL(path, "https://phony.example").searchParams, params = /* @__PURE__ */ Object.create(null);
184
+ hash && (params["#"] = hash.slice(1));
185
+ for (const name of searchParams.keys())
186
+ if (route.params?.[name])
187
+ process.env.NODE_ENV !== "production" && console.warn(
188
+ `Route '/${route.name}' with param '${name}' was specified both in the path and as a param, removing from path`
189
+ );
190
+ else {
191
+ const values = parseConfig?.hasOwnProperty(name) ? searchParams.getAll(name).map((value) => parseConfig[name](value)) : searchParams.getAll(name);
192
+ params[name] = values.length === 1 ? values[0] : values;
193
+ }
194
+ return Object.keys(params).length ? params : void 0;
195
+ }
196
+ function stripBaseUrl(path, baseUrl = process.env.EXPO_BASE_URL) {
197
+ return process.env.NODE_ENV !== "development" && baseUrl ? path.replace(/^\/+/g, "/").replace(new RegExp(`^\\/?${escape(baseUrl)}`, "g"), "") : path;
198
+ }
199
+ //# sourceMappingURL=getStateFromPath-mods.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/fork/getStateFromPath-mods.ts"],
4
+ "mappings": "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",
5
+ "names": ["escape_"]
6
+ }