@react-navigation/core 7.17.3 → 7.17.5
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.
- package/lib/module/StaticNavigation.js +61 -20
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/getStateFromPath.js +87 -58
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +10 -7
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts +16 -10
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/StaticNavigation.tsx +145 -53
- package/src/getStateFromPath.tsx +125 -81
- package/src/useNavigationBuilder.tsx +18 -11
|
@@ -179,7 +179,18 @@ export function createComponentForStaticNavigationDeprecated(tree) {
|
|
|
179
179
|
export function createPathConfigForStaticNavigation(tree, options, auto) {
|
|
180
180
|
let initialScreenHasPath = false;
|
|
181
181
|
let initialScreenConfig;
|
|
182
|
-
|
|
182
|
+
let hasEmptyPath = false;
|
|
183
|
+
const createPathConfigForTree = (t, o, skipInitialDetection, allowAutoEmptyPath) => {
|
|
184
|
+
const initialRouteName = o?.initialRouteName ?? t.config.initialRouteName;
|
|
185
|
+
if (initialRouteName != null) {
|
|
186
|
+
const routeNames = new Set(Object.keys(t.config.screens ?? {}));
|
|
187
|
+
for (const group of Object.values(t.config.groups ?? {})) {
|
|
188
|
+
Object.keys(group.screens).forEach(name => routeNames.add(name));
|
|
189
|
+
}
|
|
190
|
+
if (!routeNames.has(initialRouteName)) {
|
|
191
|
+
throw new Error(`Couldn't find a screen named '${initialRouteName}' to use as 'initialRouteName'.`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
183
194
|
const createPathConfigForScreens = (screens, initialRouteName) => {
|
|
184
195
|
return Object.fromEntries(Object.entries(screens)
|
|
185
196
|
// Re-order to move the initial route to the front
|
|
@@ -194,45 +205,75 @@ export function createPathConfigForStaticNavigation(tree, options, auto) {
|
|
|
194
205
|
return 0;
|
|
195
206
|
}).map(([key, item]) => {
|
|
196
207
|
const screenConfig = {};
|
|
197
|
-
|
|
208
|
+
const normalizePath = path => path.replace(/^\/+|\/+$/g, '');
|
|
209
|
+
if ('linking' in item && item.linking !== undefined) {
|
|
198
210
|
if (typeof item.linking === 'string') {
|
|
199
211
|
screenConfig.path = item.linking;
|
|
200
|
-
} else {
|
|
212
|
+
} else if (item.linking != null && typeof item.linking === 'object') {
|
|
201
213
|
Object.assign(screenConfig, item.linking);
|
|
202
214
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
215
|
+
}
|
|
216
|
+
if (screenConfig.exact && screenConfig.path == null) {
|
|
217
|
+
throw new Error("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: ''`.");
|
|
218
|
+
}
|
|
219
|
+
if (typeof screenConfig.path === 'string') {
|
|
220
|
+
screenConfig.path = normalizePath(screenConfig.path);
|
|
221
|
+
}
|
|
222
|
+
if (screenConfig.alias != null) {
|
|
223
|
+
screenConfig.alias = screenConfig.alias.map(alias => {
|
|
224
|
+
if (typeof alias === 'string') {
|
|
225
|
+
return normalizePath(alias);
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
...alias,
|
|
229
|
+
path: normalizePath(alias.path)
|
|
230
|
+
};
|
|
231
|
+
});
|
|
207
232
|
}
|
|
208
233
|
let screens;
|
|
234
|
+
const hasExplicitScreens = 'screens' in screenConfig && screenConfig.screens != null;
|
|
235
|
+
const hasDisabledLinking = 'linking' in item && item.linking === null;
|
|
236
|
+
const childOptions = 'initialRouteName' in screenConfig && typeof screenConfig.initialRouteName === 'string' ? {
|
|
237
|
+
initialRouteName: screenConfig.initialRouteName
|
|
238
|
+
} : undefined;
|
|
239
|
+
if (hasExplicitScreens && childOptions != null && !Object.keys(screenConfig.screens ?? {}).includes(childOptions.initialRouteName)) {
|
|
240
|
+
throw new Error(`Couldn't find a screen named '${childOptions.initialRouteName}' to use as 'initialRouteName'.`);
|
|
241
|
+
}
|
|
209
242
|
const skipInitialDetectionInChild = skipInitialDetection || screenConfig.path != null && screenConfig.path !== '';
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
243
|
+
const allowAutoEmptyPathInChild = allowAutoEmptyPath && (initialRouteName == null || key === initialRouteName);
|
|
244
|
+
if (!hasExplicitScreens && !hasDisabledLinking && 'config' in item) {
|
|
245
|
+
screens = createPathConfigForTree(item, childOptions, skipInitialDetectionInChild, allowAutoEmptyPathInChild);
|
|
246
|
+
} else if (!hasExplicitScreens && !hasDisabledLinking && 'screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
|
|
247
|
+
screens = createPathConfigForTree(item.screen, childOptions, skipInitialDetectionInChild, allowAutoEmptyPathInChild);
|
|
214
248
|
}
|
|
215
249
|
if (screens) {
|
|
216
250
|
screenConfig.screens = screens;
|
|
217
251
|
}
|
|
218
|
-
if (auto && !screenConfig.screens &&
|
|
219
|
-
// Skip generating path for screens that specify linking config as `
|
|
220
|
-
!
|
|
252
|
+
if (auto && !('screens' in screenConfig && screenConfig.screens) &&
|
|
253
|
+
// Skip generating path for screens that specify linking config as `null` explicitly
|
|
254
|
+
!hasDisabledLinking) {
|
|
221
255
|
if (screenConfig.path != null) {
|
|
222
256
|
if (!skipInitialDetection) {
|
|
223
|
-
if (
|
|
224
|
-
initialScreenHasPath = true;
|
|
225
|
-
} else if (screenConfig.path === '') {
|
|
257
|
+
if (screenConfig.path === '') {
|
|
226
258
|
// We encounter a leaf screen with empty path,
|
|
227
259
|
// Clear the initial screen config as it's not needed anymore
|
|
228
260
|
initialScreenConfig = undefined;
|
|
261
|
+
hasEmptyPath = true;
|
|
262
|
+
if (allowAutoEmptyPath && key === initialRouteName) {
|
|
263
|
+
initialScreenHasPath = true;
|
|
264
|
+
}
|
|
265
|
+
} else if (allowAutoEmptyPath && key === initialRouteName &&
|
|
266
|
+
// Keep an already discovered fallback unless the initial route
|
|
267
|
+
// explicitly uses an empty path.
|
|
268
|
+
initialScreenConfig == null) {
|
|
269
|
+
initialScreenHasPath = true;
|
|
229
270
|
}
|
|
230
271
|
}
|
|
231
272
|
} else {
|
|
232
|
-
if (!skipInitialDetection && initialScreenConfig == null) {
|
|
273
|
+
if (!skipInitialDetection && allowAutoEmptyPath && (initialRouteName == null || key === initialRouteName) && !hasEmptyPath && initialScreenConfig == null) {
|
|
233
274
|
initialScreenConfig = screenConfig;
|
|
234
275
|
}
|
|
235
|
-
screenConfig.path = key.replace(/([A-Z]+)/g, '-$1').replace(/^-/, '').toLowerCase();
|
|
276
|
+
screenConfig.path = normalizePath(key.replace(/([A-Z]+)/g, '-$1').replace(/^-/, '').toLowerCase());
|
|
236
277
|
}
|
|
237
278
|
}
|
|
238
279
|
return [key, screenConfig];
|
|
@@ -257,7 +298,7 @@ export function createPathConfigForStaticNavigation(tree, options, auto) {
|
|
|
257
298
|
}
|
|
258
299
|
return screens;
|
|
259
300
|
};
|
|
260
|
-
const screens = createPathConfigForTree(tree, options, false);
|
|
301
|
+
const screens = createPathConfigForTree(tree, options, false, true);
|
|
261
302
|
if (auto && initialScreenConfig && !initialScreenHasPath) {
|
|
262
303
|
initialScreenConfig.path = '';
|
|
263
304
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","isValidElementType","useRoute","jsx","_jsx","MemoizedScreen","memo","component","route","children","createElement","displayName","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","getComponent","Error","element","shouldRender","createComponentForStaticNavigation","tree","Navigator","Group","config","groups","items","key","push","group","groupItems","navigationKey","length","NavigatorComponent","screenOptions","options","screenListeners","createComponentForStaticNavigationDeprecated","console","warn","createPathConfigForStaticNavigation","auto","initialScreenHasPath","initialScreenConfig","createPathConfigForTree","t","o","skipInitialDetection","createPathConfigForScreens","initialRouteName","fromEntries","sort","a","b","screenConfig","linking","path","assign","replace","skipInitialDetectionInChild","undefined","toLowerCase","filter","keys","forEach"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","isValidElementType","useRoute","jsx","_jsx","MemoizedScreen","memo","component","route","children","createElement","displayName","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","getComponent","Error","element","shouldRender","createComponentForStaticNavigation","tree","Navigator","Group","config","groups","items","key","push","group","groupItems","navigationKey","length","NavigatorComponent","screenOptions","options","screenListeners","createComponentForStaticNavigationDeprecated","console","warn","createPathConfigForStaticNavigation","auto","initialScreenHasPath","initialScreenConfig","hasEmptyPath","createPathConfigForTree","t","o","skipInitialDetection","allowAutoEmptyPath","initialRouteName","routeNames","Set","keys","values","forEach","add","has","createPathConfigForScreens","fromEntries","sort","a","b","screenConfig","normalizePath","path","replace","linking","undefined","assign","exact","alias","hasExplicitScreens","hasDisabledLinking","childOptions","includes","skipInitialDetectionInChild","allowAutoEmptyPathInChild","toLowerCase","filter"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,12 @@ import { findFocusedRoute } from "./findFocusedRoute.js";
|
|
|
7
7
|
import { getPatternParts } from "./getPatternParts.js";
|
|
8
8
|
import { isArrayEqual } from "./isArrayEqual.js";
|
|
9
9
|
import { validatePathConfig } from "./validatePathConfig.js";
|
|
10
|
+
const NESTED_SCREEN_PARAM_NAMES = ['screen', 'params', 'initial', 'path', 'merge', 'pop'];
|
|
11
|
+
const getExplicitParamNames = parse => {
|
|
12
|
+
const names = Object.entries(parse ?? {}).map(([name]) => name);
|
|
13
|
+
return names.length ? new Set(names) : undefined;
|
|
14
|
+
};
|
|
15
|
+
|
|
10
16
|
/**
|
|
11
17
|
* Utility to parse a path string to initial state object accepted by the container.
|
|
12
18
|
* This is useful for deep linking when we need to handle the incoming URL.
|
|
@@ -55,14 +61,22 @@ export function getStateFromPath(path, options) {
|
|
|
55
61
|
// Remove the prefix from the path
|
|
56
62
|
remaining = remaining.replace(normalizedPrefix, '');
|
|
57
63
|
}
|
|
64
|
+
const decodedSegments = [];
|
|
65
|
+
for (const segment of remaining.split('/')) {
|
|
66
|
+
if (!segment) {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
decodedSegments.push(decodeURIComponent(segment));
|
|
71
|
+
} catch {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
58
75
|
if (screens === undefined) {
|
|
59
76
|
// When no config is specified, use the path segments as route names
|
|
60
|
-
const routes =
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
name
|
|
64
|
-
};
|
|
65
|
-
});
|
|
77
|
+
const routes = decodedSegments.map(name => ({
|
|
78
|
+
name
|
|
79
|
+
}));
|
|
66
80
|
if (routes.length) {
|
|
67
81
|
return createNestedStateObject(path, routes, initialRoutes);
|
|
68
82
|
}
|
|
@@ -75,29 +89,21 @@ export function getStateFromPath(path, options) {
|
|
|
75
89
|
if (match) {
|
|
76
90
|
return createNestedStateObject(path, match.routeNames.map(name => ({
|
|
77
91
|
name
|
|
78
|
-
})), initialRoutes,
|
|
92
|
+
})), initialRoutes, match);
|
|
79
93
|
}
|
|
80
94
|
return undefined;
|
|
81
95
|
}
|
|
82
|
-
let result;
|
|
83
|
-
let current;
|
|
84
96
|
|
|
85
97
|
// We match the whole path against the regex instead of segments
|
|
86
98
|
// This makes sure matches such as wildcard will catch any unmatched routes, even if nested
|
|
87
99
|
const {
|
|
88
100
|
routes,
|
|
89
|
-
|
|
101
|
+
config
|
|
90
102
|
} = matchAgainstConfigs(remaining, configs, configsByScreen);
|
|
91
|
-
if (routes
|
|
92
|
-
// This will always be empty if full path matched
|
|
93
|
-
current = createNestedStateObject(path, routes, initialRoutes, configs);
|
|
94
|
-
remaining = remainingPath;
|
|
95
|
-
result = current;
|
|
96
|
-
}
|
|
97
|
-
if (current == null || result == null) {
|
|
103
|
+
if (routes === undefined || config === undefined) {
|
|
98
104
|
return undefined;
|
|
99
105
|
}
|
|
100
|
-
return
|
|
106
|
+
return createNestedStateObject(path, routes, initialRoutes, config);
|
|
101
107
|
}
|
|
102
108
|
|
|
103
109
|
/**
|
|
@@ -241,6 +247,7 @@ function checkForDuplicatedConfigs(configs) {
|
|
|
241
247
|
const matchAgainstConfigs = (remaining, configs, configsByScreen) => {
|
|
242
248
|
let routes;
|
|
243
249
|
let remainingPath = remaining;
|
|
250
|
+
let matchingConfig;
|
|
244
251
|
|
|
245
252
|
// Go through all configs, and see if the next path segment matches our regex
|
|
246
253
|
for (const config of configs) {
|
|
@@ -251,41 +258,59 @@ const matchAgainstConfigs = (remaining, configs, configsByScreen) => {
|
|
|
251
258
|
|
|
252
259
|
// If our regex matches, we need to extract params from the path
|
|
253
260
|
if (match) {
|
|
254
|
-
routes =
|
|
261
|
+
routes = [];
|
|
262
|
+
matchingConfig = config;
|
|
263
|
+
for (const routeName of config.routeNames) {
|
|
255
264
|
// Check matching name AND pattern in case same screen is used at different levels in config
|
|
256
265
|
const routeConfig = configsByScreen[routeName]?.find(c => arrayStartsWith(config.segments, c.segments));
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
266
|
+
let params;
|
|
267
|
+
if (routeConfig && match.groups) {
|
|
268
|
+
const paramEntries = [];
|
|
269
|
+
for (const [key, value] of Object.entries(match.groups)) {
|
|
270
|
+
const index = Number(key.replace('param_', ''));
|
|
271
|
+
const param = routeConfig.params.find(it => it.index === index);
|
|
272
|
+
if (param?.screen !== routeName || !param.name) {
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
if (value == null) {
|
|
276
|
+
paramEntries.push([param.name, undefined]);
|
|
277
|
+
continue;
|
|
278
|
+
}
|
|
279
|
+
let decoded;
|
|
280
|
+
try {
|
|
281
|
+
decoded = decodeURIComponent(value);
|
|
282
|
+
} catch {
|
|
283
|
+
return {
|
|
284
|
+
routes: undefined,
|
|
285
|
+
remainingPath
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
const parser = routeConfig.parse?.[param.name];
|
|
289
|
+
paramEntries.push([param.name, parser ? parser(decoded) : decoded]);
|
|
262
290
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
if (value == null) {
|
|
266
|
-
return [key, undefined];
|
|
291
|
+
if (paramEntries.length) {
|
|
292
|
+
params = Object.fromEntries(paramEntries);
|
|
267
293
|
}
|
|
268
|
-
|
|
269
|
-
const parsed = routeConfig.parse?.[key] ? routeConfig.parse[key](decoded) : decoded;
|
|
270
|
-
return [key, parsed];
|
|
271
|
-
})) : undefined;
|
|
294
|
+
}
|
|
272
295
|
if (params && Object.keys(params).length) {
|
|
273
|
-
|
|
296
|
+
routes.push({
|
|
274
297
|
name: routeName,
|
|
275
298
|
params
|
|
276
|
-
};
|
|
299
|
+
});
|
|
300
|
+
} else {
|
|
301
|
+
routes.push({
|
|
302
|
+
name: routeName
|
|
303
|
+
});
|
|
277
304
|
}
|
|
278
|
-
|
|
279
|
-
name: routeName
|
|
280
|
-
};
|
|
281
|
-
});
|
|
305
|
+
}
|
|
282
306
|
remainingPath = remainingPath.replace(match[0], '');
|
|
283
307
|
break;
|
|
284
308
|
}
|
|
285
309
|
}
|
|
286
310
|
return {
|
|
287
311
|
routes,
|
|
288
|
-
remainingPath
|
|
312
|
+
remainingPath,
|
|
313
|
+
config: matchingConfig
|
|
289
314
|
};
|
|
290
315
|
};
|
|
291
316
|
const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScreens, routeNames) => {
|
|
@@ -303,6 +328,8 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
|
|
|
303
328
|
// if an object is specified as the value (e.g. Foo: { ... }),
|
|
304
329
|
// it can have `path` property and
|
|
305
330
|
// it could have `screens` prop which has nested configs
|
|
331
|
+
const nestedScreens = config.screens;
|
|
332
|
+
const hasNestedScreens = !!nestedScreens;
|
|
306
333
|
if (typeof config.path === 'string') {
|
|
307
334
|
if (config.exact && config.path == null) {
|
|
308
335
|
throw new Error(`Screen '${screen}' doesn't specify a 'path'. 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: ''\`.`);
|
|
@@ -317,7 +344,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
|
|
|
317
344
|
aliasConfigs.push(createConfigItem(screen, [...routeNames], [...paths, {
|
|
318
345
|
screen,
|
|
319
346
|
path: alias
|
|
320
|
-
}], config.parse));
|
|
347
|
+
}], config.parse, hasNestedScreens));
|
|
321
348
|
} else if (typeof alias === 'object') {
|
|
322
349
|
aliasConfigs.push(createConfigItem(screen, [...routeNames], alias.exact ? [{
|
|
323
350
|
screen,
|
|
@@ -325,7 +352,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
|
|
|
325
352
|
}] : [...paths, {
|
|
326
353
|
screen,
|
|
327
354
|
path: alias.path
|
|
328
|
-
}], alias.parse));
|
|
355
|
+
}], alias.parse, hasNestedScreens));
|
|
329
356
|
}
|
|
330
357
|
}
|
|
331
358
|
}
|
|
@@ -338,13 +365,13 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
|
|
|
338
365
|
screen,
|
|
339
366
|
path: config.path
|
|
340
367
|
});
|
|
341
|
-
configs.push(createConfigItem(screen, [...routeNames], [...paths], config.parse));
|
|
368
|
+
configs.push(createConfigItem(screen, [...routeNames], [...paths], config.parse, hasNestedScreens));
|
|
342
369
|
configs.push(...aliasConfigs);
|
|
343
370
|
}
|
|
344
371
|
if (typeof config !== 'string' && typeof config.path !== 'string' && config.alias?.length) {
|
|
345
372
|
throw new Error(`Screen '${screen}' doesn't specify a 'path'. A 'path' needs to be specified in order to use 'alias'.`);
|
|
346
373
|
}
|
|
347
|
-
if (
|
|
374
|
+
if (nestedScreens) {
|
|
348
375
|
// property `initialRouteName` without `screens` has no purpose
|
|
349
376
|
if (config.initialRouteName) {
|
|
350
377
|
initials.push({
|
|
@@ -352,8 +379,8 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
|
|
|
352
379
|
parentScreens
|
|
353
380
|
});
|
|
354
381
|
}
|
|
355
|
-
Object.keys(
|
|
356
|
-
const result = createNormalizedConfigs(nestedConfig,
|
|
382
|
+
Object.keys(nestedScreens).forEach(nestedConfig => {
|
|
383
|
+
const result = createNormalizedConfigs(nestedConfig, nestedScreens, initials, [...paths], [...parentScreens], routeNames);
|
|
357
384
|
configs.push(...result);
|
|
358
385
|
});
|
|
359
386
|
}
|
|
@@ -361,7 +388,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
|
|
|
361
388
|
routeNames.pop();
|
|
362
389
|
return configs;
|
|
363
390
|
};
|
|
364
|
-
const createConfigItem = (screen, routeNames, paths, parse) => {
|
|
391
|
+
const createConfigItem = (screen, routeNames, paths, parse, hasNestedScreens = false) => {
|
|
365
392
|
const parts = [];
|
|
366
393
|
|
|
367
394
|
// Parse the path string into parts for easier matching
|
|
@@ -393,17 +420,11 @@ const createConfigItem = (screen, routeNames, paths, parse) => {
|
|
|
393
420
|
segments,
|
|
394
421
|
params,
|
|
395
422
|
routeNames,
|
|
396
|
-
parse
|
|
423
|
+
parse,
|
|
424
|
+
explicitParamNames: getExplicitParamNames(parse),
|
|
425
|
+
hasNestedScreens
|
|
397
426
|
};
|
|
398
427
|
};
|
|
399
|
-
const findParseConfigForRoute = (routeName, flatConfig) => {
|
|
400
|
-
for (const config of flatConfig) {
|
|
401
|
-
if (routeName === config.routeNames[config.routeNames.length - 1]) {
|
|
402
|
-
return config.parse;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
return undefined;
|
|
406
|
-
};
|
|
407
428
|
|
|
408
429
|
// Try to find an initial route connected with the one passed
|
|
409
430
|
const findInitialRoute = (routeName, parentScreens, initialRoutes) => {
|
|
@@ -465,7 +486,7 @@ const createStateObject = (initialRoute, route, isEmpty) => {
|
|
|
465
486
|
}
|
|
466
487
|
}
|
|
467
488
|
};
|
|
468
|
-
const createNestedStateObject = (path, routes, initialRoutes,
|
|
489
|
+
const createNestedStateObject = (path, routes, initialRoutes, routeConfig) => {
|
|
469
490
|
let route = routes.shift();
|
|
470
491
|
const parentScreens = [];
|
|
471
492
|
let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
|
|
@@ -485,7 +506,7 @@ const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
|
|
|
485
506
|
}
|
|
486
507
|
route = findFocusedRoute(state);
|
|
487
508
|
route.path = path.replace(/\/$/, '');
|
|
488
|
-
const params = parseQueryParams(path,
|
|
509
|
+
const params = parseQueryParams(path, routeConfig?.parse, routeConfig?.explicitParamNames, routeConfig?.hasNestedScreens, route.params);
|
|
489
510
|
if (params) {
|
|
490
511
|
route.params = {
|
|
491
512
|
...route.params,
|
|
@@ -494,7 +515,7 @@ const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
|
|
|
494
515
|
}
|
|
495
516
|
return state;
|
|
496
517
|
};
|
|
497
|
-
const parseQueryParams = (path, parseConfig) => {
|
|
518
|
+
const parseQueryParams = (path, parseConfig, explicitParamNames, hasNestedScreens = false, routeParams) => {
|
|
498
519
|
const query = path.split('?')[1];
|
|
499
520
|
const params = queryString.parse(query);
|
|
500
521
|
if (parseConfig) {
|
|
@@ -504,6 +525,14 @@ const parseQueryParams = (path, parseConfig) => {
|
|
|
504
525
|
}
|
|
505
526
|
});
|
|
506
527
|
}
|
|
528
|
+
if (hasNestedScreens && !explicitParamNames?.has('screen') && (typeof params.screen === 'string' || typeof routeParams?.screen === 'string')) {
|
|
529
|
+
for (const name of NESTED_SCREEN_PARAM_NAMES) {
|
|
530
|
+
if (!explicitParamNames?.has(name)) {
|
|
531
|
+
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
532
|
+
delete params[name];
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
}
|
|
507
536
|
return Object.keys(params).length ? params : undefined;
|
|
508
537
|
};
|
|
509
538
|
//# sourceMappingURL=getStateFromPath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","getStateFromPath","path","options","initialRoutes","configs","configsByScreen","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","match","find","config","segments","join","routeNames","result","current","remainingPath","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","c","screen","push","initialRouteName","parentScreens","concat","Object","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","Error","assign","regex","routeName","routeConfig","params","groups","fromEntries","entries","value","index","Number","param","decoded","parsed","parse","initials","paths","createConfigItem","exact","aliasConfigs","alias","forEach","nestedConfig","pop","parts","part","RegExp","reg","optional","findParseConfigForRoute","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nestedStateIndex","parseQueryParams","parseConfig","query","hasOwnProperty","call"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","NESTED_SCREEN_PARAM_NAMES","getExplicitParamNames","parse","names","Object","entries","map","name","length","Set","undefined","getStateFromPath","path","options","initialRoutes","configs","configsByScreen","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","decodedSegments","segment","split","push","decodeURIComponent","routes","createNestedStateObject","match","find","config","segments","join","routeNames","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","c","screen","initialRouteName","parentScreens","concat","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","Error","assign","remainingPath","matchingConfig","regex","routeName","routeConfig","params","groups","paramEntries","value","index","Number","param","decoded","parser","fromEntries","initials","paths","createConfigItem","nestedScreens","hasNestedScreens","exact","aliasConfigs","alias","forEach","nestedConfig","result","pop","parts","part","RegExp","reg","optional","filter","explicitParamNames","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nestedStateIndex","parseQueryParams","parseConfig","routeParams","query","hasOwnProperty","call","has"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -41,6 +41,7 @@ import { useScheduleUpdate } from "./useScheduleUpdate.js";
|
|
|
41
41
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
42
42
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
43
43
|
PrivateValueStore;
|
|
44
|
+
const isNavigationState = state => state != null && typeof state === 'object' && 'routes' in state && Array.isArray(state.routes);
|
|
44
45
|
const isScreen = child => {
|
|
45
46
|
return child.type === Screen;
|
|
46
47
|
};
|
|
@@ -139,8 +140,9 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions, groupLayo
|
|
|
139
140
|
return configs;
|
|
140
141
|
};
|
|
141
142
|
const getStateFromParams = params => {
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
const state = params?.state;
|
|
144
|
+
if (isNavigationState(state)) {
|
|
145
|
+
return state;
|
|
144
146
|
} else if (typeof params?.screen === 'string' && params?.initial !== false) {
|
|
145
147
|
return {
|
|
146
148
|
routes: [{
|
|
@@ -337,15 +339,16 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
337
339
|
let didConsumeNestedParams = route?.params === paramsUsedForInitialization;
|
|
338
340
|
if (route?.params && !didConsumeNestedParams) {
|
|
339
341
|
let action;
|
|
340
|
-
|
|
342
|
+
const stateFromParams = route.params.state;
|
|
343
|
+
if (isNavigationState(stateFromParams) && !isNestedParamsConsumed) {
|
|
341
344
|
didConsumeNestedParams = true;
|
|
342
|
-
if (options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(
|
|
343
|
-
if (
|
|
344
|
-
setUnhandledState(
|
|
345
|
+
if (options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateFromParams)) {
|
|
346
|
+
if (stateFromParams !== unhandledState) {
|
|
347
|
+
setUnhandledState(stateFromParams);
|
|
345
348
|
}
|
|
346
349
|
} else {
|
|
347
350
|
// If the route was updated with new state, we should reset to it
|
|
348
|
-
action = CommonActions.reset(
|
|
351
|
+
action = CommonActions.reset(stateFromParams);
|
|
349
352
|
}
|
|
350
353
|
} else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || !isNestedParamsConsumed)) {
|
|
351
354
|
didConsumeNestedParams = true;
|