@react-navigation/core 6.3.0 → 6.4.1

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.
Files changed (121) hide show
  1. package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
  2. package/lib/commonjs/CurrentRenderContext.js.map +1 -1
  3. package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
  4. package/lib/commonjs/Group.js.map +1 -1
  5. package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
  6. package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
  7. package/lib/commonjs/NavigationContext.js.map +1 -1
  8. package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
  9. package/lib/commonjs/NavigationRouteContext.js.map +1 -1
  10. package/lib/commonjs/NavigationStateContext.js.map +1 -1
  11. package/lib/commonjs/PreventRemoveContext.js.map +1 -1
  12. package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
  13. package/lib/commonjs/SceneView.js.map +1 -1
  14. package/lib/commonjs/Screen.js.map +1 -1
  15. package/lib/commonjs/StaticContainer.js.map +1 -1
  16. package/lib/commonjs/UnhandledActionContext.js.map +1 -1
  17. package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
  18. package/lib/commonjs/checkSerializable.js.map +1 -1
  19. package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
  20. package/lib/commonjs/createNavigatorFactory.js.map +1 -1
  21. package/lib/commonjs/findFocusedRoute.js.map +1 -1
  22. package/lib/commonjs/fromEntries.js.map +1 -1
  23. package/lib/commonjs/getActionFromState.js.map +1 -1
  24. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
  25. package/lib/commonjs/getPathFromState.js.map +1 -1
  26. package/lib/commonjs/getStateFromPath.js.map +1 -1
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/isArrayEqual.js.map +1 -1
  29. package/lib/commonjs/isRecordEqual.js.map +1 -1
  30. package/lib/commonjs/types.js.map +1 -1
  31. package/lib/commonjs/useChildListeners.js.map +1 -1
  32. package/lib/commonjs/useComponent.js.map +1 -1
  33. package/lib/commonjs/useCurrentRender.js.map +1 -1
  34. package/lib/commonjs/useDescriptors.js.map +1 -1
  35. package/lib/commonjs/useEventEmitter.js.map +1 -1
  36. package/lib/commonjs/useFocusEffect.js.map +1 -1
  37. package/lib/commonjs/useFocusEvents.js.map +1 -1
  38. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
  39. package/lib/commonjs/useIsFocused.js.map +1 -1
  40. package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
  41. package/lib/commonjs/useNavigation.js.map +1 -1
  42. package/lib/commonjs/useNavigationBuilder.js.map +1 -1
  43. package/lib/commonjs/useNavigationCache.js.map +1 -1
  44. package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
  45. package/lib/commonjs/useNavigationHelpers.js.map +1 -1
  46. package/lib/commonjs/useNavigationState.js.map +1 -1
  47. package/lib/commonjs/useOnAction.js.map +1 -1
  48. package/lib/commonjs/useOnGetState.js.map +1 -1
  49. package/lib/commonjs/useOnPreventRemove.js.map +1 -1
  50. package/lib/commonjs/useOnRouteFocus.js.map +1 -1
  51. package/lib/commonjs/useOptionsGetters.js.map +1 -1
  52. package/lib/commonjs/usePreventRemove.js.map +1 -1
  53. package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
  54. package/lib/commonjs/useRegisterNavigator.js.map +1 -1
  55. package/lib/commonjs/useRoute.js.map +1 -1
  56. package/lib/commonjs/useRouteCache.js.map +1 -1
  57. package/lib/commonjs/useScheduleUpdate.js.map +1 -1
  58. package/lib/commonjs/useSyncState.js.map +1 -1
  59. package/lib/commonjs/validatePathConfig.js.map +1 -1
  60. package/lib/module/BaseNavigationContainer.js.map +1 -1
  61. package/lib/module/CurrentRenderContext.js.map +1 -1
  62. package/lib/module/EnsureSingleNavigator.js.map +1 -1
  63. package/lib/module/Group.js.map +1 -1
  64. package/lib/module/NavigationBuilderContext.js.map +1 -1
  65. package/lib/module/NavigationContainerRefContext.js.map +1 -1
  66. package/lib/module/NavigationContext.js.map +1 -1
  67. package/lib/module/NavigationHelpersContext.js.map +1 -1
  68. package/lib/module/NavigationRouteContext.js.map +1 -1
  69. package/lib/module/NavigationStateContext.js.map +1 -1
  70. package/lib/module/PreventRemoveContext.js.map +1 -1
  71. package/lib/module/PreventRemoveProvider.js.map +1 -1
  72. package/lib/module/SceneView.js.map +1 -1
  73. package/lib/module/Screen.js.map +1 -1
  74. package/lib/module/StaticContainer.js.map +1 -1
  75. package/lib/module/UnhandledActionContext.js.map +1 -1
  76. package/lib/module/checkDuplicateRouteNames.js.map +1 -1
  77. package/lib/module/checkSerializable.js.map +1 -1
  78. package/lib/module/createNavigationContainerRef.js.map +1 -1
  79. package/lib/module/createNavigatorFactory.js.map +1 -1
  80. package/lib/module/findFocusedRoute.js.map +1 -1
  81. package/lib/module/fromEntries.js.map +1 -1
  82. package/lib/module/getActionFromState.js.map +1 -1
  83. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
  84. package/lib/module/getPathFromState.js.map +1 -1
  85. package/lib/module/getStateFromPath.js.map +1 -1
  86. package/lib/module/index.js.map +1 -1
  87. package/lib/module/isArrayEqual.js.map +1 -1
  88. package/lib/module/isRecordEqual.js.map +1 -1
  89. package/lib/module/types.js.map +1 -1
  90. package/lib/module/useChildListeners.js.map +1 -1
  91. package/lib/module/useComponent.js.map +1 -1
  92. package/lib/module/useCurrentRender.js.map +1 -1
  93. package/lib/module/useDescriptors.js.map +1 -1
  94. package/lib/module/useEventEmitter.js.map +1 -1
  95. package/lib/module/useFocusEffect.js.map +1 -1
  96. package/lib/module/useFocusEvents.js.map +1 -1
  97. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  98. package/lib/module/useIsFocused.js.map +1 -1
  99. package/lib/module/useKeyedChildListeners.js.map +1 -1
  100. package/lib/module/useNavigation.js.map +1 -1
  101. package/lib/module/useNavigationBuilder.js.map +1 -1
  102. package/lib/module/useNavigationCache.js.map +1 -1
  103. package/lib/module/useNavigationContainerRef.js.map +1 -1
  104. package/lib/module/useNavigationHelpers.js.map +1 -1
  105. package/lib/module/useNavigationState.js.map +1 -1
  106. package/lib/module/useOnAction.js.map +1 -1
  107. package/lib/module/useOnGetState.js.map +1 -1
  108. package/lib/module/useOnPreventRemove.js.map +1 -1
  109. package/lib/module/useOnRouteFocus.js.map +1 -1
  110. package/lib/module/useOptionsGetters.js.map +1 -1
  111. package/lib/module/usePreventRemove.js.map +1 -1
  112. package/lib/module/usePreventRemoveContext.js.map +1 -1
  113. package/lib/module/useRegisterNavigator.js.map +1 -1
  114. package/lib/module/useRoute.js.map +1 -1
  115. package/lib/module/useRouteCache.js.map +1 -1
  116. package/lib/module/useScheduleUpdate.js.map +1 -1
  117. package/lib/module/useSyncState.js.map +1 -1
  118. package/lib/module/validatePathConfig.js.map +1 -1
  119. package/package.json +7 -7
  120. package/src/BaseNavigationContainer.tsx +1 -1
  121. package/src/useNavigationBuilder.tsx +3 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["validatePathConfig.tsx"],"names":["formatToList","items","map","key","join","validatePathConfig","config","root","validKeys","push","invalidKeys","Object","keys","filter","includes","length","Error","screens","entries","forEach","_","value"],"mappings":"AAAA,MAAMA,YAAY,GAAIC,KAAD,IACnBA,KAAK,CAACC,GAAN,CAAWC,GAAD,IAAU,KAAIA,GAAI,EAA5B,EAA+BC,IAA/B,CAAoC,IAApC,CADF;;AAGA,eAAe,SAASC,kBAAT,CAA4BC,MAA5B,EAAsD;AAAA,MAAbC,IAAa,uEAAN,IAAM;AACnE,QAAMC,SAAS,GAAG,CAAC,kBAAD,EAAqB,SAArB,CAAlB;;AAEA,MAAI,CAACD,IAAL,EAAW;AACTC,IAAAA,SAAS,CAACC,IAAV,CAAe,MAAf,EAAuB,OAAvB,EAAgC,WAAhC,EAA6C,OAA7C;AACD;;AAED,QAAMC,WAAW,GAAGC,MAAM,CAACC,IAAP,CAAYN,MAAZ,EAAoBO,MAApB,CACjBV,GAAD,IAAS,CAACK,SAAS,CAACM,QAAV,CAAmBX,GAAnB,CADQ,CAApB;;AAIA,MAAIO,WAAW,CAACK,MAAhB,EAAwB;AACtB,UAAM,IAAIC,KAAJ,CACH,mDAAkDhB,YAAY,CAC7DU,WAD6D,CAE7D,qHAAoHV,YAAY,CAChIQ,SADgI,CAEhI,wHALE,CAAN;AAOD;;AAED,MAAIF,MAAM,CAACW,OAAX,EAAoB;AAClBN,IAAAA,MAAM,CAACO,OAAP,CAAeZ,MAAM,CAACW,OAAtB,EAA+BE,OAA/B,CAAuC,QAAgB;AAAA,UAAf,CAACC,CAAD,EAAIC,KAAJ,CAAe;;AACrD,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7BhB,QAAAA,kBAAkB,CAACgB,KAAD,EAAQ,KAAR,CAAlB;AACD;AACF,KAJD;AAKD;AACF","sourcesContent":["const formatToList = (items: string[]) =>\n items.map((key) => `- ${key}`).join('\\n');\n\nexport default function validatePathConfig(config: any, root = true) {\n const validKeys = ['initialRouteName', 'screens'];\n\n if (!root) {\n validKeys.push('path', 'exact', 'stringify', 'parse');\n }\n\n const invalidKeys = Object.keys(config).filter(\n (key) => !validKeys.includes(key)\n );\n\n if (invalidKeys.length) {\n throw new Error(\n `Found invalid properties in the configuration:\\n${formatToList(\n invalidKeys\n )}\\n\\nDid you forget to specify them under a 'screens' property?\\n\\nYou can only specify the following properties:\\n${formatToList(\n validKeys\n )}\\n\\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`\n );\n }\n\n if (config.screens) {\n Object.entries(config.screens).forEach(([_, value]) => {\n if (typeof value !== 'string') {\n validatePathConfig(value, false);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"names":["formatToList","items","map","key","join","validatePathConfig","config","root","validKeys","push","invalidKeys","Object","keys","filter","includes","length","Error","screens","entries","forEach","_","value"],"sources":["validatePathConfig.tsx"],"sourcesContent":["const formatToList = (items: string[]) =>\n items.map((key) => `- ${key}`).join('\\n');\n\nexport default function validatePathConfig(config: any, root = true) {\n const validKeys = ['initialRouteName', 'screens'];\n\n if (!root) {\n validKeys.push('path', 'exact', 'stringify', 'parse');\n }\n\n const invalidKeys = Object.keys(config).filter(\n (key) => !validKeys.includes(key)\n );\n\n if (invalidKeys.length) {\n throw new Error(\n `Found invalid properties in the configuration:\\n${formatToList(\n invalidKeys\n )}\\n\\nDid you forget to specify them under a 'screens' property?\\n\\nYou can only specify the following properties:\\n${formatToList(\n validKeys\n )}\\n\\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`\n );\n }\n\n if (config.screens) {\n Object.entries(config.screens).forEach(([_, value]) => {\n if (typeof value !== 'string') {\n validatePathConfig(value, false);\n }\n });\n }\n}\n"],"mappings":"AAAA,MAAMA,YAAY,GAAIC,KAAD,IACnBA,KAAK,CAACC,GAAN,CAAWC,GAAD,IAAU,KAAIA,GAAI,EAA5B,EAA+BC,IAA/B,CAAoC,IAApC,CADF;;AAGA,eAAe,SAASC,kBAAT,CAA4BC,MAA5B,EAAsD;EAAA,IAAbC,IAAa,uEAAN,IAAM;EACnE,MAAMC,SAAS,GAAG,CAAC,kBAAD,EAAqB,SAArB,CAAlB;;EAEA,IAAI,CAACD,IAAL,EAAW;IACTC,SAAS,CAACC,IAAV,CAAe,MAAf,EAAuB,OAAvB,EAAgC,WAAhC,EAA6C,OAA7C;EACD;;EAED,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAP,CAAYN,MAAZ,EAAoBO,MAApB,CACjBV,GAAD,IAAS,CAACK,SAAS,CAACM,QAAV,CAAmBX,GAAnB,CADQ,CAApB;;EAIA,IAAIO,WAAW,CAACK,MAAhB,EAAwB;IACtB,MAAM,IAAIC,KAAJ,CACH,mDAAkDhB,YAAY,CAC7DU,WAD6D,CAE7D,qHAAoHV,YAAY,CAChIQ,SADgI,CAEhI,wHALE,CAAN;EAOD;;EAED,IAAIF,MAAM,CAACW,OAAX,EAAoB;IAClBN,MAAM,CAACO,OAAP,CAAeZ,MAAM,CAACW,OAAtB,EAA+BE,OAA/B,CAAuC,QAAgB;MAAA,IAAf,CAACC,CAAD,EAAIC,KAAJ,CAAe;;MACrD,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;QAC7BhB,kBAAkB,CAACgB,KAAD,EAAQ,KAAR,CAAlB;MACD;IACF,CAJD;EAKD;AACF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/core",
3
3
  "description": "Core utilities for building navigators",
4
- "version": "6.3.0",
4
+ "version": "6.4.1",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -35,7 +35,7 @@
35
35
  "clean": "del lib"
36
36
  },
37
37
  "dependencies": {
38
- "@react-navigation/routers": "^6.1.2",
38
+ "@react-navigation/routers": "^6.1.3",
39
39
  "escape-string-regexp": "^4.0.0",
40
40
  "nanoid": "^3.1.23",
41
41
  "query-string": "^7.0.0",
@@ -43,14 +43,14 @@
43
43
  "use-latest-callback": "^0.1.5"
44
44
  },
45
45
  "devDependencies": {
46
- "@testing-library/react-native": "^7.2.0",
47
- "@types/react": "^17.0.47",
46
+ "@testing-library/react-native": "^11.5.0",
47
+ "@types/react": "~18.0.0",
48
48
  "@types/react-is": "^17.0.0",
49
49
  "del-cli": "^3.0.1",
50
50
  "immer": "^9.0.2",
51
- "react": "17.0.2",
51
+ "react": "18.0.0",
52
52
  "react-native-builder-bob": "^0.18.1",
53
- "react-test-renderer": "17.0.2",
53
+ "react-test-renderer": "18.0.0",
54
54
  "typescript": "^4.7.4"
55
55
  },
56
56
  "peerDependencies": {
@@ -70,5 +70,5 @@
70
70
  ]
71
71
  ]
72
72
  },
73
- "gitHead": "83aa392f1e13796d609c9df0afa44699ce4bacae"
73
+ "gitHead": "92f9f265d2627a3ef5b3890042d59405ff38401e"
74
74
  }
@@ -230,7 +230,7 @@ const BaseNavigationContainer = React.forwardRef(
230
230
  const lastEmittedOptionsRef = React.useRef<object | undefined>();
231
231
 
232
232
  const onOptionsChange = React.useCallback(
233
- (options) => {
233
+ (options: object) => {
234
234
  if (lastEmittedOptionsRef.current === options) {
235
235
  return;
236
236
  }
@@ -319,12 +319,13 @@ export default function useNavigationBuilder<
319
319
  }
320
320
 
321
321
  const isStateValid = React.useCallback(
322
- (state) => state.type === undefined || state.type === router.type,
322
+ (state: NavigationState | PartialState<NavigationState>) =>
323
+ state.type === undefined || state.type === router.type,
323
324
  [router.type]
324
325
  );
325
326
 
326
327
  const isStateInitialized = React.useCallback(
327
- (state) =>
328
+ (state: NavigationState | PartialState<NavigationState> | undefined) =>
328
329
  state !== undefined && state.stale === false && isStateValid(state),
329
330
  [isStateValid]
330
331
  );