@react-navigation/core 7.21.0 → 7.21.2
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 +20 -3
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/useOnAction.js +4 -1
- package/lib/module/useOnAction.js.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/useOnAction.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/checkSerializable.tsx +20 -14
- package/src/getPathFromState.tsx +1 -1
- package/src/getPatternParts.tsx +2 -2
- package/src/getStateFromPath.tsx +35 -1
- package/src/useOnAction.tsx +6 -2
|
@@ -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":[]}
|
|
@@ -99,7 +99,7 @@ export function getStateFromPath(path, options) {
|
|
|
99
99
|
const {
|
|
100
100
|
routes,
|
|
101
101
|
config
|
|
102
|
-
} = matchAgainstConfigs(remaining, configs, configsByScreen);
|
|
102
|
+
} = matchAgainstConfigs(remaining, decodedSegments, configs, configsByScreen);
|
|
103
103
|
if (routes === undefined || config === undefined) {
|
|
104
104
|
return undefined;
|
|
105
105
|
}
|
|
@@ -119,7 +119,7 @@ function getConfigResources(options) {
|
|
|
119
119
|
return resources;
|
|
120
120
|
}
|
|
121
121
|
function prepareConfigResources(options) {
|
|
122
|
-
if (options) {
|
|
122
|
+
if (process.env.NODE_ENV !== 'production' && options) {
|
|
123
123
|
validatePathConfig(options);
|
|
124
124
|
}
|
|
125
125
|
const initialRoutes = getInitialRoutes(options);
|
|
@@ -244,16 +244,21 @@ function checkForDuplicatedConfigs(configs) {
|
|
|
244
244
|
});
|
|
245
245
|
}, {});
|
|
246
246
|
}
|
|
247
|
-
const matchAgainstConfigs = (remaining, configs, configsByScreen) => {
|
|
247
|
+
const matchAgainstConfigs = (remaining, decodedSegments, configs, configsByScreen) => {
|
|
248
248
|
let routes;
|
|
249
249
|
let remainingPath = remaining;
|
|
250
250
|
let matchingConfig;
|
|
251
|
+
const firstDecodedSegment = decodedSegments[0];
|
|
252
|
+
const firstRawSegment = remainingPath.split('/')[0];
|
|
251
253
|
|
|
252
254
|
// Go through all configs, and see if the next path segment matches our regex
|
|
253
255
|
for (const config of configs) {
|
|
254
256
|
if (!config.regex) {
|
|
255
257
|
continue;
|
|
256
258
|
}
|
|
259
|
+
if (!canMatchFirstSegment(config.segments[0], firstDecodedSegment, firstRawSegment)) {
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
257
262
|
const match = remainingPath.match(config.regex);
|
|
258
263
|
|
|
259
264
|
// If our regex matches, we need to extract params from the path
|
|
@@ -313,6 +318,18 @@ const matchAgainstConfigs = (remaining, configs, configsByScreen) => {
|
|
|
313
318
|
config: matchingConfig
|
|
314
319
|
};
|
|
315
320
|
};
|
|
321
|
+
const canMatchFirstSegment = (configSegment, decodedSegment, rawSegment) => {
|
|
322
|
+
if (decodedSegment === undefined) {
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
325
|
+
if (configSegment === undefined) {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
if (configSegment === '*' || configSegment.startsWith(':')) {
|
|
329
|
+
return true;
|
|
330
|
+
}
|
|
331
|
+
return configSegment === decodedSegment || configSegment === rawSegment;
|
|
332
|
+
};
|
|
316
333
|
const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScreens, routeNames) => {
|
|
317
334
|
const configs = [];
|
|
318
335
|
routeNames.push(screen);
|
|
@@ -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":";;AAMA,OAAOA,MAAM,MAAM,sBAAsB;AACzC,OAAO,KAAKC,WAAW,MAAM,cAAc;AAE3C,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,eAAe,QAA0B,sBAAmB;AACrE,SAASC,YAAY,QAAQ,mBAAgB;AAE7C,SAASC,kBAAkB,QAAQ,yBAAsB;AA0CzD,MAAMC,yBAAyB,GAAG,CAChC,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,KAAK,CACN;AAED,MAAMC,qBAAqB,GAAIC,KAAmB,IAAK;EACrD,MAAMC,KAAK,GAAGC,MAAM,CAACC,OAAO,CAACH,KAAK,IAAI,CAAC,CAAC,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAI,CAAC;EAE/D,OAAOJ,KAAK,CAACK,MAAM,GAAG,IAAIC,GAAG,CAACN,KAAK,CAAC,GAAGO,SAAS;AAClD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,IAAY,EACZC,OAA4B,EACH;EACzB,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC;EAAgB,CAAC,GAC/CC,kBAAkB,CAACJ,OAAO,CAAC;EAE7B,MAAMK,OAAO,GAAGL,OAAO,EAAEK,OAAO;EAEhC,IAAIC,SAAS,GAAGP,IAAI,CACjBQ,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAAA,CACrBA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;EAAA,CACnBA,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;;EAEzB;EACAD,SAAS,GAAGA,SAAS,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAGF,SAAS,GAAG,GAAGA,SAAS,GAAG;EAEjE,MAAMG,MAAM,GAAGT,OAAO,EAAED,IAAI,EAAEQ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;;EAElD,IAAIE,MAAM,EAAE;IACV;IACA,MAAMC,gBAAgB,GAAGD,MAAM,CAACD,QAAQ,CAAC,GAAG,CAAC,GAAGC,MAAM,GAAG,GAAGA,MAAM,GAAG;;IAErE;IACA,IAAI,CAACH,SAAS,CAACK,UAAU,CAACD,gBAAgB,CAAC,EAAE;MAC3C,OAAOb,SAAS;IAClB;;IAEA;IACAS,SAAS,GAAGA,SAAS,CAACC,OAAO,CAACG,gBAAgB,EAAE,EAAE,CAAC;EACrD;EAEA,MAAME,eAAyB,GAAG,EAAE;EAEpC,KAAK,MAAMC,OAAO,IAAIP,SAAS,CAACQ,KAAK,CAAC,GAAG,CAAC,EAAE;IAC1C,IAAI,CAACD,OAAO,EAAE;MACZ;IACF;IAEA,IAAI;MACFD,eAAe,CAACG,IAAI,CAACC,kBAAkB,CAACH,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,MAAM;MACN,OAAOhB,SAAS;IAClB;EACF;EAEA,IAAIQ,OAAO,KAAKR,SAAS,EAAE;IACzB;IACA,MAAMoB,MAAM,GAAGL,eAAe,CAACnB,GAAG,CAAEC,IAAI,KAAM;MAAEA;IAAK,CAAC,CAAC,CAAC;IAExD,IAAIuB,MAAM,CAACtB,MAAM,EAAE;MACjB,OAAOuB,uBAAuB,CAACnB,IAAI,EAAEkB,MAAM,EAAEhB,aAAa,CAAC;IAC7D;IAEA,OAAOJ,SAAS;EAClB;EAEA,IAAIS,SAAS,KAAK,GAAG,EAAE;IACrB;IACA;IACA,MAAMa,KAAK,GAAGjB,OAAO,CAACkB,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IAExE,IAAIJ,KAAK,EAAE;MACT,OAAOD,uBAAuB,CAC5BnB,IAAI,EACJoB,KAAK,CAACK,UAAU,CAAC/B,GAAG,CAAEC,IAAI,KAAM;QAAEA;MAAK,CAAC,CAAC,CAAC,EAC1CO,aAAa,EACbkB,KACF,CAAC;IACH;IAEA,OAAOtB,SAAS;EAClB;;EAEA;EACA;EACA,MAAM;IAAEoB,MAAM;IAAEI;EAAO,CAAC,GAAGI,mBAAmB,CAC5CnB,SAAS,EACTJ,OAAO,EACPC,eACF,CAAC;EAED,IAAIc,MAAM,KAAKpB,SAAS,IAAIwB,MAAM,KAAKxB,SAAS,EAAE;IAChD,OAAOA,SAAS;EAClB;EAEA,OAAOqB,uBAAuB,CAACnB,IAAI,EAAEkB,MAAM,EAAEhB,aAAa,EAAEoB,MAAM,CAAC;AACrE;;AAEA;AACA;AACA;AACA,MAAMK,qBAAqB,GAAG,IAAIC,OAAO,CAA+B,CAAC;AAEzE,SAASvB,kBAAkBA,CACzBJ,OAAuC,EACvC;EACA,IAAI,CAACA,OAAO,EAAE,OAAO4B,sBAAsB,CAAC,CAAC;EAE7C,MAAMC,MAAM,GAAGH,qBAAqB,CAACI,GAAG,CAAC9B,OAAO,CAAC;EAEjD,IAAI6B,MAAM,EAAE,OAAOA,MAAM;EAEzB,MAAME,SAAS,GAAGH,sBAAsB,CAAC5B,OAAO,CAAC;EAEjD0B,qBAAqB,CAACM,GAAG,CAAChC,OAAO,EAAE+B,SAAS,CAAC;EAE7C,OAAOA,SAAS;AAClB;AAEA,SAASH,sBAAsBA,CAAC5B,OAAqB,EAAE;EACrD,IAAIA,OAAO,EAAE;IACXd,kBAAkB,CAACc,OAAO,CAAC;EAC7B;EAEA,MAAMC,aAAa,GAAGgC,gBAAgB,CAACjC,OAAO,CAAC;EAC/C,MAAME,OAAO,GAAGgC,0BAA0B,CAACjC,aAAa,EAAED,OAAO,EAAEK,OAAO,CAAC;EAE3E8B,yBAAyB,CAACjC,OAAO,CAAC;EAElC,MAAMC,eAA8C,GAAG,CAAC,CAAC;EAEzD,KAAK,MAAMiC,CAAC,IAAIlC,OAAO,EAAE;IACvB,CAACC,eAAe,CAACiC,CAAC,CAACC,MAAM,CAAC,KAAK,EAAE,EAAEtB,IAAI,CAACqB,CAAC,CAAC;EAC5C;EAEA,OAAO;IACLnC,aAAa;IACbC,OAAO;IACPC;EACF,CAAC;AACH;AAEA,SAAS8B,gBAAgBA,CAACjC,OAAqB,EAAE;EAC/C,MAAMC,aAAmC,GAAG,EAAE;EAE9C,IAAID,OAAO,EAAEsC,gBAAgB,EAAE;IAC7BrC,aAAa,CAACc,IAAI,CAAC;MACjBuB,gBAAgB,EAAEtC,OAAO,CAACsC,gBAAgB;MAC1CC,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ;EAEA,OAAOtC,aAAa;AACtB;AAEA,SAASiC,0BAA0BA,CACjCjC,aAAmC,EACnCI,OAA2D,GAAG,CAAC,CAAC,EAChE;EACA;EACA,OAAQ,EAAE,CACPmC,MAAM,CACL,GAAGjD,MAAM,CAACkD,IAAI,CAACpC,OAAO,CAAC,CAACZ,GAAG,CAAEiD,GAAG,IAC9BC,uBAAuB,CAACD,GAAG,EAAErC,OAAO,EAAEJ,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACjE,CACF,CAAC,CACA2C,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;IACd;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA,IAAI7D,YAAY,CAAC4D,CAAC,CAACvB,QAAQ,EAAEwB,CAAC,CAACxB,QAAQ,CAAC,EAAE;MACxC,OAAOwB,CAAC,CAACtB,UAAU,CAACD,IAAI,CAAC,GAAG,CAAC,CAACwB,aAAa,CAACF,CAAC,CAACrB,UAAU,CAACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE;;IAEA;IACA;IACA,IAAIzC,eAAe,CAAC+D,CAAC,CAACvB,QAAQ,EAAEwB,CAAC,CAACxB,QAAQ,CAAC,EAAE;MAC3C,OAAO,CAAC,CAAC;IACX;IAEA,IAAIxC,eAAe,CAACgE,CAAC,CAACxB,QAAQ,EAAEuB,CAAC,CAACvB,QAAQ,CAAC,EAAE;MAC3C,OAAO,CAAC;IACV;IAEA,KAAK,IAAI0B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACL,CAAC,CAACvB,QAAQ,CAAC3B,MAAM,EAAEmD,CAAC,CAACxB,QAAQ,CAAC3B,MAAM,CAAC,EAAEqD,CAAC,EAAE,EAAE;MACvE;MACA,IAAIH,CAAC,CAACvB,QAAQ,CAAC0B,CAAC,CAAC,IAAI,IAAI,EAAE;QACzB,OAAO,CAAC;MACV;;MAEA;MACA,IAAIF,CAAC,CAACxB,QAAQ,CAAC0B,CAAC,CAAC,IAAI,IAAI,EAAE;QACzB,OAAO,CAAC,CAAC;MACX;MAEA,MAAMG,SAAS,GAAGN,CAAC,CAACvB,QAAQ,CAAC0B,CAAC,CAAC,KAAK,GAAG;MACvC,MAAMI,SAAS,GAAGN,CAAC,CAACxB,QAAQ,CAAC0B,CAAC,CAAC,KAAK,GAAG;MACvC,MAAMK,MAAM,GAAGR,CAAC,CAACvB,QAAQ,CAAC0B,CAAC,CAAC,CAACrC,UAAU,CAAC,GAAG,CAAC;MAC5C,MAAM2C,MAAM,GAAGR,CAAC,CAACxB,QAAQ,CAAC0B,CAAC,CAAC,CAACrC,UAAU,CAAC,GAAG,CAAC;MAC5C,MAAM4C,MAAM,GAAGF,MAAM,IAAIR,CAAC,CAACvB,QAAQ,CAAC0B,CAAC,CAAC,CAACQ,QAAQ,CAAC,GAAG,CAAC;MACpD,MAAMC,MAAM,GAAGH,MAAM,IAAIR,CAAC,CAACxB,QAAQ,CAAC0B,CAAC,CAAC,CAACQ,QAAQ,CAAC,GAAG,CAAC;;MAEpD;MACA,IAAKL,SAAS,IAAIC,SAAS,IAAMG,MAAM,IAAIE,MAAO,EAAE;QAClD;MACF;;MAEA;MACA,IAAIN,SAAS,IAAI,CAACC,SAAS,EAAE;QAC3B,OAAO,CAAC;MACV;;MAEA;MACA,IAAIA,SAAS,IAAI,CAACD,SAAS,EAAE;QAC3B,OAAO,CAAC,CAAC;MACX;;MAEA;MACA,IAAIE,MAAM,IAAI,CAACC,MAAM,EAAE;QACrB,OAAO,CAAC;MACV;;MAEA;MACA,IAAIA,MAAM,IAAI,CAACD,MAAM,EAAE;QACrB,OAAO,CAAC,CAAC;MACX;;MAEA;MACA,IAAIE,MAAM,IAAI,CAACE,MAAM,EAAE;QACrB,OAAO,CAAC,CAAC;MACX;;MAEA;MACA,IAAIA,MAAM,IAAI,CAACF,MAAM,EAAE;QACrB,OAAO,CAAC;MACV;IACF;IAEA,OAAOV,CAAC,CAACvB,QAAQ,CAAC3B,MAAM,GAAGmD,CAAC,CAACxB,QAAQ,CAAC3B,MAAM;EAC9C,CAAC,CAAC;AACN;AAEA,SAASwC,yBAAyBA,CAACjC,OAAsB,EAAE;EACzD;EACAA,OAAO,CAACwD,MAAM,CAA8B,CAACC,GAAG,EAAEtC,MAAM,KAAK;IAC3D,MAAMuC,OAAO,GAAGvC,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC,GAAG,CAAC;IAEzC,IAAIoC,GAAG,CAACC,OAAO,CAAC,EAAE;MAChB,MAAMf,CAAC,GAAGc,GAAG,CAACC,OAAO,CAAC,CAACpC,UAAU;MACjC,MAAMsB,CAAC,GAAGzB,MAAM,CAACG,UAAU;;MAE3B;MACA;MACA,MAAMqC,UAAU,GACdhB,CAAC,CAAClD,MAAM,GAAGmD,CAAC,CAACnD,MAAM,GACfmD,CAAC,CAACgB,KAAK,CAAC,CAACC,EAAE,EAAEf,CAAC,KAAKH,CAAC,CAACG,CAAC,CAAC,KAAKe,EAAE,CAAC,GAC/BlB,CAAC,CAACiB,KAAK,CAAC,CAACC,EAAE,EAAEf,CAAC,KAAKF,CAAC,CAACE,CAAC,CAAC,KAAKe,EAAE,CAAC;MAErC,IAAI,CAACF,UAAU,EAAE;QACf,MAAM,IAAIG,KAAK,CACb,iEACEJ,OAAO,uBACcf,CAAC,CAACtB,IAAI,CAAC,KAAK,CAAC,UAAUuB,CAAC,CAACvB,IAAI,CAClD,KACF,CAAC,wEACH,CAAC;MACH;IACF;IAEA,OAAOhC,MAAM,CAAC0E,MAAM,CAACN,GAAG,EAAE;MACxB,CAACC,OAAO,GAAGvC;IACb,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;AAEA,MAAMI,mBAAmB,GAAGA,CAC1BnB,SAAiB,EACjBJ,OAAsB,EACtBC,eAA8C,KAC3C;EACH,IAAIc,MAAiC;EACrC,IAAIiD,aAAa,GAAG5D,SAAS;EAC7B,IAAI6D,cAAuC;;EAE3C;EACA,KAAK,MAAM9C,MAAM,IAAInB,OAAO,EAAE;IAC5B,IAAI,CAACmB,MAAM,CAAC+C,KAAK,EAAE;MACjB;IACF;IAEA,MAAMjD,KAAK,GAAG+C,aAAa,CAAC/C,KAAK,CAACE,MAAM,CAAC+C,KAAK,CAAC;;IAE/C;IACA,IAAIjD,KAAK,EAAE;MACTF,MAAM,GAAG,EAAE;MACXkD,cAAc,GAAG9C,MAAM;MAEvB,KAAK,MAAMgD,SAAS,IAAIhD,MAAM,CAACG,UAAU,EAAE;QACzC;QACA,MAAM8C,WAAW,GAAGnE,eAAe,CAACkE,SAAS,CAAC,EAAEjD,IAAI,CAAEgB,CAAC,IACrDtD,eAAe,CAACuC,MAAM,CAACC,QAAQ,EAAEc,CAAC,CAACd,QAAQ,CAC7C,CAAC;QAED,IAAIiD,MAA2C;QAE/C,IAAID,WAAW,IAAInD,KAAK,CAACqD,MAAM,EAAE;UAC/B,MAAMC,YAAiC,GAAG,EAAE;UAE5C,KAAK,MAAM,CAAC/B,GAAG,EAAEgC,KAAK,CAAC,IAAInF,MAAM,CAACC,OAAO,CAAC2B,KAAK,CAACqD,MAAM,CAAC,EAAE;YACvD,MAAMG,KAAK,GAAGC,MAAM,CAAClC,GAAG,CAACnC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAMsE,KAAK,GAAGP,WAAW,CAACC,MAAM,CAACnD,IAAI,CAAE2C,EAAE,IAAKA,EAAE,CAACY,KAAK,KAAKA,KAAK,CAAC;YAEjE,IAAIE,KAAK,EAAExC,MAAM,KAAKgC,SAAS,IAAI,CAACQ,KAAK,CAACnF,IAAI,EAAE;cAC9C;YACF;YAEA,IAAIgF,KAAK,IAAI,IAAI,EAAE;cACjBD,YAAY,CAAC1D,IAAI,CAAC,CAAC8D,KAAK,CAACnF,IAAI,EAAEG,SAAS,CAAC,CAAC;cAC1C;YACF;YAEA,IAAIiF,OAAe;YAEnB,IAAI;cACFA,OAAO,GAAG9D,kBAAkB,CAAC0D,KAAK,CAAC;YACrC,CAAC,CAAC,MAAM;cACN,OAAO;gBAAEzD,MAAM,EAAEpB,SAAS;gBAAEqE;cAAc,CAAC;YAC7C;YAEA,MAAMa,MAAM,GAAGT,WAAW,CAACjF,KAAK,GAAGwF,KAAK,CAACnF,IAAI,CAAC;YAE9C+E,YAAY,CAAC1D,IAAI,CAAC,CAAC8D,KAAK,CAACnF,IAAI,EAAEqF,MAAM,GAAGA,MAAM,CAACD,OAAO,CAAC,GAAGA,OAAO,CAAC,CAAC;UACrE;UAEA,IAAIL,YAAY,CAAC9E,MAAM,EAAE;YACvB4E,MAAM,GAAGhF,MAAM,CAACyF,WAAW,CAACP,YAAY,CAAC;UAC3C;QACF;QAEA,IAAIF,MAAM,IAAIhF,MAAM,CAACkD,IAAI,CAAC8B,MAAM,CAAC,CAAC5E,MAAM,EAAE;UACxCsB,MAAM,CAACF,IAAI,CAAC;YAAErB,IAAI,EAAE2E,SAAS;YAAEE;UAAO,CAAC,CAAC;QAC1C,CAAC,MAAM;UACLtD,MAAM,CAACF,IAAI,CAAC;YAAErB,IAAI,EAAE2E;UAAU,CAAC,CAAC;QAClC;MACF;MAEAH,aAAa,GAAGA,aAAa,CAAC3D,OAAO,CAACY,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MAEnD;IACF;EACF;EAEA,OAAO;IAAEF,MAAM;IAAEiD,aAAa;IAAE7C,MAAM,EAAE8C;EAAe,CAAC;AAC1D,CAAC;AAED,MAAMxB,uBAAuB,GAAGA,CAC9BN,MAAc,EACdiC,WAA+D,EAC/DW,QAA8B,EAC9BC,KAAyC,EACzC3C,aAAuB,EACvBf,UAAoB,KACF;EAClB,MAAMtB,OAAsB,GAAG,EAAE;EAEjCsB,UAAU,CAACT,IAAI,CAACsB,MAAM,CAAC;EAEvBE,aAAa,CAACxB,IAAI,CAACsB,MAAM,CAAC;EAE1B,MAAMhB,MAAM,GAAGiD,WAAW,CAACjC,MAAM,CAAC;EAElC,IAAI,OAAOhB,MAAM,KAAK,QAAQ,EAAE;IAC9B6D,KAAK,CAACnE,IAAI,CAAC;MAAEsB,MAAM;MAAEtC,IAAI,EAAEsB;IAAO,CAAC,CAAC;IACpCnB,OAAO,CAACa,IAAI,CAACoE,gBAAgB,CAAC9C,MAAM,EAAE,CAAC,GAAGb,UAAU,CAAC,EAAE,CAAC,GAAG0D,KAAK,CAAC,CAAC,CAAC;EACrE,CAAC,MAAM,IAAI,OAAO7D,MAAM,KAAK,QAAQ,EAAE;IACrC;IACA;IACA;IACA,MAAM+D,aAAa,GAAG/D,MAAM,CAAChB,OAAO;IACpC,MAAMgF,gBAAgB,GAAG,CAAC,CAACD,aAAa;IAExC,IAAI,OAAO/D,MAAM,CAACtB,IAAI,KAAK,QAAQ,EAAE;MACnC,IAAIsB,MAAM,CAACiE,KAAK,IAAIjE,MAAM,CAACtB,IAAI,IAAI,IAAI,EAAE;QACvC,MAAM,IAAIiE,KAAK,CACb,WAAW3B,MAAM,oLACnB,CAAC;MACH;;MAEA;MACA;MACA,MAAMkD,YAAY,GAAG,EAAE;MAEvB,IAAIlE,MAAM,CAACmE,KAAK,EAAE;QAChB,KAAK,MAAMA,KAAK,IAAInE,MAAM,CAACmE,KAAK,EAAE;UAChC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;YAC7BD,YAAY,CAACxE,IAAI,CACfoE,gBAAgB,CACd9C,MAAM,EACN,CAAC,GAAGb,UAAU,CAAC,EACf,CAAC,GAAG0D,KAAK,EAAE;cAAE7C,MAAM;cAAEtC,IAAI,EAAEyF;YAAM,CAAC,CAAC,EACnCnE,MAAM,CAAChC,KAAK,EACZgG,gBACF,CACF,CAAC;UACH,CAAC,MAAM,IAAI,OAAOG,KAAK,KAAK,QAAQ,EAAE;YACpCD,YAAY,CAACxE,IAAI,CACfoE,gBAAgB,CACd9C,MAAM,EACN,CAAC,GAAGb,UAAU,CAAC,EACfgE,KAAK,CAACF,KAAK,GACP,CAAC;cAAEjD,MAAM;cAAEtC,IAAI,EAAEyF,KAAK,CAACzF;YAAK,CAAC,CAAC,GAC9B,CAAC,GAAGmF,KAAK,EAAE;cAAE7C,MAAM;cAAEtC,IAAI,EAAEyF,KAAK,CAACzF;YAAK,CAAC,CAAC,EAC5CyF,KAAK,CAACnG,KAAK,EACXgG,gBACF,CACF,CAAC;UACH;QACF;MACF;MAEA,IAAIhE,MAAM,CAACiE,KAAK,EAAE;QAChB;QACA;QACAJ,KAAK,CAACvF,MAAM,GAAG,CAAC;MAClB;MAEAuF,KAAK,CAACnE,IAAI,CAAC;QAAEsB,MAAM;QAAEtC,IAAI,EAAEsB,MAAM,CAACtB;MAAK,CAAC,CAAC;MACzCG,OAAO,CAACa,IAAI,CACVoE,gBAAgB,CACd9C,MAAM,EACN,CAAC,GAAGb,UAAU,CAAC,EACf,CAAC,GAAG0D,KAAK,CAAC,EACV7D,MAAM,CAAChC,KAAK,EACZgG,gBACF,CACF,CAAC;MAEDnF,OAAO,CAACa,IAAI,CAAC,GAAGwE,YAAY,CAAC;IAC/B;IAEA,IACE,OAAOlE,MAAM,KAAK,QAAQ,IAC1B,OAAOA,MAAM,CAACtB,IAAI,KAAK,QAAQ,IAC/BsB,MAAM,CAACmE,KAAK,EAAE7F,MAAM,EACpB;MACA,MAAM,IAAIqE,KAAK,CACb,WAAW3B,MAAM,qFACnB,CAAC;IACH;IAEA,IAAI+C,aAAa,EAAE;MACjB;MACA,IAAI/D,MAAM,CAACiB,gBAAgB,EAAE;QAC3B2C,QAAQ,CAAClE,IAAI,CAAC;UACZuB,gBAAgB,EAAEjB,MAAM,CAACiB,gBAAgB;UACzCC;QACF,CAAC,CAAC;MACJ;MAEAhD,MAAM,CAACkD,IAAI,CAAC2C,aAAa,CAAC,CAACK,OAAO,CAAEC,YAAY,IAAK;QACnD,MAAMC,MAAM,GAAGhD,uBAAuB,CACpC+C,YAAY,EACZN,aAAa,EACbH,QAAQ,EACR,CAAC,GAAGC,KAAK,CAAC,EACV,CAAC,GAAG3C,aAAa,CAAC,EAClBf,UACF,CAAC;QAEDtB,OAAO,CAACa,IAAI,CAAC,GAAG4E,MAAM,CAAC;MACzB,CAAC,CAAC;IACJ;EACF;EAEAnE,UAAU,CAACoE,GAAG,CAAC,CAAC;EAEhB,OAAO1F,OAAO;AAChB,CAAC;AAED,MAAMiF,gBAAgB,GAAGA,CACvB9C,MAAc,EACdb,UAAoB,EACpB0D,KAAyC,EACzC7F,KAAmB,EACnBgG,gBAAgB,GAAG,KAAK,KACR;EAChB,MAAMQ,KAA2C,GAAG,EAAE;;EAEtD;EACA,KAAK,MAAM;IAAExD,MAAM;IAAEtC;EAAK,CAAC,IAAImF,KAAK,EAAE;IACpCW,KAAK,CAAC9E,IAAI,CAAC,GAAG/B,eAAe,CAACe,IAAI,CAAC,CAACN,GAAG,CAAEqG,IAAI,KAAM;MAAE,GAAGA,IAAI;MAAEzD;IAAO,CAAC,CAAC,CAAC,CAAC;EAC3E;EAEA,MAAM+B,KAAK,GAAGyB,KAAK,CAAClG,MAAM,GACtB,IAAIoG,MAAM,CACR,KAAKF,KAAK,CACPpG,GAAG,CAAC,CAACsE,EAAE,EAAEf,CAAC,KAAK;IACd,IAAIe,EAAE,CAACc,KAAK,EAAE;MACZ,MAAMmB,GAAG,GAAGjC,EAAE,CAACK,KAAK,IAAI,OAAO;MAE/B,OAAO,cAAcpB,CAAC,IAAIgD,GAAG,QAAQjC,EAAE,CAACkC,QAAQ,GAAG,GAAG,GAAG,EAAE,GAAG;IAChE;IAEA,OAAO,GAAGlC,EAAE,CAAClD,OAAO,KAAK,GAAG,GAAG,IAAI,GAAGjC,MAAM,CAACmF,EAAE,CAAClD,OAAO,CAAC,KAAK;EAC/D,CAAC,CAAC,CACDU,IAAI,CAAC,EAAE,CAAC,IACb,CAAC,GACD1B,SAAS;EAEb,MAAMyB,QAAQ,GAAGuE,KAAK,CAACpG,GAAG,CAAEsE,EAAE,IAAKA,EAAE,CAAClD,OAAO,CAAC;EAC9C,MAAM0D,MAAM,GAAGsB,KAAK,CACjBpG,GAAG,CAAC,CAACsE,EAAE,EAAEf,CAAC,KACTe,EAAE,CAACc,KAAK,GACJ;IACEF,KAAK,EAAE3B,CAAC;IACRX,MAAM,EAAE0B,EAAE,CAAC1B,MAAM;IACjB3C,IAAI,EAAEqE,EAAE,CAACc;EACX,CAAC,GACD,IACN,CAAC,CACAqB,MAAM,CAAEnC,EAAE,IAAKA,EAAE,IAAI,IAAI,CAAC;EAE7B,OAAO;IACL1B,MAAM;IACN+B,KAAK;IACL9C,QAAQ;IACRiD,MAAM;IACN/C,UAAU;IACVnC,KAAK;IACL8G,kBAAkB,EAAE/G,qBAAqB,CAACC,KAAK,CAAC;IAChDgG;EACF,CAAC;AACH,CAAC;;AAED;AACA,MAAMe,gBAAgB,GAAGA,CACvB/B,SAAiB,EACjB9B,aAAuB,EACvBtC,aAAmC,KACZ;EACvB,KAAK,MAAMoB,MAAM,IAAIpB,aAAa,EAAE;IAClC,IAAIsC,aAAa,CAAC5C,MAAM,KAAK0B,MAAM,CAACkB,aAAa,CAAC5C,MAAM,EAAE;MACxD,IAAI0G,WAAW,GAAG,IAAI;MACtB,KAAK,IAAIrD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,aAAa,CAAC5C,MAAM,EAAEqD,CAAC,EAAE,EAAE;QAC7C,IAAIT,aAAa,CAACS,CAAC,CAAC,CAACD,aAAa,CAAC1B,MAAM,CAACkB,aAAa,CAACS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;UACjEqD,WAAW,GAAG,KAAK;UACnB;QACF;MACF;MACA,IAAIA,WAAW,EAAE;QACf,OAAOhC,SAAS,KAAKhD,MAAM,CAACiB,gBAAgB,GACxCjB,MAAM,CAACiB,gBAAgB,GACvBzC,SAAS;MACf;IACF;EACF;EACA,OAAOA,SAAS;AAClB,CAAC;;AAED;AACA;AACA,MAAMyG,iBAAiB,GAAGA,CACxBC,YAAgC,EAChCC,KAAkB,EAClBC,OAAgB,KACC;EACjB,IAAIA,OAAO,EAAE;IACX,IAAIF,YAAY,EAAE;MAChB,OAAO;QACL5B,KAAK,EAAE,CAAC;QACR1D,MAAM,EAAE,CAAC;UAAEvB,IAAI,EAAE6G;QAAa,CAAC,EAAEC,KAAK;MACxC,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACLvF,MAAM,EAAE,CAACuF,KAAK;MAChB,CAAC;IACH;EACF,CAAC,MAAM;IACL,IAAID,YAAY,EAAE;MAChB,OAAO;QACL5B,KAAK,EAAE,CAAC;QACR1D,MAAM,EAAE,CAAC;UAAEvB,IAAI,EAAE6G;QAAa,CAAC,EAAE;UAAE,GAAGC,KAAK;UAAEE,KAAK,EAAE;YAAEzF,MAAM,EAAE;UAAG;QAAE,CAAC;MACtE,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACLA,MAAM,EAAE,CAAC;UAAE,GAAGuF,KAAK;UAAEE,KAAK,EAAE;YAAEzF,MAAM,EAAE;UAAG;QAAE,CAAC;MAC9C,CAAC;IACH;EACF;AACF,CAAC;AAED,MAAMC,uBAAuB,GAAGA,CAC9BnB,IAAY,EACZkB,MAAqB,EACrBhB,aAAmC,EACnCqE,WAAyB,KACtB;EACH,IAAIkC,KAAK,GAAGvF,MAAM,CAAC0F,KAAK,CAAC,CAAgB;EACzC,MAAMpE,aAAuB,GAAG,EAAE;EAElC,IAAIgE,YAAY,GAAGH,gBAAgB,CAACI,KAAK,CAAC9G,IAAI,EAAE6C,aAAa,EAAEtC,aAAa,CAAC;EAE7EsC,aAAa,CAACxB,IAAI,CAACyF,KAAK,CAAC9G,IAAI,CAAC;EAE9B,MAAMgH,KAAmB,GAAGJ,iBAAiB,CAC3CC,YAAY,EACZC,KAAK,EACLvF,MAAM,CAACtB,MAAM,KAAK,CACpB,CAAC;EAED,IAAIsB,MAAM,CAACtB,MAAM,GAAG,CAAC,EAAE;IACrB,IAAIiH,WAAW,GAAGF,KAAK;IAEvB,OAAQF,KAAK,GAAGvF,MAAM,CAAC0F,KAAK,CAAC,CAAgB,EAAG;MAC9CJ,YAAY,GAAGH,gBAAgB,CAACI,KAAK,CAAC9G,IAAI,EAAE6C,aAAa,EAAEtC,aAAa,CAAC;MAEzE,MAAM4G,gBAAgB,GACpBD,WAAW,CAACjC,KAAK,IAAIiC,WAAW,CAAC3F,MAAM,CAACtB,MAAM,GAAG,CAAC;MAEpDiH,WAAW,CAAC3F,MAAM,CAAC4F,gBAAgB,CAAC,CAACH,KAAK,GAAGJ,iBAAiB,CAC5DC,YAAY,EACZC,KAAK,EACLvF,MAAM,CAACtB,MAAM,KAAK,CACpB,CAAC;MAED,IAAIsB,MAAM,CAACtB,MAAM,GAAG,CAAC,EAAE;QACrBiH,WAAW,GAAGA,WAAW,CAAC3F,MAAM,CAAC4F,gBAAgB,CAAC,CAC/CH,KAAqB;MAC1B;MAEAnE,aAAa,CAACxB,IAAI,CAACyF,KAAK,CAAC9G,IAAI,CAAC;IAChC;EACF;EAEA8G,KAAK,GAAGzH,gBAAgB,CAAC2H,KAAK,CAAgB;EAC9CF,KAAK,CAACzG,IAAI,GAAGA,IAAI,CAACQ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAEpC,MAAMgE,MAAM,GAAGuC,gBAAgB,CAC7B/G,IAAI,EACJuE,WAAW,EAAEjF,KAAK,EAClBiF,WAAW,EAAE6B,kBAAkB,EAC/B7B,WAAW,EAAEe,gBAAgB,EAC7BmB,KAAK,CAACjC,MACR,CAAC;EAED,IAAIA,MAAM,EAAE;IACViC,KAAK,CAACjC,MAAM,GAAG;MAAE,GAAGiC,KAAK,CAACjC,MAAM;MAAE,GAAGA;IAAO,CAAC;EAC/C;EAEA,OAAOmC,KAAK;AACd,CAAC;AAED,MAAMI,gBAAgB,GAAGA,CACvB/G,IAAY,EACZgH,WAAyB,EACzBZ,kBAAgC,EAChCd,gBAAgB,GAAG,KAAK,EACxB2B,WAAqC,KAClC;EACH,MAAMC,KAAK,GAAGlH,IAAI,CAACe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAChC,MAAMyD,MAA+B,GAAG1F,WAAW,CAACQ,KAAK,CAAC4H,KAAK,CAAC;EAEhE,IAAIF,WAAW,EAAE;IACfxH,MAAM,CAACkD,IAAI,CAAC8B,MAAM,CAAC,CAACkB,OAAO,CAAE/F,IAAI,IAAK;MACpC,IACEH,MAAM,CAAC2H,cAAc,CAACC,IAAI,CAACJ,WAAW,EAAErH,IAAI,CAAC,IAC7C,OAAO6E,MAAM,CAAC7E,IAAI,CAAC,KAAK,QAAQ,EAChC;QACA6E,MAAM,CAAC7E,IAAI,CAAC,GAAGqH,WAAW,CAACrH,IAAI,CAAC,CAAC6E,MAAM,CAAC7E,IAAI,CAAC,CAAC;MAChD;IACF,CAAC,CAAC;EACJ;EAEA,IACE2F,gBAAgB,IAChB,CAACc,kBAAkB,EAAEiB,GAAG,CAAC,QAAQ,CAAC,KACjC,OAAO7C,MAAM,CAAClC,MAAM,KAAK,QAAQ,IAChC,OAAO2E,WAAW,EAAE3E,MAAM,KAAK,QAAQ,CAAC,EAC1C;IACA,KAAK,MAAM3C,IAAI,IAAIP,yBAAyB,EAAE;MAC5C,IAAI,CAACgH,kBAAkB,EAAEiB,GAAG,CAAC1H,IAAI,CAAC,EAAE;QAClC;QACA,OAAO6E,MAAM,CAAC7E,IAAI,CAAC;MACrB;IACF;EACF;EAEA,OAAOH,MAAM,CAACkD,IAAI,CAAC8B,MAAM,CAAC,CAAC5E,MAAM,GAAG4E,MAAM,GAAG1E,SAAS;AACxD,CAAC","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","process","env","NODE_ENV","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","firstDecodedSegment","firstRawSegment","regex","canMatchFirstSegment","routeName","routeConfig","params","groups","paramEntries","value","index","Number","param","decoded","parser","fromEntries","configSegment","decodedSegment","rawSegment","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":[]}
|
|
@@ -50,13 +50,16 @@ export function useOnAction({
|
|
|
50
50
|
// So instead of `null`, we use the state object for such cases to signal that action was handled
|
|
51
51
|
result = result === null && action.target === state.key ? state : result;
|
|
52
52
|
if (result !== null) {
|
|
53
|
-
onDispatchAction(action, state === result);
|
|
54
53
|
if (state !== result) {
|
|
55
54
|
const isPrevented = shouldPreventRemove(emitter, beforeRemoveListeners, state.routes, result.routes, action);
|
|
56
55
|
if (isPrevented) {
|
|
56
|
+
onDispatchAction(action, true);
|
|
57
57
|
return true;
|
|
58
58
|
}
|
|
59
|
+
onDispatchAction(action, false);
|
|
59
60
|
setState(result);
|
|
61
|
+
} else {
|
|
62
|
+
onDispatchAction(action, true);
|
|
60
63
|
}
|
|
61
64
|
if (onRouteFocusParent !== undefined) {
|
|
62
65
|
// Some actions such as `NAVIGATE` also want to bring the navigated route to focus in the whole tree
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DeprecatedNavigationInChildContext","NavigationBuilderContext","shouldPreventRemove","useOnPreventRemove","useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","useContext","navigationInChildEnabled","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","routes","undefined","shouldFocus","shouldActionChangeFocus","type","i","length","listener"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":";;AAOA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAGEC,wBAAwB,QACnB,+BAA4B;AAGnC,SAASC,mBAAmB,EAAEC,kBAAkB,QAAQ,yBAAsB;AAa9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAgC;EACzDC,MAAM;EACNC,QAAQ;EACRC,QAAQ;EACRC,GAAG;EACHC,eAAe;EACfC,qBAAqB;EACrBC,mBAAmB;EACnBC;AACc,CAAC,EAAE;EACjB,MAAM;IACJC,QAAQ,EAAEC,cAAc;IACxBC,YAAY,EAAEC,kBAAkB;IAChCC,WAAW,EAAEC,iBAAiB;IAC9BC;EACF,CAAC,GAAGpB,KAAK,CAACqB,UAAU,CAACnB,wBAAwB,CAAC;EAC9C,MAAMoB,wBAAwB,GAAGtB,KAAK,CAACqB,UAAU,CAC/CpB,kCACF,CAAC;EAED,MAAMsB,sBAAsB,GAC1BvB,KAAK,CAACwB,MAAM,CAAsBZ,mBAAmB,CAAC;EAExDZ,KAAK,CAACyB,SAAS,CAAC,MAAM;IACpBF,sBAAsB,CAACG,OAAO,GAAGd,mBAAmB;EACtD,CAAC,CAAC;EAEF,MAAME,QAAQ,GAAGd,KAAK,CAAC2B,WAAW,CAChC,CACEC,MAAwB,EACxBC,iBAA8B,GAAG,IAAIC,GAAG,CAAS,CAAC,KAC/C;IACH,MAAMC,KAAK,GAAGxB,QAAQ,CAAC,CAAC;;IAExB;IACA;IACA,IAAIsB,iBAAiB,CAACG,GAAG,CAACD,KAAK,CAACtB,GAAG,CAAC,EAAE;MACpC,OAAO,KAAK;IACd;IAEAoB,iBAAiB,CAACI,GAAG,CAACF,KAAK,CAACtB,GAAG,CAAC;IAEhC,IAAI,OAAOmB,MAAM,CAACM,MAAM,KAAK,QAAQ,IAAIN,MAAM,CAACM,MAAM,KAAKH,KAAK,CAACtB,GAAG,EAAE;MACpE,IAAI0B,MAAM,GAAG7B,MAAM,CAAC8B,iBAAiB,CACnCL,KAAK,EACLH,MAAM,EACNL,sBAAsB,CAACG,OACzB,CAAC;;MAED;MACA;MACAS,MAAM,GACJA,MAAM,KAAK,IAAI,IAAIP,MAAM,CAACM,MAAM,KAAKH,KAAK,CAACtB,GAAG,GAAGsB,KAAK,GAAGI,MAAM;MAEjE,IAAIA,MAAM,KAAK,IAAI,EAAE;
|
|
1
|
+
{"version":3,"names":["React","DeprecatedNavigationInChildContext","NavigationBuilderContext","shouldPreventRemove","useOnPreventRemove","useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","useContext","navigationInChildEnabled","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","routes","undefined","shouldFocus","shouldActionChangeFocus","type","i","length","listener"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":";;AAOA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAGEC,wBAAwB,QACnB,+BAA4B;AAGnC,SAASC,mBAAmB,EAAEC,kBAAkB,QAAQ,yBAAsB;AAa9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAgC;EACzDC,MAAM;EACNC,QAAQ;EACRC,QAAQ;EACRC,GAAG;EACHC,eAAe;EACfC,qBAAqB;EACrBC,mBAAmB;EACnBC;AACc,CAAC,EAAE;EACjB,MAAM;IACJC,QAAQ,EAAEC,cAAc;IACxBC,YAAY,EAAEC,kBAAkB;IAChCC,WAAW,EAAEC,iBAAiB;IAC9BC;EACF,CAAC,GAAGpB,KAAK,CAACqB,UAAU,CAACnB,wBAAwB,CAAC;EAC9C,MAAMoB,wBAAwB,GAAGtB,KAAK,CAACqB,UAAU,CAC/CpB,kCACF,CAAC;EAED,MAAMsB,sBAAsB,GAC1BvB,KAAK,CAACwB,MAAM,CAAsBZ,mBAAmB,CAAC;EAExDZ,KAAK,CAACyB,SAAS,CAAC,MAAM;IACpBF,sBAAsB,CAACG,OAAO,GAAGd,mBAAmB;EACtD,CAAC,CAAC;EAEF,MAAME,QAAQ,GAAGd,KAAK,CAAC2B,WAAW,CAChC,CACEC,MAAwB,EACxBC,iBAA8B,GAAG,IAAIC,GAAG,CAAS,CAAC,KAC/C;IACH,MAAMC,KAAK,GAAGxB,QAAQ,CAAC,CAAC;;IAExB;IACA;IACA,IAAIsB,iBAAiB,CAACG,GAAG,CAACD,KAAK,CAACtB,GAAG,CAAC,EAAE;MACpC,OAAO,KAAK;IACd;IAEAoB,iBAAiB,CAACI,GAAG,CAACF,KAAK,CAACtB,GAAG,CAAC;IAEhC,IAAI,OAAOmB,MAAM,CAACM,MAAM,KAAK,QAAQ,IAAIN,MAAM,CAACM,MAAM,KAAKH,KAAK,CAACtB,GAAG,EAAE;MACpE,IAAI0B,MAAM,GAAG7B,MAAM,CAAC8B,iBAAiB,CACnCL,KAAK,EACLH,MAAM,EACNL,sBAAsB,CAACG,OACzB,CAAC;;MAED;MACA;MACAS,MAAM,GACJA,MAAM,KAAK,IAAI,IAAIP,MAAM,CAACM,MAAM,KAAKH,KAAK,CAACtB,GAAG,GAAGsB,KAAK,GAAGI,MAAM;MAEjE,IAAIA,MAAM,KAAK,IAAI,EAAE;QACnB,IAAIJ,KAAK,KAAKI,MAAM,EAAE;UACpB,MAAME,WAAW,GAAGlC,mBAAmB,CACrCU,OAAO,EACPF,qBAAqB,EACrBoB,KAAK,CAACO,MAAM,EACZH,MAAM,CAACG,MAAM,EACbV,MACF,CAAC;UAED,IAAIS,WAAW,EAAE;YACfjB,gBAAgB,CAACQ,MAAM,EAAE,IAAI,CAAC;YAE9B,OAAO,IAAI;UACb;UAEAR,gBAAgB,CAACQ,MAAM,EAAE,KAAK,CAAC;UAE/BpB,QAAQ,CAAC2B,MAAM,CAAC;QAClB,CAAC,MAAM;UACLf,gBAAgB,CAACQ,MAAM,EAAE,IAAI,CAAC;QAChC;QAEA,IAAIX,kBAAkB,KAAKsB,SAAS,EAAE;UACpC;UACA;UACA,MAAMC,WAAW,GAAGlC,MAAM,CAACmC,uBAAuB,CAACb,MAAM,CAAC;UAE1D,IAAIY,WAAW,IAAI/B,GAAG,KAAK8B,SAAS,EAAE;YACpCtB,kBAAkB,CAACR,GAAG,CAAC;UACzB;QACF;QAEA,OAAO,IAAI;MACb;IACF;IAEA,IAAIM,cAAc,KAAKwB,SAAS,EAAE;MAChC;MACA,IAAIxB,cAAc,CAACa,MAAM,EAAEC,iBAAiB,CAAC,EAAE;QAC7C,OAAO,IAAI;MACb;IACF;IAEA,IACE,OAAOD,MAAM,CAACM,MAAM,KAAK,QAAQ;IACjC;IACAN,MAAM,CAACc,IAAI,KAAK,qBAAqB,IACrCpB,wBAAwB,EACxB;MACA;MACA;MACA,KAAK,IAAIqB,CAAC,GAAGjC,eAAe,CAACkC,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;QACpD,MAAME,QAAQ,GAAGnC,eAAe,CAACiC,CAAC,CAAC;QAEnC,IAAIE,QAAQ,CAACjB,MAAM,EAAEC,iBAAiB,CAAC,EAAE;UACvC,OAAO,IAAI;QACb;MACF;IACF;IAEA,OAAO,KAAK;EACd,CAAC,EACD,CACEnB,eAAe,EACfC,qBAAqB,EACrBE,OAAO,EACPN,QAAQ,EACRe,wBAAwB,EACxBb,GAAG,EACHM,cAAc,EACdK,gBAAgB,EAChBH,kBAAkB,EAClBX,MAAM,EACNE,QAAQ,CAEZ,CAAC;EAEDJ,kBAAkB,CAAC;IACjBG,QAAQ;IACRM,OAAO;IACPF;EACF,CAAC,CAAC;EAEFX,KAAK,CAACyB,SAAS,CACb,MAAMN,iBAAiB,GAAG,QAAQ,EAAEL,QAAQ,CAAC,EAC7C,CAACK,iBAAiB,EAAEL,QAAQ,CAC9B,CAAC;EAED,OAAOA,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -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;AAoBF,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,
|
|
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;AAoBF,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,CAqFzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnAction.d.ts","sourceRoot":"","sources":["../../../src/useOnAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAE/B,MAAM,+BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAmB,CAAC;AAGhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,IAAI;IAC5C,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,SAAS,eAAe,EAAE,EACzD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,CAAC,YAoBH,gBAAgB,sBACL,GAAG,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"useOnAction.d.ts","sourceRoot":"","sources":["../../../src/useOnAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAE/B,MAAM,+BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAmB,CAAC;AAGhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,IAAI;IAC5C,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,SAAS,eAAe,EAAE,EACzD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,CAAC,YAoBH,gBAAgB,sBACL,GAAG,CAAC,MAAM,CAAC,aAkHnC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/core",
|
|
3
3
|
"description": "Core utilities for building navigators",
|
|
4
|
-
"version": "7.21.
|
|
4
|
+
"version": "7.21.2",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
7
|
"react-native",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
]
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "1e7909dd9ce081d19ebba8374595d06f5d764690"
|
|
87
87
|
}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
type Success = { serializable: true };
|
|
2
|
+
|
|
3
|
+
type Failure = {
|
|
4
|
+
serializable: false;
|
|
5
|
+
location: (string | number)[];
|
|
6
|
+
reason: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
type Result = Success | Failure;
|
|
8
10
|
|
|
9
11
|
const checkSerializableWithoutCircularReference = (
|
|
10
12
|
o: { [key: string]: any },
|
|
11
13
|
seen: Set<any>,
|
|
12
14
|
location: (string | number)[]
|
|
13
|
-
):
|
|
15
|
+
): Failure | undefined => {
|
|
14
16
|
if (
|
|
15
17
|
o === undefined ||
|
|
16
18
|
o === null ||
|
|
@@ -18,7 +20,7 @@ const checkSerializableWithoutCircularReference = (
|
|
|
18
20
|
typeof o === 'number' ||
|
|
19
21
|
typeof o === 'string'
|
|
20
22
|
) {
|
|
21
|
-
return
|
|
23
|
+
return undefined;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
if (
|
|
@@ -52,7 +54,7 @@ const checkSerializableWithoutCircularReference = (
|
|
|
52
54
|
);
|
|
53
55
|
location.pop();
|
|
54
56
|
|
|
55
|
-
if (
|
|
57
|
+
if (childResult) {
|
|
56
58
|
seen.delete(o);
|
|
57
59
|
return childResult;
|
|
58
60
|
}
|
|
@@ -67,7 +69,7 @@ const checkSerializableWithoutCircularReference = (
|
|
|
67
69
|
);
|
|
68
70
|
location.pop();
|
|
69
71
|
|
|
70
|
-
if (
|
|
72
|
+
if (childResult) {
|
|
71
73
|
seen.delete(o);
|
|
72
74
|
return childResult;
|
|
73
75
|
}
|
|
@@ -76,9 +78,13 @@ const checkSerializableWithoutCircularReference = (
|
|
|
76
78
|
|
|
77
79
|
seen.delete(o);
|
|
78
80
|
|
|
79
|
-
return
|
|
81
|
+
return undefined;
|
|
80
82
|
};
|
|
81
83
|
|
|
82
|
-
export function checkSerializable(o: { [key: string]: any }) {
|
|
83
|
-
return
|
|
84
|
+
export function checkSerializable(o: { [key: string]: any }): Result {
|
|
85
|
+
return (
|
|
86
|
+
checkSerializableWithoutCircularReference(o, new Set<any>(), []) ?? {
|
|
87
|
+
serializable: true,
|
|
88
|
+
}
|
|
89
|
+
);
|
|
84
90
|
}
|
package/src/getPathFromState.tsx
CHANGED
package/src/getPatternParts.tsx
CHANGED
|
@@ -52,8 +52,8 @@ export function getPatternParts(path: string): PatternPart[] {
|
|
|
52
52
|
if (regexInnerParens) {
|
|
53
53
|
// The ')' is part of the regex if we're already inside one
|
|
54
54
|
regexInnerParens--;
|
|
55
|
-
current.regex += char;
|
|
56
55
|
} else {
|
|
56
|
+
current.regex += char;
|
|
57
57
|
isRegex = false;
|
|
58
58
|
isParam = false;
|
|
59
59
|
}
|
|
@@ -62,7 +62,7 @@ export function getPatternParts(path: string): PatternPart[] {
|
|
|
62
62
|
`Encountered ')' without preceding '(' in path: ${path}`
|
|
63
63
|
);
|
|
64
64
|
}
|
|
65
|
-
} else if (char === '?') {
|
|
65
|
+
} else if (char === '?' && !isRegex) {
|
|
66
66
|
if (current.param) {
|
|
67
67
|
isParam = false;
|
|
68
68
|
|
package/src/getStateFromPath.tsx
CHANGED
|
@@ -168,6 +168,7 @@ export function getStateFromPath<ParamList extends {}>(
|
|
|
168
168
|
// This makes sure matches such as wildcard will catch any unmatched routes, even if nested
|
|
169
169
|
const { routes, config } = matchAgainstConfigs(
|
|
170
170
|
remaining,
|
|
171
|
+
decodedSegments,
|
|
171
172
|
configs,
|
|
172
173
|
configsByScreen
|
|
173
174
|
);
|
|
@@ -201,7 +202,7 @@ function getConfigResources<ParamList extends {}>(
|
|
|
201
202
|
}
|
|
202
203
|
|
|
203
204
|
function prepareConfigResources(options?: Options<{}>) {
|
|
204
|
-
if (options) {
|
|
205
|
+
if (process.env.NODE_ENV !== 'production' && options) {
|
|
205
206
|
validatePathConfig(options);
|
|
206
207
|
}
|
|
207
208
|
|
|
@@ -364,12 +365,15 @@ function checkForDuplicatedConfigs(configs: RouteConfig[]) {
|
|
|
364
365
|
|
|
365
366
|
const matchAgainstConfigs = (
|
|
366
367
|
remaining: string,
|
|
368
|
+
decodedSegments: string[],
|
|
367
369
|
configs: RouteConfig[],
|
|
368
370
|
configsByScreen: Record<string, RouteConfig[]>
|
|
369
371
|
) => {
|
|
370
372
|
let routes: ParsedRoute[] | undefined;
|
|
371
373
|
let remainingPath = remaining;
|
|
372
374
|
let matchingConfig: RouteConfig | undefined;
|
|
375
|
+
const firstDecodedSegment = decodedSegments[0];
|
|
376
|
+
const firstRawSegment = remainingPath.split('/')[0];
|
|
373
377
|
|
|
374
378
|
// Go through all configs, and see if the next path segment matches our regex
|
|
375
379
|
for (const config of configs) {
|
|
@@ -377,6 +381,16 @@ const matchAgainstConfigs = (
|
|
|
377
381
|
continue;
|
|
378
382
|
}
|
|
379
383
|
|
|
384
|
+
if (
|
|
385
|
+
!canMatchFirstSegment(
|
|
386
|
+
config.segments[0],
|
|
387
|
+
firstDecodedSegment,
|
|
388
|
+
firstRawSegment
|
|
389
|
+
)
|
|
390
|
+
) {
|
|
391
|
+
continue;
|
|
392
|
+
}
|
|
393
|
+
|
|
380
394
|
const match = remainingPath.match(config.regex);
|
|
381
395
|
|
|
382
396
|
// If our regex matches, we need to extract params from the path
|
|
@@ -442,6 +456,26 @@ const matchAgainstConfigs = (
|
|
|
442
456
|
return { routes, remainingPath, config: matchingConfig };
|
|
443
457
|
};
|
|
444
458
|
|
|
459
|
+
const canMatchFirstSegment = (
|
|
460
|
+
configSegment: string | undefined,
|
|
461
|
+
decodedSegment: string | undefined,
|
|
462
|
+
rawSegment: string | undefined
|
|
463
|
+
) => {
|
|
464
|
+
if (decodedSegment === undefined) {
|
|
465
|
+
return true;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
if (configSegment === undefined) {
|
|
469
|
+
return false;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
if (configSegment === '*' || configSegment.startsWith(':')) {
|
|
473
|
+
return true;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
return configSegment === decodedSegment || configSegment === rawSegment;
|
|
477
|
+
};
|
|
478
|
+
|
|
445
479
|
const createNormalizedConfigs = (
|
|
446
480
|
screen: string,
|
|
447
481
|
routeConfig: Record<string, string | PathConfig<ParamListBase>>,
|
package/src/useOnAction.tsx
CHANGED
|
@@ -92,8 +92,6 @@ export function useOnAction<State extends NavigationState>({
|
|
|
92
92
|
result === null && action.target === state.key ? state : result;
|
|
93
93
|
|
|
94
94
|
if (result !== null) {
|
|
95
|
-
onDispatchAction(action, state === result);
|
|
96
|
-
|
|
97
95
|
if (state !== result) {
|
|
98
96
|
const isPrevented = shouldPreventRemove(
|
|
99
97
|
emitter,
|
|
@@ -104,10 +102,16 @@ export function useOnAction<State extends NavigationState>({
|
|
|
104
102
|
);
|
|
105
103
|
|
|
106
104
|
if (isPrevented) {
|
|
105
|
+
onDispatchAction(action, true);
|
|
106
|
+
|
|
107
107
|
return true;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
onDispatchAction(action, false);
|
|
111
|
+
|
|
110
112
|
setState(result);
|
|
113
|
+
} else {
|
|
114
|
+
onDispatchAction(action, true);
|
|
111
115
|
}
|
|
112
116
|
|
|
113
117
|
if (onRouteFocusParent !== undefined) {
|