@react-navigation/routers 6.1.5 → 6.1.7
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/commonjs/BaseRouter.js +10 -17
- package/lib/commonjs/BaseRouter.js.map +1 -1
- package/lib/commonjs/CommonActions.js +0 -6
- package/lib/commonjs/CommonActions.js.map +1 -1
- package/lib/commonjs/DrawerRouter.js +12 -45
- package/lib/commonjs/DrawerRouter.js.map +1 -1
- package/lib/commonjs/StackRouter.js +40 -73
- package/lib/commonjs/StackRouter.js.map +1 -1
- package/lib/commonjs/TabRouter.js +37 -61
- package/lib/commonjs/TabRouter.js.map +1 -1
- package/lib/commonjs/index.js +0 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/BaseRouter.js +10 -16
- package/lib/module/BaseRouter.js.map +1 -1
- package/lib/module/CommonActions.js +0 -2
- package/lib/module/CommonActions.js.map +1 -1
- package/lib/module/DrawerRouter.js +12 -39
- package/lib/module/DrawerRouter.js.map +1 -1
- package/lib/module/StackRouter.js +40 -68
- package/lib/module/StackRouter.js.map +1 -1
- package/lib/module/TabRouter.js +37 -57
- package/lib/module/TabRouter.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/BaseRouter.d.ts +1 -0
- package/lib/typescript/src/BaseRouter.d.ts.map +1 -0
- package/lib/typescript/src/CommonActions.d.ts +1 -0
- package/lib/typescript/src/CommonActions.d.ts.map +1 -0
- package/lib/typescript/src/DrawerRouter.d.ts +1 -0
- package/lib/typescript/src/DrawerRouter.d.ts.map +1 -0
- package/lib/typescript/src/StackRouter.d.ts +1 -0
- package/lib/typescript/src/StackRouter.d.ts.map +1 -0
- package/lib/typescript/src/TabRouter.d.ts +1 -0
- package/lib/typescript/src/TabRouter.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +1 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/TabRouter.tsx +17 -3
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import { nanoid } from 'nanoid/non-secure';
|
|
2
2
|
import TabRouter, { TabActions } from './TabRouter';
|
|
3
|
-
export const DrawerActions = {
|
|
4
|
-
|
|
3
|
+
export const DrawerActions = {
|
|
4
|
+
...TabActions,
|
|
5
5
|
openDrawer() {
|
|
6
6
|
return {
|
|
7
7
|
type: 'OPEN_DRAWER'
|
|
8
8
|
};
|
|
9
9
|
},
|
|
10
|
-
|
|
11
10
|
closeDrawer() {
|
|
12
11
|
return {
|
|
13
12
|
type: 'CLOSE_DRAWER'
|
|
14
13
|
};
|
|
15
14
|
},
|
|
16
|
-
|
|
17
15
|
toggleDrawer() {
|
|
18
16
|
return {
|
|
19
17
|
type: 'TOGGLE_DRAWER'
|
|
20
18
|
};
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
};
|
|
24
21
|
export default function DrawerRouter(_ref) {
|
|
25
22
|
let {
|
|
@@ -27,55 +24,46 @@ export default function DrawerRouter(_ref) {
|
|
|
27
24
|
...rest
|
|
28
25
|
} = _ref;
|
|
29
26
|
const router = TabRouter(rest);
|
|
30
|
-
|
|
31
27
|
const isDrawerInHistory = state => {
|
|
32
28
|
var _state$history;
|
|
33
|
-
|
|
34
29
|
return Boolean((_state$history = state.history) === null || _state$history === void 0 ? void 0 : _state$history.some(it => it.type === 'drawer'));
|
|
35
30
|
};
|
|
36
|
-
|
|
37
31
|
const addDrawerToHistory = state => {
|
|
38
32
|
if (isDrawerInHistory(state)) {
|
|
39
33
|
return state;
|
|
40
34
|
}
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
return {
|
|
36
|
+
...state,
|
|
43
37
|
history: [...state.history, {
|
|
44
38
|
type: 'drawer',
|
|
45
39
|
status: defaultStatus === 'open' ? 'closed' : 'open'
|
|
46
40
|
}]
|
|
47
41
|
};
|
|
48
42
|
};
|
|
49
|
-
|
|
50
43
|
const removeDrawerFromHistory = state => {
|
|
51
44
|
if (!isDrawerInHistory(state)) {
|
|
52
45
|
return state;
|
|
53
46
|
}
|
|
54
|
-
|
|
55
|
-
|
|
47
|
+
return {
|
|
48
|
+
...state,
|
|
56
49
|
history: state.history.filter(it => it.type !== 'drawer')
|
|
57
50
|
};
|
|
58
51
|
};
|
|
59
|
-
|
|
60
52
|
const openDrawer = state => {
|
|
61
53
|
if (defaultStatus === 'open') {
|
|
62
54
|
return removeDrawerFromHistory(state);
|
|
63
55
|
}
|
|
64
|
-
|
|
65
56
|
return addDrawerToHistory(state);
|
|
66
57
|
};
|
|
67
|
-
|
|
68
58
|
const closeDrawer = state => {
|
|
69
59
|
if (defaultStatus === 'open') {
|
|
70
60
|
return addDrawerToHistory(state);
|
|
71
61
|
}
|
|
72
|
-
|
|
73
62
|
return removeDrawerFromHistory(state);
|
|
74
63
|
};
|
|
75
|
-
|
|
76
|
-
|
|
64
|
+
return {
|
|
65
|
+
...router,
|
|
77
66
|
type: 'drawer',
|
|
78
|
-
|
|
79
67
|
getInitialState(_ref2) {
|
|
80
68
|
let {
|
|
81
69
|
routeNames,
|
|
@@ -87,88 +75,73 @@ export default function DrawerRouter(_ref) {
|
|
|
87
75
|
routeParamList,
|
|
88
76
|
routeGetIdList
|
|
89
77
|
});
|
|
90
|
-
return {
|
|
78
|
+
return {
|
|
79
|
+
...state,
|
|
91
80
|
default: defaultStatus,
|
|
92
81
|
stale: false,
|
|
93
82
|
type: 'drawer',
|
|
94
83
|
key: `drawer-${nanoid()}`
|
|
95
84
|
};
|
|
96
85
|
},
|
|
97
|
-
|
|
98
86
|
getRehydratedState(partialState, _ref3) {
|
|
99
87
|
let {
|
|
100
88
|
routeNames,
|
|
101
89
|
routeParamList,
|
|
102
90
|
routeGetIdList
|
|
103
91
|
} = _ref3;
|
|
104
|
-
|
|
105
92
|
if (partialState.stale === false) {
|
|
106
93
|
return partialState;
|
|
107
94
|
}
|
|
108
|
-
|
|
109
95
|
let state = router.getRehydratedState(partialState, {
|
|
110
96
|
routeNames,
|
|
111
97
|
routeParamList,
|
|
112
98
|
routeGetIdList
|
|
113
99
|
});
|
|
114
|
-
|
|
115
100
|
if (isDrawerInHistory(partialState)) {
|
|
116
101
|
// Re-sync the drawer entry in history to correct it if it was wrong
|
|
117
102
|
state = removeDrawerFromHistory(state);
|
|
118
103
|
state = addDrawerToHistory(state);
|
|
119
104
|
}
|
|
120
|
-
|
|
121
|
-
|
|
105
|
+
return {
|
|
106
|
+
...state,
|
|
122
107
|
default: defaultStatus,
|
|
123
108
|
type: 'drawer',
|
|
124
109
|
key: `drawer-${nanoid()}`
|
|
125
110
|
};
|
|
126
111
|
},
|
|
127
|
-
|
|
128
112
|
getStateForRouteFocus(state, key) {
|
|
129
113
|
const result = router.getStateForRouteFocus(state, key);
|
|
130
114
|
return closeDrawer(result);
|
|
131
115
|
},
|
|
132
|
-
|
|
133
116
|
getStateForAction(state, action, options) {
|
|
134
117
|
switch (action.type) {
|
|
135
118
|
case 'OPEN_DRAWER':
|
|
136
119
|
return openDrawer(state);
|
|
137
|
-
|
|
138
120
|
case 'CLOSE_DRAWER':
|
|
139
121
|
return closeDrawer(state);
|
|
140
|
-
|
|
141
122
|
case 'TOGGLE_DRAWER':
|
|
142
123
|
if (isDrawerInHistory(state)) {
|
|
143
124
|
return removeDrawerFromHistory(state);
|
|
144
125
|
}
|
|
145
|
-
|
|
146
126
|
return addDrawerToHistory(state);
|
|
147
|
-
|
|
148
127
|
case 'JUMP_TO':
|
|
149
128
|
case 'NAVIGATE':
|
|
150
129
|
{
|
|
151
130
|
const result = router.getStateForAction(state, action, options);
|
|
152
|
-
|
|
153
131
|
if (result != null && result.index !== state.index) {
|
|
154
132
|
return closeDrawer(result);
|
|
155
133
|
}
|
|
156
|
-
|
|
157
134
|
return result;
|
|
158
135
|
}
|
|
159
|
-
|
|
160
136
|
case 'GO_BACK':
|
|
161
137
|
if (isDrawerInHistory(state)) {
|
|
162
138
|
return removeDrawerFromHistory(state);
|
|
163
139
|
}
|
|
164
|
-
|
|
165
140
|
return router.getStateForAction(state, action, options);
|
|
166
|
-
|
|
167
141
|
default:
|
|
168
142
|
return router.getStateForAction(state, action, options);
|
|
169
143
|
}
|
|
170
144
|
},
|
|
171
|
-
|
|
172
145
|
actionCreators: DrawerActions
|
|
173
146
|
};
|
|
174
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nanoid","TabRouter","TabActions","DrawerActions","openDrawer","type","closeDrawer","toggleDrawer","DrawerRouter","defaultStatus","rest","router","isDrawerInHistory","state","Boolean","history","some","it","addDrawerToHistory","status","removeDrawerFromHistory","filter","getInitialState","routeNames","routeParamList","routeGetIdList","default","stale","key","getRehydratedState","partialState","getStateForRouteFocus","result","getStateForAction","action","options","index","actionCreators"],"
|
|
1
|
+
{"version":3,"names":["nanoid","TabRouter","TabActions","DrawerActions","openDrawer","type","closeDrawer","toggleDrawer","DrawerRouter","defaultStatus","rest","router","isDrawerInHistory","state","Boolean","history","some","it","addDrawerToHistory","status","removeDrawerFromHistory","filter","getInitialState","routeNames","routeParamList","routeGetIdList","default","stale","key","getRehydratedState","partialState","getStateForRouteFocus","result","getStateForAction","action","options","index","actionCreators"],"sourceRoot":"../../src","sources":["DrawerRouter.tsx"],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ export const StackActions = {
|
|
|
10
10
|
}
|
|
11
11
|
};
|
|
12
12
|
},
|
|
13
|
-
|
|
14
13
|
push(name, params) {
|
|
15
14
|
return {
|
|
16
15
|
type: 'PUSH',
|
|
@@ -20,7 +19,6 @@ export const StackActions = {
|
|
|
20
19
|
}
|
|
21
20
|
};
|
|
22
21
|
},
|
|
23
|
-
|
|
24
22
|
pop() {
|
|
25
23
|
let count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
26
24
|
return {
|
|
@@ -30,18 +28,16 @@ export const StackActions = {
|
|
|
30
28
|
}
|
|
31
29
|
};
|
|
32
30
|
},
|
|
33
|
-
|
|
34
31
|
popToTop() {
|
|
35
32
|
return {
|
|
36
33
|
type: 'POP_TO_TOP'
|
|
37
34
|
};
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
};
|
|
41
37
|
export default function StackRouter(options) {
|
|
42
|
-
const router = {
|
|
38
|
+
const router = {
|
|
39
|
+
...BaseRouter,
|
|
43
40
|
type: 'stack',
|
|
44
|
-
|
|
45
41
|
getInitialState(_ref) {
|
|
46
42
|
let {
|
|
47
43
|
routeNames,
|
|
@@ -61,25 +57,23 @@ export default function StackRouter(options) {
|
|
|
61
57
|
}]
|
|
62
58
|
};
|
|
63
59
|
},
|
|
64
|
-
|
|
65
60
|
getRehydratedState(partialState, _ref2) {
|
|
66
61
|
let {
|
|
67
62
|
routeNames,
|
|
68
63
|
routeParamList
|
|
69
64
|
} = _ref2;
|
|
70
65
|
let state = partialState;
|
|
71
|
-
|
|
72
66
|
if (state.stale === false) {
|
|
73
67
|
return state;
|
|
74
68
|
}
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
const routes = state.routes.filter(route => routeNames.includes(route.name)).map(route => ({
|
|
70
|
+
...route,
|
|
77
71
|
key: route.key || `${route.name}-${nanoid()}`,
|
|
78
|
-
params: routeParamList[route.name] !== undefined ? {
|
|
72
|
+
params: routeParamList[route.name] !== undefined ? {
|
|
73
|
+
...routeParamList[route.name],
|
|
79
74
|
...route.params
|
|
80
75
|
} : route.params
|
|
81
76
|
}));
|
|
82
|
-
|
|
83
77
|
if (routes.length === 0) {
|
|
84
78
|
const initialRouteName = options.initialRouteName !== undefined ? options.initialRouteName : routeNames[0];
|
|
85
79
|
routes.push({
|
|
@@ -88,7 +82,6 @@ export default function StackRouter(options) {
|
|
|
88
82
|
params: routeParamList[initialRouteName]
|
|
89
83
|
});
|
|
90
84
|
}
|
|
91
|
-
|
|
92
85
|
return {
|
|
93
86
|
stale: false,
|
|
94
87
|
type: 'stack',
|
|
@@ -98,7 +91,6 @@ export default function StackRouter(options) {
|
|
|
98
91
|
routes
|
|
99
92
|
};
|
|
100
93
|
},
|
|
101
|
-
|
|
102
94
|
getStateForRouteNamesChange(state, _ref3) {
|
|
103
95
|
let {
|
|
104
96
|
routeNames,
|
|
@@ -106,7 +98,6 @@ export default function StackRouter(options) {
|
|
|
106
98
|
routeKeyChanges
|
|
107
99
|
} = _ref3;
|
|
108
100
|
const routes = state.routes.filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
|
|
109
|
-
|
|
110
101
|
if (routes.length === 0) {
|
|
111
102
|
const initialRouteName = options.initialRouteName !== undefined && routeNames.includes(options.initialRouteName) ? options.initialRouteName : routeNames[0];
|
|
112
103
|
routes.push({
|
|
@@ -115,62 +106,55 @@ export default function StackRouter(options) {
|
|
|
115
106
|
params: routeParamList[initialRouteName]
|
|
116
107
|
});
|
|
117
108
|
}
|
|
118
|
-
|
|
119
|
-
|
|
109
|
+
return {
|
|
110
|
+
...state,
|
|
120
111
|
routeNames,
|
|
121
112
|
routes,
|
|
122
113
|
index: Math.min(state.index, routes.length - 1)
|
|
123
114
|
};
|
|
124
115
|
},
|
|
125
|
-
|
|
126
116
|
getStateForRouteFocus(state, key) {
|
|
127
117
|
const index = state.routes.findIndex(r => r.key === key);
|
|
128
|
-
|
|
129
118
|
if (index === -1 || index === state.index) {
|
|
130
119
|
return state;
|
|
131
120
|
}
|
|
132
|
-
|
|
133
|
-
|
|
121
|
+
return {
|
|
122
|
+
...state,
|
|
134
123
|
index,
|
|
135
124
|
routes: state.routes.slice(0, index + 1)
|
|
136
125
|
};
|
|
137
126
|
},
|
|
138
|
-
|
|
139
127
|
getStateForAction(state, action, options) {
|
|
140
128
|
const {
|
|
141
129
|
routeParamList
|
|
142
130
|
} = options;
|
|
143
|
-
|
|
144
131
|
switch (action.type) {
|
|
145
132
|
case 'REPLACE':
|
|
146
133
|
{
|
|
147
134
|
const index = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
|
|
148
|
-
|
|
149
135
|
if (index === -1) {
|
|
150
136
|
return null;
|
|
151
137
|
}
|
|
152
|
-
|
|
153
138
|
const {
|
|
154
139
|
name,
|
|
155
140
|
key,
|
|
156
141
|
params
|
|
157
142
|
} = action.payload;
|
|
158
|
-
|
|
159
143
|
if (!state.routeNames.includes(name)) {
|
|
160
144
|
return null;
|
|
161
145
|
}
|
|
162
|
-
|
|
163
|
-
|
|
146
|
+
return {
|
|
147
|
+
...state,
|
|
164
148
|
routes: state.routes.map((route, i) => i === index ? {
|
|
165
149
|
key: key !== undefined ? key : `${name}-${nanoid()}`,
|
|
166
150
|
name,
|
|
167
|
-
params: routeParamList[name] !== undefined ? {
|
|
151
|
+
params: routeParamList[name] !== undefined ? {
|
|
152
|
+
...routeParamList[name],
|
|
168
153
|
...params
|
|
169
154
|
} : params
|
|
170
155
|
} : route)
|
|
171
156
|
};
|
|
172
157
|
}
|
|
173
|
-
|
|
174
158
|
case 'PUSH':
|
|
175
159
|
if (state.routeNames.includes(action.payload.name)) {
|
|
176
160
|
const getId = options.routeGetIdList[action.payload.name];
|
|
@@ -181,11 +165,12 @@ export default function StackRouter(options) {
|
|
|
181
165
|
params: route.params
|
|
182
166
|
}))) : undefined;
|
|
183
167
|
let routes;
|
|
184
|
-
|
|
185
168
|
if (route) {
|
|
186
169
|
routes = state.routes.filter(r => r.key !== route.key);
|
|
187
|
-
routes.push({
|
|
188
|
-
|
|
170
|
+
routes.push({
|
|
171
|
+
...route,
|
|
172
|
+
params: routeParamList[action.payload.name] !== undefined ? {
|
|
173
|
+
...routeParamList[action.payload.name],
|
|
189
174
|
...action.payload.params
|
|
190
175
|
} : action.payload.params
|
|
191
176
|
});
|
|
@@ -193,36 +178,33 @@ export default function StackRouter(options) {
|
|
|
193
178
|
routes = [...state.routes, {
|
|
194
179
|
key: `${action.payload.name}-${nanoid()}`,
|
|
195
180
|
name: action.payload.name,
|
|
196
|
-
params: routeParamList[action.payload.name] !== undefined ? {
|
|
181
|
+
params: routeParamList[action.payload.name] !== undefined ? {
|
|
182
|
+
...routeParamList[action.payload.name],
|
|
197
183
|
...action.payload.params
|
|
198
184
|
} : action.payload.params
|
|
199
185
|
}];
|
|
200
186
|
}
|
|
201
|
-
|
|
202
|
-
|
|
187
|
+
return {
|
|
188
|
+
...state,
|
|
203
189
|
index: routes.length - 1,
|
|
204
190
|
routes
|
|
205
191
|
};
|
|
206
192
|
}
|
|
207
|
-
|
|
208
193
|
return null;
|
|
209
|
-
|
|
210
194
|
case 'POP':
|
|
211
195
|
{
|
|
212
196
|
const index = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
|
|
213
|
-
|
|
214
197
|
if (index > 0) {
|
|
215
198
|
const count = Math.max(index - action.payload.count + 1, 1);
|
|
216
199
|
const routes = state.routes.slice(0, count).concat(state.routes.slice(index + 1));
|
|
217
|
-
return {
|
|
200
|
+
return {
|
|
201
|
+
...state,
|
|
218
202
|
index: routes.length - 1,
|
|
219
203
|
routes
|
|
220
204
|
};
|
|
221
205
|
}
|
|
222
|
-
|
|
223
206
|
return null;
|
|
224
207
|
}
|
|
225
|
-
|
|
226
208
|
case 'POP_TO_TOP':
|
|
227
209
|
return router.getStateForAction(state, {
|
|
228
210
|
type: 'POP',
|
|
@@ -230,23 +212,19 @@ export default function StackRouter(options) {
|
|
|
230
212
|
count: state.routes.length - 1
|
|
231
213
|
}
|
|
232
214
|
}, options);
|
|
233
|
-
|
|
234
215
|
case 'NAVIGATE':
|
|
235
216
|
if (action.payload.name !== undefined && !state.routeNames.includes(action.payload.name)) {
|
|
236
217
|
return null;
|
|
237
218
|
}
|
|
238
|
-
|
|
239
219
|
if (action.payload.key || action.payload.name) {
|
|
240
|
-
var _action$payload$path;
|
|
241
|
-
|
|
242
220
|
// If the route already exists, navigate to that
|
|
243
221
|
let index = -1;
|
|
244
|
-
const getId =
|
|
222
|
+
const getId =
|
|
223
|
+
// `getId` and `key` can't be used together
|
|
245
224
|
action.payload.key === undefined && action.payload.name !== undefined ? options.routeGetIdList[action.payload.name] : undefined;
|
|
246
225
|
const id = getId === null || getId === void 0 ? void 0 : getId({
|
|
247
226
|
params: action.payload.params
|
|
248
227
|
});
|
|
249
|
-
|
|
250
228
|
if (id) {
|
|
251
229
|
index = state.routes.findIndex(route => route.name === action.payload.name && id === (getId === null || getId === void 0 ? void 0 : getId({
|
|
252
230
|
params: route.params
|
|
@@ -261,53 +239,50 @@ export default function StackRouter(options) {
|
|
|
261
239
|
}
|
|
262
240
|
}
|
|
263
241
|
}
|
|
264
|
-
|
|
265
242
|
if (index === -1 && action.payload.key && action.payload.name === undefined) {
|
|
266
243
|
return null;
|
|
267
244
|
}
|
|
268
|
-
|
|
269
245
|
if (index === -1 && action.payload.name !== undefined) {
|
|
270
|
-
var _action$payload$key;
|
|
271
|
-
|
|
272
246
|
const routes = [...state.routes, {
|
|
273
|
-
key:
|
|
247
|
+
key: action.payload.key ?? `${action.payload.name}-${nanoid()}`,
|
|
274
248
|
name: action.payload.name,
|
|
275
249
|
path: action.payload.path,
|
|
276
|
-
params: routeParamList[action.payload.name] !== undefined ? {
|
|
250
|
+
params: routeParamList[action.payload.name] !== undefined ? {
|
|
251
|
+
...routeParamList[action.payload.name],
|
|
277
252
|
...action.payload.params
|
|
278
253
|
} : action.payload.params
|
|
279
254
|
}];
|
|
280
|
-
return {
|
|
255
|
+
return {
|
|
256
|
+
...state,
|
|
281
257
|
routes,
|
|
282
258
|
index: routes.length - 1
|
|
283
259
|
};
|
|
284
260
|
}
|
|
285
|
-
|
|
286
261
|
const route = state.routes[index];
|
|
287
262
|
let params;
|
|
288
|
-
|
|
289
263
|
if (action.payload.merge) {
|
|
290
|
-
params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? {
|
|
264
|
+
params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? {
|
|
265
|
+
...routeParamList[route.name],
|
|
291
266
|
...route.params,
|
|
292
267
|
...action.payload.params
|
|
293
268
|
} : route.params;
|
|
294
269
|
} else {
|
|
295
|
-
params = routeParamList[route.name] !== undefined ? {
|
|
270
|
+
params = routeParamList[route.name] !== undefined ? {
|
|
271
|
+
...routeParamList[route.name],
|
|
296
272
|
...action.payload.params
|
|
297
273
|
} : action.payload.params;
|
|
298
274
|
}
|
|
299
|
-
|
|
300
|
-
|
|
275
|
+
return {
|
|
276
|
+
...state,
|
|
301
277
|
index,
|
|
302
|
-
routes: [...state.routes.slice(0, index), params !== route.params || action.payload.path && action.payload.path !== route.path ? {
|
|
303
|
-
|
|
278
|
+
routes: [...state.routes.slice(0, index), params !== route.params || action.payload.path && action.payload.path !== route.path ? {
|
|
279
|
+
...route,
|
|
280
|
+
path: action.payload.path ?? route.path,
|
|
304
281
|
params
|
|
305
282
|
} : state.routes[index]]
|
|
306
283
|
};
|
|
307
284
|
}
|
|
308
|
-
|
|
309
285
|
return null;
|
|
310
|
-
|
|
311
286
|
case 'GO_BACK':
|
|
312
287
|
if (state.index > 0) {
|
|
313
288
|
return router.getStateForAction(state, {
|
|
@@ -319,14 +294,11 @@ export default function StackRouter(options) {
|
|
|
319
294
|
source: action.source
|
|
320
295
|
}, options);
|
|
321
296
|
}
|
|
322
|
-
|
|
323
297
|
return null;
|
|
324
|
-
|
|
325
298
|
default:
|
|
326
299
|
return BaseRouter.getStateForAction(state, action);
|
|
327
300
|
}
|
|
328
301
|
},
|
|
329
|
-
|
|
330
302
|
actionCreators: StackActions
|
|
331
303
|
};
|
|
332
304
|
return router;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nanoid","BaseRouter","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","StackRouter","options","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","target","source","i","getId","routeGetIdList","id","find","max","concat","path","merge","actionCreators"],"sources":["StackRouter.tsx"],"sourcesContent":["import { nanoid } from 'nanoid/non-secure';\n\nimport BaseRouter from './BaseRouter';\nimport type {\n CommonNavigationAction,\n DefaultRouterOptions,\n NavigationState,\n ParamListBase,\n Route,\n Router,\n} from './types';\n\nexport type StackActionType =\n | {\n type: 'REPLACE';\n payload: { name: string; key?: string | undefined; params?: object };\n source?: string;\n target?: string;\n }\n | {\n type: 'PUSH';\n payload: { name: string; params?: object };\n source?: string;\n target?: string;\n }\n | {\n type: 'POP';\n payload: { count: number };\n source?: string;\n target?: string;\n }\n | {\n type: 'POP_TO_TOP';\n source?: string;\n target?: string;\n };\n\nexport type StackRouterOptions = DefaultRouterOptions;\n\nexport type StackNavigationState<ParamList extends ParamListBase> =\n NavigationState<ParamList> & {\n /**\n * Type of the router, in this case, it's stack.\n */\n type: 'stack';\n };\n\nexport type StackActionHelpers<ParamList extends ParamListBase> = {\n /**\n * Replace the current route with a new one.\n *\n * @param name Route name of the new route.\n * @param [params] Params object for the new route.\n */\n replace<RouteName extends keyof ParamList>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Push a new screen onto the stack.\n *\n * @param name Name of the route for the tab.\n * @param [params] Params object for the route.\n */\n push<RouteName extends keyof ParamList>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Pop a screen from the stack.\n */\n pop(count?: number): void;\n\n /**\n * Pop to the first route in the stack, dismissing all other screens.\n */\n popToTop(): void;\n};\n\nexport const StackActions = {\n replace(name: string, params?: object): StackActionType {\n return { type: 'REPLACE', payload: { name, params } };\n },\n push(name: string, params?: object): StackActionType {\n return { type: 'PUSH', payload: { name, params } };\n },\n pop(count: number = 1): StackActionType {\n return { type: 'POP', payload: { count } };\n },\n popToTop(): StackActionType {\n return { type: 'POP_TO_TOP' };\n },\n};\n\nexport default function StackRouter(options: StackRouterOptions) {\n const router: Router<\n StackNavigationState<ParamListBase>,\n CommonNavigationAction | StackActionType\n > = {\n ...BaseRouter,\n\n type: 'stack',\n\n getInitialState({ routeNames, routeParamList }) {\n const initialRouteName =\n options.initialRouteName !== undefined &&\n routeNames.includes(options.initialRouteName)\n ? options.initialRouteName\n : routeNames[0];\n\n return {\n stale: false,\n type: 'stack',\n key: `stack-${nanoid()}`,\n index: 0,\n routeNames,\n routes: [\n {\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n },\n ],\n };\n },\n\n getRehydratedState(partialState, { routeNames, routeParamList }) {\n let state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n const routes = state.routes\n .filter((route) => routeNames.includes(route.name))\n .map(\n (route) =>\n ({\n ...route,\n key: route.key || `${route.name}-${nanoid()}`,\n params:\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n }\n : route.params,\n } as Route<string>)\n );\n\n if (routes.length === 0) {\n const initialRouteName =\n options.initialRouteName !== undefined\n ? options.initialRouteName\n : routeNames[0];\n\n routes.push({\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n });\n }\n\n return {\n stale: false,\n type: 'stack',\n key: `stack-${nanoid()}`,\n index: routes.length - 1,\n routeNames,\n routes,\n };\n },\n\n getStateForRouteNamesChange(\n state,\n { routeNames, routeParamList, routeKeyChanges }\n ) {\n const routes = state.routes.filter(\n (route) =>\n routeNames.includes(route.name) &&\n !routeKeyChanges.includes(route.name)\n );\n\n if (routes.length === 0) {\n const initialRouteName =\n options.initialRouteName !== undefined &&\n routeNames.includes(options.initialRouteName)\n ? options.initialRouteName\n : routeNames[0];\n\n routes.push({\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n });\n }\n\n return {\n ...state,\n routeNames,\n routes,\n index: Math.min(state.index, routes.length - 1),\n };\n },\n\n getStateForRouteFocus(state, key) {\n const index = state.routes.findIndex((r) => r.key === key);\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return {\n ...state,\n index,\n routes: state.routes.slice(0, index + 1),\n };\n },\n\n getStateForAction(state, action, options) {\n const { routeParamList } = options;\n\n switch (action.type) {\n case 'REPLACE': {\n const index =\n action.target === state.key && action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n const { name, key, params } = action.payload;\n\n if (!state.routeNames.includes(name)) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((route, i) =>\n i === index\n ? {\n key: key !== undefined ? key : `${name}-${nanoid()}`,\n name,\n params:\n routeParamList[name] !== undefined\n ? {\n ...routeParamList[name],\n ...params,\n }\n : params,\n }\n : route\n ),\n };\n }\n\n case 'PUSH':\n if (state.routeNames.includes(action.payload.name)) {\n const getId = options.routeGetIdList[action.payload.name];\n const id = getId?.({ params: action.payload.params });\n\n const route = id\n ? state.routes.find(\n (route) =>\n route.name === action.payload.name &&\n id === getId?.({ params: route.params })\n )\n : undefined;\n\n let routes: Route<string>[];\n\n if (route) {\n routes = state.routes.filter((r) => r.key !== route.key);\n routes.push({\n ...route,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n });\n } else {\n routes = [\n ...state.routes,\n {\n key: `${action.payload.name}-${nanoid()}`,\n name: action.payload.name,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n },\n ];\n }\n\n return {\n ...state,\n index: routes.length - 1,\n routes,\n };\n }\n\n return null;\n\n case 'POP': {\n const index =\n action.target === state.key && action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index > 0) {\n const count = Math.max(index - action.payload.count + 1, 1);\n const routes = state.routes\n .slice(0, count)\n .concat(state.routes.slice(index + 1));\n\n return {\n ...state,\n index: routes.length - 1,\n routes,\n };\n }\n\n return null;\n }\n\n case 'POP_TO_TOP':\n return router.getStateForAction(\n state,\n {\n type: 'POP',\n payload: { count: state.routes.length - 1 },\n },\n options\n );\n\n case 'NAVIGATE':\n if (\n action.payload.name !== undefined &&\n !state.routeNames.includes(action.payload.name)\n ) {\n return null;\n }\n\n if (action.payload.key || action.payload.name) {\n // If the route already exists, navigate to that\n let index = -1;\n\n const getId =\n // `getId` and `key` can't be used together\n action.payload.key === undefined &&\n action.payload.name !== undefined\n ? options.routeGetIdList[action.payload.name]\n : undefined;\n const id = getId?.({ params: action.payload.params });\n\n if (id) {\n index = state.routes.findIndex(\n (route) =>\n route.name === action.payload.name &&\n id === getId?.({ params: route.params })\n );\n } else if (\n (state.routes[state.index].name === action.payload.name &&\n action.payload.key === undefined) ||\n state.routes[state.index].key === action.payload.key\n ) {\n index = state.index;\n } else {\n for (let i = state.routes.length - 1; i >= 0; i--) {\n if (\n (state.routes[i].name === action.payload.name &&\n action.payload.key === undefined) ||\n state.routes[i].key === action.payload.key\n ) {\n index = i;\n break;\n }\n }\n }\n\n if (\n index === -1 &&\n action.payload.key &&\n action.payload.name === undefined\n ) {\n return null;\n }\n\n if (index === -1 && action.payload.name !== undefined) {\n const routes = [\n ...state.routes,\n {\n key:\n action.payload.key ?? `${action.payload.name}-${nanoid()}`,\n name: action.payload.name,\n path: action.payload.path,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n },\n ];\n\n return {\n ...state,\n routes,\n index: routes.length - 1,\n };\n }\n\n const route = state.routes[index];\n\n let params;\n\n if (action.payload.merge) {\n params =\n action.payload.params !== undefined ||\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n ...action.payload.params,\n }\n : route.params;\n } else {\n params =\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...action.payload.params,\n }\n : action.payload.params;\n }\n\n return {\n ...state,\n index,\n routes: [\n ...state.routes.slice(0, index),\n params !== route.params ||\n (action.payload.path && action.payload.path !== route.path)\n ? {\n ...route,\n path: action.payload.path ?? route.path,\n params,\n }\n : state.routes[index],\n ],\n };\n }\n\n return null;\n\n case 'GO_BACK':\n if (state.index > 0) {\n return router.getStateForAction(\n state,\n {\n type: 'POP',\n payload: { count: 1 },\n target: action.target,\n source: action.source,\n },\n options\n );\n }\n\n return null;\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n\n actionCreators: StackActions,\n };\n\n return router;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["nanoid","BaseRouter","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","StackRouter","options","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","target","source","i","getId","routeGetIdList","id","find","max","concat","path","merge","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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"}
|