one 1.1.473 → 1.1.475

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 (245) hide show
  1. package/dist/cjs/Root.cjs +5 -1
  2. package/dist/cjs/Root.js +2 -2
  3. package/dist/cjs/Root.js.map +1 -1
  4. package/dist/cjs/Root.native.js +5 -2
  5. package/dist/cjs/Root.native.js.map +2 -2
  6. package/dist/cjs/createApp.cjs +2 -0
  7. package/dist/cjs/createApp.js +16 -2
  8. package/dist/cjs/createApp.js.map +1 -1
  9. package/dist/cjs/createApp.native.js +1 -0
  10. package/dist/cjs/createApp.native.js.map +2 -2
  11. package/dist/cjs/fork/__tests__/getPathFromState.test.cjs +1440 -0
  12. package/dist/cjs/fork/__tests__/getPathFromState.test.js +1559 -0
  13. package/dist/cjs/fork/__tests__/getPathFromState.test.js.map +6 -0
  14. package/dist/cjs/fork/__tests__/getPathFromState.test.native.js +1726 -0
  15. package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +6 -0
  16. package/dist/cjs/fork/__tests__/getStateFromPath.test.cjs +2565 -0
  17. package/dist/cjs/fork/__tests__/getStateFromPath.test.js +2702 -0
  18. package/dist/cjs/fork/__tests__/getStateFromPath.test.js.map +6 -0
  19. package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js +2861 -0
  20. package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +6 -0
  21. package/dist/cjs/fork/getPathFromState.cjs +2 -1
  22. package/dist/cjs/fork/getPathFromState.js +1 -1
  23. package/dist/cjs/fork/getPathFromState.js.map +1 -1
  24. package/dist/cjs/fork/getPathFromState.native.js +10 -5
  25. package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
  26. package/dist/cjs/fork/getPathFromState.test.cjs +113 -0
  27. package/dist/cjs/fork/getPathFromState.test.js +122 -0
  28. package/dist/cjs/fork/getPathFromState.test.js.map +6 -0
  29. package/dist/cjs/fork/getPathFromState.test.native.js +135 -0
  30. package/dist/cjs/fork/getPathFromState.test.native.js.map +6 -0
  31. package/dist/cjs/fork/getStateFromPath.test.cjs +229 -0
  32. package/dist/cjs/fork/getStateFromPath.test.js +290 -0
  33. package/dist/cjs/fork/getStateFromPath.test.js.map +6 -0
  34. package/dist/cjs/fork/getStateFromPath.test.native.js +374 -0
  35. package/dist/cjs/fork/getStateFromPath.test.native.js.map +6 -0
  36. package/dist/cjs/render.cjs +1 -1
  37. package/dist/cjs/render.js +1 -1
  38. package/dist/cjs/render.js.map +1 -1
  39. package/dist/cjs/router/FlagsContext.cjs +27 -0
  40. package/dist/cjs/router/FlagsContext.js +22 -0
  41. package/dist/cjs/router/FlagsContext.js.map +6 -0
  42. package/dist/cjs/router/FlagsContext.native.js +26 -0
  43. package/dist/cjs/router/FlagsContext.native.js.map +6 -0
  44. package/dist/cjs/router/getRoutes.cjs +11 -1
  45. package/dist/cjs/router/getRoutes.js +11 -1
  46. package/dist/cjs/router/getRoutes.js.map +1 -1
  47. package/dist/cjs/router/getRoutes.native.js +11 -1
  48. package/dist/cjs/router/getRoutes.native.js.map +2 -2
  49. package/dist/cjs/router/matchers.test.cjs +38 -0
  50. package/dist/cjs/router/matchers.test.js +42 -0
  51. package/dist/cjs/router/matchers.test.js.map +6 -0
  52. package/dist/cjs/router/matchers.test.native.js +39 -0
  53. package/dist/cjs/router/matchers.test.native.js.map +6 -0
  54. package/dist/cjs/router/router.cjs +3 -35
  55. package/dist/cjs/router/router.js +2 -26
  56. package/dist/cjs/router/router.js.map +1 -1
  57. package/dist/cjs/router/router.native.js +2 -33
  58. package/dist/cjs/router/router.native.js.map +2 -2
  59. package/dist/cjs/router/utils/getNavigateAction.cjs +61 -0
  60. package/dist/cjs/router/utils/getNavigateAction.js +46 -0
  61. package/dist/cjs/router/utils/getNavigateAction.js.map +6 -0
  62. package/dist/cjs/router/utils/getNavigateAction.native.js +58 -0
  63. package/dist/cjs/router/utils/getNavigateAction.native.js.map +6 -0
  64. package/dist/cjs/router/utils/getNavigateAction.test.cjs +259 -0
  65. package/dist/cjs/router/utils/getNavigateAction.test.js +295 -0
  66. package/dist/cjs/router/utils/getNavigateAction.test.js.map +6 -0
  67. package/dist/cjs/router/utils/getNavigateAction.test.native.js +330 -0
  68. package/dist/cjs/router/utils/getNavigateAction.test.native.js.map +6 -0
  69. package/dist/cjs/testing-utils.cjs +63 -0
  70. package/dist/cjs/testing-utils.js +55 -0
  71. package/dist/cjs/testing-utils.js.map +6 -0
  72. package/dist/cjs/testing-utils.native.js +79 -0
  73. package/dist/cjs/testing-utils.native.js.map +6 -0
  74. package/dist/cjs/views/Navigator.cjs +8 -1
  75. package/dist/cjs/views/Navigator.js +25 -11
  76. package/dist/cjs/views/Navigator.js.map +1 -1
  77. package/dist/cjs/views/Navigator.native.js +7 -4
  78. package/dist/cjs/views/Navigator.native.js.map +2 -2
  79. package/dist/cjs/vite/one.cjs +6 -1
  80. package/dist/cjs/vite/one.js +6 -1
  81. package/dist/cjs/vite/one.js.map +1 -1
  82. package/dist/cjs/vite/one.native.js +7 -2
  83. package/dist/cjs/vite/one.native.js.map +2 -2
  84. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +2 -0
  85. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +2 -0
  86. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  87. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +2 -0
  88. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +2 -2
  89. package/dist/esm/Root.js +2 -1
  90. package/dist/esm/Root.js.map +1 -1
  91. package/dist/esm/Root.mjs +5 -1
  92. package/dist/esm/Root.mjs.map +1 -1
  93. package/dist/esm/Root.native.js +5 -1
  94. package/dist/esm/Root.native.js.map +1 -1
  95. package/dist/esm/createApp.js +16 -2
  96. package/dist/esm/createApp.js.map +1 -1
  97. package/dist/esm/createApp.mjs +2 -0
  98. package/dist/esm/createApp.mjs.map +1 -1
  99. package/dist/esm/createApp.native.js +1 -0
  100. package/dist/esm/createApp.native.js.map +1 -1
  101. package/dist/esm/fork/__tests__/getPathFromState.test.js +1561 -0
  102. package/dist/esm/fork/__tests__/getPathFromState.test.js.map +6 -0
  103. package/dist/esm/fork/__tests__/getPathFromState.test.mjs +1441 -0
  104. package/dist/esm/fork/__tests__/getPathFromState.test.mjs.map +1 -0
  105. package/dist/esm/fork/__tests__/getPathFromState.test.native.js +1580 -0
  106. package/dist/esm/fork/__tests__/getPathFromState.test.native.js.map +1 -0
  107. package/dist/esm/fork/__tests__/getStateFromPath.test.js +2706 -0
  108. package/dist/esm/fork/__tests__/getStateFromPath.test.js.map +6 -0
  109. package/dist/esm/fork/__tests__/getStateFromPath.test.mjs +2566 -0
  110. package/dist/esm/fork/__tests__/getStateFromPath.test.mjs.map +1 -0
  111. package/dist/esm/fork/__tests__/getStateFromPath.test.native.js +2636 -0
  112. package/dist/esm/fork/__tests__/getStateFromPath.test.native.js.map +1 -0
  113. package/dist/esm/fork/getPathFromState.js +1 -1
  114. package/dist/esm/fork/getPathFromState.js.map +1 -1
  115. package/dist/esm/fork/getPathFromState.mjs +2 -1
  116. package/dist/esm/fork/getPathFromState.mjs.map +1 -1
  117. package/dist/esm/fork/getPathFromState.native.js +9 -5
  118. package/dist/esm/fork/getPathFromState.native.js.map +1 -1
  119. package/dist/esm/fork/getPathFromState.test.js +123 -0
  120. package/dist/esm/fork/getPathFromState.test.js.map +6 -0
  121. package/dist/esm/fork/getPathFromState.test.mjs +114 -0
  122. package/dist/esm/fork/getPathFromState.test.mjs.map +1 -0
  123. package/dist/esm/fork/getPathFromState.test.native.js +122 -0
  124. package/dist/esm/fork/getPathFromState.test.native.js.map +1 -0
  125. package/dist/esm/fork/getStateFromPath.test.js +294 -0
  126. package/dist/esm/fork/getStateFromPath.test.js.map +6 -0
  127. package/dist/esm/fork/getStateFromPath.test.mjs +230 -0
  128. package/dist/esm/fork/getStateFromPath.test.mjs.map +1 -0
  129. package/dist/esm/fork/getStateFromPath.test.native.js +233 -0
  130. package/dist/esm/fork/getStateFromPath.test.native.js.map +1 -0
  131. package/dist/esm/render.js +1 -1
  132. package/dist/esm/render.js.map +1 -1
  133. package/dist/esm/render.mjs +1 -1
  134. package/dist/esm/render.mjs.map +1 -1
  135. package/dist/esm/router/FlagsContext.js +6 -0
  136. package/dist/esm/router/FlagsContext.js.map +6 -0
  137. package/dist/esm/router/FlagsContext.mjs +4 -0
  138. package/dist/esm/router/FlagsContext.mjs.map +1 -0
  139. package/dist/esm/router/FlagsContext.native.js +4 -0
  140. package/dist/esm/router/FlagsContext.native.js.map +1 -0
  141. package/dist/esm/router/getRoutes.js +11 -1
  142. package/dist/esm/router/getRoutes.js.map +1 -1
  143. package/dist/esm/router/getRoutes.mjs +11 -1
  144. package/dist/esm/router/getRoutes.mjs.map +1 -1
  145. package/dist/esm/router/getRoutes.native.js +11 -1
  146. package/dist/esm/router/getRoutes.native.js.map +1 -1
  147. package/dist/esm/router/matchers.test.js +50 -0
  148. package/dist/esm/router/matchers.test.js.map +6 -0
  149. package/dist/esm/router/matchers.test.mjs +39 -0
  150. package/dist/esm/router/matchers.test.mjs.map +1 -0
  151. package/dist/esm/router/matchers.test.native.js +39 -0
  152. package/dist/esm/router/matchers.test.native.js.map +1 -0
  153. package/dist/esm/router/router.js +1 -26
  154. package/dist/esm/router/router.js.map +1 -1
  155. package/dist/esm/router/router.mjs +1 -33
  156. package/dist/esm/router/router.mjs.map +1 -1
  157. package/dist/esm/router/router.native.js +1 -37
  158. package/dist/esm/router/router.native.js.map +1 -1
  159. package/dist/esm/router/utils/getNavigateAction.js +32 -0
  160. package/dist/esm/router/utils/getNavigateAction.js.map +6 -0
  161. package/dist/esm/router/utils/getNavigateAction.mjs +38 -0
  162. package/dist/esm/router/utils/getNavigateAction.mjs.map +1 -0
  163. package/dist/esm/router/utils/getNavigateAction.native.js +42 -0
  164. package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -0
  165. package/dist/esm/router/utils/getNavigateAction.test.js +296 -0
  166. package/dist/esm/router/utils/getNavigateAction.test.js.map +6 -0
  167. package/dist/esm/router/utils/getNavigateAction.test.mjs +260 -0
  168. package/dist/esm/router/utils/getNavigateAction.test.mjs.map +1 -0
  169. package/dist/esm/router/utils/getNavigateAction.test.native.js +273 -0
  170. package/dist/esm/router/utils/getNavigateAction.test.native.js.map +1 -0
  171. package/dist/esm/testing-utils.js +33 -0
  172. package/dist/esm/testing-utils.js.map +6 -0
  173. package/dist/esm/testing-utils.mjs +27 -0
  174. package/dist/esm/testing-utils.mjs.map +1 -0
  175. package/dist/esm/testing-utils.native.js +38 -0
  176. package/dist/esm/testing-utils.native.js.map +1 -0
  177. package/dist/esm/views/Navigator.js +29 -11
  178. package/dist/esm/views/Navigator.js.map +1 -1
  179. package/dist/esm/views/Navigator.mjs +8 -1
  180. package/dist/esm/views/Navigator.mjs.map +1 -1
  181. package/dist/esm/views/Navigator.native.js +8 -2
  182. package/dist/esm/views/Navigator.native.js.map +1 -1
  183. package/dist/esm/vite/one.js +6 -1
  184. package/dist/esm/vite/one.js.map +1 -1
  185. package/dist/esm/vite/one.mjs +6 -1
  186. package/dist/esm/vite/one.mjs.map +1 -1
  187. package/dist/esm/vite/one.native.js +9 -2
  188. package/dist/esm/vite/one.native.js.map +1 -1
  189. package/dist/esm/vite/plugins/virtualEntryPlugin.js +2 -0
  190. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  191. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +2 -0
  192. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  193. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +2 -0
  194. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  195. package/package.json +13 -10
  196. package/src/Root.tsx +12 -2
  197. package/src/createApp.native.tsx +8 -2
  198. package/src/createApp.tsx +18 -3
  199. package/src/fork/__tests__/README.md +8 -0
  200. package/src/fork/__tests__/getPathFromState.test.tsx +1809 -0
  201. package/src/fork/__tests__/getStateFromPath.test.tsx +3188 -0
  202. package/src/fork/getPathFromState.test.ts +146 -0
  203. package/src/fork/getPathFromState.ts +1 -1
  204. package/src/fork/getStateFromPath.test.ts +345 -0
  205. package/src/render.tsx +3 -3
  206. package/src/router/FlagsContext.ts +4 -0
  207. package/src/router/getRoutes.ts +14 -2
  208. package/src/router/matchers.test.ts +120 -0
  209. package/src/router/router.ts +1 -113
  210. package/src/router/utils/getNavigateAction.test.ts +334 -0
  211. package/src/router/utils/getNavigateAction.ts +120 -0
  212. package/src/testing-utils.ts +56 -0
  213. package/src/views/Navigator.tsx +34 -10
  214. package/src/vite/one.ts +5 -0
  215. package/src/vite/plugins/virtualEntryPlugin.ts +4 -1
  216. package/src/vite/types.ts +18 -0
  217. package/types/Root.d.ts +1 -0
  218. package/types/Root.d.ts.map +1 -1
  219. package/types/createApp.d.ts +2 -0
  220. package/types/createApp.d.ts.map +1 -1
  221. package/types/createApp.native.d.ts +2 -0
  222. package/types/createApp.native.d.ts.map +1 -1
  223. package/types/fork/getPathFromState.test.d.ts +2 -0
  224. package/types/fork/getPathFromState.test.d.ts.map +1 -0
  225. package/types/fork/getStateFromPath.test.d.ts +2 -0
  226. package/types/fork/getStateFromPath.test.d.ts.map +1 -0
  227. package/types/router/FlagsContext.d.ts +3 -0
  228. package/types/router/FlagsContext.d.ts.map +1 -0
  229. package/types/router/getRoutes.d.ts.map +1 -1
  230. package/types/router/matchers.test.d.ts +2 -0
  231. package/types/router/matchers.test.d.ts.map +1 -0
  232. package/types/router/router.d.ts.map +1 -1
  233. package/types/router/utils/getNavigateAction.d.ts +17 -0
  234. package/types/router/utils/getNavigateAction.d.ts.map +1 -0
  235. package/types/router/utils/getNavigateAction.test.d.ts +2 -0
  236. package/types/router/utils/getNavigateAction.test.d.ts.map +1 -0
  237. package/types/testing-utils.d.ts +26 -0
  238. package/types/testing-utils.d.ts.map +1 -0
  239. package/types/views/Navigator.d.ts +1 -1
  240. package/types/views/Navigator.d.ts.map +1 -1
  241. package/types/vite/one.d.ts.map +1 -1
  242. package/types/vite/plugins/virtualEntryPlugin.d.ts +2 -0
  243. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  244. package/types/vite/types.d.ts +16 -0
  245. package/types/vite/types.d.ts.map +1 -1
@@ -0,0 +1,229 @@
1
+ var import_vitest = require("vitest"),
2
+ import_testing_utils = require("../testing-utils.cjs"),
3
+ import_getPathFromState = require("./getPathFromState.cjs"),
4
+ import_getStateFromPath = require("./getStateFromPath.cjs"),
5
+ import_getStateFromPath_mods = require("./getStateFromPath-mods.cjs");
6
+ (0, import_vitest.describe)(import_getStateFromPath_mods.stripBaseUrl, () => {
7
+ [[
8
+ // Input
9
+ "/",
10
+ // Base Path
11
+ "",
12
+ // Result
13
+ "/"], ["/one/two", "/one", "/two"], ["/one/two", "/one/two", ""], ["/one/two/", "/one/two", "/"], ["///one/", "/one", "/"], ["one/", "/one", "one/"], ["/a/b", "/one", "/a/b"]].forEach(([path, baseUrl, result]) => {
14
+ (0, import_vitest.it)(`strips baseUrl "${path}"`, () => {
15
+ (0, import_vitest.expect)((0, import_getStateFromPath_mods.stripBaseUrl)(path, baseUrl)).toBe(result);
16
+ });
17
+ });
18
+ });
19
+ (0, import_vitest.describe)("baseUrl", () => {
20
+ (0, import_vitest.beforeEach)(() => {
21
+ process.env.ONE_DEFAULT_RENDER_MODE = "spa";
22
+ }), (0, import_vitest.it)("accounts for baseUrl", () => {
23
+ process.env.EXPO_BASE_URL = "/expo/prefix";
24
+ const path = "/expo/prefix/bar",
25
+ config = (0, import_testing_utils.getMockConfig)(["_layout.tsx", "bar.tsx", "index.tsx"]);
26
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)(path, config)).toEqual({
27
+ routes: [{
28
+ name: "bar",
29
+ path: "/bar"
30
+ }]
31
+ }), (0, import_vitest.expect)((0, import_getPathFromState.getPathFromState)((0, import_getStateFromPath.getStateFromPath)(path, config), config)).toBe("/expo/prefix/bar");
32
+ }), (0, import_vitest.it)("has baseUrl and state that does not match", () => {
33
+ process.env.EXPO_BASE_URL = "/expo";
34
+ const path = "/bar",
35
+ config = (0, import_testing_utils.getMockConfig)(["_layout.tsx", "bar.tsx", "index.tsx"]);
36
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)(path, config)).toEqual({
37
+ routes: [{
38
+ name: "bar",
39
+ path: "/bar"
40
+ }]
41
+ }), (0, import_vitest.expect)((0, import_getPathFromState.getPathFromState)((0, import_getStateFromPath.getStateFromPath)(path, config), config)).toBe("/expo/bar");
42
+ });
43
+ });
44
+ (0, import_vitest.describe)(import_getStateFromPath_mods.getUrlWithReactNavigationConcessions, () => {
45
+ (0, import_vitest.beforeEach)(() => {
46
+ delete process.env.EXPO_BASE_URL;
47
+ }), ["/", "foo/", "foo/bar/", "foo/bar/baz/"].forEach(path => {
48
+ (0, import_vitest.it)(`returns the pathname for ${path}`, () => {
49
+ (0, import_vitest.expect)((0, import_getStateFromPath_mods.getUrlWithReactNavigationConcessions)(path).nonstandardPathname).toBe(path);
50
+ });
51
+ }), [["", "/"], ["https://acme.com/hello/world?foo=bar#123", "hello/world/"], ["https://acme.com/hello/world/?foo=bar#123", "hello/world/"]].forEach(([url, expected]) => {
52
+ (0, import_vitest.it)(`returns the pathname for ${url}`, () => {
53
+ (0, import_vitest.expect)((0, import_getStateFromPath_mods.getUrlWithReactNavigationConcessions)(url).nonstandardPathname).toBe(expected);
54
+ });
55
+ }), [["/gh-pages/", "/"], ["https://acme.com/gh-pages/hello/world?foo=bar#123", "hello/world/"], ["https://acme.com/gh-pages/hello/world/?foo=bar#123", "hello/world/"]].forEach(([url, expected]) => {
56
+ (0, import_vitest.it)(`returns the pathname for ${url}`, () => {
57
+ (0, import_vitest.expect)((0, import_getStateFromPath_mods.getUrlWithReactNavigationConcessions)(url, "gh-pages").nonstandardPathname).toBe(expected);
58
+ });
59
+ });
60
+ });
61
+ (0, import_vitest.describe)("hash", () => {
62
+ (0, import_vitest.it)("parses hashes", () => {
63
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/hello#123", {
64
+ screens: {
65
+ hello: "hello"
66
+ }
67
+ })).toEqual({
68
+ routes: [{
69
+ name: "hello",
70
+ path: "/hello#123",
71
+ params: {
72
+ "#": "123"
73
+ }
74
+ }]
75
+ });
76
+ }), (0, import_vitest.it)("parses hashes with dynamic routes", () => {
77
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/hello#123", (0, import_testing_utils.getMockConfig)(["[hello]"]))).toEqual({
78
+ routes: [{
79
+ name: "[hello]",
80
+ params: {
81
+ hello: "hello",
82
+ "#": "123"
83
+ },
84
+ path: "/hello#123"
85
+ }]
86
+ });
87
+ }), (0, import_vitest.it)("parses hashes with query params", () => {
88
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/?#123", (0, import_testing_utils.getMockConfig)(["index"]))).toEqual({
89
+ routes: [{
90
+ name: "index",
91
+ path: "/?#123",
92
+ params: {
93
+ "#": "123"
94
+ }
95
+ }]
96
+ });
97
+ });
98
+ });
99
+ (0, import_vitest.it)("supports spaces", () => {
100
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/hello%20world", {
101
+ screens: {
102
+ "hello world": "hello world"
103
+ }
104
+ })).toEqual({
105
+ routes: [{
106
+ name: "hello world",
107
+ path: "/hello%20world"
108
+ }]
109
+ }), (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/hello%20world", (0, import_testing_utils.getMockConfig)(["[hello world]"]))).toEqual({
110
+ routes: [{
111
+ name: "[hello world]",
112
+ params: {
113
+ "hello world": "hello world"
114
+ },
115
+ path: "/hello%20world"
116
+ }]
117
+ });
118
+ });
119
+ import_vitest.it.skip("matches against dynamic groups", () => {
120
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/(app)/(explore)", (0, import_testing_utils.getMockConfig)(["+not-found", "(app)/_layout", "(app)/(explore)/_layout", "(app)/(explore)/[user]/index", "(app)/(explore)/explore", "(app)/([user])/_layout", "(app)/([user])/[user]/index", "(app)/([user])/explore"]))).toEqual({
121
+ routes: [{
122
+ name: "(app)",
123
+ params: {
124
+ user: "(explore)"
125
+ },
126
+ state: {
127
+ routes: [{
128
+ name: "([user])",
129
+ params: {
130
+ user: "(explore)"
131
+ },
132
+ state: {
133
+ routes: [{
134
+ name: "[user]/index",
135
+ params: {
136
+ user: "(explore)"
137
+ },
138
+ path: ""
139
+ }]
140
+ }
141
+ }]
142
+ }
143
+ }]
144
+ });
145
+ });
146
+ (0, import_vitest.it)("adds dynamic route params from all levels of the path", () => {
147
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/foo/bar/baz/other", (0, import_testing_utils.getMockConfig)(["[foo]/_layout.tsx", "[foo]/bar/_layout.tsx", "[foo]/bar/[baz]/_layout.tsx", "[foo]/bar/[baz]/other.tsx"]))).toEqual({
148
+ routes: [{
149
+ name: "[foo]",
150
+ params: {
151
+ baz: "baz",
152
+ foo: "foo"
153
+ },
154
+ state: {
155
+ routes: [{
156
+ name: "bar",
157
+ params: {
158
+ baz: "baz",
159
+ foo: "foo"
160
+ },
161
+ state: {
162
+ routes: [{
163
+ name: "[baz]",
164
+ params: {
165
+ baz: "baz",
166
+ foo: "foo"
167
+ },
168
+ state: {
169
+ routes: [{
170
+ name: "other",
171
+ params: {
172
+ baz: "baz",
173
+ foo: "foo"
174
+ },
175
+ path: "/foo/bar/baz/other"
176
+ }]
177
+ }
178
+ }]
179
+ }
180
+ }]
181
+ }
182
+ }]
183
+ });
184
+ });
185
+ (0, import_vitest.it)("handles not-found routes", () => {
186
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/missing-page", (0, import_testing_utils.getMockConfig)(["+not-found", "index"]))).toEqual({
187
+ routes: [{
188
+ name: "+not-found",
189
+ params: {
190
+ "not-found": ["missing-page"]
191
+ },
192
+ path: "/missing-page"
193
+ }]
194
+ });
195
+ });
196
+ (0, import_vitest.it)("handles query params", () => {
197
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/?test=true&hello=world&array=1&array=2", (0, import_testing_utils.getMockConfig)(["index.tsx"]))).toEqual({
198
+ routes: [{
199
+ name: "index",
200
+ params: {
201
+ test: "true",
202
+ hello: "world",
203
+ array: ["1", "2"]
204
+ },
205
+ path: "/?test=true&hello=world&array=1&array=2"
206
+ }]
207
+ });
208
+ });
209
+ (0, import_vitest.it)("handles query params", () => {
210
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/?test=true&hello=world&array=1&array=2", (0, import_testing_utils.getMockConfig)(["index.tsx"]))).toEqual({
211
+ routes: [{
212
+ name: "index",
213
+ params: {
214
+ test: "true",
215
+ hello: "world",
216
+ array: ["1", "2"]
217
+ },
218
+ path: "/?test=true&hello=world&array=1&array=2"
219
+ }]
220
+ });
221
+ });
222
+ import_vitest.it.skip("prioritizes hoisted index routes over dynamic groups", () => {
223
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/(one)", (0, import_testing_utils.getMockConfig)(["(one,two)/index.tsx", "(one,two)/[slug].tsx"]))).toEqual({
224
+ routes: [{
225
+ name: "(one)/index",
226
+ path: ""
227
+ }]
228
+ });
229
+ });
@@ -0,0 +1,290 @@
1
+ var import_vitest = require("vitest"), import_testing_utils = require("../testing-utils"), import_getPathFromState = require("./getPathFromState"), import_getStateFromPath = require("./getStateFromPath"), import_getStateFromPath_mods = require("./getStateFromPath-mods");
2
+ (0, import_vitest.describe)(import_getStateFromPath_mods.stripBaseUrl, () => {
3
+ [
4
+ [
5
+ // Input
6
+ "/",
7
+ // Base Path
8
+ "",
9
+ // Result
10
+ "/"
11
+ ],
12
+ ["/one/two", "/one", "/two"],
13
+ ["/one/two", "/one/two", ""],
14
+ ["/one/two/", "/one/two", "/"],
15
+ ["///one/", "/one", "/"],
16
+ ["one/", "/one", "one/"],
17
+ ["/a/b", "/one", "/a/b"]
18
+ ].forEach(([path, baseUrl, result]) => {
19
+ (0, import_vitest.it)(`strips baseUrl "${path}"`, () => {
20
+ (0, import_vitest.expect)((0, import_getStateFromPath_mods.stripBaseUrl)(path, baseUrl)).toBe(result);
21
+ });
22
+ });
23
+ });
24
+ (0, import_vitest.describe)("baseUrl", () => {
25
+ (0, import_vitest.beforeEach)(() => {
26
+ process.env.ONE_DEFAULT_RENDER_MODE = "spa";
27
+ }), (0, import_vitest.it)("accounts for baseUrl", () => {
28
+ process.env.EXPO_BASE_URL = "/expo/prefix";
29
+ const path = "/expo/prefix/bar", config = (0, import_testing_utils.getMockConfig)(["_layout.tsx", "bar.tsx", "index.tsx"]);
30
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)(path, config)).toEqual({
31
+ routes: [{ name: "bar", path: "/bar" }]
32
+ }), (0, import_vitest.expect)((0, import_getPathFromState.getPathFromState)((0, import_getStateFromPath.getStateFromPath)(path, config), config)).toBe(
33
+ "/expo/prefix/bar"
34
+ );
35
+ }), (0, import_vitest.it)("has baseUrl and state that does not match", () => {
36
+ process.env.EXPO_BASE_URL = "/expo";
37
+ const path = "/bar", config = (0, import_testing_utils.getMockConfig)(["_layout.tsx", "bar.tsx", "index.tsx"]);
38
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)(path, config)).toEqual({
39
+ routes: [{ name: "bar", path: "/bar" }]
40
+ }), (0, import_vitest.expect)((0, import_getPathFromState.getPathFromState)((0, import_getStateFromPath.getStateFromPath)(path, config), config)).toBe("/expo/bar");
41
+ });
42
+ });
43
+ (0, import_vitest.describe)(import_getStateFromPath_mods.getUrlWithReactNavigationConcessions, () => {
44
+ (0, import_vitest.beforeEach)(() => {
45
+ delete process.env.EXPO_BASE_URL;
46
+ }), ["/", "foo/", "foo/bar/", "foo/bar/baz/"].forEach((path) => {
47
+ (0, import_vitest.it)(`returns the pathname for ${path}`, () => {
48
+ (0, import_vitest.expect)((0, import_getStateFromPath_mods.getUrlWithReactNavigationConcessions)(path).nonstandardPathname).toBe(path);
49
+ });
50
+ }), [
51
+ ["", "/"],
52
+ ["https://acme.com/hello/world?foo=bar#123", "hello/world/"],
53
+ ["https://acme.com/hello/world/?foo=bar#123", "hello/world/"]
54
+ ].forEach(([url, expected]) => {
55
+ (0, import_vitest.it)(`returns the pathname for ${url}`, () => {
56
+ (0, import_vitest.expect)((0, import_getStateFromPath_mods.getUrlWithReactNavigationConcessions)(url).nonstandardPathname).toBe(expected);
57
+ });
58
+ }), [
59
+ ["/gh-pages/", "/"],
60
+ ["https://acme.com/gh-pages/hello/world?foo=bar#123", "hello/world/"],
61
+ ["https://acme.com/gh-pages/hello/world/?foo=bar#123", "hello/world/"]
62
+ ].forEach(([url, expected]) => {
63
+ (0, import_vitest.it)(`returns the pathname for ${url}`, () => {
64
+ (0, import_vitest.expect)((0, import_getStateFromPath_mods.getUrlWithReactNavigationConcessions)(url, "gh-pages").nonstandardPathname).toBe(
65
+ expected
66
+ );
67
+ });
68
+ });
69
+ });
70
+ (0, import_vitest.describe)("hash", () => {
71
+ (0, import_vitest.it)("parses hashes", () => {
72
+ (0, import_vitest.expect)(
73
+ (0, import_getStateFromPath.getStateFromPath)("/hello#123", {
74
+ screens: {
75
+ hello: "hello"
76
+ }
77
+ })
78
+ ).toEqual({
79
+ routes: [
80
+ {
81
+ name: "hello",
82
+ path: "/hello#123",
83
+ params: {
84
+ "#": "123"
85
+ }
86
+ }
87
+ ]
88
+ });
89
+ }), (0, import_vitest.it)("parses hashes with dynamic routes", () => {
90
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/hello#123", (0, import_testing_utils.getMockConfig)(["[hello]"]))).toEqual({
91
+ routes: [
92
+ {
93
+ name: "[hello]",
94
+ params: {
95
+ hello: "hello",
96
+ "#": "123"
97
+ },
98
+ path: "/hello#123"
99
+ }
100
+ ]
101
+ });
102
+ }), (0, import_vitest.it)("parses hashes with query params", () => {
103
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/?#123", (0, import_testing_utils.getMockConfig)(["index"]))).toEqual({
104
+ routes: [
105
+ {
106
+ name: "index",
107
+ path: "/?#123",
108
+ params: {
109
+ "#": "123"
110
+ }
111
+ }
112
+ ]
113
+ });
114
+ });
115
+ });
116
+ (0, import_vitest.it)("supports spaces", () => {
117
+ (0, import_vitest.expect)(
118
+ (0, import_getStateFromPath.getStateFromPath)("/hello%20world", {
119
+ screens: {
120
+ "hello world": "hello world"
121
+ }
122
+ })
123
+ ).toEqual({
124
+ routes: [
125
+ {
126
+ name: "hello world",
127
+ path: "/hello%20world"
128
+ }
129
+ ]
130
+ }), (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/hello%20world", (0, import_testing_utils.getMockConfig)(["[hello world]"]))).toEqual({
131
+ routes: [
132
+ {
133
+ name: "[hello world]",
134
+ params: {
135
+ "hello world": "hello world"
136
+ },
137
+ path: "/hello%20world"
138
+ }
139
+ ]
140
+ });
141
+ });
142
+ import_vitest.it.skip("matches against dynamic groups", () => {
143
+ (0, import_vitest.expect)(
144
+ (0, import_getStateFromPath.getStateFromPath)(
145
+ "/(app)/(explore)",
146
+ (0, import_testing_utils.getMockConfig)([
147
+ "+not-found",
148
+ "(app)/_layout",
149
+ "(app)/(explore)/_layout",
150
+ "(app)/(explore)/[user]/index",
151
+ "(app)/(explore)/explore",
152
+ "(app)/([user])/_layout",
153
+ "(app)/([user])/[user]/index",
154
+ "(app)/([user])/explore"
155
+ ])
156
+ )
157
+ ).toEqual({
158
+ routes: [
159
+ {
160
+ name: "(app)",
161
+ params: { user: "(explore)" },
162
+ state: {
163
+ routes: [
164
+ {
165
+ name: "([user])",
166
+ params: { user: "(explore)" },
167
+ state: {
168
+ routes: [
169
+ {
170
+ name: "[user]/index",
171
+ params: { user: "(explore)" },
172
+ path: ""
173
+ }
174
+ ]
175
+ }
176
+ }
177
+ ]
178
+ }
179
+ }
180
+ ]
181
+ });
182
+ });
183
+ (0, import_vitest.it)("adds dynamic route params from all levels of the path", () => {
184
+ (0, import_vitest.expect)(
185
+ (0, import_getStateFromPath.getStateFromPath)(
186
+ "/foo/bar/baz/other",
187
+ (0, import_testing_utils.getMockConfig)([
188
+ "[foo]/_layout.tsx",
189
+ "[foo]/bar/_layout.tsx",
190
+ "[foo]/bar/[baz]/_layout.tsx",
191
+ "[foo]/bar/[baz]/other.tsx"
192
+ ])
193
+ )
194
+ ).toEqual({
195
+ routes: [
196
+ {
197
+ name: "[foo]",
198
+ params: { baz: "baz", foo: "foo" },
199
+ state: {
200
+ routes: [
201
+ {
202
+ name: "bar",
203
+ params: { baz: "baz", foo: "foo" },
204
+ state: {
205
+ routes: [
206
+ {
207
+ name: "[baz]",
208
+ params: { baz: "baz", foo: "foo" },
209
+ state: {
210
+ routes: [
211
+ {
212
+ name: "other",
213
+ params: {
214
+ baz: "baz",
215
+ foo: "foo"
216
+ },
217
+ path: "/foo/bar/baz/other"
218
+ }
219
+ ]
220
+ }
221
+ }
222
+ ]
223
+ }
224
+ }
225
+ ]
226
+ }
227
+ }
228
+ ]
229
+ });
230
+ });
231
+ (0, import_vitest.it)("handles not-found routes", () => {
232
+ (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)("/missing-page", (0, import_testing_utils.getMockConfig)(["+not-found", "index"]))).toEqual({
233
+ routes: [
234
+ {
235
+ name: "+not-found",
236
+ params: {
237
+ "not-found": ["missing-page"]
238
+ },
239
+ path: "/missing-page"
240
+ }
241
+ ]
242
+ });
243
+ });
244
+ (0, import_vitest.it)("handles query params", () => {
245
+ (0, import_vitest.expect)(
246
+ (0, import_getStateFromPath.getStateFromPath)("/?test=true&hello=world&array=1&array=2", (0, import_testing_utils.getMockConfig)(["index.tsx"]))
247
+ ).toEqual({
248
+ routes: [
249
+ {
250
+ name: "index",
251
+ params: {
252
+ test: "true",
253
+ hello: "world",
254
+ array: ["1", "2"]
255
+ },
256
+ path: "/?test=true&hello=world&array=1&array=2"
257
+ }
258
+ ]
259
+ });
260
+ });
261
+ (0, import_vitest.it)("handles query params", () => {
262
+ (0, import_vitest.expect)(
263
+ (0, import_getStateFromPath.getStateFromPath)("/?test=true&hello=world&array=1&array=2", (0, import_testing_utils.getMockConfig)(["index.tsx"]))
264
+ ).toEqual({
265
+ routes: [
266
+ {
267
+ name: "index",
268
+ params: {
269
+ test: "true",
270
+ hello: "world",
271
+ array: ["1", "2"]
272
+ },
273
+ path: "/?test=true&hello=world&array=1&array=2"
274
+ }
275
+ ]
276
+ });
277
+ });
278
+ import_vitest.it.skip("prioritizes hoisted index routes over dynamic groups", () => {
279
+ (0, import_vitest.expect)(
280
+ (0, import_getStateFromPath.getStateFromPath)("/(one)", (0, import_testing_utils.getMockConfig)(["(one,two)/index.tsx", "(one,two)/[slug].tsx"]))
281
+ ).toEqual({
282
+ routes: [
283
+ {
284
+ name: "(one)/index",
285
+ path: ""
286
+ }
287
+ ]
288
+ });
289
+ });
290
+ //# sourceMappingURL=getStateFromPath.test.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/fork/getStateFromPath.test.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }