@react-navigation/core 7.21.1 → 7.21.3
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/checkSerializable.js +7 -9
- package/lib/module/checkSerializable.js.map +1 -1
- package/lib/module/getPathFromState.js +1 -1
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getPatternParts.js +2 -2
- package/lib/module/getPatternParts.js.map +1 -1
- package/lib/module/getStateFromPath.js +98 -57
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts +2 -2
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/checkSerializable.d.ts +4 -2
- package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +3 -3
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/StaticNavigation.tsx +2 -2
- package/src/checkSerializable.tsx +20 -14
- package/src/getPathFromState.tsx +1 -1
- package/src/getPatternParts.tsx +2 -2
- package/src/getStateFromPath.tsx +143 -71
- package/src/types.tsx +18 -16
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const checkSerializableWithoutCircularReference = (o, seen, location) => {
|
|
4
4
|
if (o === undefined || o === null || typeof o === 'boolean' || typeof o === 'number' || typeof o === 'string') {
|
|
5
|
-
return
|
|
6
|
-
serializable: true
|
|
7
|
-
};
|
|
5
|
+
return undefined;
|
|
8
6
|
}
|
|
9
7
|
if (Object.prototype.toString.call(o) !== '[object Object]' && !Array.isArray(o)) {
|
|
10
8
|
return {
|
|
@@ -26,7 +24,7 @@ const checkSerializableWithoutCircularReference = (o, seen, location) => {
|
|
|
26
24
|
location.push(i);
|
|
27
25
|
const childResult = checkSerializableWithoutCircularReference(o[i], seen, location);
|
|
28
26
|
location.pop();
|
|
29
|
-
if (
|
|
27
|
+
if (childResult) {
|
|
30
28
|
seen.delete(o);
|
|
31
29
|
return childResult;
|
|
32
30
|
}
|
|
@@ -36,18 +34,18 @@ const checkSerializableWithoutCircularReference = (o, seen, location) => {
|
|
|
36
34
|
location.push(key);
|
|
37
35
|
const childResult = checkSerializableWithoutCircularReference(o[key], seen, location);
|
|
38
36
|
location.pop();
|
|
39
|
-
if (
|
|
37
|
+
if (childResult) {
|
|
40
38
|
seen.delete(o);
|
|
41
39
|
return childResult;
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
43
|
seen.delete(o);
|
|
46
|
-
return
|
|
47
|
-
serializable: true
|
|
48
|
-
};
|
|
44
|
+
return undefined;
|
|
49
45
|
};
|
|
50
46
|
export function checkSerializable(o) {
|
|
51
|
-
return checkSerializableWithoutCircularReference(o, new Set(), [])
|
|
47
|
+
return checkSerializableWithoutCircularReference(o, new Set(), []) ?? {
|
|
48
|
+
serializable: true
|
|
49
|
+
};
|
|
52
50
|
}
|
|
53
51
|
//# sourceMappingURL=checkSerializable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","
|
|
1
|
+
{"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","Object","prototype","toString","call","Array","isArray","serializable","slice","reason","String","has","add","i","length","push","childResult","pop","delete","key","checkSerializable","Set"],"sourceRoot":"../../src","sources":["checkSerializable.tsx"],"mappings":";;AAUA,MAAMA,yCAAyC,GAAGA,CAChDC,CAAyB,EACzBC,IAAc,EACdC,QAA6B,KACL;EACxB,IACEF,CAAC,KAAKG,SAAS,IACfH,CAAC,KAAK,IAAI,IACV,OAAOA,CAAC,KAAK,SAAS,IACtB,OAAOA,CAAC,KAAK,QAAQ,IACrB,OAAOA,CAAC,KAAK,QAAQ,EACrB;IACA,OAAOG,SAAS;EAClB;EAEA,IACEC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACP,CAAC,CAAC,KAAK,iBAAiB,IACvD,CAACQ,KAAK,CAACC,OAAO,CAACT,CAAC,CAAC,EACjB;IACA,OAAO;MACLU,YAAY,EAAE,KAAK;MACnBR,QAAQ,EAAEA,QAAQ,CAACS,KAAK,CAAC,CAAC;MAC1BC,MAAM,EAAE,OAAOZ,CAAC,KAAK,UAAU,GAAG,UAAU,GAAGa,MAAM,CAACb,CAAC;IACzD,CAAC;EACH;EAEA,IAAIC,IAAI,CAACa,GAAG,CAACd,CAAC,CAAC,EAAE;IACf,OAAO;MACLU,YAAY,EAAE,KAAK;MACnBE,MAAM,EAAE,oBAAoB;MAC5BV,QAAQ,EAAEA,QAAQ,CAACS,KAAK,CAAC;IAC3B,CAAC;EACH;EAEAV,IAAI,CAACc,GAAG,CAACf,CAAC,CAAC;EAEX,IAAIQ,KAAK,CAACC,OAAO,CAACT,CAAC,CAAC,EAAE;IACpB,KAAK,IAAIgB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,CAAC,CAACiB,MAAM,EAAED,CAAC,EAAE,EAAE;MACjCd,QAAQ,CAACgB,IAAI,CAACF,CAAC,CAAC;MAChB,MAAMG,WAAW,GAAGpB,yCAAyC,CAC3DC,CAAC,CAACgB,CAAC,CAAC,EACJf,IAAI,EACJC,QACF,CAAC;MACDA,QAAQ,CAACkB,GAAG,CAAC,CAAC;MAEd,IAAID,WAAW,EAAE;QACflB,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;QACd,OAAOmB,WAAW;MACpB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAMG,GAAG,IAAItB,CAAC,EAAE;MACnBE,QAAQ,CAACgB,IAAI,CAACI,GAAG,CAAC;MAClB,MAAMH,WAAW,GAAGpB,yCAAyC,CAC3DC,CAAC,CAACsB,GAAG,CAAC,EACNrB,IAAI,EACJC,QACF,CAAC;MACDA,QAAQ,CAACkB,GAAG,CAAC,CAAC;MAEd,IAAID,WAAW,EAAE;QACflB,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;QACd,OAAOmB,WAAW;MACpB;IACF;EACF;EAEAlB,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;EAEd,OAAOG,SAAS;AAClB,CAAC;AAED,OAAO,SAASoB,iBAAiBA,CAACvB,CAAyB,EAAU;EACnE,OACED,yCAAyC,CAACC,CAAC,EAAE,IAAIwB,GAAG,CAAM,CAAC,EAAE,EAAE,CAAC,IAAI;IAClEd,YAAY,EAAE;EAChB,CAAC;AAEL","ignoreList":[]}
|
|
@@ -53,7 +53,7 @@ export function getPathFromState(state, options) {
|
|
|
53
53
|
if (state == null) {
|
|
54
54
|
throw Error(`Got '${String(state)}' for the navigation state. You must pass a valid state object.`);
|
|
55
55
|
}
|
|
56
|
-
if (options) {
|
|
56
|
+
if (process.env.NODE_ENV !== 'production' && options) {
|
|
57
57
|
validatePathConfig(options);
|
|
58
58
|
}
|
|
59
59
|
const configs = getNormalizedConfigs(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["queryString","getPatternParts","validatePathConfig","getActiveRoute","state","route","index","routes","length","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","screens","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","Error","String","configs","path","current","allParams","parts","focusedParams","currentOptions","focusedRoute","nestedRouteNames","hasNext","name","push","params","currentParams","Object","fromEntries","entries","map","key","value","undefined","optional","find","part","param","stringify","filter","entry","assign","forEach","nextRoute","nestedConfig","segment","Array","from","char","test","encodeURIComponent","join","query","sort","replace","startsWith","createConfigItem","config","parentParts","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":";;AAKA,OAAO,KAAKA,WAAW,MAAM,cAAc;AAE3C,SAASC,eAAe,QAA0B,sBAAmB;AAErE,SAASC,kBAAkB,QAAQ,yBAAsB;AAkBzD,MAAMC,cAAc,GAAIC,KAAY,IAAwC;EAC1E,MAAMC,KAAK,GACT,OAAOD,KAAK,CAACE,KAAK,KAAK,QAAQ,GAC3BF,KAAK,CAACG,MAAM,CAACH,KAAK,CAACE,KAAK,CAAC,GACzBF,KAAK,CAACG,MAAM,CAACH,KAAK,CAACG,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC;EAE3C,IAAIH,KAAK,CAACD,KAAK,EAAE;IACf,OAAOD,cAAc,CAACE,KAAK,CAACD,KAAK,CAAC;EACpC;EAEA,OAAOC,KAAK;AACd,CAAC;AAED,MAAMI,uBAAuB,GAAG,IAAIC,OAAO,CAGzC,CAAC;AAEH,MAAMC,oBAAoB,GAAIC,OAAqB,IAAK;EACtD,IAAI,CAACA,OAAO,EAAEC,OAAO,EAAE,OAAO,CAAC,CAAC;EAEhC,MAAMC,MAAM,GAAGL,uBAAuB,CAACM,GAAG,CAACH,OAAO,EAAEC,OAAO,CAAC;EAE5D,IAAIC,MAAM,EAAE,OAAOA,MAAM;EAEzB,MAAME,iBAAiB,GAAGC,uBAAuB,CAACL,OAAO,CAACC,OAAO,CAAC;EAElEJ,uBAAuB,CAACS,GAAG,CAACN,OAAO,CAACC,OAAO,EAAEG,iBAAiB,CAAC;EAE/D,OAAOA,iBAAiB;AAC1B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,gBAAgBA,CAC9Bf,KAAY,EACZQ,OAA4B,EACpB;EACR,IAAIR,KAAK,IAAI,IAAI,EAAE;IACjB,MAAMgB,KAAK,CACT,QAAQC,MAAM,CAACjB,KAAK,CAAC,iEACvB,CAAC;EACH;EAEA,
|
|
1
|
+
{"version":3,"names":["queryString","getPatternParts","validatePathConfig","getActiveRoute","state","route","index","routes","length","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","screens","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","Error","String","process","env","NODE_ENV","configs","path","current","allParams","parts","focusedParams","currentOptions","focusedRoute","nestedRouteNames","hasNext","name","push","params","currentParams","Object","fromEntries","entries","map","key","value","undefined","optional","find","part","param","stringify","filter","entry","assign","forEach","nextRoute","nestedConfig","segment","Array","from","char","test","encodeURIComponent","join","query","sort","replace","startsWith","createConfigItem","config","parentParts","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -41,15 +41,15 @@ export function getPatternParts(path) {
|
|
|
41
41
|
if (regexInnerParens) {
|
|
42
42
|
// The ')' is part of the regex if we're already inside one
|
|
43
43
|
regexInnerParens--;
|
|
44
|
-
current.regex += char;
|
|
45
44
|
} else {
|
|
45
|
+
current.regex += char;
|
|
46
46
|
isRegex = false;
|
|
47
47
|
isParam = false;
|
|
48
48
|
}
|
|
49
49
|
} else {
|
|
50
50
|
throw new Error(`Encountered ')' without preceding '(' in path: ${path}`);
|
|
51
51
|
}
|
|
52
|
-
} else if (char === '?') {
|
|
52
|
+
} else if (char === '?' && !isRegex) {
|
|
53
53
|
if (current.param) {
|
|
54
54
|
isParam = false;
|
|
55
55
|
current.optional = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getPatternParts","path","parts","current","segment","isRegex","isParam","regexInnerParens","i","length","char","Error","regex","param","optional","replace","push","params","map","part","filter","Boolean","index","entries","indexOf"],"sourceRoot":"../../src","sources":["getPatternParts.tsx"],"mappings":";;AAOA;AACA;AACA;AACA,OAAO,SAASA,eAAeA,CAACC,IAAY,EAAiB;EAC3D,MAAMC,KAAoB,GAAG,EAAE;EAE/B,IAAIC,OAAoB,GAAG;IAAEC,OAAO,EAAE;EAAG,CAAC;EAE1C,IAAIC,OAAO,GAAG,KAAK;EACnB,IAAIC,OAAO,GAAG,KAAK;EACnB,IAAIC,gBAAgB,GAAG,CAAC;;EAExB;EACA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIP,IAAI,CAACQ,MAAM,EAAED,CAAC,EAAE,EAAE;IACrC,MAAME,IAAI,GAAGT,IAAI,CAACO,CAAC,CAAC;IAEpB,IAAIE,IAAI,IAAI,IAAI,EAAE;MAChBP,OAAO,CAACC,OAAO,IAAIM,IAAI;IACzB;IAEA,IAAIA,IAAI,KAAK,GAAG,EAAE;MAChB;MACA,IAAIP,OAAO,CAACC,OAAO,KAAK,GAAG,EAAE;QAC3BE,OAAO,GAAG,IAAI;MAChB,CAAC,MAAM,IAAI,CAACD,OAAO,EAAE;QACnB,MAAM,IAAIM,KAAK,CACb,uDAAuDV,IAAI,EAC7D,CAAC;MACH;IACF,CAAC,MAAM,IAAIS,IAAI,KAAK,GAAG,EAAE;MACvB,IAAIJ,OAAO,EAAE;QACX,IAAID,OAAO,EAAE;UACX;UACAE,gBAAgB,EAAE;QACpB,CAAC,MAAM;UACLF,OAAO,GAAG,IAAI;QAChB;MACF,CAAC,MAAM;QACL,MAAM,IAAIM,KAAK,CACb,kDAAkDV,IAAI,EACxD,CAAC;MACH;IACF,CAAC,MAAM,IAAIS,IAAI,KAAK,GAAG,EAAE;MACvB,IAAIJ,OAAO,IAAID,OAAO,EAAE;QACtB,IAAIE,gBAAgB,EAAE;UACpB;UACAA,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"names":["getPatternParts","path","parts","current","segment","isRegex","isParam","regexInnerParens","i","length","char","Error","regex","param","optional","replace","push","params","map","part","filter","Boolean","index","entries","indexOf"],"sourceRoot":"../../src","sources":["getPatternParts.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -61,22 +61,21 @@ export function getStateFromPath(path, options) {
|
|
|
61
61
|
// Remove the prefix from the path
|
|
62
62
|
remaining = remaining.replace(normalizedPrefix, '');
|
|
63
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
|
-
}
|
|
75
64
|
if (screens === undefined) {
|
|
76
65
|
// When no config is specified, use the path segments as route names
|
|
77
|
-
const routes =
|
|
78
|
-
|
|
79
|
-
|
|
66
|
+
const routes = [];
|
|
67
|
+
for (const segment of remaining.split('/')) {
|
|
68
|
+
if (!segment) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
routes.push({
|
|
73
|
+
name: decodeURIComponent(segment)
|
|
74
|
+
});
|
|
75
|
+
} catch {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
80
79
|
if (routes.length) {
|
|
81
80
|
return createNestedStateObject(path, routes, initialRoutes);
|
|
82
81
|
}
|
|
@@ -96,10 +95,17 @@ export function getStateFromPath(path, options) {
|
|
|
96
95
|
|
|
97
96
|
// We match the whole path against the regex instead of segments
|
|
98
97
|
// This makes sure matches such as wildcard will catch any unmatched routes, even if nested
|
|
98
|
+
const firstRawSegment = remaining.split('/')[0];
|
|
99
|
+
let firstDecodedSegment;
|
|
100
|
+
try {
|
|
101
|
+
firstDecodedSegment = firstRawSegment != null ? decodeURIComponent(firstRawSegment) : undefined;
|
|
102
|
+
} catch {
|
|
103
|
+
firstDecodedSegment = undefined;
|
|
104
|
+
}
|
|
99
105
|
const {
|
|
100
106
|
routes,
|
|
101
107
|
config
|
|
102
|
-
} = matchAgainstConfigs(remaining, configs, configsByScreen);
|
|
108
|
+
} = matchAgainstConfigs(remaining, firstDecodedSegment, firstRawSegment, configs, configsByScreen);
|
|
103
109
|
if (routes === undefined || config === undefined) {
|
|
104
110
|
return undefined;
|
|
105
111
|
}
|
|
@@ -119,15 +125,19 @@ function getConfigResources(options) {
|
|
|
119
125
|
return resources;
|
|
120
126
|
}
|
|
121
127
|
function prepareConfigResources(options) {
|
|
122
|
-
if (options) {
|
|
128
|
+
if (process.env.NODE_ENV !== 'production' && options) {
|
|
123
129
|
validatePathConfig(options);
|
|
124
130
|
}
|
|
125
131
|
const initialRoutes = getInitialRoutes(options);
|
|
126
132
|
const configs = getSortedNormalizedConfigs(initialRoutes, options?.screens);
|
|
127
|
-
checkForDuplicatedConfigs(configs);
|
|
128
133
|
const configsByScreen = {};
|
|
134
|
+
const configsByPattern = new Map();
|
|
129
135
|
for (const c of configs) {
|
|
130
136
|
(configsByScreen[c.screen] ??= []).push(c);
|
|
137
|
+
const pattern = c.segments.join('/');
|
|
138
|
+
const existing = configsByPattern.get(pattern);
|
|
139
|
+
checkForDuplicatedConfigs(existing, c, pattern);
|
|
140
|
+
configsByPattern.set(pattern, c);
|
|
131
141
|
}
|
|
132
142
|
return {
|
|
133
143
|
initialRoutes,
|
|
@@ -224,27 +234,23 @@ function getSortedNormalizedConfigs(initialRoutes, screens = {}) {
|
|
|
224
234
|
return a.segments.length - b.segments.length;
|
|
225
235
|
});
|
|
226
236
|
}
|
|
227
|
-
function checkForDuplicatedConfigs(configs) {
|
|
228
|
-
// Check for duplicate patterns in the config
|
|
229
|
-
configs.reduce((acc, config) => {
|
|
230
|
-
const pattern = config.segments.join('/');
|
|
231
|
-
if (acc[pattern]) {
|
|
232
|
-
const a = acc[pattern].routeNames;
|
|
233
|
-
const b = config.routeNames;
|
|
234
237
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
238
|
+
// Throw if two configs resolve to the same pattern but conflicting screens
|
|
239
|
+
function checkForDuplicatedConfigs(existing, config, pattern) {
|
|
240
|
+
if (!existing) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
const a = existing.routeNames;
|
|
244
|
+
const b = config.routeNames;
|
|
245
|
+
|
|
246
|
+
// It's not a problem if the path string omitted from a inner most screen
|
|
247
|
+
// For example, it's ok if a path resolves to `A > B > C` or `A > B`
|
|
248
|
+
const intersects = a.length > b.length ? arrayStartsWith(a, b) : arrayStartsWith(b, a);
|
|
249
|
+
if (!intersects) {
|
|
250
|
+
throw new Error(`Found conflicting screens with the same pattern. The pattern '${pattern}' resolves to both '${a.join(' > ')}' and '${b.join(' > ')}'. Patterns must be unique and cannot resolve to more than one screen.`);
|
|
251
|
+
}
|
|
246
252
|
}
|
|
247
|
-
const matchAgainstConfigs = (remaining, configs, configsByScreen) => {
|
|
253
|
+
const matchAgainstConfigs = (remaining, firstDecodedSegment, firstRawSegment, configs, configsByScreen) => {
|
|
248
254
|
let routes;
|
|
249
255
|
let remainingPath = remaining;
|
|
250
256
|
let matchingConfig;
|
|
@@ -254,24 +260,26 @@ const matchAgainstConfigs = (remaining, configs, configsByScreen) => {
|
|
|
254
260
|
if (!config.regex) {
|
|
255
261
|
continue;
|
|
256
262
|
}
|
|
263
|
+
if (!canMatchFirstSegment(config.segments[0], firstDecodedSegment, firstRawSegment)) {
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
257
266
|
const match = remainingPath.match(config.regex);
|
|
258
267
|
|
|
259
268
|
// If our regex matches, we need to extract params from the path
|
|
260
269
|
if (match) {
|
|
261
|
-
|
|
262
|
-
|
|
270
|
+
const matchedRoutes = [];
|
|
271
|
+
let hasInvalidParam = false;
|
|
263
272
|
for (const routeName of config.routeNames) {
|
|
264
273
|
// Check matching name AND pattern in case same screen is used at different levels in config
|
|
265
274
|
const routeConfig = configsByScreen[routeName]?.find(c => arrayStartsWith(config.segments, c.segments));
|
|
266
275
|
let params;
|
|
267
276
|
if (routeConfig && match.groups) {
|
|
268
277
|
const paramEntries = [];
|
|
269
|
-
for (const
|
|
270
|
-
|
|
271
|
-
const param = routeConfig.params.find(it => it.index === index);
|
|
272
|
-
if (param?.screen !== routeName || !param.name) {
|
|
278
|
+
for (const param of routeConfig.params) {
|
|
279
|
+
if (param.screen !== routeName) {
|
|
273
280
|
continue;
|
|
274
281
|
}
|
|
282
|
+
const value = match.groups[`param_${param.index}`];
|
|
275
283
|
if (value == null) {
|
|
276
284
|
paramEntries.push([param.name, undefined]);
|
|
277
285
|
continue;
|
|
@@ -280,29 +288,35 @@ const matchAgainstConfigs = (remaining, configs, configsByScreen) => {
|
|
|
280
288
|
try {
|
|
281
289
|
decoded = decodeURIComponent(value);
|
|
282
290
|
} catch {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
remainingPath
|
|
286
|
-
};
|
|
291
|
+
hasInvalidParam = true;
|
|
292
|
+
break;
|
|
287
293
|
}
|
|
288
294
|
const parser = routeConfig.parse?.[param.name];
|
|
289
295
|
paramEntries.push([param.name, parser ? parser(decoded) : decoded]);
|
|
290
296
|
}
|
|
297
|
+
if (hasInvalidParam) {
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
291
300
|
if (paramEntries.length) {
|
|
292
301
|
params = Object.fromEntries(paramEntries);
|
|
293
302
|
}
|
|
294
303
|
}
|
|
295
304
|
if (params && Object.keys(params).length) {
|
|
296
|
-
|
|
305
|
+
matchedRoutes.push({
|
|
297
306
|
name: routeName,
|
|
298
307
|
params
|
|
299
308
|
});
|
|
300
309
|
} else {
|
|
301
|
-
|
|
310
|
+
matchedRoutes.push({
|
|
302
311
|
name: routeName
|
|
303
312
|
});
|
|
304
313
|
}
|
|
305
314
|
}
|
|
315
|
+
if (hasInvalidParam) {
|
|
316
|
+
continue;
|
|
317
|
+
}
|
|
318
|
+
routes = matchedRoutes;
|
|
319
|
+
matchingConfig = config;
|
|
306
320
|
remainingPath = remainingPath.replace(match[0], '');
|
|
307
321
|
break;
|
|
308
322
|
}
|
|
@@ -313,6 +327,18 @@ const matchAgainstConfigs = (remaining, configs, configsByScreen) => {
|
|
|
313
327
|
config: matchingConfig
|
|
314
328
|
};
|
|
315
329
|
};
|
|
330
|
+
const canMatchFirstSegment = (configSegment, decodedSegment, rawSegment) => {
|
|
331
|
+
if (decodedSegment === undefined) {
|
|
332
|
+
return true;
|
|
333
|
+
}
|
|
334
|
+
if (configSegment === undefined) {
|
|
335
|
+
return false;
|
|
336
|
+
}
|
|
337
|
+
if (configSegment === '*' || configSegment.startsWith(':')) {
|
|
338
|
+
return true;
|
|
339
|
+
}
|
|
340
|
+
return configSegment === decodedSegment || configSegment === rawSegment;
|
|
341
|
+
};
|
|
316
342
|
const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScreens, routeNames) => {
|
|
317
343
|
const configs = [];
|
|
318
344
|
routeNames.push(screen);
|
|
@@ -393,12 +419,12 @@ const createConfigItem = (screen, routeNames, paths, parse, hasNestedScreens = f
|
|
|
393
419
|
|
|
394
420
|
// Parse the path string into parts for easier matching
|
|
395
421
|
for (const {
|
|
396
|
-
screen,
|
|
422
|
+
screen: pathScreen,
|
|
397
423
|
path
|
|
398
424
|
} of paths) {
|
|
399
425
|
parts.push(...getPatternParts(path).map(part => ({
|
|
400
426
|
...part,
|
|
401
|
-
screen
|
|
427
|
+
screen: pathScreen
|
|
402
428
|
})));
|
|
403
429
|
}
|
|
404
430
|
const regex = parts.length ? new RegExp(`^(${parts.map((it, i) => {
|
|
@@ -409,11 +435,21 @@ const createConfigItem = (screen, routeNames, paths, parse, hasNestedScreens = f
|
|
|
409
435
|
return `${it.segment === '*' ? '.*' : escape(it.segment)}\\/`;
|
|
410
436
|
}).join('')})$`) : undefined;
|
|
411
437
|
const segments = parts.map(it => it.segment);
|
|
412
|
-
const params =
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
438
|
+
const params = [];
|
|
439
|
+
const pathParamNames = new Set();
|
|
440
|
+
for (const [index, part] of parts.entries()) {
|
|
441
|
+
if (!part.param) {
|
|
442
|
+
continue;
|
|
443
|
+
}
|
|
444
|
+
params.push({
|
|
445
|
+
index,
|
|
446
|
+
screen: part.screen,
|
|
447
|
+
name: part.param
|
|
448
|
+
});
|
|
449
|
+
if (part.screen === screen) {
|
|
450
|
+
pathParamNames.add(part.param);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
417
453
|
return {
|
|
418
454
|
screen,
|
|
419
455
|
regex,
|
|
@@ -422,6 +458,7 @@ const createConfigItem = (screen, routeNames, paths, parse, hasNestedScreens = f
|
|
|
422
458
|
routeNames,
|
|
423
459
|
parse,
|
|
424
460
|
explicitParamNames: getExplicitParamNames(parse),
|
|
461
|
+
pathParamNames,
|
|
425
462
|
hasNestedScreens
|
|
426
463
|
};
|
|
427
464
|
};
|
|
@@ -506,7 +543,7 @@ const createNestedStateObject = (path, routes, initialRoutes, routeConfig) => {
|
|
|
506
543
|
}
|
|
507
544
|
route = findFocusedRoute(state);
|
|
508
545
|
route.path = path.replace(/\/$/, '');
|
|
509
|
-
const params = parseQueryParams(path, routeConfig?.parse, routeConfig?.explicitParamNames, routeConfig?.hasNestedScreens, route.params);
|
|
546
|
+
const params = parseQueryParams(path, routeConfig?.parse, routeConfig?.pathParamNames, routeConfig?.explicitParamNames, routeConfig?.hasNestedScreens, route.params);
|
|
510
547
|
if (params) {
|
|
511
548
|
route.params = {
|
|
512
549
|
...route.params,
|
|
@@ -515,9 +552,13 @@ const createNestedStateObject = (path, routes, initialRoutes, routeConfig) => {
|
|
|
515
552
|
}
|
|
516
553
|
return state;
|
|
517
554
|
};
|
|
518
|
-
const parseQueryParams = (path, parseConfig, explicitParamNames, hasNestedScreens = false, routeParams) => {
|
|
555
|
+
const parseQueryParams = (path, parseConfig, pathParamNames = new Set(), explicitParamNames, hasNestedScreens = false, routeParams) => {
|
|
519
556
|
const query = path.split('?')[1];
|
|
520
557
|
const params = queryString.parse(query);
|
|
558
|
+
for (const name of pathParamNames) {
|
|
559
|
+
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
560
|
+
delete params[name];
|
|
561
|
+
}
|
|
521
562
|
if (parseConfig) {
|
|
522
563
|
Object.keys(params).forEach(name => {
|
|
523
564
|
if (Object.hasOwnProperty.call(parseConfig, name) && typeof params[name] === 'string') {
|
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
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","routes","segment","split","push","decodeURIComponent","createNestedStateObject","match","find","config","segments","join","routeNames","firstRawSegment","firstDecodedSegment","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","process","env","NODE_ENV","getInitialRoutes","getSortedNormalizedConfigs","configsByPattern","Map","c","screen","pattern","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","concat","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","intersects","Error","remainingPath","matchingConfig","regex","canMatchFirstSegment","matchedRoutes","hasInvalidParam","routeName","routeConfig","params","groups","paramEntries","param","value","index","decoded","parser","fromEntries","configSegment","decodedSegment","rawSegment","initials","paths","createConfigItem","nestedScreens","hasNestedScreens","exact","aliasConfigs","alias","forEach","nestedConfig","result","pop","parts","pathScreen","part","RegExp","it","reg","optional","pathParamNames","add","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":[]}
|
|
@@ -14,11 +14,11 @@ type ParamsForStaticScreenComponent<T> = T extends React.ComponentType<{
|
|
|
14
14
|
}> ? UnknownToUndefined<P> : undefined;
|
|
15
15
|
type ParamsForStaticScreen<T> = T extends StaticNavigation<any, any, any> ? NavigatorScreenParams<StaticParamList<T>> | undefined : ParamsForStaticScreenComponent<T>;
|
|
16
16
|
type ParamListForStaticScreenConfig<Params> = {
|
|
17
|
-
|
|
17
|
+
[key: string]: Params extends object | undefined ? Params : never;
|
|
18
18
|
};
|
|
19
19
|
type StaticScreenConfigLinking = PathConfig<ParamListBase> | string | null | undefined;
|
|
20
20
|
type StaticScreenConfigScreen = React.ComponentType<any> | StaticNavigation<any, any, any>;
|
|
21
|
-
type StaticScreenConfig<Screen extends StaticScreenConfigScreen, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, Navigation, Params = ParamsForStaticScreen<Screen>> = Omit<StaticRouteConfig<ParamListForStaticScreenConfig<Params>,
|
|
21
|
+
type StaticScreenConfig<Screen extends StaticScreenConfigScreen, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, Navigation, Params = ParamsForStaticScreen<Screen>> = Omit<StaticRouteConfig<ParamListForStaticScreenConfig<Params>, string, State, ScreenOptions, EventMap, Navigation>, 'name' | 'component' | 'getComponent' | 'children'> & {
|
|
22
22
|
/**
|
|
23
23
|
* Callback to determine whether the screen should be rendered or not.
|
|
24
24
|
* This can be useful for conditional rendering of screens,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAS,CAAC;AAGjB,YAAY,EAAE,eAAe,EAAE,MAAM,YAAS,CAAC;AAE/C,KAAK,iBAAiB,CACpB,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,EACjC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,UAAU,IACR,gBAAgB,CAClB,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,UAAU,CACX,GACC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAE7C,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,mCAAmC,EAAE,IAAI,CAAC;CACpD,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,IAAI,OAAO,SAAS,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;AAE/D,KAAK,8BAA8B,CAAC,CAAC,IACnC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC,GACzD,kBAAkB,CAAC,CAAC,CAAC,GACrB,SAAS,CAAC;AAEhB,KAAK,qBAAqB,CAAC,CAAC,IAC1B,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACrC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACrD,8BAA8B,CAAC,CAAC,CAAC,CAAC;AAExC,KAAK,8BAA8B,CAAC,MAAM,IAAI;IAC5C,
|
|
1
|
+
{"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
type
|
|
1
|
+
type Success = {
|
|
2
2
|
serializable: true;
|
|
3
|
-
}
|
|
3
|
+
};
|
|
4
|
+
type Failure = {
|
|
4
5
|
serializable: false;
|
|
5
6
|
location: (string | number)[];
|
|
6
7
|
reason: string;
|
|
7
8
|
};
|
|
9
|
+
type Result = Success | Failure;
|
|
8
10
|
export declare function checkSerializable(o: {
|
|
9
11
|
[key: string]: any;
|
|
10
12
|
}): Result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkSerializable.d.ts","sourceRoot":"","sources":["../../../src/checkSerializable.tsx"],"names":[],"mappings":"AAAA,KAAK,
|
|
1
|
+
{"version":3,"file":"checkSerializable.d.ts","sourceRoot":"","sources":["../../../src/checkSerializable.tsx"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG;IAAE,YAAY,EAAE,IAAI,CAAA;CAAE,CAAC;AAEtC,KAAK,OAAO,GAAG;IACb,YAAY,EAAE,KAAK,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AA2EhC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,MAAM,CAMnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStateFromPath.d.ts","sourceRoot":"","sources":["../../../src/getStateFromPath.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEf,YAAY,EACb,MAAM,2BAA2B,CAAC;AAQnC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"getStateFromPath.d.ts","sourceRoot":"","sources":["../../../src/getStateFromPath.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAEf,YAAY,EACb,MAAM,2BAA2B,CAAC;AAQnC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAqBF,KAAK,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG;IACjD,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AA6BF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,WAAW,GAAG,SAAS,CA+FzB"}
|
|
@@ -769,7 +769,7 @@ export type NavigatorTypeBag<ParamList extends ParamListBase, NavigatorID extend
|
|
|
769
769
|
NavigationList: NavigationList;
|
|
770
770
|
Navigator: Navigator;
|
|
771
771
|
};
|
|
772
|
-
type
|
|
772
|
+
type TypedNavigatorStaticComponent<Bag extends NavigatorTypeBagBase> = React.ComponentType<Partial<Omit<React.ComponentProps<TypedNavigatorInternal<Bag['ParamList'], Bag['NavigatorID'], Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'], Bag['Navigator']>['Navigator']>, 'children'>>>;
|
|
773
773
|
type TypedNavigatorStaticDecorated<Bag extends NavigatorTypeBagBase, Config> = TypedNavigatorInternal<Bag['ParamList'], Bag['NavigatorID'], Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'], Bag['Navigator']> & {
|
|
774
774
|
getComponent: () => React.ComponentType<{}>;
|
|
775
775
|
config: Config;
|
|
@@ -777,9 +777,9 @@ type TypedNavigatorStaticDecorated<Bag extends NavigatorTypeBagBase, Config> = T
|
|
|
777
777
|
type TypedNavigatorStatic<Bag extends NavigatorTypeBagBase, Config> = TypedNavigatorInternal<Bag['ParamList'], Bag['NavigatorID'], Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'], Bag['Navigator']> & {
|
|
778
778
|
config: Config;
|
|
779
779
|
with: (Component: React.ComponentType<{
|
|
780
|
-
Navigator:
|
|
780
|
+
Navigator: TypedNavigatorStaticComponent<Bag>;
|
|
781
781
|
}>) => TypedNavigatorStaticDecorated<Bag, Config>;
|
|
782
|
-
getComponent: () =>
|
|
782
|
+
getComponent: () => TypedNavigatorStaticComponent<Bag>;
|
|
783
783
|
} & PrivateValueStore<[Bag['ParamList'], Bag['NavigationList'], unknown]>;
|
|
784
784
|
export type TypedNavigator<Bag extends NavigatorTypeBagBase, Config = unknown> = (undefined extends Config ? TypedNavigatorInternal<Bag['ParamList'], Bag['NavigatorID'], Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'], Bag['Navigator']> : TypedNavigatorStatic<Bag, Config>) & PrivateValueStore<[Bag['ParamList'], Bag['NavigationList'], unknown]>;
|
|
785
785
|
type TypedNavigatorInternal<ParamList extends ParamListBase, NavigatorID extends string | undefined, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, NavigationList extends NavigationListBase<ParamList>, Navigator extends React.ComponentType<any>> = {
|