@react-navigation/routers 7.5.1 → 7.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,8 @@
2
2
 
3
3
  import { nanoid } from 'nanoid/non-secure';
4
4
  import { BaseRouter } from "./BaseRouter.js";
5
+ import { createParamsFromAction } from "./createParamsFromAction.js";
6
+ import { createRouteFromAction } from "./createRouteFromAction.js";
5
7
  export const StackActions = {
6
8
  replace(name, params) {
7
9
  return {
@@ -152,27 +154,32 @@ export function StackRouter(options) {
152
154
  switch (action.type) {
153
155
  case 'REPLACE':
154
156
  {
155
- const index = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
156
- if (index === -1) {
157
+ const currentIndex = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
158
+ if (currentIndex === -1) {
157
159
  return null;
158
160
  }
159
- const {
160
- name,
161
- params
162
- } = action.payload;
163
- if (!state.routeNames.includes(name)) {
161
+ if (!state.routeNames.includes(action.payload.name)) {
164
162
  return null;
165
163
  }
164
+ const getId = options.routeGetIdList[action.payload.name];
165
+ const id = getId?.({
166
+ params: action.payload.params
167
+ });
168
+
169
+ // Re-use preloaded route if available
170
+ let route = state.preloadedRoutes.find(route => route.name === action.payload.name && id === getId?.({
171
+ params: route.params
172
+ }));
173
+ if (!route) {
174
+ route = createRouteFromAction({
175
+ action,
176
+ routeParamList
177
+ });
178
+ }
166
179
  return {
167
180
  ...state,
168
- routes: state.routes.map((route, i) => i === index ? {
169
- key: `${name}-${nanoid()}`,
170
- name,
171
- params: routeParamList[name] !== undefined ? {
172
- ...routeParamList[name],
173
- ...params
174
- } : params
175
- } : route)
181
+ routes: state.routes.map((r, i) => i === currentIndex ? route : r),
182
+ preloadedRoutes: state.preloadedRoutes.filter(r => r.key !== route.key)
176
183
  };
177
184
  }
178
185
  case 'PUSH':
@@ -213,10 +220,10 @@ export function StackRouter(options) {
213
220
  ...action.payload.params
214
221
  } : route.params;
215
222
  } else {
216
- params = routeParamList[action.payload.name] !== undefined ? {
217
- ...routeParamList[action.payload.name],
218
- ...action.payload.params
219
- } : action.payload.params;
223
+ params = createParamsFromAction({
224
+ action,
225
+ routeParamList
226
+ });
220
227
  }
221
228
  let routes;
222
229
  if (route) {
@@ -260,14 +267,14 @@ export function StackRouter(options) {
260
267
  }
261
268
  case 'NAVIGATE_DEPRECATED':
262
269
  {
270
+ if (!state.routeNames.includes(action.payload.name)) {
271
+ return null;
272
+ }
263
273
  if (state.preloadedRoutes.find(route => route.name === action.payload.name && id === getId?.({
264
274
  params: route.params
265
275
  }))) {
266
276
  return null;
267
277
  }
268
- if (!state.routeNames.includes(action.payload.name)) {
269
- return null;
270
- }
271
278
 
272
279
  // If the route already exists, navigate to that
273
280
  let index = -1;
@@ -275,29 +282,20 @@ export function StackRouter(options) {
275
282
  const id = getId?.({
276
283
  params: action.payload.params
277
284
  });
278
- if (id) {
285
+ if (id !== undefined) {
279
286
  index = state.routes.findIndex(route => route.name === action.payload.name && id === getId?.({
280
287
  params: route.params
281
288
  }));
282
289
  } else if (state.routes[state.index].name === action.payload.name) {
283
290
  index = state.index;
284
291
  } else {
285
- for (let i = state.routes.length - 1; i >= 0; i--) {
286
- if (state.routes[i].name === action.payload.name) {
287
- index = i;
288
- break;
289
- }
290
- }
292
+ index = state.routes.findLastIndex(route => route.name === action.payload.name);
291
293
  }
292
294
  if (index === -1) {
293
- const routes = [...state.routes, {
294
- key: `${action.payload.name}-${nanoid()}`,
295
- name: action.payload.name,
296
- params: routeParamList[action.payload.name] !== undefined ? {
297
- ...routeParamList[action.payload.name],
298
- ...action.payload.params
299
- } : action.payload.params
300
- }];
295
+ const routes = [...state.routes, createRouteFromAction({
296
+ action,
297
+ routeParamList
298
+ })];
301
299
  return {
302
300
  ...state,
303
301
  routes,
@@ -313,10 +311,10 @@ export function StackRouter(options) {
313
311
  ...action.payload.params
314
312
  } : route.params;
315
313
  } else {
316
- params = routeParamList[route.name] !== undefined ? {
317
- ...routeParamList[route.name],
318
- ...action.payload.params
319
- } : action.payload.params;
314
+ params = createParamsFromAction({
315
+ action,
316
+ routeParamList
317
+ });
320
318
  }
321
319
  return {
322
320
  ...state,
@@ -329,10 +327,10 @@ export function StackRouter(options) {
329
327
  }
330
328
  case 'POP':
331
329
  {
332
- const index = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
333
- if (index > 0) {
334
- const count = Math.max(index - action.payload.count + 1, 1);
335
- const routes = state.routes.slice(0, count).concat(state.routes.slice(index + 1));
330
+ const currentIndex = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
331
+ if (currentIndex > 0) {
332
+ const count = Math.max(currentIndex - action.payload.count + 1, 1);
333
+ const routes = state.routes.slice(0, count).concat(state.routes.slice(currentIndex + 1));
336
334
  return {
337
335
  ...state,
338
336
  index: routes.length - 1,
@@ -350,24 +348,28 @@ export function StackRouter(options) {
350
348
  }, options);
351
349
  case 'POP_TO':
352
350
  {
351
+ const currentIndex = action.target === state.key && action.source ? state.routes.findLastIndex(r => r.key === action.source) : state.index;
352
+ if (currentIndex === -1) {
353
+ return null;
354
+ }
353
355
  if (!state.routeNames.includes(action.payload.name)) {
354
356
  return null;
355
357
  }
356
358
 
357
- // If the route already exists, navigate to that
359
+ // If the route already exists, navigate to it
358
360
  let index = -1;
359
361
  const getId = options.routeGetIdList[action.payload.name];
360
362
  const id = getId?.({
361
363
  params: action.payload.params
362
364
  });
363
- if (id) {
365
+ if (id !== undefined) {
364
366
  index = state.routes.findIndex(route => route.name === action.payload.name && id === getId?.({
365
367
  params: route.params
366
368
  }));
367
- } else if (state.routes[state.index].name === action.payload.name) {
368
- index = state.index;
369
+ } else if (state.routes[currentIndex].name === action.payload.name) {
370
+ index = currentIndex;
369
371
  } else {
370
- for (let i = state.routes.length - 1; i >= 0; i--) {
372
+ for (let i = currentIndex; i >= 0; i--) {
371
373
  if (state.routes[i].name === action.payload.name) {
372
374
  index = i;
373
375
  break;
@@ -377,18 +379,22 @@ export function StackRouter(options) {
377
379
 
378
380
  // If the route doesn't exist, remove the current route and add the new one
379
381
  if (index === -1) {
380
- const routes = [...state.routes.slice(0, -1), {
381
- key: `${action.payload.name}-${nanoid()}`,
382
- name: action.payload.name,
383
- params: routeParamList[action.payload.name] !== undefined ? {
384
- ...routeParamList[action.payload.name],
385
- ...action.payload.params
386
- } : action.payload.params
387
- }];
382
+ // Re-use preloaded route if available
383
+ let route = state.preloadedRoutes.find(route => route.name === action.payload.name && id === getId?.({
384
+ params: route.params
385
+ }));
386
+ if (!route) {
387
+ route = createRouteFromAction({
388
+ action,
389
+ routeParamList
390
+ });
391
+ }
392
+ const routes = state.routes.slice(0, currentIndex).concat(route);
388
393
  return {
389
394
  ...state,
395
+ index: routes.length - 1,
390
396
  routes,
391
- index: routes.length - 1
397
+ preloadedRoutes: state.preloadedRoutes.filter(r => r.key !== route.key)
392
398
  };
393
399
  }
394
400
  const route = state.routes[index];
@@ -400,10 +406,10 @@ export function StackRouter(options) {
400
406
  ...action.payload.params
401
407
  } : route.params;
402
408
  } else {
403
- params = routeParamList[route.name] !== undefined ? {
404
- ...routeParamList[route.name],
405
- ...action.payload.params
406
- } : action.payload.params;
409
+ params = createParamsFromAction({
410
+ action,
411
+ routeParamList
412
+ });
407
413
  }
408
414
  return {
409
415
  ...state,
@@ -447,10 +453,10 @@ export function StackRouter(options) {
447
453
  }
448
454
  return {
449
455
  ...r,
450
- params: routeParamList[action.payload.name] !== undefined ? {
451
- ...routeParamList[action.payload.name],
452
- ...action.payload.params
453
- } : action.payload.params
456
+ params: createParamsFromAction({
457
+ action,
458
+ routeParamList
459
+ })
454
460
  };
455
461
  })
456
462
  };
@@ -459,14 +465,10 @@ export function StackRouter(options) {
459
465
  ...state,
460
466
  preloadedRoutes: state.preloadedRoutes.filter(r => r.name !== action.payload.name || id !== getId?.({
461
467
  params: r.params
462
- })).concat({
463
- key: `${action.payload.name}-${nanoid()}`,
464
- name: action.payload.name,
465
- params: routeParamList[action.payload.name] !== undefined ? {
466
- ...routeParamList[action.payload.name],
467
- ...action.payload.params
468
- } : action.payload.params
469
- })
468
+ })).concat(createRouteFromAction({
469
+ action,
470
+ routeParamList
471
+ }))
470
472
  };
471
473
  }
472
474
  }
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","BaseRouter","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","console","warn","merge","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","preloadedRoutes","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","target","source","i","getId","routeGetIdList","id","findLast","currentRoute","find","path","max","concat","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","console","warn","merge","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","preloadedRoutes","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","currentIndex","target","source","getId","routeGetIdList","id","find","i","findLast","currentRoute","path","findLastIndex","max","concat","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { nanoid } from 'nanoid/non-secure';
4
4
  import { BaseRouter } from "./BaseRouter.js";
5
+ import { createParamsFromAction } from "./createParamsFromAction.js";
5
6
  const TYPE_ROUTE = 'route';
6
7
  export const TabActions = {
7
8
  jumpTo(name, params) {
@@ -214,10 +215,10 @@ export function TabRouter({
214
215
  ...action.payload.params
215
216
  } : route.params;
216
217
  } else {
217
- params = routeParamList[route.name] !== undefined ? {
218
- ...routeParamList[route.name],
219
- ...action.payload.params
220
- } : action.payload.params;
218
+ params = createParamsFromAction({
219
+ action,
220
+ routeParamList
221
+ });
221
222
  }
222
223
  const path = action.type === 'NAVIGATE' && action.payload.path != null ? action.payload.path : route.path;
223
224
  return params !== route.params || path !== route.path ? {
@@ -300,10 +301,10 @@ export function TabRouter({
300
301
  params: action.payload.params
301
302
  });
302
303
  const key = currentId === nextId ? route.key : `${route.name}-${nanoid()}`;
303
- const params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? {
304
- ...routeParamList[route.name],
305
- ...action.payload.params
306
- } : undefined;
304
+ const params = createParamsFromAction({
305
+ action,
306
+ routeParamList
307
+ });
307
308
  const newRoute = params !== route.params ? {
308
309
  ...route,
309
310
  key,
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","BaseRouter","TYPE_ROUTE","TabActions","jumpTo","name","params","type","payload","getRouteHistory","routes","index","backBehavior","initialRouteName","history","key","initialRouteIndex","i","unshift","findIndex","route","changeIndex","state","currentRoute","filter","it","lastHistoryRouteItemIndex","findLastIndex","item","slice","concat","undefined","TabRouter","router","getInitialState","routeNames","routeParamList","includes","indexOf","map","stale","preloadedRouteKeys","getRehydratedState","partialState","find","r","Math","min","max","length","routeKeys","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","getStateForAction","action","routeGetIdList","updatedState","getId","currentId","nextId","merge","path","nextState","focusedRoute","historyItemIndex","updatedHistory","previousHistoryItem","previousKey","routeIndex","newRoute","record","actionCreators"],"sourceRoot":"../../src","sources":["TabRouter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","TYPE_ROUTE","TabActions","jumpTo","name","params","type","payload","getRouteHistory","routes","index","backBehavior","initialRouteName","history","key","initialRouteIndex","i","unshift","findIndex","route","changeIndex","state","currentRoute","filter","it","lastHistoryRouteItemIndex","findLastIndex","item","slice","concat","undefined","TabRouter","router","getInitialState","routeNames","routeParamList","includes","indexOf","map","stale","preloadedRouteKeys","getRehydratedState","partialState","find","r","Math","min","max","length","routeKeys","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","getStateForAction","action","routeGetIdList","updatedState","getId","currentId","nextId","merge","path","nextState","focusedRoute","historyItemIndex","updatedHistory","previousHistoryItem","previousKey","routeIndex","newRoute","record","actionCreators"],"sourceRoot":"../../src","sources":["TabRouter.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ export function createParamsFromAction({
4
+ action,
5
+ routeParamList
6
+ }) {
7
+ const {
8
+ name,
9
+ params
10
+ } = action.payload;
11
+ return routeParamList[name] !== undefined ? {
12
+ ...routeParamList[name],
13
+ ...params
14
+ } : params;
15
+ }
16
+ //# sourceMappingURL=createParamsFromAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createParamsFromAction","action","routeParamList","name","params","payload","undefined"],"sourceRoot":"../../src","sources":["createParamsFromAction.tsx"],"mappings":";;AAYA,OAAO,SAASA,sBAAsBA,CAAC;EAAEC,MAAM;EAAEC;AAAwB,CAAC,EAAE;EAC1E,MAAM;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAGH,MAAM,CAACI,OAAO;EAEvC,OAAOH,cAAc,CAACC,IAAI,CAAC,KAAKG,SAAS,GACrC;IACE,GAAGJ,cAAc,CAACC,IAAI,CAAC;IACvB,GAAGC;EACL,CAAC,GACDA,MAAM;AACZ","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import { nanoid } from 'nanoid/non-secure';
4
+ import { createParamsFromAction } from "./createParamsFromAction.js";
5
+ export function createRouteFromAction({
6
+ action,
7
+ routeParamList
8
+ }) {
9
+ const {
10
+ name
11
+ } = action.payload;
12
+ return {
13
+ key: `${name}-${nanoid()}`,
14
+ name,
15
+ params: createParamsFromAction({
16
+ action,
17
+ routeParamList
18
+ })
19
+ };
20
+ }
21
+ //# sourceMappingURL=createRouteFromAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nanoid","createParamsFromAction","createRouteFromAction","action","routeParamList","name","payload","key","params"],"sourceRoot":"../../src","sources":["createRouteFromAction.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAE1C,SAASC,sBAAsB,QAAQ,6BAA0B;AAajE,OAAO,SAASC,qBAAqBA,CAAC;EAAEC,MAAM;EAAEC;AAAwB,CAAC,EAAE;EACzE,MAAM;IAAEC;EAAK,CAAC,GAAGF,MAAM,CAACG,OAAO;EAE/B,OAAO;IACLC,GAAG,EAAE,GAAGF,IAAI,IAAIL,MAAM,CAAC,CAAC,EAAE;IAC1BK,IAAI;IACJG,MAAM,EAAEP,sBAAsB,CAAC;MAAEE,MAAM;MAAEC;IAAe,CAAC;EAC3D,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StackRouter.d.ts","sourceRoot":"","sources":["../../../src/StackRouter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StackRouter.d.ts","sourceRoot":"","sources":["../../../src/StackRouter.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabRouter.d.ts","sourceRoot":"","sources":["../../../src/TabRouter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,oBAAoB,EACpB,eAAe,EACf,aAAa,EAGb,MAAM,EACP,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,cAAc,GACd,OAAO,GACP,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACpD;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,aAAa,IAAI,IAAI,CACpE,eAAe,CAAC,SAAS,CAAC,EAC1B,SAAS,CACV,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IACvE;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,aAAa,IAAI;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,MAAM,SAAS,EACtC,GAAG,IAAI,EAAE,SAAS,SAAS,OAAO,GAC9B,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GAClD,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACnD,KAAK,GACR,IAAI,CAAC;CACT,CAAC;AAIF,eAAO,MAAM,UAAU;iBACR,MAAM,WAAW,MAAM;;;;;;;CAMrC,CAAC;AA6GF,wBAAgB,SAAS,CAAC,EACxB,gBAAgB,EAChB,YAA2B,GAC5B,EAAE,gBAAgB,+FA0WlB"}
1
+ {"version":3,"file":"TabRouter.d.ts","sourceRoot":"","sources":["../../../src/TabRouter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,oBAAoB,EACpB,eAAe,EACf,aAAa,EAGb,MAAM,EACP,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,cAAc,GACd,OAAO,GACP,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACpD;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,aAAa,IAAI,IAAI,CACpE,eAAe,CAAC,SAAS,CAAC,EAC1B,SAAS,CACV,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IACvE;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,aAAa,IAAI;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,MAAM,SAAS,EACtC,GAAG,IAAI,EAAE,SAAS,SAAS,OAAO,GAC9B,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GAClD,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACnD,KAAK,GACR,IAAI,CAAC;CACT,CAAC;AAIF,eAAO,MAAM,UAAU;iBACR,MAAM,WAAW,MAAM;;;;;;;CAMrC,CAAC;AA6GF,wBAAgB,SAAS,CAAC,EACxB,gBAAgB,EAChB,YAA2B,GAC5B,EAAE,gBAAgB,+FA4VlB"}
@@ -0,0 +1,13 @@
1
+ import type { ParamListBase } from './types';
2
+ type Options = {
3
+ action: {
4
+ payload: {
5
+ name: string;
6
+ params?: object;
7
+ };
8
+ };
9
+ routeParamList: ParamListBase;
10
+ };
11
+ export declare function createParamsFromAction({ action, routeParamList }: Options): object | undefined;
12
+ export {};
13
+ //# sourceMappingURL=createParamsFromAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createParamsFromAction.d.ts","sourceRoot":"","sources":["../../../src/createParamsFromAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,OAAO,GAAG;IACb,MAAM,EAAE;QACN,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,cAAc,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,OAAO,sBASzE"}
@@ -0,0 +1,17 @@
1
+ import type { ParamListBase } from './types';
2
+ type Options = {
3
+ action: {
4
+ payload: {
5
+ name: string;
6
+ params?: object;
7
+ };
8
+ };
9
+ routeParamList: ParamListBase;
10
+ };
11
+ export declare function createRouteFromAction({ action, routeParamList }: Options): {
12
+ key: string;
13
+ name: string;
14
+ params: object | undefined;
15
+ };
16
+ export {};
17
+ //# sourceMappingURL=createRouteFromAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRouteFromAction.d.ts","sourceRoot":"","sources":["../../../src/createRouteFromAction.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,OAAO,GAAG;IACb,MAAM,EAAE;QACN,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,cAAc,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,OAAO;;;;EAQxE"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/routers",
3
3
  "description": "Routers to help build custom navigators",
4
- "version": "7.5.1",
4
+ "version": "7.5.2",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -67,5 +67,5 @@
67
67
  ]
68
68
  ]
69
69
  },
70
- "gitHead": "8127603ec7e60a6c1a907cc51a497868a6925de0"
70
+ "gitHead": "c5c20929fa8370a72c40bf719e00a8118dff7a50"
71
71
  }
@@ -1,6 +1,8 @@
1
1
  import { nanoid } from 'nanoid/non-secure';
2
2
 
3
3
  import { BaseRouter } from './BaseRouter';
4
+ import { createParamsFromAction } from './createParamsFromAction';
5
+ import { createRouteFromAction } from './createRouteFromAction';
4
6
  import type {
5
7
  CommonNavigationAction,
6
8
  DefaultRouterOptions,
@@ -311,37 +313,40 @@ export function StackRouter(options: StackRouterOptions) {
311
313
 
312
314
  switch (action.type) {
313
315
  case 'REPLACE': {
314
- const index =
316
+ const currentIndex =
315
317
  action.target === state.key && action.source
316
318
  ? state.routes.findIndex((r) => r.key === action.source)
317
319
  : state.index;
318
320
 
319
- if (index === -1) {
321
+ if (currentIndex === -1) {
320
322
  return null;
321
323
  }
322
324
 
323
- const { name, params } = action.payload;
324
-
325
- if (!state.routeNames.includes(name)) {
325
+ if (!state.routeNames.includes(action.payload.name)) {
326
326
  return null;
327
327
  }
328
328
 
329
+ const getId = options.routeGetIdList[action.payload.name];
330
+ const id = getId?.({ params: action.payload.params });
331
+
332
+ // Re-use preloaded route if available
333
+ let route = state.preloadedRoutes.find(
334
+ (route) =>
335
+ route.name === action.payload.name &&
336
+ id === getId?.({ params: route.params })
337
+ );
338
+
339
+ if (!route) {
340
+ route = createRouteFromAction({ action, routeParamList });
341
+ }
342
+
329
343
  return {
330
344
  ...state,
331
- routes: state.routes.map((route, i) =>
332
- i === index
333
- ? {
334
- key: `${name}-${nanoid()}`,
335
- name,
336
- params:
337
- routeParamList[name] !== undefined
338
- ? {
339
- ...routeParamList[name],
340
- ...params,
341
- }
342
- : params,
343
- }
344
- : route
345
+ routes: state.routes.map((r, i) =>
346
+ i === currentIndex ? route : r
347
+ ),
348
+ preloadedRoutes: state.preloadedRoutes.filter(
349
+ (r) => r.key !== route.key
345
350
  ),
346
351
  };
347
352
  }
@@ -397,13 +402,7 @@ export function StackRouter(options: StackRouterOptions) {
397
402
  }
398
403
  : route.params;
399
404
  } else {
400
- params =
401
- routeParamList[action.payload.name] !== undefined
402
- ? {
403
- ...routeParamList[action.payload.name],
404
- ...action.payload.params,
405
- }
406
- : action.payload.params;
405
+ params = createParamsFromAction({ action, routeParamList });
407
406
  }
408
407
 
409
408
  let routes: Route<string>[];
@@ -464,6 +463,10 @@ export function StackRouter(options: StackRouterOptions) {
464
463
  }
465
464
 
466
465
  case 'NAVIGATE_DEPRECATED': {
466
+ if (!state.routeNames.includes(action.payload.name)) {
467
+ return null;
468
+ }
469
+
467
470
  if (
468
471
  state.preloadedRoutes.find(
469
472
  (route) =>
@@ -473,9 +476,6 @@ export function StackRouter(options: StackRouterOptions) {
473
476
  ) {
474
477
  return null;
475
478
  }
476
- if (!state.routeNames.includes(action.payload.name)) {
477
- return null;
478
- }
479
479
 
480
480
  // If the route already exists, navigate to that
481
481
  let index = -1;
@@ -483,7 +483,7 @@ export function StackRouter(options: StackRouterOptions) {
483
483
  const getId = options.routeGetIdList[action.payload.name];
484
484
  const id = getId?.({ params: action.payload.params });
485
485
 
486
- if (id) {
486
+ if (id !== undefined) {
487
487
  index = state.routes.findIndex(
488
488
  (route) =>
489
489
  route.name === action.payload.name &&
@@ -492,28 +492,15 @@ export function StackRouter(options: StackRouterOptions) {
492
492
  } else if (state.routes[state.index].name === action.payload.name) {
493
493
  index = state.index;
494
494
  } else {
495
- for (let i = state.routes.length - 1; i >= 0; i--) {
496
- if (state.routes[i].name === action.payload.name) {
497
- index = i;
498
- break;
499
- }
500
- }
495
+ index = state.routes.findLastIndex(
496
+ (route) => route.name === action.payload.name
497
+ );
501
498
  }
502
499
 
503
500
  if (index === -1) {
504
501
  const routes = [
505
502
  ...state.routes,
506
- {
507
- key: `${action.payload.name}-${nanoid()}`,
508
- name: action.payload.name,
509
- params:
510
- routeParamList[action.payload.name] !== undefined
511
- ? {
512
- ...routeParamList[action.payload.name],
513
- ...action.payload.params,
514
- }
515
- : action.payload.params,
516
- },
503
+ createRouteFromAction({ action, routeParamList }),
517
504
  ];
518
505
 
519
506
  return {
@@ -538,13 +525,7 @@ export function StackRouter(options: StackRouterOptions) {
538
525
  }
539
526
  : route.params;
540
527
  } else {
541
- params =
542
- routeParamList[route.name] !== undefined
543
- ? {
544
- ...routeParamList[route.name],
545
- ...action.payload.params,
546
- }
547
- : action.payload.params;
528
+ params = createParamsFromAction({ action, routeParamList });
548
529
  }
549
530
 
550
531
  return {
@@ -560,16 +541,16 @@ export function StackRouter(options: StackRouterOptions) {
560
541
  }
561
542
 
562
543
  case 'POP': {
563
- const index =
544
+ const currentIndex =
564
545
  action.target === state.key && action.source
565
546
  ? state.routes.findIndex((r) => r.key === action.source)
566
547
  : state.index;
567
548
 
568
- if (index > 0) {
569
- const count = Math.max(index - action.payload.count + 1, 1);
549
+ if (currentIndex > 0) {
550
+ const count = Math.max(currentIndex - action.payload.count + 1, 1);
570
551
  const routes = state.routes
571
552
  .slice(0, count)
572
- .concat(state.routes.slice(index + 1));
553
+ .concat(state.routes.slice(currentIndex + 1));
573
554
 
574
555
  return {
575
556
  ...state,
@@ -592,26 +573,35 @@ export function StackRouter(options: StackRouterOptions) {
592
573
  );
593
574
 
594
575
  case 'POP_TO': {
576
+ const currentIndex =
577
+ action.target === state.key && action.source
578
+ ? state.routes.findLastIndex((r) => r.key === action.source)
579
+ : state.index;
580
+
581
+ if (currentIndex === -1) {
582
+ return null;
583
+ }
584
+
595
585
  if (!state.routeNames.includes(action.payload.name)) {
596
586
  return null;
597
587
  }
598
588
 
599
- // If the route already exists, navigate to that
589
+ // If the route already exists, navigate to it
600
590
  let index = -1;
601
591
 
602
592
  const getId = options.routeGetIdList[action.payload.name];
603
593
  const id = getId?.({ params: action.payload.params });
604
594
 
605
- if (id) {
595
+ if (id !== undefined) {
606
596
  index = state.routes.findIndex(
607
597
  (route) =>
608
598
  route.name === action.payload.name &&
609
599
  id === getId?.({ params: route.params })
610
600
  );
611
- } else if (state.routes[state.index].name === action.payload.name) {
612
- index = state.index;
601
+ } else if (state.routes[currentIndex].name === action.payload.name) {
602
+ index = currentIndex;
613
603
  } else {
614
- for (let i = state.routes.length - 1; i >= 0; i--) {
604
+ for (let i = currentIndex; i >= 0; i--) {
615
605
  if (state.routes[i].name === action.payload.name) {
616
606
  index = i;
617
607
  break;
@@ -621,25 +611,26 @@ export function StackRouter(options: StackRouterOptions) {
621
611
 
622
612
  // If the route doesn't exist, remove the current route and add the new one
623
613
  if (index === -1) {
624
- const routes = [
625
- ...state.routes.slice(0, -1),
626
- {
627
- key: `${action.payload.name}-${nanoid()}`,
628
- name: action.payload.name,
629
- params:
630
- routeParamList[action.payload.name] !== undefined
631
- ? {
632
- ...routeParamList[action.payload.name],
633
- ...action.payload.params,
634
- }
635
- : action.payload.params,
636
- },
637
- ];
614
+ // Re-use preloaded route if available
615
+ let route = state.preloadedRoutes.find(
616
+ (route) =>
617
+ route.name === action.payload.name &&
618
+ id === getId?.({ params: route.params })
619
+ );
620
+
621
+ if (!route) {
622
+ route = createRouteFromAction({ action, routeParamList });
623
+ }
624
+
625
+ const routes = state.routes.slice(0, currentIndex).concat(route);
638
626
 
639
627
  return {
640
628
  ...state,
641
- routes,
642
629
  index: routes.length - 1,
630
+ routes,
631
+ preloadedRoutes: state.preloadedRoutes.filter(
632
+ (r) => r.key !== route.key
633
+ ),
643
634
  };
644
635
  }
645
636
 
@@ -658,13 +649,7 @@ export function StackRouter(options: StackRouterOptions) {
658
649
  }
659
650
  : route.params;
660
651
  } else {
661
- params =
662
- routeParamList[route.name] !== undefined
663
- ? {
664
- ...routeParamList[route.name],
665
- ...action.payload.params,
666
- }
667
- : action.payload.params;
652
+ params = createParamsFromAction({ action, routeParamList });
668
653
  }
669
654
 
670
655
  return {
@@ -718,13 +703,7 @@ export function StackRouter(options: StackRouterOptions) {
718
703
  }
719
704
  return {
720
705
  ...r,
721
- params:
722
- routeParamList[action.payload.name] !== undefined
723
- ? {
724
- ...routeParamList[action.payload.name],
725
- ...action.payload.params,
726
- }
727
- : action.payload.params,
706
+ params: createParamsFromAction({ action, routeParamList }),
728
707
  };
729
708
  }),
730
709
  };
@@ -737,17 +716,7 @@ export function StackRouter(options: StackRouterOptions) {
737
716
  r.name !== action.payload.name ||
738
717
  id !== getId?.({ params: r.params })
739
718
  )
740
- .concat({
741
- key: `${action.payload.name}-${nanoid()}`,
742
- name: action.payload.name,
743
- params:
744
- routeParamList[action.payload.name] !== undefined
745
- ? {
746
- ...routeParamList[action.payload.name],
747
- ...action.payload.params,
748
- }
749
- : action.payload.params,
750
- }),
719
+ .concat(createRouteFromAction({ action, routeParamList })),
751
720
  };
752
721
  }
753
722
  }
package/src/TabRouter.tsx CHANGED
@@ -1,6 +1,7 @@
1
1
  import { nanoid } from 'nanoid/non-secure';
2
2
 
3
3
  import { BaseRouter } from './BaseRouter';
4
+ import { createParamsFromAction } from './createParamsFromAction';
4
5
  import type {
5
6
  CommonNavigationAction,
6
7
  DefaultRouterOptions,
@@ -397,13 +398,7 @@ export function TabRouter({
397
398
  }
398
399
  : route.params;
399
400
  } else {
400
- params =
401
- routeParamList[route.name] !== undefined
402
- ? {
403
- ...routeParamList[route.name],
404
- ...action.payload.params,
405
- }
406
- : action.payload.params;
401
+ params = createParamsFromAction({ action, routeParamList });
407
402
  }
408
403
 
409
404
  const path =
@@ -520,15 +515,7 @@ export function TabRouter({
520
515
  const key =
521
516
  currentId === nextId ? route.key : `${route.name}-${nanoid()}`;
522
517
 
523
- const params =
524
- action.payload.params !== undefined ||
525
- routeParamList[route.name] !== undefined
526
- ? {
527
- ...routeParamList[route.name],
528
- ...action.payload.params,
529
- }
530
- : undefined;
531
-
518
+ const params = createParamsFromAction({ action, routeParamList });
532
519
  const newRoute =
533
520
  params !== route.params ? { ...route, key, params } : route;
534
521
 
@@ -0,0 +1,22 @@
1
+ import type { ParamListBase } from './types';
2
+
3
+ type Options = {
4
+ action: {
5
+ payload: {
6
+ name: string;
7
+ params?: object;
8
+ };
9
+ };
10
+ routeParamList: ParamListBase;
11
+ };
12
+
13
+ export function createParamsFromAction({ action, routeParamList }: Options) {
14
+ const { name, params } = action.payload;
15
+
16
+ return routeParamList[name] !== undefined
17
+ ? {
18
+ ...routeParamList[name],
19
+ ...params,
20
+ }
21
+ : params;
22
+ }
@@ -0,0 +1,24 @@
1
+ import { nanoid } from 'nanoid/non-secure';
2
+
3
+ import { createParamsFromAction } from './createParamsFromAction';
4
+ import type { ParamListBase } from './types';
5
+
6
+ type Options = {
7
+ action: {
8
+ payload: {
9
+ name: string;
10
+ params?: object;
11
+ };
12
+ };
13
+ routeParamList: ParamListBase;
14
+ };
15
+
16
+ export function createRouteFromAction({ action, routeParamList }: Options) {
17
+ const { name } = action.payload;
18
+
19
+ return {
20
+ key: `${name}-${nanoid()}`,
21
+ name,
22
+ params: createParamsFromAction({ action, routeParamList }),
23
+ };
24
+ }