@react-navigation/core 8.0.0-alpha.22 → 8.0.0-alpha.24
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/NavigationBuilderContext.js.map +1 -1
- package/lib/module/StaticNavigation.js +1 -1
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/createNavigatorFactory.js.map +1 -1
- package/lib/module/getPathFromState.js +87 -57
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getStateFromPath.js +77 -46
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +13 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useEventEmitter.js +4 -1
- package/lib/module/useEventEmitter.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +11 -14
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useOnAction.js +4 -1
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +35 -24
- package/lib/module/useOnPreventRemove.js.map +1 -1
- package/lib/module/useRoute.js.map +1 -1
- package/lib/module/validatePathConfig.js +50 -37
- package/lib/module/validatePathConfig.js.map +1 -1
- package/lib/typescript/src/NavigationBuilderContext.d.ts +2 -2
- package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts +3 -3
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/createNavigatorFactory.d.ts +4 -2
- package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
- package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +66 -33
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts +0 -7
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationHelpers.d.ts +0 -7
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useOnAction.d.ts.map +1 -1
- package/lib/typescript/src/useOnPreventRemove.d.ts +2 -6
- package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/useRoute.d.ts +1 -1
- package/lib/typescript/src/useRoute.d.ts.map +1 -1
- package/lib/typescript/src/utilities.d.ts +4 -38
- package/lib/typescript/src/utilities.d.ts.map +1 -1
- package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/NavigationBuilderContext.tsx +5 -1
- package/src/StaticNavigation.tsx +7 -6
- package/src/createNavigatorFactory.tsx +23 -2
- package/src/getPathFromState.tsx +97 -66
- package/src/getStateFromPath.tsx +168 -142
- package/src/index.tsx +1 -0
- package/src/types.tsx +257 -54
- package/src/useEventEmitter.tsx +6 -1
- package/src/useNavigationBuilder.tsx +11 -15
- package/src/useOnAction.tsx +6 -2
- package/src/useOnPreventRemove.tsx +68 -36
- package/src/useRoute.tsx +3 -5
- package/src/utilities.tsx +8 -41
- package/src/validatePathConfig.tsx +85 -58
|
@@ -1,53 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const ROOT_VALIDATION_LIST = ['- path (string)', '- initialRouteName (string)', '- screens (object)'].join('\n');
|
|
4
|
+
const NESTED_VALIDATION_LIST = [ROOT_VALIDATION_LIST, '- alias (array)', '- exact (boolean)', '- stringify (object)', '- parse (object)', '- shared (boolean)'].join('\n');
|
|
5
|
+
const getValidationType = (key, root) => {
|
|
6
|
+
switch (key) {
|
|
7
|
+
case 'path':
|
|
8
|
+
case 'initialRouteName':
|
|
9
|
+
return 'string';
|
|
10
|
+
case 'screens':
|
|
11
|
+
return 'object';
|
|
12
|
+
case 'alias':
|
|
13
|
+
return root ? undefined : 'array';
|
|
14
|
+
case 'exact':
|
|
15
|
+
case 'shared':
|
|
16
|
+
return root ? undefined : 'boolean';
|
|
17
|
+
case 'stringify':
|
|
18
|
+
case 'parse':
|
|
19
|
+
return root ? undefined : 'object';
|
|
20
|
+
default:
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
4
24
|
export function validatePathConfig(config, root = true) {
|
|
5
|
-
const validation = {
|
|
6
|
-
path: 'string',
|
|
7
|
-
initialRouteName: 'string',
|
|
8
|
-
screens: 'object',
|
|
9
|
-
...(root ? null : {
|
|
10
|
-
alias: 'array',
|
|
11
|
-
exact: 'boolean',
|
|
12
|
-
stringify: 'object',
|
|
13
|
-
parse: 'object',
|
|
14
|
-
shared: 'boolean'
|
|
15
|
-
})
|
|
16
|
-
};
|
|
17
25
|
if (typeof config !== 'object' || config === null) {
|
|
18
26
|
throw new Error(`Expected the configuration to be an object, but got ${JSON.stringify(config)}.`);
|
|
19
27
|
}
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
const pathConfig = config;
|
|
29
|
+
let validationErrors;
|
|
30
|
+
for (const key in pathConfig) {
|
|
31
|
+
const type = getValidationType(key, root);
|
|
32
|
+
if (type === undefined) {
|
|
33
|
+
(validationErrors ??= []).push(`- ${key} (extraneous)`);
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const value = pathConfig[key];
|
|
37
|
+
if (value === undefined) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (type === 'array') {
|
|
41
|
+
if (!Array.isArray(value)) {
|
|
42
|
+
(validationErrors ??= []).push(`- ${key} (expected 'Array', got '${typeof value}')`);
|
|
33
43
|
}
|
|
34
|
-
} else {
|
|
35
|
-
|
|
44
|
+
} else if (typeof value !== type) {
|
|
45
|
+
(validationErrors ??= []).push(`- ${key} (expected '${type}', got '${typeof value}')`);
|
|
36
46
|
}
|
|
37
|
-
return null;
|
|
38
|
-
}).filter(Boolean));
|
|
39
|
-
if (Object.keys(validationErrors).length) {
|
|
40
|
-
throw new Error(`Found invalid properties in the configuration:\n${formatToList(validationErrors)}\n\nYou can only specify the following properties:\n${formatToList(validation)}\n\nIf you want to specify configuration for screens, you need to specify them under a 'screens' property.\n\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`);
|
|
41
47
|
}
|
|
42
|
-
if (
|
|
43
|
-
throw new Error(`Found invalid
|
|
48
|
+
if (validationErrors) {
|
|
49
|
+
throw new Error(`Found invalid properties in the configuration:\n${validationErrors.join('\n')}\n\nYou can only specify the following properties:\n${root ? ROOT_VALIDATION_LIST : NESTED_VALIDATION_LIST}\n\nIf you want to specify configuration for screens, you need to specify them under a 'screens' property.\n\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`);
|
|
44
50
|
}
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
const path = pathConfig.path;
|
|
52
|
+
if (root && 'path' in pathConfig && typeof path === 'string' && path.includes(':')) {
|
|
53
|
+
throw new Error(`Found invalid path '${path}'. The 'path' in the top-level configuration cannot contain patterns for params.`);
|
|
54
|
+
}
|
|
55
|
+
const screens = pathConfig.screens;
|
|
56
|
+
if (screens && typeof screens === 'object') {
|
|
57
|
+
const screenConfig = screens;
|
|
58
|
+
for (const name in screenConfig) {
|
|
59
|
+
const value = screenConfig[name];
|
|
47
60
|
if (typeof value !== 'string') {
|
|
48
61
|
validatePathConfig(value, false);
|
|
49
62
|
}
|
|
50
|
-
}
|
|
63
|
+
}
|
|
51
64
|
}
|
|
52
65
|
}
|
|
53
66
|
//# sourceMappingURL=validatePathConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ROOT_VALIDATION_LIST","join","NESTED_VALIDATION_LIST","getValidationType","key","root","undefined","validatePathConfig","config","Error","JSON","stringify","pathConfig","validationErrors","type","push","value","Array","isArray","path","includes","screens","screenConfig","name"],"sourceRoot":"../../src","sources":["validatePathConfig.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NavigationAction, NavigationState, ParamListBase } from '@react-navigation/routers';
|
|
1
|
+
import type { NavigationAction, NavigationState, ParamListBase, PartialState } from '@react-navigation/routers';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import type { NavigationHelpers } from './types.js';
|
|
4
4
|
export type ListenerMap = {
|
|
@@ -18,7 +18,7 @@ export type FocusedNavigationListener = <T>(callback: FocusedNavigationCallback<
|
|
|
18
18
|
result: T;
|
|
19
19
|
};
|
|
20
20
|
export type GetStateListener = () => NavigationState;
|
|
21
|
-
export type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;
|
|
21
|
+
export type ChildBeforeRemoveListener = (action: NavigationAction, nextState: NavigationState | PartialState<NavigationState> | undefined) => boolean;
|
|
22
22
|
/**
|
|
23
23
|
* Context which holds the required helpers needed to build nested navigators.
|
|
24
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationBuilderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,
|
|
1
|
+
{"version":3,"file":"NavigationBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationBuilderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAS,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EACpD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KACrB,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC9D,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAC1B,IAAI,CAAC;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC5B,OAAO,CAAC;AAEb,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CACzC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,KACzC,CAAC,CAAC;AAEP,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,EACxC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,KACnC;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG,CACtC,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,KACnE,OAAO,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,wBAAwB;eAE/B,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,GACxE,SAAS;kBACC,WAAW,GAAG,SAAS;uBAClB,gBAAgB,GAAG,SAAS;mBAChC,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;sBAChC,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI;iBACtD,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;QACtC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC;KACf,KAAK,IAAI;qBACO,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;oBAC1B,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI;kBAChC,MAAM,IAAI;eACb,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS;EAWjE,CAAC"}
|
|
@@ -19,10 +19,10 @@ type ParamsForScreen<T> = [T] extends [{
|
|
|
19
19
|
config: any;
|
|
20
20
|
}] ? ParamsForNestedNavigator<T> : [T] extends [React.ComponentType<any>] ? ParamsForScreenComponent<T> : undefined;
|
|
21
21
|
type ParamsForScreenEntry<T> = T extends T ? ParamsForScreen<T> : never;
|
|
22
|
-
type ShouldInferFromLinking<Linking> = Linking extends
|
|
23
|
-
path: ValidPathPattern;
|
|
24
|
-
} | {
|
|
22
|
+
type ShouldInferFromLinking<Linking> = Linking extends {
|
|
25
23
|
parse: Record<string, unknown>;
|
|
24
|
+
} ? true : Linking extends ValidPathPattern | {
|
|
25
|
+
path: ValidPathPattern;
|
|
26
26
|
} ? true : false;
|
|
27
27
|
/**
|
|
28
28
|
* Params type derived from both linking and screen.
|
|
@@ -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;AAQ/B,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EAEnB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,KAAK,EACN,MAAM,YAAS,CAAC;AAEjB,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gBAAa,CAAC;AAErB,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;IAC1C,KAAK,CAAC,aAAa,CAAC;QAAE,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACzD,GACG,MAAM,GACN,SAAS,CAAC;AAEd,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAGpE,YAAY,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,qBAAqB,CAAC,CAAC,CAAC,GACxB,SAAS,GACX,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAI7B,KAAK,wBAAwB,CAC3B,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,EACzB,SAAS,SAAS,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EACzC,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,IACvC;KAGD,SAAS,IAAI,MAAM,SAAS,CAAC,CAAC,GAAG,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpE,KAAK,GACL,SAAS;CACd,CAAC,MAAM,SAAS,CAAC,SAAS,KAAK,GAC5B,MAAM,GAAG,SAAS,GAClB,MAAM,CAAC;AAQX,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,GACnD,wBAAwB,CAAC,CAAC,CAAC,GAC3B,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GACpC,wBAAwB,CAAC,CAAC,CAAC,GAC3B,SAAS,CAAC;AAMhB,KAAK,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAKxE,KAAK,sBAAsB,CAAC,OAAO,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ParamListBase } from '@react-navigation/routers';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { type StaticConfig, type StaticParamList } from './StaticNavigation.js';
|
|
4
|
-
import type { NavigatorTypeBagBase, NavigatorTypeBagFor, TypedNavigator } from './types.js';
|
|
4
|
+
import type { NavigatorTypeBagBase, NavigatorTypeBagFor, NestedNavigatorsForParamList, TypedNavigator } from './types.js';
|
|
5
5
|
import type { KeysOf } from './utilities.js';
|
|
6
|
+
type ValidNavigatorNesting<ParamList extends ParamListBase, Nesting> = Nesting extends Partial<Record<keyof ParamList, unknown>> & Record<Exclude<keyof Nesting, keyof ParamList>, never> ? Nesting : never;
|
|
6
7
|
export type TypedNavigatorFactory<in out TypeBag extends NavigatorTypeBagBase> = {
|
|
7
|
-
<const ParamList extends ParamListBase>(): TypedNavigator<NavigatorTypeBagFor<TypeBag, ParamList>, undefined>;
|
|
8
|
+
<const ParamList extends ParamListBase, const Nesting extends Partial<Record<keyof ParamList, unknown>> & Record<Exclude<keyof Nesting, keyof ParamList>, never> = ValidNavigatorNesting<ParamList, NestedNavigatorsForParamList<ParamList>>>(): TypedNavigator<NavigatorTypeBagFor<TypeBag, ParamList>, undefined, Nesting>;
|
|
8
9
|
<const Config extends StaticConfig<NavigatorTypeBagFor<TypeBag, ParamListBase>> & Record<Exclude<keyof Config, KeysOf<StaticConfig<NavigatorTypeBagFor<TypeBag, ParamListBase>>>>, never>>(config: Config): TypedNavigator<NavigatorTypeBagFor<TypeBag, StaticParamList<{
|
|
9
10
|
config: Config;
|
|
10
11
|
}>>, Config>;
|
|
@@ -19,4 +20,5 @@ export type TypedNavigatorFactory<in out TypeBag extends NavigatorTypeBagBase> =
|
|
|
19
20
|
* @returns Factory method to create a navigator
|
|
20
21
|
*/
|
|
21
22
|
export declare function createNavigatorFactory<TypeBag extends NavigatorTypeBagBase>(Navigator: React.ComponentType<any>): TypedNavigatorFactory<TypeBag>;
|
|
23
|
+
export {};
|
|
22
24
|
//# sourceMappingURL=createNavigatorFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNavigatorFactory.d.ts","sourceRoot":"","sources":["../../../src/createNavigatorFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,uBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACf,MAAM,YAAS,CAAC;AACjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAa,CAAC;AAE1C,MAAM,MAAM,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,SAAS,oBAAoB,IAC3E;IACE,
|
|
1
|
+
{"version":3,"file":"createNavigatorFactory.d.ts","sourceRoot":"","sources":["../../../src/createNavigatorFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,uBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,cAAc,EACf,MAAM,YAAS,CAAC;AACjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAa,CAAC;AAE1C,KAAK,qBAAqB,CACxB,SAAS,SAAS,aAAa,EAC/B,OAAO,IACL,OAAO,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE,OAAO,CAAC,CAAC,GAC3D,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,SAAS,CAAC,EAAE,KAAK,CAAC,GACpD,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,SAAS,oBAAoB,IAC3E;IACE,CACE,KAAK,CAAC,SAAS,SAAS,aAAa,EACrC,KAAK,CAAC,OAAO,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE,OAAO,CAAC,CAAC,GAI7D,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,SAAS,CAAC,EAAE,KAAK,CAAC,GACtD,qBAAqB,CACnB,SAAS,EACT,4BAA4B,CAAC,SAAS,CAAC,CACxC,KACA,cAAc,CACjB,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,EACvC,SAAS,EACT,OAAO,CACR,CAAC;IACF,CACE,KAAK,CAAC,MAAM,SAAS,YAAY,CAC/B,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAC5C,GAKC,MAAM,CACJ,OAAO,CACL,MAAM,MAAM,EACZ,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAClE,EACD,KAAK,CACN,EAEH,MAAM,EAAE,MAAM,GACb,cAAc,CACf,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,EACjE,MAAM,CACP,CAAC;CACH,CAAC;AAEJ;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,oBAAoB,EACzE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAClC,qBAAqB,CAAC,OAAO,CAAC,CAiDhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK/E,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK/E,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;AA2G5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,CA+NR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStateFromPath.d.ts","sourceRoot":"","sources":["../../../src/getStateFromPath.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,YAAY,EACb,MAAM,2BAA2B,CAAC;AAYnC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAOzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,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,EACf,YAAY,EACb,MAAM,2BAA2B,CAAC;AAYnC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAOzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AA2BF,KAAK,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG;IACjD,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACjC,CAAC;AAgFF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC5B,QAAQ,CAAC,EAAE,eAAe,GACzB,WAAW,GAAG,SAAS,CA8HzB"}
|
|
@@ -17,7 +17,7 @@ export { createPathConfigForStaticNavigation, createScreenFactory, type StaticCo
|
|
|
17
17
|
export { ThemeContext } from './theming/ThemeContext.js';
|
|
18
18
|
export { ThemeProvider } from './theming/ThemeProvider.js';
|
|
19
19
|
export { useTheme } from './theming/useTheme.js';
|
|
20
|
-
export type { CompositeNavigationProp, CompositeScreenProps, DefaultNavigatorOptions, Descriptor, EventArg, EventConsumer, EventEmitter, EventListenerCallback, EventMapBase, EventMapCore, GenericNavigation, NavigationContainerProps, NavigationContainerRef, NavigationContainerRefWithCurrent, NavigationHelpers, NavigationListBase, NavigationListForNavigator, NavigationListForNested, NavigationProp, NavigatorScreenParams, NavigatorTypeBagBase, NavigatorTypeBagFor, PathConfig, PathConfigMap, RootNavigator, RootParamList, RouteConfig, RouteConfigComponent, RouteConfigProps, RouteForName, RouteGroupConfig, RouteProp, ScreenLayoutArgs, ScreenListeners, Theme, TypedNavigator, } from './types.js';
|
|
20
|
+
export type { CompositeNavigationProp, CompositeScreenProps, DefaultNavigatorOptions, Descriptor, EventArg, EventConsumer, EventEmitter, EventListenerCallback, EventMapBase, EventMapCore, GenericNavigation, NavigationContainerEventMap, NavigationContainerProps, NavigationContainerRef, NavigationContainerRefWithCurrent, NavigationHelpers, NavigationListBase, NavigationListForNavigator, NavigationListForNested, NavigationProp, NavigatorScreenParams, NavigatorTypeBagBase, NavigatorTypeBagFor, PathConfig, PathConfigMap, RootNavigator, RootParamList, RouteConfig, RouteConfigComponent, RouteConfigProps, RouteForName, RouteGroupConfig, RouteProp, ScreenLayoutArgs, ScreenListeners, Theme, TypedNavigator, } from './types.js';
|
|
21
21
|
export { PrivateValueStore } from './types.js';
|
|
22
22
|
export { useFocusEffect } from './useFocusEffect.js';
|
|
23
23
|
export { IsFocusedContext, useIsFocused } from './useIsFocused.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -195,6 +195,21 @@ export declare class PrivateValueStore<T extends [any, any, any, any]> {
|
|
|
195
195
|
*/
|
|
196
196
|
protected ''?: T;
|
|
197
197
|
}
|
|
198
|
+
type NavigatorLike = {
|
|
199
|
+
Navigator: React.ComponentType<any>;
|
|
200
|
+
Screen: unknown;
|
|
201
|
+
Group: unknown;
|
|
202
|
+
} | {
|
|
203
|
+
config: unknown;
|
|
204
|
+
getComponent: () => React.ComponentType<any>;
|
|
205
|
+
};
|
|
206
|
+
type ParamListForNavigator<T extends {}> = T extends NavigatorLike ? T extends PrivateValueStore<[infer ParamList extends {}, any, any, any]> ? ParamList : T : T;
|
|
207
|
+
type NestedNavigatorForScreenParams<T, Params = NotUndefined<T>> = [
|
|
208
|
+
Params
|
|
209
|
+
] extends [never] ? never : Params extends NavigatorScreenParams<infer Navigator> ? Navigator extends PrivateValueStore<[any, any, any, any]> ? Navigator extends NavigatorLike ? Navigator : never : never : never;
|
|
210
|
+
export type NestedNavigatorsForParamList<ParamList extends {}> = {
|
|
211
|
+
[RouteName in keyof ParamList as NestedNavigatorForScreenParams<ParamList[RouteName]> extends never ? never : RouteName]: NestedNavigatorForScreenParams<ParamList[RouteName]>;
|
|
212
|
+
};
|
|
198
213
|
type NavigateOptions = {
|
|
199
214
|
merge?: boolean | undefined;
|
|
200
215
|
pop?: boolean | undefined;
|
|
@@ -225,22 +240,6 @@ type NavigationHelpersCommon<ParamList extends ParamListBase, State extends Navi
|
|
|
225
240
|
params: ParamList[RouteName],
|
|
226
241
|
options?: NavigateOptions
|
|
227
242
|
] : never): void;
|
|
228
|
-
/**
|
|
229
|
-
* Navigate to a route in current navigation tree.
|
|
230
|
-
*
|
|
231
|
-
* @param options.name Name of the route to navigate to.
|
|
232
|
-
* @param [options.params] Params object for the route.
|
|
233
|
-
* @param [options.path] Path to associate the route with (e.g. for deep links).
|
|
234
|
-
* @param [options.merge] Whether to merge the params onto the route. Defaults to `false`.
|
|
235
|
-
* @param [options.pop] Whether to pop routes in a stack to go back to the matching route. Defaults to `false`.
|
|
236
|
-
*/
|
|
237
|
-
navigate<RouteName extends keyof ParamList>(options: RouteName extends unknown ? {
|
|
238
|
-
name: RouteName;
|
|
239
|
-
params: ParamList[RouteName];
|
|
240
|
-
path?: string | undefined;
|
|
241
|
-
merge?: boolean | undefined;
|
|
242
|
-
pop?: boolean | undefined;
|
|
243
|
-
} : never): void;
|
|
244
243
|
/**
|
|
245
244
|
* Preloads the route in current navigation tree.
|
|
246
245
|
*
|
|
@@ -586,15 +585,19 @@ export type NavigationContainerEventMap = {
|
|
|
586
585
|
/**
|
|
587
586
|
* The data object passed when emitting the event.
|
|
588
587
|
*/
|
|
589
|
-
data
|
|
588
|
+
data?: unknown;
|
|
590
589
|
/**
|
|
591
590
|
* The key of the target route which received the event.
|
|
592
591
|
*/
|
|
593
|
-
target
|
|
592
|
+
target?: string | undefined;
|
|
594
593
|
/**
|
|
595
594
|
* Whether `event.preventDefault()` was called on this event.
|
|
596
595
|
*/
|
|
597
|
-
defaultPrevented
|
|
596
|
+
defaultPrevented?: boolean | undefined;
|
|
597
|
+
/**
|
|
598
|
+
* Prevent the default action which happens on this event.
|
|
599
|
+
*/
|
|
600
|
+
preventDefault?: (() => void) | undefined;
|
|
598
601
|
};
|
|
599
602
|
};
|
|
600
603
|
};
|
|
@@ -642,32 +645,55 @@ export type GenericNavigation<ParamList extends {}> = Omit<NavigationProp<ParamL
|
|
|
642
645
|
setOptions(options: unknown): void;
|
|
643
646
|
};
|
|
644
647
|
export type RouteForName<ParamList extends {}, RouteName extends string> = string extends RouteName ? ParamListRoute<ParamList> : RouteForNameInternal<ParamList, RouteName>;
|
|
645
|
-
type RouteForNameInternal<ParamList extends {}, RouteName extends string> = (RouteName extends
|
|
646
|
-
type RouteForNameNested<ParamLists, RouteName extends string> = ParamLists extends
|
|
648
|
+
type RouteForNameInternal<ParamList extends {}, RouteName extends string> = (RouteName extends KeyOf<ParamList> ? RouteProp<ParamList, RouteName> : never) | RouteForNameNested<NestedParamLists<ParamList>, RouteName>;
|
|
649
|
+
type RouteForNameNested<ParamLists, RouteName extends string> = ParamLists extends {} ? RouteForNameInternal<ParamLists, RouteName> : never;
|
|
647
650
|
/**
|
|
648
651
|
* Union of param lists of the nested navigators in a param list.
|
|
649
652
|
*/
|
|
650
653
|
export type NestedParamLists<ParamList extends {}> = {
|
|
651
|
-
[RouteName in keyof ParamList]: NavigatorScreenParams<{}> extends ParamList[RouteName] ? NotUndefined<ParamList[RouteName]> extends NavigatorScreenParams<infer T> ? T : never : never;
|
|
654
|
+
[RouteName in keyof ParamList]: NavigatorScreenParams<{}> extends ParamList[RouteName] ? NotUndefined<ParamList[RouteName]> extends NavigatorScreenParams<infer T> ? ParamListForNavigator<T> : never : never;
|
|
652
655
|
}[keyof ParamList];
|
|
653
656
|
type ParamListRoute<ParamList extends {}> = {
|
|
654
|
-
[RouteName in keyof ParamList]: NavigatorScreenParams<{}> extends ParamList[RouteName] ? NotUndefined<ParamList[RouteName]> extends NavigatorScreenParams<infer T> ? ParamListRoute<T
|
|
657
|
+
[RouteName in keyof ParamList]: NavigatorScreenParams<{}> extends ParamList[RouteName] ? NotUndefined<ParamList[RouteName]> extends NavigatorScreenParams<infer T> ? ParamListRoute<ParamListForNavigator<T>> | RouteProp<ParamList, RouteName> : RouteProp<ParamList, RouteName> : RouteProp<ParamList, RouteName>;
|
|
655
658
|
}[keyof ParamList];
|
|
656
659
|
type MaybeParamListRoute<ParamList extends {}> = ParamList extends ParamListBase ? ParamListRoute<ParamList> : Route<string>;
|
|
657
660
|
type BasicNavigationComposite<Navigation extends NavigationProp<any, any, any, any, any>, Parent extends NavigationProp<any, any, any, any, any> | undefined> = Parent extends undefined ? Navigation : CompositeNavigationProp<Navigation, NonNullable<Parent>>;
|
|
658
661
|
type BasicNavigationList<ParamList extends {}, ExcludedRouteNames, Parent extends NavigationProp<any, any, any, any, any> | undefined> = UnionToIntersection<{
|
|
659
|
-
[RouteName in keyof ParamList]: (NavigatorScreenParams<{}> extends ParamList[RouteName] ? NotUndefined<ParamList[RouteName]> extends NavigatorScreenParams<infer T> ? keyof
|
|
662
|
+
[RouteName in keyof ParamList]: (NavigatorScreenParams<{}> extends ParamList[RouteName] ? NotUndefined<ParamList[RouteName]> extends NavigatorScreenParams<infer T> ? ParamListForNavigator<T> extends infer NestedParamList extends {} ? keyof NestedParamList extends ExcludedRouteNames ? {} : BasicNavigationList<NestedParamList, ExcludedRouteNames, NavigationProp<ParamList, RouteName>> : {} : {} : {}) & (RouteName extends ExcludedRouteNames ? {} : {
|
|
660
663
|
[Key in RouteName]: BasicNavigationComposite<NavigationProp<ParamList, RouteName>, Parent>;
|
|
661
664
|
});
|
|
662
665
|
}[keyof ParamList]>;
|
|
666
|
+
type InheritedParentParams<ParentParamList, ParamList> = {
|
|
667
|
+
[K in keyof ParentParamList as K extends keyof ParamList ? never : string extends K ? never : K]: ParentParamList[K];
|
|
668
|
+
};
|
|
669
|
+
type GenericNavigationComposite<ParamList extends ParamListBase, RouteName extends keyof ParamList, Parent> = Parent extends NavigationProp<any, any, any, any, any> ? ParamListOfNavigationProp<Parent> extends infer ParentParamList ? NavigationProp<ParamList & InheritedParentParams<ParentParamList, ParamList>, RouteName> & {
|
|
670
|
+
getParent: Parent['getParent'];
|
|
671
|
+
} : never : NavigationProp<ParamList, RouteName>;
|
|
672
|
+
type NavigationListForScreenParams<T extends {}, ParamList extends ParamListBase, RouteName extends keyof ParamList, ExcludedRouteNames, Parent extends NavigationProp<any, any, any, any, any> | undefined> = T extends PrivateValueStore<[any, any, any, any]> ? T extends NavigatorLike ? NavigationListForNestedInternal<T, GenericNavigationComposite<ParamList, RouteName, Parent>> : NavigationListForParamListScreenParams<T, ParamList, RouteName, ExcludedRouteNames, Parent> : NavigationListForParamListScreenParams<T, ParamList, RouteName, ExcludedRouteNames, Parent>;
|
|
673
|
+
type NavigationListForParamListScreenParams<T extends {}, ParamList extends ParamListBase, RouteName extends keyof ParamList, ExcludedRouteNames, Parent extends NavigationProp<any, any, any, any, any> | undefined> = T extends ParamListBase ? BasicNavigationListForParamList<T, ExcludedRouteNames, GenericNavigationComposite<ParamList, RouteName, Parent>> : {};
|
|
674
|
+
type BasicNavigationListForParamList<ParamList extends ParamListBase, ExcludedRouteNames, Parent extends NavigationProp<any, any, any, any, any> | undefined> = UnionToIntersection<{
|
|
675
|
+
[RouteName in keyof ParamList]: (NavigatorScreenParams<{}> extends ParamList[RouteName] ? NotUndefined<ParamList[RouteName]> extends NavigatorScreenParams<infer T> ? NavigationListForScreenParams<T, ParamList, RouteName, ExcludedRouteNames, Parent> : {} : {}) & (RouteName extends ExcludedRouteNames ? {} : {
|
|
676
|
+
[Key in RouteName]: GenericNavigationComposite<ParamList, RouteName, Parent>;
|
|
677
|
+
});
|
|
678
|
+
}[keyof ParamList]>;
|
|
663
679
|
export type NavigationListForNavigator<Navigator> = Navigator extends PrivateValueStore<infer Value> ? Value[1] : {};
|
|
664
680
|
export type NavigationListForNested<Navigator> = NavigationListForNestedInternal<Navigator> extends infer NavigationList ? Navigator extends PrivateValueStore<[infer ParamList, any, any, any]> ? ParamList extends {} ? NavigationList & BasicNavigationList<ParamList, keyof NavigationList, undefined> : NavigationList : NavigationList : never;
|
|
665
|
-
type NavigationListForNestedInternal<Navigator, Parent = undefined, NavigatorList extends Record<string, any> = NavigationListForNavigator<Navigator>, ComposedList = ComposeNavigationList<NavigatorList, Parent>> = Navigator extends {
|
|
681
|
+
type NavigationListForNestedInternal<Navigator, Parent = undefined, NavigatorList extends Record<string, any> = NavigationListForNavigator<Navigator>, Navigators = NestedNavigatorsOf<Navigator>, ComposedList = ComposeNavigationList<NavigatorList, Parent>> = (Navigator extends {
|
|
666
682
|
readonly config: {
|
|
667
683
|
readonly screens?: infer Screens;
|
|
668
684
|
readonly groups?: infer Groups;
|
|
669
685
|
};
|
|
670
|
-
} ? ComposedList & NavigationListForScreens<ComposedList, Screens> & NavigationListForGroups<ComposedList, Groups> : ComposedList
|
|
686
|
+
} ? ComposedList & NavigationListForScreens<ComposedList, Screens> & NavigationListForGroups<ComposedList, Groups> : ComposedList) & NavigationListForNestedNavigators<ComposedList, Navigators> & NavigationListForDynamicNestedParamLists<Navigator, ComposedList, Navigators>;
|
|
687
|
+
type NavigationListForDynamicNestedParamLists<Navigator, ParentList, Navigators> = Navigator extends {
|
|
688
|
+
readonly config: unknown;
|
|
689
|
+
} ? {} : Navigator extends PrivateValueStore<[infer ParamList, any, any, any]> ? NavigationListForNestedParamLists<ParentList, ParamList, Navigators> : {};
|
|
690
|
+
type NestedNavigatorsOf<Navigator> = Navigator extends PrivateValueStore<[any, any, any, infer Nesting]> ? Nesting extends Record<string, any> ? Nesting : {} : {};
|
|
691
|
+
type NavigationListForNestedNavigators<ParentList, Navigators> = UnionToIntersection<{
|
|
692
|
+
[K in keyof Navigators]: K extends keyof ParentList ? NavigationListForNestedInternal<Navigators[K], ParentList[K]> : {};
|
|
693
|
+
}[keyof Navigators]>;
|
|
694
|
+
type NavigationListForNestedParamLists<ParentList, ParamList, Navigators> = ParentList extends Record<string, any> ? ParamList extends ParamListBase ? UnionToIntersection<{
|
|
695
|
+
[K in keyof ParamList]: K extends keyof Navigators ? {} : K extends keyof ParentList ? NavigatorScreenParams<{}> extends ParamList[K] ? NotUndefined<ParamList[K]> extends NavigatorScreenParams<infer T> ? NavigationListForScreenParams<T, ParamList, K, keyof ParentList, ParentList[K]> : {} : {} : {};
|
|
696
|
+
}[keyof ParamList]> : {} : {};
|
|
671
697
|
type ComposeNavigationList<NavigatorList extends Record<string, any>, Parent> = Parent extends NavigationProp<any, any, any, any, any> ? {
|
|
672
698
|
[K in keyof NavigatorList]: CompositeNavigationProp<NavigatorList[K], Parent>;
|
|
673
699
|
} : NavigatorList;
|
|
@@ -755,11 +781,11 @@ type TypedNavigatorStatic<in out Bag extends NavigatorTypeBagBase, in out Config
|
|
|
755
781
|
}>) => TypedNavigatorStaticDecorated<Bag, Config>;
|
|
756
782
|
getComponent: () => TypedNavigatorComponent<Bag>;
|
|
757
783
|
};
|
|
758
|
-
export type TypedNavigator<Bag extends NavigatorTypeBagBase, Config = unknown> = (undefined extends Config ? TypedNavigatorInternal<Bag['ParamList'], Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'], Bag['Navigator']> : TypedNavigatorStatic<Bag, Config>) & PrivateValueStore<[
|
|
784
|
+
export type TypedNavigator<Bag extends NavigatorTypeBagBase, Config = unknown, Nesting = unknown> = (undefined extends Config ? TypedNavigatorInternal<Bag['ParamList'], Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'], Bag['Navigator']> : TypedNavigatorStatic<Bag, Config>) & PrivateValueStore<[
|
|
759
785
|
Bag['ParamList'],
|
|
760
786
|
Bag['NavigationList'],
|
|
761
787
|
unknown,
|
|
762
|
-
|
|
788
|
+
Nesting
|
|
763
789
|
]>;
|
|
764
790
|
type TypedNavigatorInternal<in out ParamList extends ParamListBase, in out State extends NavigationState, in out ScreenOptions extends {}, in out EventMap extends EventMapBase, in out NavigationList extends NavigationListBase<ParamList>, in out Navigator extends React.ComponentType<any>> = {
|
|
765
791
|
/**
|
|
@@ -775,7 +801,13 @@ type TypedNavigatorInternal<in out ParamList extends ParamListBase, in out State
|
|
|
775
801
|
*/
|
|
776
802
|
Screen: <RouteName extends keyof ParamList>(_: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap, NavigationList[RouteName]>) => null;
|
|
777
803
|
};
|
|
778
|
-
|
|
804
|
+
declare const NavigatorScreenParamsSymbol: unique symbol;
|
|
805
|
+
type NavigatorScreenParamsBrand<T extends {}> = {
|
|
806
|
+
readonly [NavigatorScreenParamsSymbol]?: any & {
|
|
807
|
+
readonly type: T;
|
|
808
|
+
};
|
|
809
|
+
};
|
|
810
|
+
type NavigatorScreenParamsForParamList<ParamList extends {}> = {
|
|
779
811
|
screen?: never;
|
|
780
812
|
params?: never;
|
|
781
813
|
merge?: never;
|
|
@@ -805,6 +837,7 @@ export type NavigatorScreenParams<ParamList extends {}> = {
|
|
|
805
837
|
state?: never;
|
|
806
838
|
};
|
|
807
839
|
}[keyof ParamList];
|
|
840
|
+
export type NavigatorScreenParams<ParamList extends {}> = NavigatorScreenParamsForParamList<ParamListForNavigator<ParamList>> & NavigatorScreenParamsBrand<ParamList>;
|
|
808
841
|
type ParseConfig<Params> = {
|
|
809
842
|
[K in keyof Params]?: ((value: string) => Params[K]) | StandardSchemaV1<string | string[] | null | undefined, Params[K]>;
|
|
810
843
|
};
|
|
@@ -865,16 +898,16 @@ export type PathConfig<Params> = FlatType<Partial<PathConfigAlias<Params>> & {
|
|
|
865
898
|
* Additional path alias that will be matched to the same screen.
|
|
866
899
|
*/
|
|
867
900
|
alias?: (string | PathConfigAlias<Params>)[] | undefined;
|
|
868
|
-
} & (NonNullable<Params> extends NavigatorScreenParams<infer ParamList> ? {
|
|
901
|
+
} & (NonNullable<Params> extends NavigatorScreenParams<infer ParamList> ? ParamListForNavigator<ParamList> extends infer ChildParamList extends {} ? {
|
|
869
902
|
/**
|
|
870
903
|
* Path configuration for child screens.
|
|
871
904
|
*/
|
|
872
|
-
screens?: PathConfigMap<
|
|
905
|
+
screens?: PathConfigMap<ChildParamList> | undefined;
|
|
873
906
|
/**
|
|
874
907
|
* Name of the initial route to use for the navigator when the path matches.
|
|
875
908
|
*/
|
|
876
|
-
initialRouteName?: Extract<keyof
|
|
877
|
-
} : {})>;
|
|
909
|
+
initialRouteName?: Extract<keyof ChildParamList, string> | undefined;
|
|
910
|
+
} : {} : {})>;
|
|
878
911
|
export type PathConfigMap<ParamList extends {}> = {
|
|
879
912
|
[RouteName in keyof ParamList]?: string | PathConfig<ParamList[RouteName]> | undefined;
|
|
880
913
|
};
|