@react-navigation/routers 8.0.0-alpha.6 → 8.0.0-alpha.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.
@@ -61,16 +61,34 @@ function retainRoutes(previousState, nextState) {
61
61
  }
62
62
  const retainedRouteKeySet = new Set(nextState.retainedRouteKeys);
63
63
  const nextRouteKeySet = new Set(nextState.routes.map(route => route.key));
64
- const retainedRoutes = previousState.routes.filter(route => retainedRouteKeySet.has(route.key) && !nextRouteKeySet.has(route.key));
64
+ const retainedRoutes = getActiveRoutes(previousState).filter(route => retainedRouteKeySet.has(route.key) && !nextRouteKeySet.has(route.key));
65
65
  if (!retainedRoutes.length) {
66
66
  return nextState;
67
67
  }
68
68
  const removedRetainedRouteKeys = new Set(retainedRoutes.map(route => route.key));
69
+ return getStateWithRoutes(nextState, getActiveRoutes(nextState), getPreloadedRoutes(nextState), retainedRoutes.concat(getRetainedRoutes(nextState).filter(route => !removedRetainedRouteKeys.has(route.key))));
70
+ }
71
+ const getActiveRoutes = state => state.routes.slice(0, state.index + 1);
72
+ const getInactiveRoutes = state => state.routes.slice(state.index + 1);
73
+ const getPreloadedRoutes = state => {
74
+ const retainedRouteKeySet = new Set(state.retainedRouteKeys);
75
+ return getInactiveRoutes(state).filter(route => !retainedRouteKeySet.has(route.key));
76
+ };
77
+ const getRetainedRoutes = state => {
78
+ const retainedRouteKeySet = new Set(state.retainedRouteKeys);
79
+ return getInactiveRoutes(state).filter(route => retainedRouteKeySet.has(route.key));
80
+ };
81
+ const getStateWithRoutes = (state, activeRoutes, preloadedRoutes = getPreloadedRoutes(state), retainedRoutes = getRetainedRoutes(state)) => {
82
+ const routeKeySet = new Set(activeRoutes.map(route => route.key));
83
+ const retainedRouteKeySet = new Set(state.retainedRouteKeys);
84
+ const filteredRetainedRoutes = retainedRoutes.filter(route => !routeKeySet.has(route.key));
85
+ const filteredPreloadedRoutes = preloadedRoutes.filter(route => !retainedRouteKeySet.has(route.key) && !routeKeySet.has(route.key));
69
86
  return {
70
- ...nextState,
71
- preloadedRoutes: retainedRoutes.concat(nextState.preloadedRoutes.filter(route => !removedRetainedRouteKeys.has(route.key)))
87
+ ...state,
88
+ index: activeRoutes.length - 1,
89
+ routes: activeRoutes.concat(filteredRetainedRoutes, filteredPreloadedRoutes)
72
90
  };
73
- }
91
+ };
74
92
  export function StackRouter(options) {
75
93
  const router = {
76
94
  ...BaseRouter,
@@ -86,7 +104,6 @@ export function StackRouter(options) {
86
104
  key: `stack-${nanoid()}`,
87
105
  index: 0,
88
106
  routeNames,
89
- preloadedRoutes: [],
90
107
  retainedRouteKeys: [],
91
108
  routes: [{
92
109
  key: `${initialRouteName}-${nanoid()}`,
@@ -111,15 +128,6 @@ export function StackRouter(options) {
111
128
  ...route.params
112
129
  } : route.params
113
130
  }));
114
- const preloadedRoutes = state.preloadedRoutes?.filter(route => routeNames.includes(route.name)).map(route => ({
115
- ...route,
116
- key: route.key || `${route.name}-${nanoid()}`,
117
- params: routeParamList[route.name] !== undefined ? {
118
- ...routeParamList[route.name],
119
- ...route.params
120
- } : route.params
121
- })) ?? [];
122
- const retainedRouteKeys = state.retainedRouteKeys?.filter(key => [...routes, ...preloadedRoutes].some(route => route.key === key)) ?? [];
123
131
  if (routes.length === 0) {
124
132
  const initialRouteName = options.initialRouteName !== undefined ? options.initialRouteName : routeNames[0];
125
133
  routes.push({
@@ -128,14 +136,16 @@ export function StackRouter(options) {
128
136
  params: routeParamList[initialRouteName]
129
137
  });
130
138
  }
139
+ const index = Math.min(Math.max(state.index ?? routes.length - 1, 0), routes.length - 1);
140
+ const routeKeys = new Set(routes.map(route => route.key));
141
+ const retainedRouteKeys = state.retainedRouteKeys?.filter(key => routeKeys.has(key)) ?? [];
131
142
  return {
132
143
  stale: false,
133
144
  type: 'stack',
134
145
  key: `stack-${nanoid()}`,
135
- index: routes.length - 1,
146
+ index,
136
147
  routeNames,
137
148
  routes,
138
- preloadedRoutes,
139
149
  retainedRouteKeys
140
150
  };
141
151
  },
@@ -144,8 +154,9 @@ export function StackRouter(options) {
144
154
  routeParamList,
145
155
  routeKeyChanges
146
156
  }) {
147
- const routes = state.routes.filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
148
- const preloadedRoutes = state.preloadedRoutes.filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
157
+ const routes = getActiveRoutes(state).filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
158
+ const preloadedRoutes = getPreloadedRoutes(state).filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
159
+ const retainedRoutes = getRetainedRoutes(state).filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
149
160
  if (routes.length === 0) {
150
161
  const initialRouteName = options.initialRouteName !== undefined && routeNames.includes(options.initialRouteName) ? options.initialRouteName : routeNames[0];
151
162
  routes.push({
@@ -154,36 +165,33 @@ export function StackRouter(options) {
154
165
  params: routeParamList[initialRouteName]
155
166
  });
156
167
  }
157
- const routeKeys = new Set([...routes, ...preloadedRoutes].map(route => route.key));
168
+ const routeKeys = new Set([...routes, ...preloadedRoutes, ...retainedRoutes].map(route => route.key));
158
169
  const retainedRouteKeys = state.retainedRouteKeys.filter(key => routeKeys.has(key));
159
- return {
170
+ return getStateWithRoutes({
160
171
  ...state,
161
172
  routeNames,
162
- routes,
163
- preloadedRoutes,
164
- retainedRouteKeys,
165
- index: Math.min(state.index, routes.length - 1)
166
- };
173
+ retainedRouteKeys
174
+ }, routes, preloadedRoutes, retainedRoutes);
167
175
  },
168
176
  getStateForRouteFocus(state, key) {
169
- const index = state.routes.findIndex(r => r.key === key);
177
+ const routes = getActiveRoutes(state);
178
+ const index = routes.findIndex(r => r.key === key);
170
179
  if (index === -1 || index === state.index) {
171
180
  return state;
172
181
  }
173
- return retainRoutes(state, {
174
- ...state,
175
- index,
176
- routes: state.routes.slice(0, index + 1)
177
- });
182
+ return retainRoutes(state, getStateWithRoutes(state, routes.slice(0, index + 1)));
178
183
  },
179
184
  getStateForAction(state, action, options) {
180
185
  const {
181
186
  routeParamList
182
187
  } = options;
188
+ const routes = getActiveRoutes(state);
189
+ const preloadedRoutes = getPreloadedRoutes(state);
190
+ const inactiveRoutes = getInactiveRoutes(state);
183
191
  switch (action.type) {
184
192
  case 'REPLACE':
185
193
  {
186
- const currentIndex = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
194
+ const currentIndex = action.target === state.key && action.source ? routes.findIndex(r => r.key === action.source) : state.index;
187
195
  if (currentIndex === -1) {
188
196
  return null;
189
197
  }
@@ -195,8 +203,8 @@ export function StackRouter(options) {
195
203
  params: action.payload.params
196
204
  });
197
205
 
198
- // Re-use preloaded route if available
199
- let route = state.preloadedRoutes.find(route => route.name === action.payload.name && id === getId?.({
206
+ // Re-use inactive route if available
207
+ let route = inactiveRoutes.find(route => route.name === action.payload.name && id === getId?.({
200
208
  params: route.params
201
209
  }));
202
210
  if (!route) {
@@ -205,11 +213,7 @@ export function StackRouter(options) {
205
213
  routeParamList
206
214
  });
207
215
  }
208
- return retainRoutes(state, {
209
- ...state,
210
- routes: state.routes.map((r, i) => i === currentIndex ? route : r),
211
- preloadedRoutes: state.preloadedRoutes.filter(r => r.key !== route.key)
212
- });
216
+ return retainRoutes(state, getStateWithRoutes(state, routes.map((r, i) => i === currentIndex ? route : r), preloadedRoutes.filter(r => r.key !== route.key)));
213
217
  }
214
218
  case 'PUSH':
215
219
  case 'NAVIGATE':
@@ -223,15 +227,15 @@ export function StackRouter(options) {
223
227
  });
224
228
  let route;
225
229
  if (action.type === 'NAVIGATE') {
226
- const currentRoute = state.routes[state.index];
230
+ const currentRoute = routes[state.index];
227
231
  if (id !== undefined) {
228
232
  if (currentRoute.name === action.payload.name && id === getId?.({
229
233
  params: currentRoute.params
230
234
  })) {
231
235
  route = currentRoute;
232
236
  } else if (action.payload.pop) {
233
- for (let i = state.routes.length - 1; i >= 0; i--) {
234
- const r = state.routes[i];
237
+ for (let i = routes.length - 1; i >= 0; i--) {
238
+ const r = routes[i];
235
239
  if (r.name !== action.payload.name) {
236
240
  continue;
237
241
  }
@@ -265,12 +269,12 @@ export function StackRouter(options) {
265
269
  if (action.payload.name === currentRoute.name) {
266
270
  route = currentRoute;
267
271
  } else if (action.payload.pop) {
268
- route = state.routes.findLast(route => route.name === action.payload.name);
272
+ route = routes.findLast(route => route.name === action.payload.name);
269
273
  }
270
274
  }
271
275
  }
272
276
  if (!route) {
273
- route = state.preloadedRoutes.find(route => route.name === action.payload.name && id === getId?.({
277
+ route = inactiveRoutes.find(route => route.name === action.payload.name && id === getId?.({
274
278
  params: route.params
275
279
  }));
276
280
  }
@@ -287,50 +291,52 @@ export function StackRouter(options) {
287
291
  routeParamList
288
292
  });
289
293
  }
290
- let routes;
294
+ let nextRoutes;
291
295
  if (route) {
292
296
  if (action.type === 'NAVIGATE' && action.payload.pop) {
293
- routes = [];
297
+ nextRoutes = [];
294
298
 
295
299
  // Get all routes until the matching one
296
- for (const r of state.routes) {
300
+ for (const r of routes) {
297
301
  if (r.key === route.key) {
298
- routes.push({
302
+ nextRoutes.push({
299
303
  ...route,
300
304
  path: action.payload.path !== undefined ? action.payload.path : route.path,
301
305
  params
302
306
  });
303
307
  break;
304
308
  }
305
- routes.push(r);
309
+ nextRoutes.push(r);
310
+ }
311
+ if (!nextRoutes.some(r => r.key === route.key)) {
312
+ nextRoutes.push({
313
+ ...route,
314
+ path: action.payload.path !== undefined ? action.payload.path : route.path,
315
+ params
316
+ });
306
317
  }
307
318
  } else {
308
- routes = state.routes.filter(r => r.key !== route.key);
309
- routes.push({
319
+ nextRoutes = routes.filter(r => r.key !== route.key);
320
+ nextRoutes.push({
310
321
  ...route,
311
322
  path: action.type === 'NAVIGATE' && action.payload.path !== undefined ? action.payload.path : route.path,
312
323
  params
313
324
  });
314
325
  }
315
326
  } else {
316
- routes = [...state.routes, {
327
+ nextRoutes = [...routes, {
317
328
  key: `${action.payload.name}-${nanoid()}`,
318
329
  name: action.payload.name,
319
330
  path: action.type === 'NAVIGATE' ? action.payload.path : undefined,
320
331
  params
321
332
  }];
322
333
  }
323
- return retainRoutes(state, {
324
- ...state,
325
- index: routes.length - 1,
326
- preloadedRoutes: state.preloadedRoutes.filter(route => routes[routes.length - 1].key !== route.key),
327
- routes
328
- });
334
+ return retainRoutes(state, getStateWithRoutes(state, nextRoutes, preloadedRoutes.filter(route => nextRoutes[nextRoutes.length - 1].key !== route.key)));
329
335
  }
330
336
  case 'POP':
331
337
  {
332
- let currentIndex = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
333
- let route = state.routes[currentIndex];
338
+ let currentIndex = action.target === state.key && action.source ? routes.findIndex(r => r.key === action.source) : state.index;
339
+ let route = routes[currentIndex];
334
340
 
335
341
  /**
336
342
  * When popping entries,
@@ -343,42 +349,38 @@ export function StackRouter(options) {
343
349
  */
344
350
  if (route.history?.length || currentIndex > 0) {
345
351
  let count = action.payload.count;
346
- let routes = state.routes;
352
+ let nextRoutes = routes;
347
353
  while (count > 0 && (route.history?.length || currentIndex > 0)) {
348
354
  if (route.history?.length) {
349
- routes = [...routes];
355
+ nextRoutes = [...nextRoutes];
350
356
  const end = Math.min(count, route.history.length);
351
357
  const last = route.history.at(-end);
352
358
  const history = route.history.slice(0, -end);
353
359
  const removed = route.history.length - history.length;
354
360
  count = count - removed;
355
- routes[currentIndex] = {
361
+ nextRoutes[currentIndex] = {
356
362
  ...route,
357
363
  params: last?.type === 'params' ? last.params : route.params,
358
364
  history
359
365
  };
360
366
  }
361
367
  if (currentIndex > 0 && count > 0) {
362
- const length = routes.length;
368
+ const length = nextRoutes.length;
363
369
  const end = Math.max(currentIndex - count + 1, 1);
364
- routes = routes.slice(0, end).concat(routes.slice(currentIndex + 1));
365
- const removed = length - routes.length;
370
+ nextRoutes = nextRoutes.slice(0, end).concat(nextRoutes.slice(currentIndex + 1));
371
+ const removed = length - nextRoutes.length;
366
372
  count = count - removed;
367
- currentIndex = routes.length - 1;
368
- route = routes[currentIndex];
373
+ currentIndex = nextRoutes.length - 1;
374
+ route = nextRoutes[currentIndex];
369
375
  }
370
376
  }
371
- return retainRoutes(state, {
372
- ...state,
373
- index: routes.length - 1,
374
- routes
375
- });
377
+ return retainRoutes(state, getStateWithRoutes(state, nextRoutes));
376
378
  }
377
379
  return null;
378
380
  }
379
381
  case 'POP_TO_TOP':
380
382
  {
381
- let route = state.routes[0];
383
+ let route = routes[0];
382
384
  if (state.index > 0 || route.history?.length) {
383
385
  if (route.history?.length) {
384
386
  route = {
@@ -386,17 +388,13 @@ export function StackRouter(options) {
386
388
  history: undefined
387
389
  };
388
390
  }
389
- return retainRoutes(state, {
390
- ...state,
391
- index: 0,
392
- routes: [route]
393
- });
391
+ return retainRoutes(state, getStateWithRoutes(state, [route]));
394
392
  }
395
393
  return null;
396
394
  }
397
395
  case 'POP_TO':
398
396
  {
399
- const currentIndex = action.target === state.key && action.source ? state.routes.findLastIndex(r => r.key === action.source) : state.index;
397
+ const currentIndex = action.target === state.key && action.source ? routes.findLastIndex(r => r.key === action.source) : state.index;
400
398
  if (currentIndex === -1) {
401
399
  return null;
402
400
  }
@@ -413,7 +411,7 @@ export function StackRouter(options) {
413
411
  });
414
412
  if (id !== undefined) {
415
413
  for (let i = currentIndex; i >= 0; i--) {
416
- const r = state.routes[i];
414
+ const r = routes[i];
417
415
  if (r.name !== action.payload.name) {
418
416
  continue;
419
417
  }
@@ -438,11 +436,11 @@ export function StackRouter(options) {
438
436
  }
439
437
  }
440
438
  }
441
- } else if (state.routes[currentIndex].name === action.payload.name) {
439
+ } else if (routes[currentIndex].name === action.payload.name) {
442
440
  index = currentIndex;
443
441
  } else {
444
442
  for (let i = currentIndex; i >= 0; i--) {
445
- if (state.routes[i].name === action.payload.name) {
443
+ if (routes[i].name === action.payload.name) {
446
444
  index = i;
447
445
  break;
448
446
  }
@@ -451,8 +449,8 @@ export function StackRouter(options) {
451
449
 
452
450
  // If the route doesn't exist, remove the current route and add the new one
453
451
  if (index === -1) {
454
- // Re-use preloaded route if available
455
- let route = state.preloadedRoutes.find(route => route.name === action.payload.name && id === getId?.({
452
+ // Re-use inactive route if available
453
+ let route = inactiveRoutes.find(route => route.name === action.payload.name && id === getId?.({
456
454
  params: route.params
457
455
  }));
458
456
  if (!route) {
@@ -461,15 +459,10 @@ export function StackRouter(options) {
461
459
  routeParamList
462
460
  });
463
461
  }
464
- const routes = state.routes.slice(0, currentIndex).concat(route);
465
- return retainRoutes(state, {
466
- ...state,
467
- index: routes.length - 1,
468
- routes,
469
- preloadedRoutes: state.preloadedRoutes.filter(r => r.key !== route.key)
470
- });
462
+ const nextRoutes = routes.slice(0, currentIndex).concat(route);
463
+ return retainRoutes(state, getStateWithRoutes(state, nextRoutes, preloadedRoutes.filter(r => r.key !== route.key)));
471
464
  }
472
- const route = state.routes[index];
465
+ const route = routes[index];
473
466
  let baseParams = route.params;
474
467
  let history = route.history;
475
468
  if (historyIndex !== undefined && route.history) {
@@ -489,18 +482,14 @@ export function StackRouter(options) {
489
482
  routeParamList
490
483
  });
491
484
  }
492
- return retainRoutes(state, {
493
- ...state,
494
- index,
495
- routes: [...state.routes.slice(0, index), params !== baseParams || historyIndex !== undefined ? {
496
- ...route,
497
- params,
498
- history
499
- } : state.routes[index]]
500
- });
485
+ return retainRoutes(state, getStateWithRoutes(state, [...routes.slice(0, index), params !== baseParams || historyIndex !== undefined ? {
486
+ ...route,
487
+ params,
488
+ history
489
+ } : routes[index]]));
501
490
  }
502
491
  case 'GO_BACK':
503
- if (state.index > 0 || state.routes[state.index].history?.length) {
492
+ if (state.index > 0 || routes[state.index].history?.length) {
504
493
  return router.getStateForAction(state, {
505
494
  type: 'POP',
506
495
  payload: {
@@ -513,8 +502,8 @@ export function StackRouter(options) {
513
502
  return null;
514
503
  case 'RETAIN':
515
504
  {
516
- const routeKey = action.source ?? state.routes[state.index].key;
517
- if (!state.routes.some(route => route.key === routeKey) && !state.preloadedRoutes.some(route => route.key === routeKey)) {
505
+ const routeKey = action.source ?? routes[state.index].key;
506
+ if (!state.routes.some(route => route.key === routeKey)) {
518
507
  return null;
519
508
  }
520
509
  if (action.payload.enable) {
@@ -529,11 +518,10 @@ export function StackRouter(options) {
529
518
  if (!state.retainedRouteKeys.includes(routeKey)) {
530
519
  return state;
531
520
  }
532
- return {
521
+ return getStateWithRoutes({
533
522
  ...state,
534
- preloadedRoutes: state.preloadedRoutes.filter(route => route.key !== routeKey),
535
523
  retainedRouteKeys: state.retainedRouteKeys.filter(key => key !== routeKey)
536
- };
524
+ }, routes, preloadedRoutes.filter(route => route.key !== routeKey));
537
525
  }
538
526
  case 'PRELOAD':
539
527
  {
@@ -547,53 +535,41 @@ export function StackRouter(options) {
547
535
  });
548
536
  let route;
549
537
  if (action.payload.reuse) {
550
- route = state.preloadedRoutes.findLast(route => route.name === action.payload.name && (id === undefined || id === getId?.({
538
+ route = preloadedRoutes.findLast(route => route.name === action.payload.name && (id === undefined || id === getId?.({
551
539
  params: route.params
552
540
  })));
553
541
  if (route) {
554
- return {
555
- ...state,
556
- preloadedRoutes: state.preloadedRoutes.map(r => r.key === route?.key && r.params !== params ? {
557
- ...r,
558
- params
559
- } : r)
560
- };
542
+ return getStateWithRoutes(state, routes, preloadedRoutes.map(r => r.key === route?.key && r.params !== params ? {
543
+ ...r,
544
+ params
545
+ } : r));
561
546
  }
562
547
  }
563
548
  if (id !== undefined) {
564
- route = state.routes.findLast(route => route.name === action.payload.name && id === getId?.({
549
+ route = routes.findLast(route => route.name === action.payload.name && id === getId?.({
565
550
  params: route.params
566
551
  }));
567
552
  } else if (action.payload.reuse) {
568
- route = state.routes.findLast(route => route.name === action.payload.name);
553
+ route = routes.findLast(route => route.name === action.payload.name);
569
554
  }
570
555
  if (route) {
571
- return {
572
- ...state,
573
- routes: state.routes.map(r => r.key === route.key && r.params !== params ? {
574
- ...r,
575
- params
576
- } : r)
577
- };
556
+ return getStateWithRoutes(state, routes.map(r => r.key === route.key && r.params !== params ? {
557
+ ...r,
558
+ params
559
+ } : r), preloadedRoutes);
578
560
  } else {
579
- return {
580
- ...state,
581
- preloadedRoutes: state.preloadedRoutes.filter(r => r.name !== action.payload.name || id !== getId?.({
582
- params: r.params
583
- })).concat(createRouteFromAction({
584
- action,
585
- routeParamList
586
- }))
587
- };
561
+ return getStateWithRoutes(state, routes, preloadedRoutes.filter(r => r.name !== action.payload.name || id !== getId?.({
562
+ params: r.params
563
+ })).concat(createRouteFromAction({
564
+ action,
565
+ routeParamList
566
+ })));
588
567
  }
589
568
  }
590
569
  default:
591
570
  return BaseRouter.getStateForAction(state, action);
592
571
  }
593
572
  },
594
- getRoutesFromState(state) {
595
- return [...state.routes, ...state.preloadedRoutes];
596
- },
597
573
  actionCreators: StackActions
598
574
  };
599
575
  return router;
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","createRouteFromAction","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","merge","retain","enable","retainRoutes","previousState","nextState","retainedRouteKeys","length","retainedRouteKeySet","Set","nextRouteKeySet","routes","map","route","key","retainedRoutes","filter","has","removedRetainedRouteKeys","preloadedRoutes","concat","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","index","getRehydratedState","partialState","state","some","getStateForRouteNamesChange","routeKeyChanges","routeKeys","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","currentIndex","target","source","getId","routeGetIdList","id","find","i","currentRoute","history","j","findLast","path","end","last","at","removed","max","findLastIndex","historyIndex","baseParams","routeKey","reuse","getRoutesFromState","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","createRouteFromAction","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","merge","retain","enable","retainRoutes","previousState","nextState","retainedRouteKeys","length","retainedRouteKeySet","Set","nextRouteKeySet","routes","map","route","key","retainedRoutes","getActiveRoutes","filter","has","removedRetainedRouteKeys","getStateWithRoutes","getPreloadedRoutes","concat","getRetainedRoutes","state","slice","index","getInactiveRoutes","activeRoutes","preloadedRoutes","routeKeySet","filteredRetainedRoutes","filteredPreloadedRoutes","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","getRehydratedState","partialState","Math","min","max","routeKeys","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","findIndex","r","getStateForAction","action","inactiveRoutes","currentIndex","target","source","getId","routeGetIdList","id","find","i","currentRoute","history","j","findLast","nextRoutes","path","some","end","last","at","removed","findLastIndex","historyIndex","baseParams","routeKey","reuse","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { DefaultRouterOptions, NavigationRoute, NavigationState, ParamListBase, Router } from './types';
1
+ import type { DefaultRouterOptions, NavigationState, ParamListBase, Router } from './types';
2
2
  export type StackActionType = {
3
3
  type: 'REPLACE';
4
4
  payload: {
@@ -49,15 +49,10 @@ export type StackNavigationState<ParamList extends ParamListBase> = NavigationSt
49
49
  * Type of the router, in this case, it's stack.
50
50
  */
51
51
  type: 'stack';
52
- /**
53
- * List of routes, which are supposed to be preloaded before navigating to.
54
- */
55
- preloadedRoutes: NavigationRoute<ParamList, keyof ParamList>[];
56
52
  /**
57
53
  * List of route keys to retain in the stack.
58
54
  * When a retained route gets removed from the stack,
59
- * it'll be treated as preloaded route and not completely removed
60
- * So it preserves the route and can be navigated to again.
55
+ * it'll be kept in routes and can be navigated to again.
61
56
  */
62
57
  retainedRouteKeys: string[];
63
58
  };
@@ -108,8 +103,7 @@ export type StackActionHelpers<ParamList extends ParamListBase> = {
108
103
  /**
109
104
  * Enable or disable retaining the current route in the stack.
110
105
  * When a retained route gets removed from the stack,
111
- * it'll be treated as preloaded route and not completely removed
112
- * So it preserves the route and can be navigated to again.
106
+ * it'll be kept in routes and can be navigated to again.
113
107
  *
114
108
  * @param enable Whether to retain the current route in the stack or not.
115
109
  */