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