one 1.1.390 → 1.1.391

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 (241) 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/fork/NavigationContainer.cjs +49 -31
  7. package/dist/cjs/fork/NavigationContainer.js +40 -21
  8. package/dist/cjs/fork/NavigationContainer.js.map +2 -2
  9. package/dist/cjs/fork/NavigationContainer.native.js +51 -29
  10. package/dist/cjs/fork/NavigationContainer.native.js.map +2 -2
  11. package/dist/cjs/fork/createMemoryHistory.cjs +4 -3
  12. package/dist/cjs/fork/createMemoryHistory.js +3 -2
  13. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  14. package/dist/cjs/fork/createMemoryHistory.native.js +8 -4
  15. package/dist/cjs/fork/createMemoryHistory.native.js.map +2 -2
  16. package/dist/cjs/fork/extractPathFromURL.cjs +48 -28
  17. package/dist/cjs/fork/extractPathFromURL.js +44 -21
  18. package/dist/cjs/fork/extractPathFromURL.js.map +2 -2
  19. package/dist/cjs/fork/extractPathFromURL.native.js +58 -26
  20. package/dist/cjs/fork/extractPathFromURL.native.js.map +2 -2
  21. package/dist/cjs/fork/findFocusedRoute.js.map +1 -1
  22. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  23. package/dist/cjs/fork/getPathFromState-mods.cjs +65 -0
  24. package/dist/cjs/fork/getPathFromState-mods.js +56 -0
  25. package/dist/cjs/fork/getPathFromState-mods.js.map +6 -0
  26. package/dist/cjs/fork/getPathFromState-mods.native.js +70 -0
  27. package/dist/cjs/fork/getPathFromState-mods.native.js.map +6 -0
  28. package/dist/cjs/fork/getPathFromState.cjs +75 -224
  29. package/dist/cjs/fork/getPathFromState.js +68 -223
  30. package/dist/cjs/fork/getPathFromState.js.map +2 -2
  31. package/dist/cjs/fork/getPathFromState.native.js +79 -261
  32. package/dist/cjs/fork/getPathFromState.native.js.map +2 -2
  33. package/dist/cjs/fork/getStateFromPath-mods.cjs +187 -0
  34. package/dist/cjs/fork/getStateFromPath-mods.js +199 -0
  35. package/dist/cjs/fork/getStateFromPath-mods.js.map +6 -0
  36. package/dist/cjs/fork/getStateFromPath-mods.native.js +284 -0
  37. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +6 -0
  38. package/dist/cjs/fork/getStateFromPath.cjs +181 -263
  39. package/dist/cjs/fork/getStateFromPath.js +148 -264
  40. package/dist/cjs/fork/getStateFromPath.js.map +2 -2
  41. package/dist/cjs/fork/getStateFromPath.native.js +164 -304
  42. package/dist/cjs/fork/getStateFromPath.native.js.map +2 -2
  43. package/dist/cjs/fork/useBackButton.js.map +1 -1
  44. package/dist/cjs/fork/useBackButton.native.js.map +1 -1
  45. package/dist/cjs/fork/useDocumentTitle.js +4 -1
  46. package/dist/cjs/fork/useDocumentTitle.js.map +1 -1
  47. package/dist/cjs/fork/useDocumentTitle.native.js +1 -1
  48. package/dist/cjs/fork/useDocumentTitle.native.js.map +2 -2
  49. package/dist/cjs/fork/useLinking.cjs +21 -24
  50. package/dist/cjs/fork/useLinking.js +21 -25
  51. package/dist/cjs/fork/useLinking.js.map +2 -2
  52. package/dist/cjs/fork/useLinking.native.js +68 -66
  53. package/dist/cjs/fork/useLinking.native.js.map +2 -2
  54. package/dist/cjs/fork/useThenable.js.map +1 -1
  55. package/dist/cjs/fork/useThenable.native.js.map +1 -1
  56. package/dist/cjs/fork/validatePathConfig.cjs +32 -11
  57. package/dist/cjs/fork/validatePathConfig.js +41 -11
  58. package/dist/cjs/fork/validatePathConfig.js.map +1 -1
  59. package/dist/cjs/fork/validatePathConfig.native.js +47 -18
  60. package/dist/cjs/fork/validatePathConfig.native.js.map +2 -2
  61. package/dist/cjs/layouts/withLayoutContext.cjs +1 -1
  62. package/dist/cjs/layouts/withLayoutContext.js +1 -1
  63. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  64. package/dist/cjs/layouts/withLayoutContext.native.js +1 -1
  65. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  66. package/dist/cjs/link/linking.cjs +4 -4
  67. package/dist/cjs/link/linking.js +3 -3
  68. package/dist/cjs/link/linking.js.map +2 -2
  69. package/dist/cjs/link/linking.native.js +3 -3
  70. package/dist/cjs/link/linking.native.js.map +1 -1
  71. package/dist/cjs/link/useLinkTo.cjs +2 -2
  72. package/dist/cjs/link/useLinkTo.js +2 -2
  73. package/dist/cjs/link/useLinkTo.js.map +1 -1
  74. package/dist/cjs/link/useLinkTo.native.js +2 -2
  75. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  76. package/dist/cjs/router/getNormalizedStatePath.cjs +2 -2
  77. package/dist/cjs/router/getNormalizedStatePath.js +2 -2
  78. package/dist/cjs/router/getNormalizedStatePath.js.map +1 -1
  79. package/dist/cjs/router/getNormalizedStatePath.native.js +2 -2
  80. package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
  81. package/dist/cjs/router/router.cjs +19 -3
  82. package/dist/cjs/router/router.js +25 -3
  83. package/dist/cjs/router/router.js.map +1 -1
  84. package/dist/cjs/router/router.native.js +39 -3
  85. package/dist/cjs/router/router.native.js.map +2 -2
  86. package/dist/esm/Root.js +6 -2
  87. package/dist/esm/Root.js.map +1 -1
  88. package/dist/esm/Root.mjs +1 -1
  89. package/dist/esm/Root.mjs.map +1 -1
  90. package/dist/esm/Root.native.js +1 -1
  91. package/dist/esm/Root.native.js.map +2 -2
  92. package/dist/esm/fork/NavigationContainer.js +43 -20
  93. package/dist/esm/fork/NavigationContainer.js.map +1 -1
  94. package/dist/esm/fork/NavigationContainer.mjs +42 -24
  95. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  96. package/dist/esm/fork/NavigationContainer.native.js +44 -24
  97. package/dist/esm/fork/NavigationContainer.native.js.map +2 -2
  98. package/dist/esm/fork/createMemoryHistory.js +3 -2
  99. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  100. package/dist/esm/fork/createMemoryHistory.mjs +4 -3
  101. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  102. package/dist/esm/fork/createMemoryHistory.native.js +4 -4
  103. package/dist/esm/fork/createMemoryHistory.native.js.map +2 -2
  104. package/dist/esm/fork/extractPathFromURL.js +42 -11
  105. package/dist/esm/fork/extractPathFromURL.js.map +1 -1
  106. package/dist/esm/fork/extractPathFromURL.mjs +39 -11
  107. package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
  108. package/dist/esm/fork/extractPathFromURL.native.js +52 -15
  109. package/dist/esm/fork/extractPathFromURL.native.js.map +2 -2
  110. package/dist/esm/fork/findFocusedRoute.js.map +1 -1
  111. package/dist/esm/fork/findFocusedRoute.mjs.map +1 -1
  112. package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
  113. package/dist/esm/fork/getPathFromState-mods.js +40 -0
  114. package/dist/esm/fork/getPathFromState-mods.js.map +6 -0
  115. package/dist/esm/fork/getPathFromState-mods.mjs +40 -0
  116. package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -0
  117. package/dist/esm/fork/getPathFromState-mods.native.js +47 -0
  118. package/dist/esm/fork/getPathFromState-mods.native.js.map +6 -0
  119. package/dist/esm/fork/getPathFromState.js +71 -228
  120. package/dist/esm/fork/getPathFromState.js.map +2 -2
  121. package/dist/esm/fork/getPathFromState.mjs +73 -221
  122. package/dist/esm/fork/getPathFromState.mjs.map +1 -1
  123. package/dist/esm/fork/getPathFromState.native.js +79 -260
  124. package/dist/esm/fork/getPathFromState.native.js.map +2 -2
  125. package/dist/esm/fork/getStateFromPath-mods.js +176 -0
  126. package/dist/esm/fork/getStateFromPath-mods.js.map +6 -0
  127. package/dist/esm/fork/getStateFromPath-mods.mjs +143 -0
  128. package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -0
  129. package/dist/esm/fork/getStateFromPath-mods.native.js +246 -0
  130. package/dist/esm/fork/getStateFromPath-mods.native.js.map +6 -0
  131. package/dist/esm/fork/getStateFromPath.js +160 -265
  132. package/dist/esm/fork/getStateFromPath.js.map +2 -2
  133. package/dist/esm/fork/getStateFromPath.mjs +181 -260
  134. package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
  135. package/dist/esm/fork/getStateFromPath.native.js +164 -302
  136. package/dist/esm/fork/getStateFromPath.native.js.map +2 -2
  137. package/dist/esm/fork/useBackButton.js.map +1 -1
  138. package/dist/esm/fork/useBackButton.mjs.map +1 -1
  139. package/dist/esm/fork/useBackButton.native.js.map +1 -1
  140. package/dist/esm/fork/useDocumentTitle.js +4 -1
  141. package/dist/esm/fork/useDocumentTitle.js.map +1 -1
  142. package/dist/esm/fork/useDocumentTitle.mjs.map +1 -1
  143. package/dist/esm/fork/useDocumentTitle.native.js +1 -1
  144. package/dist/esm/fork/useDocumentTitle.native.js.map +2 -2
  145. package/dist/esm/fork/useLinking.js +22 -26
  146. package/dist/esm/fork/useLinking.js.map +1 -1
  147. package/dist/esm/fork/useLinking.mjs +20 -23
  148. package/dist/esm/fork/useLinking.mjs.map +1 -1
  149. package/dist/esm/fork/useLinking.native.js +65 -67
  150. package/dist/esm/fork/useLinking.native.js.map +2 -2
  151. package/dist/esm/fork/useThenable.js.map +1 -1
  152. package/dist/esm/fork/useThenable.mjs.map +1 -1
  153. package/dist/esm/fork/useThenable.native.js.map +1 -1
  154. package/dist/esm/fork/validatePathConfig.js +41 -11
  155. package/dist/esm/fork/validatePathConfig.js.map +1 -1
  156. package/dist/esm/fork/validatePathConfig.mjs +32 -11
  157. package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
  158. package/dist/esm/fork/validatePathConfig.native.js +43 -18
  159. package/dist/esm/fork/validatePathConfig.native.js.map +2 -2
  160. package/dist/esm/layouts/withLayoutContext.js +1 -1
  161. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  162. package/dist/esm/layouts/withLayoutContext.mjs +1 -1
  163. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  164. package/dist/esm/layouts/withLayoutContext.native.js +1 -1
  165. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  166. package/dist/esm/link/linking.js +2 -2
  167. package/dist/esm/link/linking.js.map +1 -1
  168. package/dist/esm/link/linking.mjs +2 -2
  169. package/dist/esm/link/linking.mjs.map +1 -1
  170. package/dist/esm/link/linking.native.js +2 -2
  171. package/dist/esm/link/linking.native.js.map +1 -1
  172. package/dist/esm/link/useLinkTo.js +1 -1
  173. package/dist/esm/link/useLinkTo.mjs +1 -1
  174. package/dist/esm/link/useLinkTo.native.js +1 -1
  175. package/dist/esm/router/getNormalizedStatePath.js +1 -1
  176. package/dist/esm/router/getNormalizedStatePath.mjs +1 -1
  177. package/dist/esm/router/getNormalizedStatePath.native.js +1 -1
  178. package/dist/esm/router/router.js +24 -2
  179. package/dist/esm/router/router.js.map +1 -1
  180. package/dist/esm/router/router.mjs +18 -2
  181. package/dist/esm/router/router.mjs.map +1 -1
  182. package/dist/esm/router/router.native.js +38 -2
  183. package/dist/esm/router/router.native.js.map +2 -2
  184. package/package.json +8 -9
  185. package/src/Root.tsx +6 -2
  186. package/src/fork/NavigationContainer.tsx +101 -39
  187. package/src/fork/createMemoryHistory.tsx +15 -13
  188. package/src/fork/extractPathFromURL.ts +85 -40
  189. package/src/fork/findFocusedRoute.tsx +9 -1
  190. package/src/fork/getPathFromState-mods.ts +142 -0
  191. package/src/fork/getPathFromState.ts +244 -501
  192. package/src/fork/getStateFromPath-mods.ts +400 -0
  193. package/src/fork/getStateFromPath.ts +447 -538
  194. package/src/fork/useBackButton.native.tsx +16 -2
  195. package/src/fork/useBackButton.tsx +11 -2
  196. package/src/fork/useDocumentTitle.native.tsx +9 -4
  197. package/src/fork/useDocumentTitle.tsx +12 -7
  198. package/src/fork/useLinking.native.ts +71 -63
  199. package/src/fork/useLinking.ts +75 -40
  200. package/src/fork/useThenable.tsx +7 -1
  201. package/src/fork/validatePathConfig.ts +64 -12
  202. package/src/layouts/withLayoutContext.tsx +1 -1
  203. package/src/link/linking.ts +2 -2
  204. package/src/link/useLinkTo.tsx +1 -1
  205. package/src/router/getNormalizedStatePath.tsx +1 -1
  206. package/src/router/router.ts +41 -2
  207. package/types/Root.d.ts.map +1 -1
  208. package/types/fork/NavigationContainer.d.ts +19 -8
  209. package/types/fork/NavigationContainer.d.ts.map +1 -1
  210. package/types/fork/createMemoryHistory.d.ts +10 -1
  211. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  212. package/types/fork/extractPathFromURL.d.ts +7 -1
  213. package/types/fork/extractPathFromURL.d.ts.map +1 -1
  214. package/types/fork/findFocusedRoute.d.ts +9 -0
  215. package/types/fork/findFocusedRoute.d.ts.map +1 -1
  216. package/types/fork/getPathFromState-mods.d.ts +23 -0
  217. package/types/fork/getPathFromState-mods.d.ts.map +1 -0
  218. package/types/fork/getPathFromState.d.ts +15 -14
  219. package/types/fork/getPathFromState.d.ts.map +1 -1
  220. package/types/fork/getStateFromPath-mods.d.ts +58 -0
  221. package/types/fork/getStateFromPath-mods.d.ts.map +1 -0
  222. package/types/fork/getStateFromPath.d.ts +28 -29
  223. package/types/fork/getStateFromPath.d.ts.map +1 -1
  224. package/types/fork/useBackButton.d.ts +6 -0
  225. package/types/fork/useBackButton.d.ts.map +1 -1
  226. package/types/fork/useBackButton.native.d.ts +9 -1
  227. package/types/fork/useBackButton.native.d.ts.map +1 -1
  228. package/types/fork/useDocumentTitle.d.ts +8 -6
  229. package/types/fork/useDocumentTitle.d.ts.map +1 -1
  230. package/types/fork/useDocumentTitle.native.d.ts +5 -2
  231. package/types/fork/useDocumentTitle.native.d.ts.map +1 -1
  232. package/types/fork/useLinking.d.ts +8 -1
  233. package/types/fork/useLinking.d.ts.map +1 -1
  234. package/types/fork/useLinking.native.d.ts +9 -2
  235. package/types/fork/useLinking.native.d.ts.map +1 -1
  236. package/types/fork/useThenable.d.ts +6 -0
  237. package/types/fork/useThenable.d.ts.map +1 -1
  238. package/types/fork/validatePathConfig.d.ts +8 -1
  239. package/types/fork/validatePathConfig.d.ts.map +1 -1
  240. package/types/link/linking.d.ts +2 -2
  241. package/types/link/linking.d.ts.map +1 -1
@@ -15,268 +15,92 @@ var __export = (target, all) => {
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
16
  var getPathFromState_exports = {};
17
17
  __export(getPathFromState_exports, {
18
- appendBaseUrl: () => appendBaseUrl,
19
- deepEqual: () => deepEqual,
20
- default: () => getPathFromState,
21
- getPathDataFromState: () => getPathDataFromState
18
+ default: () => getPathFromState_default,
19
+ getPathDataFromState: () => getPathDataFromState,
20
+ getPathFromState: () => getPathFromState
22
21
  });
23
22
  module.exports = __toCommonJS(getPathFromState_exports);
24
- var import_core = require("@react-navigation/core"), import_matchers = require("../router/matchers"), DEFAULT_SCREENS = {}, getActiveRoute = function(state) {
23
+ var import_getPathFromState_mods = require("./getPathFromState-mods"), import_validatePathConfig = require("./validatePathConfig"), getActiveRoute = function(state) {
25
24
  var route = typeof state.index == "number" ? state.routes[state.index] : state.routes[state.routes.length - 1];
26
- return route.state ? getActiveRoute(route.state) : route && isInvalidParams(route.params) ? getActiveRoute(createFakeState(route.params)) : route;
25
+ return route.state ? getActiveRoute(route.state) : route;
26
+ }, cachedNormalizedConfigs = /* @__PURE__ */ new WeakMap(), getNormalizedConfigs = function(options) {
27
+ if (!(options != null && options.screens)) return {};
28
+ var cached = cachedNormalizedConfigs.get(options == null ? void 0 : options.screens);
29
+ if (cached) return cached;
30
+ var normalizedConfigs = createNormalizedConfigs(options.screens);
31
+ return cachedNormalizedConfigs.set(options.screens, normalizedConfigs), normalizedConfigs;
27
32
  };
28
- function createFakeState(params) {
29
- return {
30
- stale: !1,
31
- type: "UNKNOWN",
32
- key: "UNKNOWN",
33
- index: 0,
34
- routeNames: [],
35
- routes: [
36
- {
37
- key: "UNKNOWN",
38
- name: params.screen,
39
- params: params.params,
40
- path: params.path
41
- }
42
- ]
43
- };
44
- }
45
- function segmentMatchesConvention(segment) {
46
- return segment === "index" || (0, import_matchers.matchDynamicName)(segment) != null || (0, import_matchers.matchGroupName)(segment) != null || (0, import_matchers.matchDeepDynamicRouteName)(segment) != null;
47
- }
48
- function encodeURIComponentPreservingBrackets(str) {
49
- return encodeURIComponent(str).replace(/%5B/g, "[").replace(/%5D/g, "]");
50
- }
51
- function getPathFromState(state, _options) {
52
- return getPathDataFromState(state, _options).path;
53
- }
54
- function getPathDataFromState(state) {
55
- var _options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
56
- screens: DEFAULT_SCREENS
57
- };
58
- if (state == null)
59
- throw Error("Got 'undefined' for the navigation state. You must pass a valid state object.");
60
- var { preserveGroups, preserveDynamicRoutes, ...options } = _options;
61
- if ((0, import_core.validatePathConfig)(options), Object.is(options.screens, DEFAULT_SCREENS))
62
- throw Error("You must pass a 'screens' object to 'getPathFromState' to generate a path.");
63
- return getPathFromResolvedState(
64
- state,
65
- // Create a normalized configs object which will be easier to use
66
- createNormalizedConfigs(options.screens),
67
- {
68
- preserveGroups,
69
- preserveDynamicRoutes
70
- }
71
- );
33
+ function getPathFromState(state, options) {
34
+ return getPathDataFromState(state, options).path;
72
35
  }
73
- function processParamsWithUserSettings(configItem, params) {
74
- var stringify = configItem == null ? void 0 : configItem.stringify;
75
- return Object.fromEntries(Object.entries(params).map(function(param) {
76
- var [key, value] = param;
77
- return [
78
- key,
79
- // TODO: Strip nullish values here.
80
- stringify != null && stringify[key] ? stringify[key](value) : (
81
- // Preserve rest params
82
- Array.isArray(value) ? value : String(value)
83
- )
84
- ];
85
- }));
86
- }
87
- function deepEqual(a, b) {
88
- if (a === b)
89
- return !0;
90
- if (Array.isArray(a) && Array.isArray(b)) {
91
- if (a.length !== b.length)
92
- return !1;
93
- for (var i = 0; i < a.length; i++)
94
- if (!deepEqual(a[i], b[i]))
95
- return !1;
96
- return !0;
97
- }
98
- if (typeof a == "object" && typeof b == "object") {
99
- var keysA = Object.keys(a), keysB = Object.keys(b);
100
- if (keysA.length !== keysB.length)
101
- return !1;
102
- var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
103
- try {
104
- for (var _iterator = keysA[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
105
- var key = _step.value;
106
- if (!deepEqual(a[key], b[key]))
107
- return !1;
36
+ function getPathDataFromState(state, options) {
37
+ var _loop = function() {
38
+ for (var _loop2 = function() {
39
+ if (pattern = currentOptions[route.name].pattern, nestedRouteNames.push(route.name), route.params) {
40
+ var _currentOptions_route_name, stringify = (_currentOptions_route_name = currentOptions[route.name]) === null || _currentOptions_route_name === void 0 ? void 0 : _currentOptions_route_name.stringify, currentParams = Object.fromEntries(Object.entries(route.params).flatMap(function(param2) {
41
+ var [key, value] = param2;
42
+ return key === "screen" || key === "params" ? [] : [
43
+ [
44
+ key,
45
+ stringify != null && stringify[key] ? stringify[key](value) : Array.isArray(value) ? value.map(String) : String(value)
46
+ ]
47
+ ];
48
+ }));
49
+ Object.assign(allParams, currentParams), focusedRoute === route && (focusedParams = {
50
+ ...currentParams
51
+ }, pattern == null || pattern.split("/").filter(function(p) {
52
+ return p.startsWith(":");
53
+ }).forEach(function(p) {
54
+ var name = getParamName(p);
55
+ focusedParams && delete focusedParams[name];
56
+ }));
108
57
  }
109
- } catch (err) {
110
- _didIteratorError = !0, _iteratorError = err;
111
- } finally {
112
- try {
113
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
114
- } finally {
115
- if (_didIteratorError)
116
- throw _iteratorError;
58
+ if (!currentOptions[route.name].screens || route.state === void 0) {
59
+ var _route_params_screen, _currentOptions_route_name_screens, screens = currentOptions[route.name].screens, screen = route.params && "screen" in route.params ? (_route_params_screen = route.params.screen) === null || _route_params_screen === void 0 ? void 0 : _route_params_screen.toString() : screens ? Object.keys(screens)[0] : void 0;
60
+ screen && screens && (!((_currentOptions_route_name_screens = currentOptions[route.name].screens) === null || _currentOptions_route_name_screens === void 0) && _currentOptions_route_name_screens[screen]) ? (route = {
61
+ ...screens[screen],
62
+ name: screen,
63
+ key: screen
64
+ }, currentOptions = screens) : hasNext = !1;
65
+ } else {
66
+ index = typeof route.state.index == "number" ? route.state.index : route.state.routes.length - 1;
67
+ var nextRoute = route.state.routes[index], nestedConfig = currentOptions[route.name].screens;
68
+ nestedConfig && nextRoute.name in nestedConfig ? (route = nextRoute, currentOptions = nestedConfig) : hasNext = !1;
117
69
  }
118
- }
119
- return !0;
120
- }
121
- return !1;
122
- }
123
- function walkConfigItems(route, focusedRoute, configs, param) {
124
- var { preserveDynamicRoutes } = param;
125
- !route.state && isInvalidParams(route.params);
126
- for (var pattern = null, focusedParams, hash, collectedParams = {}; route.name in configs; ) {
127
- var configItem = configs[route.name], inputPattern = configItem.pattern;
128
- if (inputPattern == null)
129
- throw new Error("Unexpected: No pattern found for route " + route.name);
130
- if (pattern = inputPattern, route.params) {
131
- route.params["#"] && (hash = route.params["#"], delete route.params["#"]);
132
- var params = processParamsWithUserSettings(configItem, route.params);
133
- pattern != null && Object.assign(collectedParams, params), deepEqual(focusedRoute, route) && (preserveDynamicRoutes ? focusedParams = params : focusedParams = getParamsWithConventionsCollapsed({
134
- params,
70
+ }, index = typeof current.index == "number" ? current.index : 0, route = current.routes[index], pattern = void 0, focusedParams = void 0, focusedRoute = getActiveRoute(state), currentOptions = configs, nestedRouteNames = [], hasNext = !0; route.name in currentOptions && hasNext; ) _loop2();
71
+ if (currentOptions[route.name] !== void 0) {
72
+ var _configs_route_name;
73
+ pattern === void 0 && (pattern = nestedRouteNames.join("/")), path += (0, import_getPathFromState_mods.getPathWithConventionsCollapsed)({
74
+ ...options,
135
75
  pattern,
136
- routeName: route.name
137
- }));
138
- }
139
- if (!route.state && isInvalidParams(route.params), !configItem.screens || route.state === void 0) {
140
- var _configItem_screens_configItem_initialRouteName;
141
- if (configItem.initialRouteName && configItem.screens && configItem.initialRouteName in configItem.screens && (!((_configItem_screens_configItem_initialRouteName = configItem.screens[configItem.initialRouteName]) === null || _configItem_screens_configItem_initialRouteName === void 0) && _configItem_screens_configItem_initialRouteName.pattern)) {
142
- var initialRouteConfig = configItem.screens[configItem.initialRouteName];
143
- pattern = initialRouteConfig.pattern, focusedParams && (preserveDynamicRoutes || (focusedParams = getParamsWithConventionsCollapsed({
144
- params: focusedParams,
145
- pattern,
146
- routeName: route.name
147
- })));
148
- }
149
- break;
76
+ route,
77
+ params: allParams,
78
+ initialRouteName: (_configs_route_name = configs[route.name]) === null || _configs_route_name === void 0 ? void 0 : _configs_route_name.initialRouteName
79
+ });
80
+ } else
81
+ route.name.startsWith("+") || (path += encodeURIComponent(route.name));
82
+ if (focusedParams || (focusedParams = focusedRoute.params), route.state)
83
+ path += "/";
84
+ else if (focusedParams) {
85
+ for (var param in focusedParams)
86
+ focusedParams[param] === "undefined" && delete focusedParams[param];
87
+ delete focusedParams["#"];
88
+ var query = new URLSearchParams(focusedParams).toString();
89
+ query && (path += `?${query}`);
150
90
  }
151
- var _route_state_index, index = (_route_state_index = route.state.index) !== null && _route_state_index !== void 0 ? _route_state_index : route.state.routes.length - 1, nextRoute = route.state.routes[index], nestedScreens = configItem.screens;
152
- if (nestedScreens && nextRoute.name in nestedScreens)
153
- route = nextRoute, configs = nestedScreens;
154
- else
155
- break;
156
- }
157
- if (pattern == null)
158
- throw new Error(`No pattern found for route "${route.name}". Options are: ${Object.keys(configs).join(", ")}.`);
159
- return pattern && !focusedParams && focusedRoute.params && (preserveDynamicRoutes ? focusedParams = focusedRoute.params : focusedParams = getParamsWithConventionsCollapsed({
160
- params: focusedRoute.params,
161
- pattern,
162
- routeName: route.name
163
- }), focusedParams = {
164
- ...focusedParams,
165
- ...collectedParams
166
- }), {
167
- pattern,
168
- nextRoute: route,
169
- focusedParams,
170
- hash,
171
- params: collectedParams
91
+ current = route.state;
172
92
  };
173
- }
174
- function getPathFromResolvedState(state, configs, param) {
175
- for (var { preserveGroups, preserveDynamicRoutes } = param, path = "", current = state, hash, allParams = {}; current; ) {
176
- var _configs_nextRoute_name, _nextRoute_state_routes_, _nextRoute_state, _nextRoute_state_routes;
177
- path += "/";
178
- var _current_index, route = current.routes[(_current_index = current.index) !== null && _current_index !== void 0 ? _current_index : 0];
179
- !route.state && isInvalidParams(route.params);
180
- var { pattern, params, nextRoute, focusedParams, hash: $hash } = walkConfigItems(route, getActiveRoute(current), {
181
- ...configs
182
- }, {
183
- preserveDynamicRoutes
184
- });
185
- $hash && (hash = $hash), Object.assign(allParams, params), path += getPathWithConventionsCollapsed({
186
- pattern,
187
- routePath: nextRoute.path,
188
- params: allParams,
189
- initialRouteName: (_configs_nextRoute_name = configs[nextRoute.name]) === null || _configs_nextRoute_name === void 0 ? void 0 : _configs_nextRoute_name.initialRouteName,
190
- preserveGroups,
191
- preserveDynamicRoutes
192
- });
193
- var _nextRoute_state_index;
194
- if (nextRoute.state && // NOTE: The upstream implementation allows for sending in synthetic states (states that weren't generated by `getStateFromPath`)
195
- // and any invalid routes will simply be ignored.
196
- // Because of this, we need to check if the next route is valid before continuing, otherwise our more strict
197
- // implementation will throw an error.
198
- configs[(_nextRoute_state_routes = nextRoute.state.routes) === null || _nextRoute_state_routes === void 0 || (_nextRoute_state_routes_ = _nextRoute_state_routes[(_nextRoute_state_index = (_nextRoute_state = nextRoute.state) === null || _nextRoute_state === void 0 ? void 0 : _nextRoute_state.index) !== null && _nextRoute_state_index !== void 0 ? _nextRoute_state_index : 0]) === null || _nextRoute_state_routes_ === void 0 ? void 0 : _nextRoute_state_routes_.name])
199
- current = nextRoute.state;
200
- else {
201
- if (focusedParams && // note: using [...route] is returning an array which shouldn't go on search, this is just
202
- // an initial hacky test to work around this as we dont want to pass that to search
203
- !Array.isArray(focusedParams)) {
204
- for (var _$param in focusedParams)
205
- focusedParams[_$param] === "undefined" && delete focusedParams[_$param];
206
- var query = new URLSearchParams(focusedParams).toString();
207
- query && (path += `?${query}`);
208
- }
209
- break;
210
- }
211
- }
212
- hash && (allParams["#"] = hash, path += `#${hash}`);
213
- var params1 = decodeParams(allParams);
214
- return {
215
- path: appendBaseUrl(basicSanitizePath(path)),
216
- params: params1
93
+ if (state == null)
94
+ throw Error("Got 'undefined' for the navigation state. You must pass a valid state object.");
95
+ options && (0, import_validatePathConfig.validatePathConfig)(options);
96
+ for (var configs = getNormalizedConfigs(options), path = "/", current = state, allParams = {}; current; ) _loop();
97
+ return path = path.replace(/\/+/g, "/"), path = path.length > 1 ? path.replace(/\/$/, "") : path, options != null && options.path && (path = joinPaths(options.path, path)), path = (0, import_getPathFromState_mods.appendBaseUrl)(path), allParams["#"] && (path += `#${allParams["#"]}`), {
98
+ path,
99
+ params: allParams
217
100
  };
218
101
  }
219
- function decodeParams(params) {
220
- var parsed = {}, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
221
- try {
222
- for (var _iterator = Object.entries(params)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
223
- var [key, value] = _step.value;
224
- try {
225
- Array.isArray(value) ? parsed[key] = value.map(function(v) {
226
- return decodeURIComponent(v);
227
- }) : parsed[key] = decodeURIComponent(value);
228
- } catch {
229
- parsed[key] = value;
230
- }
231
- }
232
- } catch (err) {
233
- _didIteratorError = !0, _iteratorError = err;
234
- } finally {
235
- try {
236
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
237
- } finally {
238
- if (_didIteratorError)
239
- throw _iteratorError;
240
- }
241
- }
242
- return parsed;
243
- }
244
- function getPathWithConventionsCollapsed(param) {
245
- var { pattern, routePath, params, preserveGroups, preserveDynamicRoutes, initialRouteName } = param, segments = pattern.split("/");
246
- return segments.map(function(p, i) {
247
- var name = getParamName(p);
248
- return p.startsWith("*") ? preserveDynamicRoutes ? name === "not-found" ? "+not-found" : `[...${name}]` : params[name] ? Array.isArray(params[name]) ? params[name].join("/") : params[name] : i === 0 ? routePath : routePath == null ? void 0 : routePath.split("/").slice(i + 1).join("/") : p.startsWith(":") ? preserveDynamicRoutes ? `[${name}]` : params[name] : !preserveGroups && (0, import_matchers.matchGroupName)(p) != null ? segments.length - 1 === i && initialRouteName ? segmentMatchesConvention(initialRouteName) ? "" : encodeURIComponentPreservingBrackets(initialRouteName) : "" : encodeURIComponentPreservingBrackets(p);
249
- }).map(function(v) {
250
- return v ?? "";
251
- }).join("/");
252
- }
253
- function getParamsWithConventionsCollapsed(param) {
254
- var { pattern, routeName, params } = param, processedParams = {
255
- ...params
256
- }, segments = pattern.split("/");
257
- if (segments.filter(function(segment) {
258
- return segment.startsWith(":");
259
- }).forEach(function(segment) {
260
- var name2 = getParamName(segment);
261
- delete processedParams[name2];
262
- }), segments.some(function(segment) {
263
- return segment.startsWith("*");
264
- })) {
265
- var _matchDeepDynamicRouteName, name = (0, import_matchers.testNotFound)(routeName) ? "not-found" : (_matchDeepDynamicRouteName = (0, import_matchers.matchDeepDynamicRouteName)(routeName)) !== null && _matchDeepDynamicRouteName !== void 0 ? _matchDeepDynamicRouteName : routeName;
266
- delete processedParams[name];
267
- }
268
- return processedParams;
269
- }
270
- function basicSanitizePath(path) {
271
- var simplifiedPath = path.replace(/\/+/g, "/");
272
- return simplifiedPath.length <= 1 ? simplifiedPath : simplifiedPath.replace(/\/$/, "");
273
- }
274
- function isInvalidParams(params) {
275
- return params ? "params" in params && typeof params.params == "object" && params.params ? !0 : "initial" in params && typeof params.initial == "boolean" && // "path" in params &&
276
- "screen" in params : !1;
277
- }
278
102
  var getParamName = function(pattern) {
279
- return pattern.replace(/^[:*]/, "").replace(/\?$/, "");
103
+ return pattern.replace(/^:/, "").replace(/\?$/, "");
280
104
  }, joinPaths = function() {
281
105
  for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++)
282
106
  paths[_key] = arguments[_key];
@@ -297,26 +121,20 @@ var getParamName = function(pattern) {
297
121
  // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.
298
122
  pattern: pattern1 == null ? void 0 : pattern1.split("/").filter(Boolean).join("/"),
299
123
  stringify: config.stringify,
300
- screens,
301
- initialRouteName: config.initialRouteName
124
+ screens
302
125
  };
303
126
  }, createNormalizedConfigs = function(options, pattern) {
304
127
  return Object.fromEntries(Object.entries(options).map(function(param) {
305
- var [name, c] = param;
128
+ var [name, c] = param, result = createConfigItem(c, pattern);
306
129
  return [
307
130
  name,
308
- createConfigItem(c, pattern)
131
+ result
309
132
  ];
310
133
  }));
311
- };
312
- function appendBaseUrl(path) {
313
- var baseUrl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.env.EXPO_BASE_URL;
314
- return process.env.NODE_ENV !== "development" && baseUrl ? `/${baseUrl.replace(/^\/+/, "").replace(/\/$/, "")}${path}` : path;
315
- }
134
+ }, getPathFromState_default = getPathFromState;
316
135
  // Annotate the CommonJS export names for ESM import in node:
317
136
  0 && (module.exports = {
318
- appendBaseUrl,
319
- deepEqual,
320
- getPathDataFromState
137
+ getPathDataFromState,
138
+ getPathFromState
321
139
  });
322
140
  //# sourceMappingURL=getPathFromState.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/fork/Users/n8/one/packages/one/src/fork/getPathFromState.ts"],
4
- "mappings": "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",
5
- "names": ["DEFAULT_SCREENS", "getActiveRoute", "state", "route", "index", "routes", "length", "isInvalidParams", "params", "createFakeState", "stale", "type", "key", "routeNames", "name", "screen", "path", "segmentMatchesConvention", "segment", "matchDynamicName", "matchGroupName", "matchDeepDynamicRouteName", "encodeURIComponentPreservingBrackets", "str", "encodeURIComponent", "replace", "_options", "getPathDataFromState", "screens", "Error", "preserveGroups", "preserveDynamicRoutes", "options", "validatePathConfig", "Object", "is", "getPathFromResolvedState", "createNormalizedConfigs", "processParamsWithUserSettings", "configItem", "stringify", "fromEntries", "entries", "map", "value", "Array", "isArray", "String", "deepEqual", "a", "b", "i", "keysA", "keys", "keysB", "walkConfigItems", "focusedRoute", "configs", "pattern", "focusedParams", "hash", "collectedParams", "inputPattern", "assign", "getParamsWithConventionsCollapsed", "routeName", "undefined", "initialRouteName", "initialRouteConfig", "nextRoute", "nestedScreens", "join", "current", "allParams", "$hash", "getPathWithConventionsCollapsed", "routePath", "param", "query", "URLSearchParams", "toString", "decodeParams", "appendBaseUrl", "basicSanitizePath", "parsed", "v", "decodeURIComponent", "segments", "split", "p", "getParamName", "startsWith", "slice", "processedParams", "filter", "forEach", "some", "testNotFound", "simplifiedPath", "initial", "joinPaths", "paths", "concat", "Boolean", "createConfigItem", "config", "parentPattern", "exact", "c", "baseUrl", "process", "env", "EXPO_BASE_URL", "NODE_ENV"]
4
+ "mappings": "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",
5
+ "names": ["getActiveRoute", "state", "route", "index", "routes", "length", "cachedNormalizedConfigs", "WeakMap", "getNormalizedConfigs", "options", "screens", "cached", "get", "normalizedConfigs", "createNormalizedConfigs", "set", "getPathFromState", "getPathDataFromState", "path", "pattern", "currentOptions", "name", "nestedRouteNames", "push", "params", "stringify", "currentParams", "Object", "fromEntries", "entries", "flatMap", "param", "key", "value", "Array", "isArray", "map", "String", "assign", "allParams", "focusedRoute", "focusedParams", "split", "filter", "p", "startsWith", "forEach", "getParamName", "undefined", "screen", "toString", "keys", "hasNext", "nextRoute", "nestedConfig", "current", "configs", "join", "getPathWithConventionsCollapsed", "initialRouteName", "encodeURIComponent", "query", "URLSearchParams", "Error", "validatePathConfig", "replace", "joinPaths", "appendBaseUrl", "paths", "concat", "Boolean", "createConfigItem", "config", "parentPattern", "exact", "c", "result"]
6
6
  }
@@ -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
+ }