-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathNavigationObject.ts
74 lines (60 loc) · 1.95 KB
/
NavigationObject.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import type { NavigatorView } from "../components/NavigatorView";
import type { NavigatorRouteView } from "../components/NavigatorRouteView";
import type { RouteOptions } from "./RouteOptions";
import type { NavigatorRouteViewEventEmitter } from "./NavigatorRouteViewEventEmitter";
import type { RNINavigatorRouteViewProps } from "../native_components/RNINavigatorRouteView";
export type NavigationObject<T = object> = Pick<RNINavigatorRouteViewProps,
// route metadata
| 'routeID'
| 'routeKey'
| 'routeIndex'
> & Pick<typeof NavigatorView.prototype,
// navigator commands
| 'push'
| 'pop'
| 'popToRoot'
| 'removeRoute'
| 'removeRoutes'
| 'replaceRoute'
| 'insertRoute'
| 'setRoutes'
| 'setNavigationBarHidden'
// convenience navigator commands
| 'replacePreviousRoute'
| 'replaceCurrentRoute'
| 'removePreviousRoute'
| 'removeAllPrevRoutes'
// misc. navigator commands
| 'sendCustomCommandToNative'
| 'getNavigatorConstants'
| 'getActiveRoutes'
| 'dismissModal'
| 'getMatchingRouteStackItem'
| 'getNavigationObjectForRoute'
// misc. convenience navigation commands
| 'getRouteStackItemForCurrentRoute'
| 'getRouteStackItemForPreviousRoute'
| 'getNavigationObjectForCurrentRoute'
| 'getNavigationObjectForPreviousRoute'
| 'setRouteOptionsForRoute'
| 'getRouteOptionsForRoute'
| 'setRouteOptionsForCurrentRoute'
| 'getRouteOptionsForCurrentRoute'
| 'setRouteOptionsForPreviousRoute'
| 'getRouteOptionsForPreviousRoute'
> & Pick<typeof NavigatorRouteView.prototype,
// route commands
| 'getRouteOptions'
| 'setRouteOptions'
| 'setHidesBackButton'
| 'getRouteConstants'
| 'getRouteSearchControllerState'
| 'setRouteSearchControllerState'
> & {
routeProps : T | null;
routeOptions: RouteOptions;
// get ref functions
getRefToRoute : () => NavigatorRouteView;
getRefToNavigator : () => NavigatorView;
getRefToNavRouteEmitter: () => NavigatorRouteViewEventEmitter;
};