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
@@ -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
+ }
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
12
+ for (let key of __getOwnPropNames(from))
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
+ mod
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
+ var getStateFromPath_mods_exports = {};
25
+ __export(getStateFromPath_mods_exports, {
26
+ appendIsInitial: () => appendIsInitial,
27
+ createConfigItemAdditionalProperties: () => createConfigItemAdditionalProperties,
28
+ decodeURIComponentSafe: () => decodeURIComponentSafe,
29
+ formatRegexPattern: () => formatRegexPattern,
30
+ getParamValue: () => getParamValue,
31
+ getRouteConfigSorter: () => getRouteConfigSorter,
32
+ getUrlWithReactNavigationConcessions: () => getUrlWithReactNavigationConcessions,
33
+ matchForEmptyPath: () => matchForEmptyPath,
34
+ parseQueryParamsExtended: () => parseQueryParamsExtended,
35
+ populateParams: () => populateParams,
36
+ stripBaseUrl: () => stripBaseUrl
37
+ });
38
+ module.exports = __toCommonJS(getStateFromPath_mods_exports);
39
+ var import_escape_string_regexp = __toESM(require("escape-string-regexp"), 1), import_matchers = require("../router/matchers");
40
+ function getUrlWithReactNavigationConcessions(path) {
41
+ var baseUrl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.env.EXPO_BASE_URL, parsed;
42
+ try {
43
+ parsed = new URL(path, "https://phony.example");
44
+ } catch {
45
+ return {
46
+ path,
47
+ cleanUrl: "",
48
+ nonstandardPathname: "",
49
+ url: new URL("https://phony.example")
50
+ };
51
+ }
52
+ var pathname = parsed.pathname, withoutBaseUrl = stripBaseUrl(pathname, baseUrl), pathWithoutGroups = (0, import_matchers.stripGroupSegmentsFromPath)(stripBaseUrl(path, baseUrl));
53
+ return {
54
+ // The slashes are at the end, not the beginning
55
+ path,
56
+ nonstandardPathname: withoutBaseUrl.replace(/^\/+/g, "").replace(/\/+$/g, "") + "/",
57
+ url: parsed,
58
+ pathWithoutGroups
59
+ };
60
+ }
61
+ function matchForEmptyPath(configs) {
62
+ var leafNodes = configs.filter(function(config) {
63
+ return !config.hasChildren;
64
+ }).map(function(value) {
65
+ return {
66
+ ...value,
67
+ // Collapse all levels of group segments before testing.
68
+ // This enables `app/(one)/(two)/index.js` to be matched.
69
+ path: (0, import_matchers.stripGroupSegmentsFromPath)(value.path)
70
+ };
71
+ }), _leafNodes_find, _ref, match = (_ref = (_leafNodes_find = leafNodes.find(function(config) {
72
+ return (
73
+ // NOTE: Test leaf node index routes that either don't have a regex or match an empty string.
74
+ config.path === "" && (!config.regex || config.regex.test(""))
75
+ );
76
+ })) !== null && _leafNodes_find !== void 0 ? _leafNodes_find : leafNodes.find(function(config) {
77
+ return (
78
+ // NOTE: Test leaf node dynamic routes that match an empty string.
79
+ config.path.startsWith(":") && config.regex.test("")
80
+ );
81
+ })) !== null && _ref !== void 0 ? _ref : (
82
+ // NOTE: Test leaf node deep dynamic routes that match a slash.
83
+ // This should be done last to enable dynamic routes having a higher priority.
84
+ leafNodes.find(function(config) {
85
+ return config.path.startsWith("*") && config.regex.test("/");
86
+ })
87
+ );
88
+ return match;
89
+ }
90
+ function appendIsInitial(initialRoutes) {
91
+ var resolvedInitialPatterns = initialRoutes.map(function(route) {
92
+ return joinPaths(...route.parentScreens, route.initialRouteName);
93
+ });
94
+ return function(config) {
95
+ return config.isInitial = resolvedInitialPatterns.includes(config.routeNames.join("/")), config;
96
+ };
97
+ }
98
+ var joinPaths = function() {
99
+ for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++)
100
+ paths[_key] = arguments[_key];
101
+ return [].concat(...paths.map(function(p) {
102
+ return p.split("/");
103
+ })).filter(Boolean).join("/");
104
+ };
105
+ function getRouteConfigSorter() {
106
+ var previousSegments = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
107
+ return function(a, b) {
108
+ if (a.pattern === b.pattern)
109
+ return b.routeNames.join(">").localeCompare(a.routeNames.join(">"));
110
+ if (a.pattern.startsWith(b.pattern) && !b.isIndex)
111
+ return -1;
112
+ if (b.pattern.startsWith(a.pattern) && !a.isIndex)
113
+ return 1;
114
+ if (a.type === "static" && b.type !== "static")
115
+ return -1;
116
+ if (a.type !== "static" && b.type === "static")
117
+ return 1;
118
+ var similarToPreviousA = previousSegments.filter(function(value, index) {
119
+ return value === a.expandedRouteNames[index] && value.startsWith("(") && value.endsWith(")");
120
+ }), similarToPreviousB = previousSegments.filter(function(value, index) {
121
+ return value === b.expandedRouteNames[index] && value.startsWith("(") && value.endsWith(")");
122
+ });
123
+ if ((similarToPreviousA.length > 0 || similarToPreviousB.length > 0) && similarToPreviousA.length !== similarToPreviousB.length)
124
+ return similarToPreviousB.length - similarToPreviousA.length;
125
+ for (var i = 0; i < Math.max(a.parts.length, b.parts.length); i++) {
126
+ if (a.parts[i] == null)
127
+ return 1;
128
+ if (b.parts[i] == null)
129
+ return -1;
130
+ var aWildCard = a.parts[i].startsWith("*"), bWildCard = b.parts[i].startsWith("*");
131
+ if (aWildCard && bWildCard) {
132
+ var aNotFound = a.parts[i].match(/^[*]not-found$/), bNotFound = b.parts[i].match(/^[*]not-found$/);
133
+ if (aNotFound && bNotFound)
134
+ continue;
135
+ if (aNotFound)
136
+ return 1;
137
+ if (bNotFound)
138
+ return -1;
139
+ continue;
140
+ }
141
+ if (aWildCard)
142
+ return 1;
143
+ if (bWildCard)
144
+ return -1;
145
+ var aSlug = a.parts[i].startsWith(":"), bSlug = b.parts[i].startsWith(":");
146
+ if (aSlug && bSlug) {
147
+ var aNotFound1 = a.parts[i].match(/^[*]not-found$/), bNotFound1 = b.parts[i].match(/^[*]not-found$/);
148
+ if (aNotFound1 && bNotFound1)
149
+ continue;
150
+ if (aNotFound1)
151
+ return 1;
152
+ if (bNotFound1)
153
+ return -1;
154
+ continue;
155
+ }
156
+ if (aSlug)
157
+ return 1;
158
+ if (bSlug)
159
+ return -1;
160
+ }
161
+ return a.isInitial && !b.isInitial ? -1 : !a.isInitial && b.isInitial ? 1 : b.parts.length - a.parts.length;
162
+ };
163
+ }
164
+ function formatRegexPattern(it) {
165
+ 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) + "\\/";
166
+ }
167
+ function decodeURIComponentSafe(str) {
168
+ try {
169
+ return decodeURIComponent(str);
170
+ } catch {
171
+ return str;
172
+ }
173
+ }
174
+ function getParamValue(p, value) {
175
+ if (p.startsWith("*")) {
176
+ var values = value.split("/").filter(function(v) {
177
+ return v !== "";
178
+ });
179
+ return values.length === 0 && p.endsWith("?") ? void 0 : values;
180
+ }
181
+ return value;
182
+ }
183
+ function populateParams(routes, params) {
184
+ if (!(!routes || !params || Object.keys(params).length === 0)) {
185
+ var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
186
+ try {
187
+ for (var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
188
+ var route = _step.value;
189
+ Object.assign(route, {
190
+ params
191
+ });
192
+ }
193
+ } catch (err) {
194
+ _didIteratorError = !0, _iteratorError = err;
195
+ } finally {
196
+ try {
197
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
198
+ } finally {
199
+ if (_didIteratorError)
200
+ throw _iteratorError;
201
+ }
202
+ }
203
+ return routes;
204
+ }
205
+ }
206
+ function createConfigItemAdditionalProperties(screen, pattern, routeNames) {
207
+ var config = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {}, _Object_keys, parts = [], isDynamic = !1, isIndex = screen === "index" || screen.endsWith("/index"), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
208
+ try {
209
+ for (var _iterator = pattern.split("/")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
210
+ var part = _step.value;
211
+ part && (isDynamic || (isDynamic = part.startsWith(":") || part.startsWith("*") || part.includes("*not-found")), (0, import_matchers.matchGroupName)(part) || parts.push(part));
212
+ }
213
+ } catch (err) {
214
+ _didIteratorError = !0, _iteratorError = err;
215
+ } finally {
216
+ try {
217
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
218
+ } finally {
219
+ if (_didIteratorError)
220
+ throw _iteratorError;
221
+ }
222
+ }
223
+ var hasChildren = config.screens ? !!(!((_Object_keys = Object.keys(config.screens)) === null || _Object_keys === void 0) && _Object_keys.length) : !1, type = hasChildren ? "layout" : isDynamic ? "dynamic" : "static";
224
+ return isIndex && parts.push("index"), {
225
+ type,
226
+ isIndex,
227
+ hasChildren,
228
+ parts,
229
+ userReadableName: [
230
+ ...routeNames.slice(0, -1),
231
+ config.path || screen
232
+ ].join("/"),
233
+ expandedRouteNames: routeNames.flatMap(function(name) {
234
+ return name.split("/");
235
+ })
236
+ };
237
+ }
238
+ function parseQueryParamsExtended(path, route, parseConfig, hash) {
239
+ var searchParams = new URL(path, "https://phony.example").searchParams, params = /* @__PURE__ */ Object.create(null);
240
+ hash && (params["#"] = hash.slice(1));
241
+ var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
242
+ try {
243
+ for (var _loop = function() {
244
+ var name = _step.value, _route_params;
245
+ if (!((_route_params = route.params) === null || _route_params === void 0) && _route_params[name])
246
+ 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`);
247
+ else {
248
+ var values = parseConfig != null && parseConfig.hasOwnProperty(name) ? searchParams.getAll(name).map(function(value) {
249
+ return parseConfig[name](value);
250
+ }) : searchParams.getAll(name);
251
+ params[name] = values.length === 1 ? values[0] : values;
252
+ }
253
+ }, _iterator = searchParams.keys()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
254
+ } catch (err) {
255
+ _didIteratorError = !0, _iteratorError = err;
256
+ } finally {
257
+ try {
258
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
259
+ } finally {
260
+ if (_didIteratorError)
261
+ throw _iteratorError;
262
+ }
263
+ }
264
+ return Object.keys(params).length ? params : void 0;
265
+ }
266
+ function stripBaseUrl(path) {
267
+ var baseUrl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.env.EXPO_BASE_URL;
268
+ return process.env.NODE_ENV !== "development" && baseUrl ? path.replace(/^\/+/g, "/").replace(new RegExp(`^\\/?${escape(baseUrl)}`, "g"), "") : path;
269
+ }
270
+ // Annotate the CommonJS export names for ESM import in node:
271
+ 0 && (module.exports = {
272
+ appendIsInitial,
273
+ createConfigItemAdditionalProperties,
274
+ decodeURIComponentSafe,
275
+ formatRegexPattern,
276
+ getParamValue,
277
+ getRouteConfigSorter,
278
+ getUrlWithReactNavigationConcessions,
279
+ matchForEmptyPath,
280
+ parseQueryParamsExtended,
281
+ populateParams,
282
+ stripBaseUrl
283
+ });
284
+ //# sourceMappingURL=getStateFromPath-mods.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/fork/Users/n8/one/packages/one/src/fork/getStateFromPath-mods.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;AAMA,kCAAoB,6CACpB,kBAA2D;AAapD,SAASA,qCACdC,MAAY;MACZC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA8BC,QAAQC,IAAIC,eAEtCC;AACJ,MAAI;AACFA,aAAS,IAAIC,IAAIN,MAAM,uBAAA;EACzB,QAAQ;AAEN,WAAO;MACLA;MACAO,UAAU;MACVC,qBAAqB;MACrBC,KAAK,IAAIH,IAAI,uBAAA;IACf;EACF;AAEA,MAAMI,WAAWL,OAAOK,UAClBC,iBAAiBC,aAAaF,UAAUT,OAAAA,GACxCY,wBAAoBC,4CAA2BF,aAAaZ,MAAMC,OAAAA,CAAAA;AAGxE,SAAO;;IAELD;IACAQ,qBAAqBG,eAAeI,QAAQ,SAAS,EAAA,EAAIA,QAAQ,SAAS,EAAA,IAAM;IAChFN,KAAKJ;IACLQ;EACF;AACF;AAEO,SAASG,kBAAkBC,SAAsB;AAKtD,MAAMC,YAAYD,QACfE,OAAO,SAACC,QAAAA;WAAW,CAACA,OAAOC;KAC3BC,IAAI,SAACC,OAAAA;AACJ,WAAO;MACL,GAAGA;;;MAGHvB,UAAMc,4CAA2BS,MAAMvB,IAAI;IAC7C;EACF,CAAA,GAGAkB,iBAAAA,MADIM,SACJN,QAAAA,kBAAAA,UAAUO,KACR,SAACL,QAAAA;;;MAECA,OAAOpB,SAAS,OAAO,CAACoB,OAAOM,SAASN,OAAOM,MAAMC,KAAK,EAAA;;kBAH9DT,oBAAAA,SAAAA,kBAKAA,UAAUO,KACR,SAACL,QAAAA;;;MAECA,OAAOpB,KAAK4B,WAAW,GAAA,KAAQR,OAAOM,MAAOC,KAAK,EAAA;;kBARtDT,SAAAA,SAAAA;;;IAYAA,UAAUO,KAAK,SAACL,QAAAA;aAAWA,OAAOpB,KAAK4B,WAAW,GAAA,KAAQR,OAAOM,MAAOC,KAAK,GAAA;;;AAE/E,SAAOH;AACT;AAEO,SAASK,gBAAgBC,eAAmC;AACjE,MAAMC,0BAA0BD,cAAcR,IAAI,SAACU,OAAAA;WACjDC,UAAAA,GAAaD,MAAME,eAAeF,MAAMG,gBAAgB;;AAG1D,SAAO,SAACf,QAAAA;AAGNA,kBAAOgB,YAAYL,wBAAwBM,SAASjB,OAAOkB,WAAWC,KAAK,GAAA,CAAA,GACpEnB;EACT;AACF;AAEA,IAAMa,YAAY,WAAA;oCAAIO,QAAAA,IAAAA,MAAAA,IAAAA,GAAAA,OAAAA,GAAAA,OAAAA,MAAAA;AAAAA,UAAAA,IAAAA,IAAAA,UAAAA,IAAAA;SACnB,CAAA,EACEC,OAAM,GAAID,MAAMlB,IAAI,SAACoB,GAAAA;WAAMA,EAAEC,MAAM,GAAA;MACnCxB,OAAOyB,OAAAA,EACPL,KAAK,GAAA;;AAEH,SAASM,uBAAAA;MAAqBC,mBAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA6B,CAAA;AAChE,SAAO,SAAqBC,GAAgBC,GAAc;AAOxD,QAAID,EAAEE,YAAYD,EAAEC;AAClB,aAAOD,EAAEV,WAAWC,KAAK,GAAA,EAAKW,cAAcH,EAAET,WAAWC,KAAK,GAAA,CAAA;AAgBhE,QAAIQ,EAAEE,QAAQrB,WAAWoB,EAAEC,OAAO,KAAK,CAACD,EAAEG;AACxC,aAAO;AAGT,QAAIH,EAAEC,QAAQrB,WAAWmB,EAAEE,OAAO,KAAK,CAACF,EAAEI;AACxC,aAAO;AAMT,QAAIJ,EAAEK,SAAS,YAAYJ,EAAEI,SAAS;AACpC,aAAO;AAET,QAAIL,EAAEK,SAAS,YAAYJ,EAAEI,SAAS;AACpC,aAAO;AAMT,QAAMC,qBAAqBP,iBAAiB3B,OAAO,SAACI,OAAO+B,OAAAA;AACzD,aAAO/B,UAAUwB,EAAEQ,mBAAmBD,KAAAA,KAAU/B,MAAMK,WAAW,GAAA,KAAQL,MAAMiC,SAAS,GAAA;IAC1F,CAAA,GAEMC,qBAAqBX,iBAAiB3B,OAAO,SAACI,OAAO+B,OAAAA;AACzD,aAAO/B,UAAUyB,EAAEO,mBAAmBD,KAAAA,KAAU/B,MAAMK,WAAW,GAAA,KAAQL,MAAMiC,SAAS,GAAA;IAC1F,CAAA;AAEA,SACGH,mBAAmBK,SAAS,KAAKD,mBAAmBC,SAAS,MAC9DL,mBAAmBK,WAAWD,mBAAmBC;AAGjD,aAAOD,mBAAmBC,SAASL,mBAAmBK;AAMxD,aAASC,IAAI,GAAGA,IAAIC,KAAKC,IAAId,EAAEe,MAAMJ,QAAQV,EAAEc,MAAMJ,MAAM,GAAGC,KAAK;AAEjE,UAAIZ,EAAEe,MAAMH,CAAAA,KAAM;AAChB,eAAO;AAGT,UAAIX,EAAEc,MAAMH,CAAAA,KAAM;AAChB,eAAO;AAGT,UAAMI,YAAYhB,EAAEe,MAAMH,CAAAA,EAAG/B,WAAW,GAAA,GAClCoC,YAAYhB,EAAEc,MAAMH,CAAAA,EAAG/B,WAAW,GAAA;AAExC,UAAImC,aAAaC,WAAW;AAC1B,YAAMC,YAAYlB,EAAEe,MAAMH,CAAAA,EAAGnC,MAAM,gBAAA,GAC7B0C,YAAYlB,EAAEc,MAAMH,CAAAA,EAAGnC,MAAM,gBAAA;AAEnC,YAAIyC,aAAaC;AACf;AAEF,YAAID;AACF,iBAAO;AAET,YAAIC;AACF,iBAAO;AAET;MACF;AAEA,UAAIH;AACF,eAAO;AAGT,UAAIC;AACF,eAAO;AAGT,UAAMG,QAAQpB,EAAEe,MAAMH,CAAAA,EAAG/B,WAAW,GAAA,GAC9BwC,QAAQpB,EAAEc,MAAMH,CAAAA,EAAG/B,WAAW,GAAA;AAEpC,UAAIuC,SAASC,OAAO;AAClB,YAAMH,aAAYlB,EAAEe,MAAMH,CAAAA,EAAGnC,MAAM,gBAAA,GAC7B0C,aAAYlB,EAAEc,MAAMH,CAAAA,EAAGnC,MAAM,gBAAA;AAEnC,YAAIyC,cAAaC;AACf;AAEF,YAAID;AACF,iBAAO;AAET,YAAIC;AACF,iBAAO;AAGT;MACF;AAEA,UAAIC;AACF,eAAO;AAGT,UAAIC;AACF,eAAO;IAEX;AAiBA,WAAIrB,EAAEX,aAAa,CAACY,EAAEZ,YACb,KAEL,CAACW,EAAEX,aAAaY,EAAEZ,YACb,IAGFY,EAAEc,MAAMJ,SAASX,EAAEe,MAAMJ;EAClC;AACF;AAEO,SAASW,mBAAmBC,IAAU;AAI3C,SAFAA,KAAKA,GAAGvD,QAAQ,KAAK,KAAA,GAEjBuD,GAAG1C,WAAW,GAAA,IAET,cAAc0C,GAAGd,SAAS,GAAA,IAAO,MAAM,EAAA,MAG5Cc,GAAG1C,WAAW,GAAA,IACT,WAAW0C,GAAGd,SAAS,GAAA,IAAO,MAAM,EAAA,UAIzCe,gCAAeD,EAAAA,KAAO,OAIjB,MAAME,OAAOF,EAAAA,CAAAA,cAGfG,4BAAAA,SAAQH,EAAAA,IAAM;AACvB;AAEO,SAASI,uBAAuBC,KAAW;AAChD,MAAI;AACF,WAAOC,mBAAmBD,GAAAA;EAC5B,QAAQ;AACN,WAAOA;EACT;AACF;AAEO,SAASE,cAAcnC,GAAWnB,OAAa;AACpD,MAAImB,EAAEd,WAAW,GAAA,GAAM;AACrB,QAAMkD,SAASvD,MAAMoB,MAAM,GAAA,EAAKxB,OAAO,SAAC4D,GAAAA;aAAMA,MAAM;;AACpD,WAAOD,OAAOpB,WAAW,KAAKhB,EAAEc,SAAS,GAAA,IAAOwB,SAAYF;EAC9D;AAEA,SAAOvD;AACT;AAKO,SAAS0D,eAAeC,QAAwBC,QAA4B;AACjF,MAAI,GAACD,UAAU,CAACC,UAAUC,OAAOC,KAAKF,MAAAA,EAAQzB,WAAW;QAEpD,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,eAAK,YAAewB,OAAAA,OAAAA,QAAAA,EAAAA,GAAf,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAuB;AAAvB,YAAMlD,QAAN,MAAA;AACHoD,eAAOE,OAAOtD,OAAO;UAAEmD;QAAO,CAAA;MAChC;;AAFK,0BAAA,IAAA,iBAAA;;;SAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;YAAA;gBAAA;;;AAIL,WAAOD;;AACT;AAEO,SAASK,qCACdC,QACAvC,SACAX,YAAoB;MACpBlB,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA8B,CAAC,GAiBQgE,cAfjCtB,QAAkB,CAAA,GACpB2B,YAAY,IACVtC,UAAUqC,WAAW,WAAWA,OAAOhC,SAAS,QAAA,GAEjD,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,aAAK,YAAcP,QAAQN,MAAM,GAAA,EAAA,OAAA,QAAA,EAAA,GAA5B,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAkC;AAAlC,UAAM+C,OAAN,MAAA;AACH,MAAIA,SAEFD,cAAAA,YAAcC,KAAK9D,WAAW,GAAA,KAAQ8D,KAAK9D,WAAW,GAAA,KAAQ8D,KAAKrD,SAAS,YAAA,QAEvEkC,gCAAemB,IAAAA,KAClB5B,MAAM6B,KAAKD,IAAAA;IAGjB;;AATK,wBAAA,IAAA,iBAAA;;;OAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;UAAA;cAAA;;;AAWL,MAAMrE,cAAcD,OAAOwE,UAAU,CAAC,EAACR,kBAAAA,OAAOC,KAAKjE,OAAOwE,OAAO,OAAA,QAA1BR,iBAAAA,WAAAA,aAA6B1B,UAAS,IACvEN,OAAO/B,cAAc,WAAWoE,YAAY,YAAY;AAE9D,SAAItC,WACFW,MAAM6B,KAAK,OAAA,GAGN;IACLvC;IACAD;IACA9B;IACAyC;IACA+B,kBAAkB;SAAIvD,WAAWwD,MAAM,GAAG,EAAC;MAAI1E,OAAOpB,QAAQwF;MAAQjD,KAAK,GAAA;IAC3EgB,oBAAoBjB,WAAWyD,QAAQ,SAACC,MAAAA;AACtC,aAAOA,KAAKrD,MAAM,GAAA;IACpB,CAAA;EACF;AACF;AAEO,SAASsD,yBACdjG,MACAgC,OACAkE,aACAC,MAAa;AAEb,MAAMC,eAAe,IAAI9F,IAAIN,MAAM,uBAAA,EAAyBoG,cACtDjB,SAA4CC,uBAAOiB,OAAO,IAAA;AAEhE,EAAIF,SACFhB,OAAO,GAAA,IAAOgB,KAAKL,MAAM,CAAA;MAGtB,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL;AAAK,UAAME,OAAN,MAAA,OACChE;AAAJ,UAAIA,mBAAAA,MAAMmD,YAAM,QAAZnD,kBAAAA,WAAAA,cAAegE,IAAAA;AACjB,QAAI9F,QAAQC,IAAImG,aAAa,gBAC3BC,QAAQC,KACN,WAAWxE,MAAMgE,IAAI,iBAAiBA,IAAAA,qEAAyE;WAG9G;AACL,YAAMlB,SAASoB,eAAAA,QAAAA,YAAaO,eAAeT,IAAAA,IACvCI,aAAaM,OAAOV,IAAAA,EAAM1E,IAAI,SAACC,OAAAA;iBAAU2E,YAAYF,IAAAA,EAAMzE,KAAAA;aAC3D6E,aAAaM,OAAOV,IAAAA;AAIxBb,eAAOa,IAAAA,IAAQlB,OAAOpB,WAAW,IAAIoB,OAAO,CAAA,IAAKA;MACnD;IACF,GAhBK,YAAcsB,aAAaf,KAAI,EAAA,OAAA,QAAA,EAAA,GAA/B,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,GAAA,OAAA;;AAAA,wBAAA,IAAA,iBAAA;;;OAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;UAAA;cAAA;;;AAkBL,SAAOD,OAAOC,KAAKF,MAAAA,EAAQzB,SAASyB,SAASH;AAC/C;AAEO,SAASpE,aACdZ,MAAY;MACZC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA8BC,QAAQC,IAAIC;AAE1C,SAAIF,QAAQC,IAAImG,aAAa,iBACvBrG,UACKD,KAAKe,QAAQ,SAAS,GAAA,EAAKA,QAAQ,IAAI4F,OAAO,QAAQnC,OAAOvE,OAAAA,CAAAA,IAAY,GAAA,GAAM,EAAA,IAGnFD;AACT;",
5
+ "names": ["getUrlWithReactNavigationConcessions", "path", "baseUrl", "process", "env", "EXPO_BASE_URL", "parsed", "URL", "cleanUrl", "nonstandardPathname", "url", "pathname", "withoutBaseUrl", "stripBaseUrl", "pathWithoutGroups", "stripGroupSegmentsFromPath", "replace", "matchForEmptyPath", "configs", "leafNodes", "filter", "config", "hasChildren", "map", "value", "match", "find", "regex", "test", "startsWith", "appendIsInitial", "initialRoutes", "resolvedInitialPatterns", "route", "joinPaths", "parentScreens", "initialRouteName", "isInitial", "includes", "routeNames", "join", "paths", "concat", "p", "split", "Boolean", "getRouteConfigSorter", "previousSegments", "a", "b", "pattern", "localeCompare", "isIndex", "type", "similarToPreviousA", "index", "expandedRouteNames", "endsWith", "similarToPreviousB", "length", "i", "Math", "max", "parts", "aWildCard", "bWildCard", "aNotFound", "bNotFound", "aSlug", "bSlug", "formatRegexPattern", "it", "matchGroupName", "escape", "escape_", "decodeURIComponentSafe", "str", "decodeURIComponent", "getParamValue", "values", "v", "undefined", "populateParams", "routes", "params", "Object", "keys", "assign", "createConfigItemAdditionalProperties", "screen", "isDynamic", "part", "push", "screens", "userReadableName", "slice", "flatMap", "name", "parseQueryParamsExtended", "parseConfig", "hash", "searchParams", "create", "NODE_ENV", "console", "warn", "hasOwnProperty", "getAll", "RegExp"]
6
+ }