@amazon-devices/react-navigation__routers 8.0.9000000000 → 8.0.9000000001

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.
@@ -1 +1,10 @@
1
1
  node_modules/nanoid_3.3.11/non-secure/index.js:f9dacdfad56c8f57acc2
2
+ node_modules/@babel/runtime_7.28.4/helpers/interopRequireDefault.js:277a84013d7e1a1ace05
3
+ node_modules/@babel/runtime_7.28.4/helpers/toConsumableArray.js:838d7a057beeb5db50df
4
+ node_modules/@babel/runtime_7.28.4/helpers/arrayWithoutHoles.js:a425fd4fe3cf47759e99
5
+ node_modules/@babel/runtime_7.28.4/helpers/arrayLikeToArray.js:378be3062418cfac9327
6
+ node_modules/@babel/runtime_7.28.4/helpers/iterableToArray.js:67d028b72bb61755baea
7
+ node_modules/@babel/runtime_7.28.4/helpers/unsupportedIterableToArray.js:e7044bb724c5bd68e2cc
8
+ node_modules/@babel/runtime_7.28.4/helpers/nonIterableSpread.js:b4810fa44dd496b7d9f5
9
+ node_modules/@babel/runtime_7.28.4/helpers/objectWithoutProperties.js:a2c8e692f78bae5b8b98
10
+ node_modules/@babel/runtime_7.28.4/helpers/objectWithoutPropertiesLoose.js:5927789db7c756c318ed
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "versions": {
3
3
  "8.0.0": "/com.amazon.kepler.navigation__routers_8@INavigation__Routers_0",
4
- "8.0.9000000000": "/com.amazon.kepler.navigation__routers_8@INavigation__Routers_0"
4
+ "8.0.9000000000": "/com.amazon.kepler.navigation__routers_8@INavigation__Routers_0",
5
+ "8.0.9000000001": "/com.amazon.kepler.navigation__routers_8@INavigation__Routers_0"
5
6
  }
6
- }
7
+ }
@@ -194,15 +194,17 @@ export function StackRouter(options) {
194
194
  });
195
195
  let route;
196
196
  if (id !== undefined) {
197
- route = state.routes.find(route => route.name === action.payload.name && id === getId?.({
197
+ route = state.routes.findLast(route => route.name === action.payload.name && id === getId?.({
198
198
  params: route.params
199
199
  }));
200
- } else {
200
+ } else if (action.type === 'NAVIGATE') {
201
201
  const currentRoute = state.routes[state.index];
202
202
 
203
203
  // If the route matches the current one, then navigate to it
204
- if (action.type === 'NAVIGATE' && action.payload.name === currentRoute.name) {
204
+ if (action.payload.name === currentRoute.name) {
205
205
  route = currentRoute;
206
+ } else if (action.payload.pop) {
207
+ route = state.routes.findLast(route => route.name === action.payload.name);
206
208
  }
207
209
  }
208
210
  if (!route) {
@@ -225,13 +227,29 @@ export function StackRouter(options) {
225
227
  }
226
228
  let routes;
227
229
  if (route) {
228
- const routeKey = route.key;
229
- routes = state.routes.filter(r => r.key !== routeKey);
230
- routes.push({
231
- ...route,
232
- path: action.type === 'NAVIGATE' && action.payload.path !== undefined ? action.payload.path : route.path,
233
- params
234
- });
230
+ if (action.type === 'NAVIGATE' && action.payload.pop) {
231
+ routes = [];
232
+
233
+ // Get all routes until the matching one
234
+ for (const r of state.routes) {
235
+ if (r.key === route.key) {
236
+ routes.push({
237
+ ...route,
238
+ path: action.payload.path !== undefined ? action.payload.path : route.path,
239
+ params
240
+ });
241
+ break;
242
+ }
243
+ routes.push(r);
244
+ }
245
+ } else {
246
+ routes = state.routes.filter(r => r.key !== route.key);
247
+ routes.push({
248
+ ...route,
249
+ path: action.type === 'NAVIGATE' && action.payload.path !== undefined ? action.payload.path : route.path,
250
+ params
251
+ });
252
+ }
235
253
  } else {
236
254
  routes = [...state.routes, {
237
255
  key: `${action.payload.name}-${nanoid()}`,
@@ -1 +1 @@
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","currentRoute","routeKey","path","findLastIndex","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":[]}
@@ -51,21 +51,17 @@ export type StackActionHelpers<ParamList extends ParamListBase> = {
51
51
  /**
52
52
  * Replace the current route with a new one.
53
53
  *
54
- * @param name Name of the new route.
54
+ * @param screen Name of the new route that will replace the current one.
55
55
  * @param [params] Params object for the new route.
56
56
  */
57
- replace<RouteName extends keyof ParamList>(...args: {
58
- [Screen in keyof ParamList]: undefined extends ParamList[Screen] ? [screen: Screen] | [screen: Screen, params: ParamList[Screen]] : [screen: Screen, params: ParamList[Screen]];
59
- }[RouteName]): void;
57
+ replace<RouteName extends keyof ParamList>(...args: RouteName extends unknown ? undefined extends ParamList[RouteName] ? [screen: RouteName, params?: ParamList[RouteName]] : [screen: RouteName, params: ParamList[RouteName]] : never): void;
60
58
  /**
61
59
  * Push a new screen onto the stack.
62
60
  *
63
- * @param name Name of the route to push onto the stack.
61
+ * @param screen Name of the route to push onto the stack.
64
62
  * @param [params] Params object for the route.
65
63
  */
66
- push<RouteName extends keyof ParamList>(...args: {
67
- [Screen in keyof ParamList]: undefined extends ParamList[Screen] ? [screen: Screen] | [screen: Screen, params: ParamList[Screen]] : [screen: Screen, params: ParamList[Screen]];
68
- }[RouteName]): void;
64
+ push<RouteName extends keyof ParamList>(...args: RouteName extends unknown ? undefined extends ParamList[RouteName] ? [screen: RouteName, params?: ParamList[RouteName]] : [screen: RouteName, params: ParamList[RouteName]] : never): void;
69
65
  /**
70
66
  * Pop a screen from the stack.
71
67
  */
@@ -78,13 +74,23 @@ export type StackActionHelpers<ParamList extends ParamListBase> = {
78
74
  * Pop any screens to go back to the specified screen.
79
75
  * If the specified screen doesn't exist, it'll be added to the stack.
80
76
  *
81
- * @param name Name of the route to navigate to.
77
+ * @param screen Name of the route to pop to.
82
78
  * @param [params] Params object for the route.
83
- * @param [merge] Whether to merge the params onto the route.
79
+ * @param [options.merge] Whether to merge the params onto the route. Defaults to `false`.
84
80
  */
85
- popTo<RouteName extends keyof ParamList>(...args: {
86
- [Screen in keyof ParamList]: undefined extends ParamList[Screen] ? [screen: Screen] | [screen: Screen, params: ParamList[Screen]] | [screen: Screen, params: ParamList[Screen], merge: boolean] : [screen: Screen, params: ParamList[Screen]] | [screen: Screen, params: ParamList[Screen], merge: boolean];
87
- }[RouteName]): void;
81
+ popTo<RouteName extends keyof ParamList>(...args: RouteName extends unknown ? undefined extends ParamList[RouteName] ? [
82
+ screen: RouteName,
83
+ params?: ParamList[RouteName],
84
+ options?: {
85
+ merge?: boolean;
86
+ }
87
+ ] : [
88
+ screen: RouteName,
89
+ params: ParamList[RouteName],
90
+ options?: {
91
+ merge?: boolean;
92
+ }
93
+ ] : never): void;
88
94
  };
89
95
  export declare const StackActions: {
90
96
  replace(name: string, params?: object): {
@@ -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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"}
File without changes
@@ -0,0 +1 @@
1
+ {}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@amazon-devices/react-navigation__routers", "description": "Routers to help build custom navigators", "version": "8.0.9000000000+7.5.2", "keywords": ["react", "react-native", "react-navigation"], "license": "See license in LICENSE", "repository": {"type": "git", "url": "https://github.com/react-navigation/react-navigation.git", "directory": "packages/routers"}, "bugs": {"url": "https://github.com/react-navigation/react-navigation/issues"}, "homepage": "https://reactnavigation.org/docs/custom-routers/", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", "exports": {".": {"source": "./src/index.tsx", "types": "./lib/typescript/src/index.d.ts", "default": "./lib/module/index.js"}, "./package.json": "./package.json"}, "files": ["src", "lib", "!**/__tests__", "kepler-compatibility.json", "SystemModules", "SystemBundles", "kepler-transformed-package-info.json"], "sideEffects": false, "kepler": {"temporary-alias-for-package": {"name": "@react-navigation__routers", "version": "7.1.2"}}, "publishConfig": {"access": "public"}, "scripts": {"clean": "del lib"}, "dependencies": {"nanoid": "^3.3.11"}, "devDependencies": {"@jest/globals": "^30.0.0", "del-cli": "^6.0.0", "react-native-builder-bob": "^0.40.12", "typescript": "^5.8.3"}, "react-native-builder-bob": {"source": "src", "output": "lib", "targets": [["module", {"esm": true}], ["typescript", {"project": "tsconfig.build.json"}]]}}
1
+ {"name": "@amazon-devices/react-navigation__routers", "description": "Routers to help build custom navigators", "version": "8.0.9000000001+7.5.2", "keywords": ["react", "react-native", "react-navigation"], "license": "See license in LICENSE", "repository": {"type": "git", "url": "https://github.com/react-navigation/react-navigation.git", "directory": "packages/routers"}, "bugs": {"url": "https://github.com/react-navigation/react-navigation/issues"}, "homepage": "https://reactnavigation.org/docs/custom-routers/", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", "exports": {".": {"source": "./src/index.tsx", "types": "./lib/typescript/src/index.d.ts", "default": "./lib/module/index.js"}, "./package.json": "./package.json"}, "files": ["src", "lib", "!**/__tests__", "kepler-compatibility.json", "SystemModules", "SystemBundles", "oss-attribution", "kepler-transformed-package-info.json"], "sideEffects": false, "kepler": {"temporary-alias-for-package": {"name": "@react-navigation__routers", "version": "7.1.2"}}, "publishConfig": {"access": "public"}, "scripts": {"clean": "del lib"}, "dependencies": {"nanoid": "^3.3.11"}, "devDependencies": {"@jest/globals": "^30.0.0", "del-cli": "^6.0.0", "react-native-builder-bob": "^0.40.12", "typescript": "^5.8.3"}, "react-native-builder-bob": {"source": "src", "output": "lib", "targets": [["module", {"esm": true}], ["typescript", {"project": "tsconfig.build.json"}]]}}
@@ -66,29 +66,29 @@ export type StackActionHelpers<ParamList extends ParamListBase> = {
66
66
  /**
67
67
  * Replace the current route with a new one.
68
68
  *
69
- * @param name Name of the new route.
69
+ * @param screen Name of the new route that will replace the current one.
70
70
  * @param [params] Params object for the new route.
71
71
  */
72
72
  replace<RouteName extends keyof ParamList>(
73
- ...args: {
74
- [Screen in keyof ParamList]: undefined extends ParamList[Screen]
75
- ? [screen: Screen] | [screen: Screen, params: ParamList[Screen]]
76
- : [screen: Screen, params: ParamList[Screen]];
77
- }[RouteName]
73
+ ...args: RouteName extends unknown
74
+ ? undefined extends ParamList[RouteName]
75
+ ? [screen: RouteName, params?: ParamList[RouteName]]
76
+ : [screen: RouteName, params: ParamList[RouteName]]
77
+ : never
78
78
  ): void;
79
79
 
80
80
  /**
81
81
  * Push a new screen onto the stack.
82
82
  *
83
- * @param name Name of the route to push onto the stack.
83
+ * @param screen Name of the route to push onto the stack.
84
84
  * @param [params] Params object for the route.
85
85
  */
86
86
  push<RouteName extends keyof ParamList>(
87
- ...args: {
88
- [Screen in keyof ParamList]: undefined extends ParamList[Screen]
89
- ? [screen: Screen] | [screen: Screen, params: ParamList[Screen]]
90
- : [screen: Screen, params: ParamList[Screen]];
91
- }[RouteName]
87
+ ...args: RouteName extends unknown
88
+ ? undefined extends ParamList[RouteName]
89
+ ? [screen: RouteName, params?: ParamList[RouteName]]
90
+ : [screen: RouteName, params: ParamList[RouteName]]
91
+ : never
92
92
  ): void;
93
93
 
94
94
  /**
@@ -105,21 +105,24 @@ export type StackActionHelpers<ParamList extends ParamListBase> = {
105
105
  * Pop any screens to go back to the specified screen.
106
106
  * If the specified screen doesn't exist, it'll be added to the stack.
107
107
  *
108
- * @param name Name of the route to navigate to.
108
+ * @param screen Name of the route to pop to.
109
109
  * @param [params] Params object for the route.
110
- * @param [merge] Whether to merge the params onto the route.
110
+ * @param [options.merge] Whether to merge the params onto the route. Defaults to `false`.
111
111
  */
112
112
  popTo<RouteName extends keyof ParamList>(
113
- ...args: {
114
- [Screen in keyof ParamList]: undefined extends ParamList[Screen]
115
- ?
116
- | [screen: Screen]
117
- | [screen: Screen, params: ParamList[Screen]]
118
- | [screen: Screen, params: ParamList[Screen], merge: boolean]
119
- :
120
- | [screen: Screen, params: ParamList[Screen]]
121
- | [screen: Screen, params: ParamList[Screen], merge: boolean];
122
- }[RouteName]
113
+ ...args: RouteName extends unknown
114
+ ? undefined extends ParamList[RouteName]
115
+ ? [
116
+ screen: RouteName,
117
+ params?: ParamList[RouteName],
118
+ options?: { merge?: boolean },
119
+ ]
120
+ : [
121
+ screen: RouteName,
122
+ params: ParamList[RouteName],
123
+ options?: { merge?: boolean },
124
+ ]
125
+ : never
123
126
  ): void;
124
127
  };
125
128
 
@@ -360,20 +363,21 @@ export function StackRouter(options: StackRouterOptions) {
360
363
  let route: Route<string> | undefined;
361
364
 
362
365
  if (id !== undefined) {
363
- route = state.routes.find(
366
+ route = state.routes.findLast(
364
367
  (route) =>
365
368
  route.name === action.payload.name &&
366
369
  id === getId?.({ params: route.params })
367
370
  );
368
- } else {
371
+ } else if (action.type === 'NAVIGATE') {
369
372
  const currentRoute = state.routes[state.index];
370
373
 
371
374
  // If the route matches the current one, then navigate to it
372
- if (
373
- action.type === 'NAVIGATE' &&
374
- action.payload.name === currentRoute.name
375
- ) {
375
+ if (action.payload.name === currentRoute.name) {
376
376
  route = currentRoute;
377
+ } else if (action.payload.pop) {
378
+ route = state.routes.findLast(
379
+ (route) => route.name === action.payload.name
380
+ );
377
381
  }
378
382
  }
379
383
 
@@ -404,17 +408,37 @@ export function StackRouter(options: StackRouterOptions) {
404
408
  let routes: Route<string>[];
405
409
 
406
410
  if (route) {
407
- const routeKey = route.key;
408
-
409
- routes = state.routes.filter((r) => r.key !== routeKey);
410
- routes.push({
411
- ...route,
412
- path:
413
- action.type === 'NAVIGATE' && action.payload.path !== undefined
414
- ? action.payload.path
415
- : route.path,
416
- params,
417
- });
411
+ if (action.type === 'NAVIGATE' && action.payload.pop) {
412
+ routes = [];
413
+
414
+ // Get all routes until the matching one
415
+ for (const r of state.routes) {
416
+ if (r.key === route.key) {
417
+ routes.push({
418
+ ...route,
419
+ path:
420
+ action.payload.path !== undefined
421
+ ? action.payload.path
422
+ : route.path,
423
+ params,
424
+ });
425
+ break;
426
+ }
427
+
428
+ routes.push(r);
429
+ }
430
+ } else {
431
+ routes = state.routes.filter((r) => r.key !== route.key);
432
+ routes.push({
433
+ ...route,
434
+ path:
435
+ action.type === 'NAVIGATE' &&
436
+ action.payload.path !== undefined
437
+ ? action.payload.path
438
+ : route.path,
439
+ params,
440
+ });
441
+ }
418
442
  } else {
419
443
  routes = [
420
444
  ...state.routes,