@react-navigation/core 6.4.3 → 6.4.5

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 (351) hide show
  1. package/lib/commonjs/BaseNavigationContainer.js +17 -69
  2. package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
  3. package/lib/commonjs/CurrentRenderContext.js +0 -4
  4. package/lib/commonjs/CurrentRenderContext.js.map +1 -1
  5. package/lib/commonjs/EnsureSingleNavigator.js +1 -12
  6. package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
  7. package/lib/commonjs/Group.js +0 -1
  8. package/lib/commonjs/Group.js.map +1 -1
  9. package/lib/commonjs/NavigationBuilderContext.js +0 -4
  10. package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
  11. package/lib/commonjs/NavigationContainerRefContext.js +0 -4
  12. package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
  13. package/lib/commonjs/NavigationContext.js +0 -4
  14. package/lib/commonjs/NavigationContext.js.map +1 -1
  15. package/lib/commonjs/NavigationHelpersContext.js +0 -4
  16. package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
  17. package/lib/commonjs/NavigationRouteContext.js +0 -4
  18. package/lib/commonjs/NavigationRouteContext.js.map +1 -1
  19. package/lib/commonjs/NavigationStateContext.js +0 -12
  20. package/lib/commonjs/NavigationStateContext.js.map +1 -1
  21. package/lib/commonjs/PreventRemoveContext.js +0 -4
  22. package/lib/commonjs/PreventRemoveContext.js.map +1 -1
  23. package/lib/commonjs/PreventRemoveProvider.js +3 -21
  24. package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
  25. package/lib/commonjs/SceneView.js +8 -13
  26. package/lib/commonjs/SceneView.js.map +1 -1
  27. package/lib/commonjs/Screen.js +0 -1
  28. package/lib/commonjs/Screen.js.map +1 -1
  29. package/lib/commonjs/StaticContainer.js +0 -10
  30. package/lib/commonjs/StaticContainer.js.map +1 -1
  31. package/lib/commonjs/UnhandledActionContext.js +0 -4
  32. package/lib/commonjs/UnhandledActionContext.js.map +1 -1
  33. package/lib/commonjs/checkDuplicateRouteNames.js +0 -5
  34. package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
  35. package/lib/commonjs/checkSerializable.js +0 -9
  36. package/lib/commonjs/checkSerializable.js.map +1 -1
  37. package/lib/commonjs/createNavigationContainerRef.js +0 -13
  38. package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
  39. package/lib/commonjs/createNavigatorFactory.js +0 -5
  40. package/lib/commonjs/createNavigatorFactory.js.map +1 -1
  41. package/lib/commonjs/findFocusedRoute.js +5 -10
  42. package/lib/commonjs/findFocusedRoute.js.map +1 -1
  43. package/lib/commonjs/fromEntries.js +0 -3
  44. package/lib/commonjs/fromEntries.js.map +1 -1
  45. package/lib/commonjs/getActionFromState.js +11 -22
  46. package/lib/commonjs/getActionFromState.js.map +1 -1
  47. package/lib/commonjs/getFocusedRouteNameFromRoute.js +7 -8
  48. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
  49. package/lib/commonjs/getPathFromState.js +25 -55
  50. package/lib/commonjs/getPathFromState.js.map +1 -1
  51. package/lib/commonjs/getStateFromPath.js +48 -105
  52. package/lib/commonjs/getStateFromPath.js.map +1 -1
  53. package/lib/commonjs/index.js +0 -30
  54. package/lib/commonjs/index.js.map +1 -1
  55. package/lib/commonjs/isArrayEqual.js +0 -3
  56. package/lib/commonjs/isArrayEqual.js.map +1 -1
  57. package/lib/commonjs/isRecordEqual.js +0 -4
  58. package/lib/commonjs/isRecordEqual.js.map +1 -1
  59. package/lib/commonjs/types.js +3 -5
  60. package/lib/commonjs/types.js.map +1 -1
  61. package/lib/commonjs/useChildListeners.js +0 -5
  62. package/lib/commonjs/useChildListeners.js.map +1 -1
  63. package/lib/commonjs/useComponent.js +3 -9
  64. package/lib/commonjs/useComponent.js.map +1 -1
  65. package/lib/commonjs/useCurrentRender.js +0 -7
  66. package/lib/commonjs/useCurrentRender.js.map +1 -1
  67. package/lib/commonjs/useDescriptors.js +11 -21
  68. package/lib/commonjs/useDescriptors.js.map +1 -1
  69. package/lib/commonjs/useEventEmitter.js +2 -24
  70. package/lib/commonjs/useEventEmitter.js.map +1 -1
  71. package/lib/commonjs/useFocusEffect.js +2 -20
  72. package/lib/commonjs/useFocusEffect.js.map +1 -1
  73. package/lib/commonjs/useFocusEvents.js +9 -15
  74. package/lib/commonjs/useFocusEvents.js.map +1 -1
  75. package/lib/commonjs/useFocusedListenersChildrenAdapter.js +0 -8
  76. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
  77. package/lib/commonjs/useIsFocused.js +0 -8
  78. package/lib/commonjs/useIsFocused.js.map +1 -1
  79. package/lib/commonjs/useKeyedChildListeners.js +0 -4
  80. package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
  81. package/lib/commonjs/useNavigation.js +3 -11
  82. package/lib/commonjs/useNavigation.js.map +1 -1
  83. package/lib/commonjs/useNavigationBuilder.js +34 -91
  84. package/lib/commonjs/useNavigationBuilder.js.map +1 -1
  85. package/lib/commonjs/useNavigationCache.js +18 -30
  86. package/lib/commonjs/useNavigationCache.js.map +1 -1
  87. package/lib/commonjs/useNavigationContainerRef.js +0 -8
  88. package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
  89. package/lib/commonjs/useNavigationHelpers.js +4 -18
  90. package/lib/commonjs/useNavigationHelpers.js.map +1 -1
  91. package/lib/commonjs/useNavigationState.js +5 -9
  92. package/lib/commonjs/useNavigationState.js.map +1 -1
  93. package/lib/commonjs/useOnAction.js +8 -25
  94. package/lib/commonjs/useOnAction.js.map +1 -1
  95. package/lib/commonjs/useOnGetState.js +6 -16
  96. package/lib/commonjs/useOnGetState.js.map +1 -1
  97. package/lib/commonjs/useOnPreventRemove.js +9 -24
  98. package/lib/commonjs/useOnPreventRemove.js.map +1 -1
  99. package/lib/commonjs/useOnRouteFocus.js +0 -8
  100. package/lib/commonjs/useOnRouteFocus.js.map +1 -1
  101. package/lib/commonjs/useOptionsGetters.js +5 -24
  102. package/lib/commonjs/useOptionsGetters.js.map +1 -1
  103. package/lib/commonjs/usePreventRemove.js +0 -11
  104. package/lib/commonjs/usePreventRemove.js.map +1 -1
  105. package/lib/commonjs/usePreventRemoveContext.js +0 -8
  106. package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
  107. package/lib/commonjs/useRegisterNavigator.js +0 -8
  108. package/lib/commonjs/useRegisterNavigator.js.map +1 -1
  109. package/lib/commonjs/useRoute.js +0 -8
  110. package/lib/commonjs/useRoute.js.map +1 -1
  111. package/lib/commonjs/useRouteCache.js +1 -10
  112. package/lib/commonjs/useRouteCache.js.map +1 -1
  113. package/lib/commonjs/useScheduleUpdate.js +1 -8
  114. package/lib/commonjs/useScheduleUpdate.js.map +1 -1
  115. package/lib/commonjs/useSyncState.js +9 -17
  116. package/lib/commonjs/useSyncState.js.map +1 -1
  117. package/lib/commonjs/validatePathConfig.js +0 -7
  118. package/lib/commonjs/validatePathConfig.js.map +1 -1
  119. package/lib/module/BaseNavigationContainer.js +17 -46
  120. package/lib/module/BaseNavigationContainer.js.map +1 -1
  121. package/lib/module/CurrentRenderContext.js +1 -1
  122. package/lib/module/CurrentRenderContext.js.map +1 -1
  123. package/lib/module/EnsureSingleNavigator.js +1 -7
  124. package/lib/module/EnsureSingleNavigator.js.map +1 -1
  125. package/lib/module/Group.js.map +1 -1
  126. package/lib/module/NavigationBuilderContext.js +0 -1
  127. package/lib/module/NavigationBuilderContext.js.map +1 -1
  128. package/lib/module/NavigationContainerRefContext.js +0 -1
  129. package/lib/module/NavigationContainerRefContext.js.map +1 -1
  130. package/lib/module/NavigationContext.js +0 -1
  131. package/lib/module/NavigationContext.js.map +1 -1
  132. package/lib/module/NavigationHelpersContext.js +0 -1
  133. package/lib/module/NavigationHelpersContext.js.map +1 -1
  134. package/lib/module/NavigationRouteContext.js +1 -1
  135. package/lib/module/NavigationRouteContext.js.map +1 -1
  136. package/lib/module/NavigationStateContext.js +0 -6
  137. package/lib/module/NavigationStateContext.js.map +1 -1
  138. package/lib/module/PreventRemoveContext.js +1 -0
  139. package/lib/module/PreventRemoveContext.js.map +1 -1
  140. package/lib/module/PreventRemoveProvider.js +3 -12
  141. package/lib/module/PreventRemoveProvider.js.map +1 -1
  142. package/lib/module/SceneView.js +8 -5
  143. package/lib/module/SceneView.js.map +1 -1
  144. package/lib/module/Screen.js.map +1 -1
  145. package/lib/module/StaticContainer.js +1 -6
  146. package/lib/module/StaticContainer.js.map +1 -1
  147. package/lib/module/UnhandledActionContext.js.map +1 -1
  148. package/lib/module/checkDuplicateRouteNames.js +0 -4
  149. package/lib/module/checkDuplicateRouteNames.js.map +1 -1
  150. package/lib/module/checkSerializable.js +0 -8
  151. package/lib/module/checkSerializable.js.map +1 -1
  152. package/lib/module/createNavigationContainerRef.js +0 -10
  153. package/lib/module/createNavigationContainerRef.js.map +1 -1
  154. package/lib/module/createNavigatorFactory.js +0 -2
  155. package/lib/module/createNavigatorFactory.js.map +1 -1
  156. package/lib/module/findFocusedRoute.js +5 -9
  157. package/lib/module/findFocusedRoute.js.map +1 -1
  158. package/lib/module/fromEntries.js +0 -2
  159. package/lib/module/fromEntries.js.map +1 -1
  160. package/lib/module/getActionFromState.js +11 -21
  161. package/lib/module/getActionFromState.js.map +1 -1
  162. package/lib/module/getFocusedRouteNameFromRoute.js +7 -6
  163. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
  164. package/lib/module/getPathFromState.js +25 -49
  165. package/lib/module/getPathFromState.js.map +1 -1
  166. package/lib/module/getStateFromPath.js +48 -98
  167. package/lib/module/getStateFromPath.js.map +1 -1
  168. package/lib/module/index.js.map +1 -1
  169. package/lib/module/isArrayEqual.js +0 -2
  170. package/lib/module/isArrayEqual.js.map +1 -1
  171. package/lib/module/isRecordEqual.js +0 -3
  172. package/lib/module/isRecordEqual.js.map +1 -1
  173. package/lib/module/types.js +3 -3
  174. package/lib/module/types.js.map +1 -1
  175. package/lib/module/useChildListeners.js +0 -2
  176. package/lib/module/useChildListeners.js.map +1 -1
  177. package/lib/module/useComponent.js +3 -6
  178. package/lib/module/useComponent.js.map +1 -1
  179. package/lib/module/useCurrentRender.js +0 -2
  180. package/lib/module/useCurrentRender.js.map +1 -1
  181. package/lib/module/useDescriptors.js +11 -11
  182. package/lib/module/useDescriptors.js.map +1 -1
  183. package/lib/module/useEventEmitter.js +2 -21
  184. package/lib/module/useEventEmitter.js.map +1 -1
  185. package/lib/module/useFocusEffect.js +2 -15
  186. package/lib/module/useFocusEffect.js.map +1 -1
  187. package/lib/module/useFocusEvents.js +9 -10
  188. package/lib/module/useFocusEvents.js.map +1 -1
  189. package/lib/module/useFocusedListenersChildrenAdapter.js +0 -3
  190. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  191. package/lib/module/useIsFocused.js +1 -3
  192. package/lib/module/useIsFocused.js.map +1 -1
  193. package/lib/module/useKeyedChildListeners.js +0 -1
  194. package/lib/module/useKeyedChildListeners.js.map +1 -1
  195. package/lib/module/useNavigation.js +3 -5
  196. package/lib/module/useNavigation.js.map +1 -1
  197. package/lib/module/useNavigationBuilder.js +37 -63
  198. package/lib/module/useNavigationBuilder.js.map +1 -1
  199. package/lib/module/useNavigationCache.js +18 -24
  200. package/lib/module/useNavigationCache.js.map +1 -1
  201. package/lib/module/useNavigationContainerRef.js +0 -2
  202. package/lib/module/useNavigationContainerRef.js.map +1 -1
  203. package/lib/module/useNavigationHelpers.js +4 -9
  204. package/lib/module/useNavigationHelpers.js.map +1 -1
  205. package/lib/module/useNavigationState.js +5 -4
  206. package/lib/module/useNavigationState.js.map +1 -1
  207. package/lib/module/useOnAction.js +8 -19
  208. package/lib/module/useOnAction.js.map +1 -1
  209. package/lib/module/useOnGetState.js +6 -8
  210. package/lib/module/useOnGetState.js.map +1 -1
  211. package/lib/module/useOnPreventRemove.js +9 -14
  212. package/lib/module/useOnPreventRemove.js.map +1 -1
  213. package/lib/module/useOnRouteFocus.js +0 -3
  214. package/lib/module/useOnRouteFocus.js.map +1 -1
  215. package/lib/module/useOptionsGetters.js +5 -17
  216. package/lib/module/useOptionsGetters.js.map +1 -1
  217. package/lib/module/usePreventRemove.js +1 -2
  218. package/lib/module/usePreventRemove.js.map +1 -1
  219. package/lib/module/usePreventRemoveContext.js +0 -2
  220. package/lib/module/usePreventRemoveContext.js.map +1 -1
  221. package/lib/module/useRegisterNavigator.js +1 -3
  222. package/lib/module/useRegisterNavigator.js.map +1 -1
  223. package/lib/module/useRoute.js +0 -3
  224. package/lib/module/useRoute.js.map +1 -1
  225. package/lib/module/useRouteCache.js +1 -6
  226. package/lib/module/useRouteCache.js.map +1 -1
  227. package/lib/module/useScheduleUpdate.js +1 -3
  228. package/lib/module/useScheduleUpdate.js.map +1 -1
  229. package/lib/module/useSyncState.js +9 -13
  230. package/lib/module/useSyncState.js.map +1 -1
  231. package/lib/module/validatePathConfig.js +0 -6
  232. package/lib/module/validatePathConfig.js.map +1 -1
  233. package/lib/typescript/src/BaseNavigationContainer.d.ts +1 -0
  234. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -0
  235. package/lib/typescript/src/CurrentRenderContext.d.ts +1 -0
  236. package/lib/typescript/src/CurrentRenderContext.d.ts.map +1 -0
  237. package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -0
  238. package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -0
  239. package/lib/typescript/src/Group.d.ts +1 -0
  240. package/lib/typescript/src/Group.d.ts.map +1 -0
  241. package/lib/typescript/src/NavigationBuilderContext.d.ts +1 -0
  242. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -0
  243. package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -0
  244. package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -0
  245. package/lib/typescript/src/NavigationContext.d.ts +1 -0
  246. package/lib/typescript/src/NavigationContext.d.ts.map +1 -0
  247. package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -0
  248. package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -0
  249. package/lib/typescript/src/NavigationRouteContext.d.ts +1 -0
  250. package/lib/typescript/src/NavigationRouteContext.d.ts.map +1 -0
  251. package/lib/typescript/src/NavigationStateContext.d.ts +1 -0
  252. package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -0
  253. package/lib/typescript/src/PreventRemoveContext.d.ts +1 -0
  254. package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -0
  255. package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -0
  256. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -0
  257. package/lib/typescript/src/SceneView.d.ts +1 -0
  258. package/lib/typescript/src/SceneView.d.ts.map +1 -0
  259. package/lib/typescript/src/Screen.d.ts +1 -0
  260. package/lib/typescript/src/Screen.d.ts.map +1 -0
  261. package/lib/typescript/src/StaticContainer.d.ts +1 -0
  262. package/lib/typescript/src/StaticContainer.d.ts.map +1 -0
  263. package/lib/typescript/src/UnhandledActionContext.d.ts +1 -0
  264. package/lib/typescript/src/UnhandledActionContext.d.ts.map +1 -0
  265. package/lib/typescript/src/checkDuplicateRouteNames.d.ts +1 -0
  266. package/lib/typescript/src/checkDuplicateRouteNames.d.ts.map +1 -0
  267. package/lib/typescript/src/checkSerializable.d.ts +1 -0
  268. package/lib/typescript/src/checkSerializable.d.ts.map +1 -0
  269. package/lib/typescript/src/createNavigationContainerRef.d.ts +1 -0
  270. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -0
  271. package/lib/typescript/src/createNavigatorFactory.d.ts +1 -0
  272. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -0
  273. package/lib/typescript/src/findFocusedRoute.d.ts +1 -0
  274. package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -0
  275. package/lib/typescript/src/fromEntries.d.ts +1 -0
  276. package/lib/typescript/src/fromEntries.d.ts.map +1 -0
  277. package/lib/typescript/src/getActionFromState.d.ts +1 -0
  278. package/lib/typescript/src/getActionFromState.d.ts.map +1 -0
  279. package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts +1 -0
  280. package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts.map +1 -0
  281. package/lib/typescript/src/getPathFromState.d.ts +1 -0
  282. package/lib/typescript/src/getPathFromState.d.ts.map +1 -0
  283. package/lib/typescript/src/getStateFromPath.d.ts +1 -0
  284. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -0
  285. package/lib/typescript/src/index.d.ts +1 -0
  286. package/lib/typescript/src/index.d.ts.map +1 -0
  287. package/lib/typescript/src/isArrayEqual.d.ts +1 -0
  288. package/lib/typescript/src/isArrayEqual.d.ts.map +1 -0
  289. package/lib/typescript/src/isRecordEqual.d.ts +1 -0
  290. package/lib/typescript/src/isRecordEqual.d.ts.map +1 -0
  291. package/lib/typescript/src/types.d.ts +1 -0
  292. package/lib/typescript/src/types.d.ts.map +1 -0
  293. package/lib/typescript/src/useChildListeners.d.ts +1 -0
  294. package/lib/typescript/src/useChildListeners.d.ts.map +1 -0
  295. package/lib/typescript/src/useComponent.d.ts +1 -0
  296. package/lib/typescript/src/useComponent.d.ts.map +1 -0
  297. package/lib/typescript/src/useCurrentRender.d.ts +1 -0
  298. package/lib/typescript/src/useCurrentRender.d.ts.map +1 -0
  299. package/lib/typescript/src/useDescriptors.d.ts +1 -0
  300. package/lib/typescript/src/useDescriptors.d.ts.map +1 -0
  301. package/lib/typescript/src/useEventEmitter.d.ts +1 -0
  302. package/lib/typescript/src/useEventEmitter.d.ts.map +1 -0
  303. package/lib/typescript/src/useFocusEffect.d.ts +1 -0
  304. package/lib/typescript/src/useFocusEffect.d.ts.map +1 -0
  305. package/lib/typescript/src/useFocusEvents.d.ts +1 -0
  306. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -0
  307. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +1 -0
  308. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -0
  309. package/lib/typescript/src/useIsFocused.d.ts +1 -0
  310. package/lib/typescript/src/useIsFocused.d.ts.map +1 -0
  311. package/lib/typescript/src/useKeyedChildListeners.d.ts +1 -0
  312. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -0
  313. package/lib/typescript/src/useNavigation.d.ts +1 -0
  314. package/lib/typescript/src/useNavigation.d.ts.map +1 -0
  315. package/lib/typescript/src/useNavigationBuilder.d.ts +1 -0
  316. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -0
  317. package/lib/typescript/src/useNavigationCache.d.ts +1 -0
  318. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -0
  319. package/lib/typescript/src/useNavigationContainerRef.d.ts +1 -0
  320. package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -0
  321. package/lib/typescript/src/useNavigationHelpers.d.ts +1 -0
  322. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -0
  323. package/lib/typescript/src/useNavigationState.d.ts +1 -0
  324. package/lib/typescript/src/useNavigationState.d.ts.map +1 -0
  325. package/lib/typescript/src/useOnAction.d.ts +1 -0
  326. package/lib/typescript/src/useOnAction.d.ts.map +1 -0
  327. package/lib/typescript/src/useOnGetState.d.ts +1 -0
  328. package/lib/typescript/src/useOnGetState.d.ts.map +1 -0
  329. package/lib/typescript/src/useOnPreventRemove.d.ts +1 -0
  330. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -0
  331. package/lib/typescript/src/useOnRouteFocus.d.ts +1 -0
  332. package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -0
  333. package/lib/typescript/src/useOptionsGetters.d.ts +1 -0
  334. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -0
  335. package/lib/typescript/src/usePreventRemove.d.ts +1 -0
  336. package/lib/typescript/src/usePreventRemove.d.ts.map +1 -0
  337. package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -0
  338. package/lib/typescript/src/usePreventRemoveContext.d.ts.map +1 -0
  339. package/lib/typescript/src/useRegisterNavigator.d.ts +1 -0
  340. package/lib/typescript/src/useRegisterNavigator.d.ts.map +1 -0
  341. package/lib/typescript/src/useRoute.d.ts +1 -0
  342. package/lib/typescript/src/useRoute.d.ts.map +1 -0
  343. package/lib/typescript/src/useRouteCache.d.ts +1 -0
  344. package/lib/typescript/src/useRouteCache.d.ts.map +1 -0
  345. package/lib/typescript/src/useScheduleUpdate.d.ts +1 -0
  346. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -0
  347. package/lib/typescript/src/useSyncState.d.ts +1 -0
  348. package/lib/typescript/src/useSyncState.d.ts.map +1 -0
  349. package/lib/typescript/src/validatePathConfig.d.ts +1 -0
  350. package/lib/typescript/src/validatePathConfig.d.ts.map +1 -0
  351. package/package.json +5 -5
@@ -2,7 +2,6 @@ import escape from 'escape-string-regexp';
2
2
  import * as queryString from 'query-string';
3
3
  import findFocusedRoute from './findFocusedRoute';
4
4
  import validatePathConfig from './validatePathConfig';
5
-
6
5
  /**
7
6
  * Utility to parse a path string to initial state object accepted by the container.
8
7
  * This is useful for deep linking when we need to handle the incoming URL.
@@ -28,24 +27,20 @@ export default function getStateFromPath(path, options) {
28
27
  if (options) {
29
28
  validatePathConfig(options);
30
29
  }
31
-
32
30
  let initialRoutes = [];
33
-
34
31
  if (options !== null && options !== void 0 && options.initialRouteName) {
35
32
  initialRoutes.push({
36
33
  initialRouteName: options.initialRouteName,
37
34
  parentScreens: []
38
35
  });
39
36
  }
40
-
41
37
  const screens = options === null || options === void 0 ? void 0 : options.screens;
42
38
  let remaining = path.replace(/\/+/g, '/') // Replace multiple slash (//) with single ones
43
39
  .replace(/^\//, '') // Remove extra leading slash
44
40
  .replace(/\?.*$/, ''); // Remove query params which we will handle later
45
- // Make sure there is a trailing slash
46
41
 
42
+ // Make sure there is a trailing slash
47
43
  remaining = remaining.endsWith('/') ? remaining : `${remaining}/`;
48
-
49
44
  if (screens === undefined) {
50
45
  // When no config is specified, use the path segments as route names
51
46
  const routes = remaining.split('/').filter(Boolean).map(segment => {
@@ -54,183 +49,160 @@ export default function getStateFromPath(path, options) {
54
49
  name
55
50
  };
56
51
  });
57
-
58
52
  if (routes.length) {
59
53
  return createNestedStateObject(path, routes, initialRoutes);
60
54
  }
61
-
62
55
  return undefined;
63
- } // Create a normalized configs array which will be easier to use
64
-
56
+ }
65
57
 
58
+ // Create a normalized configs array which will be easier to use
66
59
  const configs = [].concat(...Object.keys(screens).map(key => createNormalizedConfigs(key, screens, [], initialRoutes, []))).sort((a, b) => {
67
60
  // Sort config so that:
68
61
  // - the most exhaustive ones are always at the beginning
69
62
  // - patterns with wildcard are always at the end
63
+
70
64
  // If 2 patterns are same, move the one with less route names up
71
65
  // This is an error state, so it's only useful for consistent error messages
72
66
  if (a.pattern === b.pattern) {
73
67
  return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));
74
- } // If one of the patterns starts with the other, it's more exhaustive
75
- // So move it up
76
-
68
+ }
77
69
 
70
+ // If one of the patterns starts with the other, it's more exhaustive
71
+ // So move it up
78
72
  if (a.pattern.startsWith(b.pattern)) {
79
73
  return -1;
80
74
  }
81
-
82
75
  if (b.pattern.startsWith(a.pattern)) {
83
76
  return 1;
84
77
  }
85
-
86
78
  const aParts = a.pattern.split('/');
87
79
  const bParts = b.pattern.split('/');
88
-
89
80
  for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {
90
81
  // if b is longer, b get higher priority
91
82
  if (aParts[i] == null) {
92
83
  return 1;
93
- } // if a is longer, a get higher priority
94
-
95
-
84
+ }
85
+ // if a is longer, a get higher priority
96
86
  if (bParts[i] == null) {
97
87
  return -1;
98
88
  }
99
-
100
89
  const aWildCard = aParts[i] === '*' || aParts[i].startsWith(':');
101
- const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':'); // if both are wildcard we compare next component
102
-
90
+ const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');
91
+ // if both are wildcard we compare next component
103
92
  if (aWildCard && bWildCard) {
104
93
  continue;
105
- } // if only a is wild card, b get higher priority
106
-
107
-
94
+ }
95
+ // if only a is wild card, b get higher priority
108
96
  if (aWildCard) {
109
97
  return 1;
110
- } // if only b is wild card, a get higher priority
111
-
112
-
98
+ }
99
+ // if only b is wild card, a get higher priority
113
100
  if (bWildCard) {
114
101
  return -1;
115
102
  }
116
103
  }
117
-
118
104
  return bParts.length - aParts.length;
119
- }); // Check for duplicate patterns in the config
105
+ });
120
106
 
107
+ // Check for duplicate patterns in the config
121
108
  configs.reduce((acc, config) => {
122
109
  if (acc[config.pattern]) {
123
110
  const a = acc[config.pattern].routeNames;
124
- const b = config.routeNames; // It's not a problem if the path string omitted from a inner most screen
125
- // For example, it's ok if a path resolves to `A > B > C` or `A > B`
111
+ const b = config.routeNames;
126
112
 
113
+ // It's not a problem if the path string omitted from a inner most screen
114
+ // For example, it's ok if a path resolves to `A > B > C` or `A > B`
127
115
  const intersects = a.length > b.length ? b.every((it, i) => a[i] === it) : a.every((it, i) => b[i] === it);
128
-
129
116
  if (!intersects) {
130
117
  throw new Error(`Found conflicting screens with the same pattern. The pattern '${config.pattern}' resolves to both '${a.join(' > ')}' and '${b.join(' > ')}'. Patterns must be unique and cannot resolve to more than one screen.`);
131
118
  }
132
119
  }
133
-
134
120
  return Object.assign(acc, {
135
121
  [config.pattern]: config
136
122
  });
137
123
  }, {});
138
-
139
124
  if (remaining === '/') {
140
125
  // We need to add special handling of empty path so navigation to empty path also works
141
126
  // When handling empty path, we should only look at the root level config
142
- const match = configs.find(config => config.path === '' && config.routeNames.every( // Make sure that none of the parent configs have a non-empty path defined
127
+ const match = configs.find(config => config.path === '' && config.routeNames.every(
128
+ // Make sure that none of the parent configs have a non-empty path defined
143
129
  name => {
144
130
  var _configs$find;
145
-
146
131
  return !((_configs$find = configs.find(c => c.screen === name)) !== null && _configs$find !== void 0 && _configs$find.path);
147
132
  }));
148
-
149
133
  if (match) {
150
134
  return createNestedStateObject(path, match.routeNames.map(name => ({
151
135
  name
152
136
  })), initialRoutes, configs);
153
137
  }
154
-
155
138
  return undefined;
156
139
  }
157
-
158
140
  let result;
159
- let current; // We match the whole path against the regex instead of segments
160
- // This makes sure matches such as wildcard will catch any unmatched routes, even if nested
141
+ let current;
161
142
 
143
+ // We match the whole path against the regex instead of segments
144
+ // This makes sure matches such as wildcard will catch any unmatched routes, even if nested
162
145
  const {
163
146
  routes,
164
147
  remainingPath
165
- } = matchAgainstConfigs(remaining, configs.map(c => ({ ...c,
148
+ } = matchAgainstConfigs(remaining, configs.map(c => ({
149
+ ...c,
166
150
  // Add `$` to the regex to make sure it matches till end of the path and not just beginning
167
151
  regex: c.regex ? new RegExp(c.regex.source + '$') : undefined
168
152
  })));
169
-
170
153
  if (routes !== undefined) {
171
154
  // This will always be empty if full path matched
172
155
  current = createNestedStateObject(path, routes, initialRoutes, configs);
173
156
  remaining = remainingPath;
174
157
  result = current;
175
158
  }
176
-
177
159
  if (current == null || result == null) {
178
160
  return undefined;
179
161
  }
180
-
181
162
  return result;
182
163
  }
183
-
184
164
  const joinPaths = function () {
185
165
  for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {
186
166
  paths[_key] = arguments[_key];
187
167
  }
188
-
189
168
  return [].concat(...paths.map(p => p.split('/'))).filter(Boolean).join('/');
190
169
  };
191
-
192
170
  const matchAgainstConfigs = (remaining, configs) => {
193
171
  let routes;
194
- let remainingPath = remaining; // Go through all configs, and see if the next path segment matches our regex
172
+ let remainingPath = remaining;
195
173
 
174
+ // Go through all configs, and see if the next path segment matches our regex
196
175
  for (const config of configs) {
197
176
  if (!config.regex) {
198
177
  continue;
199
178
  }
179
+ const match = remainingPath.match(config.regex);
200
180
 
201
- const match = remainingPath.match(config.regex); // If our regex matches, we need to extract params from the path
202
-
181
+ // If our regex matches, we need to extract params from the path
203
182
  if (match) {
204
183
  var _config$pattern;
205
-
206
184
  const matchedParams = (_config$pattern = config.pattern) === null || _config$pattern === void 0 ? void 0 : _config$pattern.split('/').filter(p => p.startsWith(':')).reduce((acc, p, i) => Object.assign(acc, {
207
185
  // The param segments appear every second item starting from 2 in the regex match result
208
186
  [p]: match[(i + 1) * 2].replace(/\//, '')
209
187
  }), {});
210
188
  routes = config.routeNames.map(name => {
211
189
  var _config$path;
212
-
213
190
  const config = configs.find(c => c.screen === name);
214
191
  const params = config === null || config === void 0 ? void 0 : (_config$path = config.path) === null || _config$path === void 0 ? void 0 : _config$path.split('/').filter(p => p.startsWith(':')).reduce((acc, p) => {
215
192
  const value = matchedParams[p];
216
-
217
193
  if (value) {
218
194
  var _config$parse;
219
-
220
195
  const key = p.replace(/^:/, '').replace(/\?$/, '');
221
196
  acc[key] = (_config$parse = config.parse) !== null && _config$parse !== void 0 && _config$parse[key] ? config.parse[key](value) : value;
222
197
  }
223
-
224
198
  return acc;
225
199
  }, {});
226
-
227
200
  if (params && Object.keys(params).length) {
228
201
  return {
229
202
  name,
230
203
  params
231
204
  };
232
205
  }
233
-
234
206
  return {
235
207
  name
236
208
  };
@@ -239,13 +211,11 @@ const matchAgainstConfigs = (remaining, configs) => {
239
211
  break;
240
212
  }
241
213
  }
242
-
243
214
  return {
244
215
  routes,
245
216
  remainingPath
246
217
  };
247
218
  };
248
-
249
219
  const createNormalizedConfigs = function (screen, routeConfig) {
250
220
  let routeNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
251
221
  let initials = arguments.length > 3 ? arguments[3] : undefined;
@@ -253,28 +223,27 @@ const createNormalizedConfigs = function (screen, routeConfig) {
253
223
  let parentPattern = arguments.length > 5 ? arguments[5] : undefined;
254
224
  const configs = [];
255
225
  routeNames.push(screen);
256
- parentScreens.push(screen); // @ts-expect-error: we can't strongly typecheck this for now
226
+ parentScreens.push(screen);
257
227
 
228
+ // @ts-expect-error: we can't strongly typecheck this for now
258
229
  const config = routeConfig[screen];
259
-
260
230
  if (typeof config === 'string') {
261
231
  // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern
262
232
  const pattern = parentPattern ? joinPaths(parentPattern, config) : config;
263
233
  configs.push(createConfigItem(screen, routeNames, pattern, config));
264
234
  } else if (typeof config === 'object') {
265
- let pattern; // if an object is specified as the value (e.g. Foo: { ... }),
235
+ let pattern;
236
+
237
+ // if an object is specified as the value (e.g. Foo: { ... }),
266
238
  // it can have `path` property and
267
239
  // it could have `screens` prop which has nested configs
268
-
269
240
  if (typeof config.path === 'string') {
270
241
  if (config.exact && config.path === undefined) {
271
242
  throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");
272
243
  }
273
-
274
244
  pattern = config.exact !== true ? joinPaths(parentPattern || '', config.path || '') : config.path || '';
275
245
  configs.push(createConfigItem(screen, routeNames, pattern, config.path, config.parse));
276
246
  }
277
-
278
247
  if (config.screens) {
279
248
  // property `initialRouteName` without `screens` has no purpose
280
249
  if (config.initialRouteName) {
@@ -283,20 +252,15 @@ const createNormalizedConfigs = function (screen, routeConfig) {
283
252
  parentScreens
284
253
  });
285
254
  }
286
-
287
255
  Object.keys(config.screens).forEach(nestedConfig => {
288
- var _pattern;
289
-
290
- const result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, [...parentScreens], (_pattern = pattern) !== null && _pattern !== void 0 ? _pattern : parentPattern);
256
+ const result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, [...parentScreens], pattern ?? parentPattern);
291
257
  configs.push(...result);
292
258
  });
293
259
  }
294
260
  }
295
-
296
261
  routeNames.pop();
297
262
  return configs;
298
263
  };
299
-
300
264
  const createConfigItem = (screen, routeNames, pattern, path, parse) => {
301
265
  // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.
302
266
  pattern = pattern.split('/').filter(Boolean).join('/');
@@ -304,7 +268,6 @@ const createConfigItem = (screen, routeNames, pattern, path, parse) => {
304
268
  if (it.startsWith(':')) {
305
269
  return `(([^/]+\\/)${it.endsWith('?') ? '?' : ''})`;
306
270
  }
307
-
308
271
  return `${it === '*' ? '.*' : escape(it)}\\/`;
309
272
  }).join('')})`) : undefined;
310
273
  return {
@@ -317,41 +280,36 @@ const createConfigItem = (screen, routeNames, pattern, path, parse) => {
317
280
  parse
318
281
  };
319
282
  };
320
-
321
283
  const findParseConfigForRoute = (routeName, flatConfig) => {
322
284
  for (const config of flatConfig) {
323
285
  if (routeName === config.routeNames[config.routeNames.length - 1]) {
324
286
  return config.parse;
325
287
  }
326
288
  }
327
-
328
289
  return undefined;
329
- }; // Try to find an initial route connected with the one passed
330
-
290
+ };
331
291
 
292
+ // Try to find an initial route connected with the one passed
332
293
  const findInitialRoute = (routeName, parentScreens, initialRoutes) => {
333
294
  for (const config of initialRoutes) {
334
295
  if (parentScreens.length === config.parentScreens.length) {
335
296
  let sameParents = true;
336
-
337
297
  for (let i = 0; i < parentScreens.length; i++) {
338
298
  if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {
339
299
  sameParents = false;
340
300
  break;
341
301
  }
342
302
  }
343
-
344
303
  if (sameParents) {
345
304
  return routeName !== config.initialRouteName ? config.initialRouteName : undefined;
346
305
  }
347
306
  }
348
307
  }
349
-
350
308
  return undefined;
351
- }; // returns state object with values depending on whether
352
- // it is the end of state and if there is initialRoute for this level
353
-
309
+ };
354
310
 
311
+ // returns state object with values depending on whether
312
+ // it is the end of state and if there is initialRoute for this level
355
313
  const createStateObject = (initialRoute, route, isEmpty) => {
356
314
  if (isEmpty) {
357
315
  if (initialRoute) {
@@ -372,7 +330,8 @@ const createStateObject = (initialRoute, route, isEmpty) => {
372
330
  index: 1,
373
331
  routes: [{
374
332
  name: initialRoute
375
- }, { ...route,
333
+ }, {
334
+ ...route,
376
335
  state: {
377
336
  routes: []
378
337
  }
@@ -380,7 +339,8 @@ const createStateObject = (initialRoute, route, isEmpty) => {
380
339
  };
381
340
  } else {
382
341
  return {
383
- routes: [{ ...route,
342
+ routes: [{
343
+ ...route,
384
344
  state: {
385
345
  routes: []
386
346
  }
@@ -389,7 +349,6 @@ const createStateObject = (initialRoute, route, isEmpty) => {
389
349
  }
390
350
  }
391
351
  };
392
-
393
352
  const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
394
353
  let state;
395
354
  let route = routes.shift();
@@ -397,40 +356,32 @@ const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
397
356
  let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
398
357
  parentScreens.push(route.name);
399
358
  state = createStateObject(initialRoute, route, routes.length === 0);
400
-
401
359
  if (routes.length > 0) {
402
360
  let nestedState = state;
403
-
404
361
  while (route = routes.shift()) {
405
362
  initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
406
363
  const nestedStateIndex = nestedState.index || nestedState.routes.length - 1;
407
364
  nestedState.routes[nestedStateIndex].state = createStateObject(initialRoute, route, routes.length === 0);
408
-
409
365
  if (routes.length > 0) {
410
366
  nestedState = nestedState.routes[nestedStateIndex].state;
411
367
  }
412
-
413
368
  parentScreens.push(route.name);
414
369
  }
415
370
  }
416
-
417
371
  route = findFocusedRoute(state);
418
372
  route.path = path;
419
373
  const params = parseQueryParams(path, flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined);
420
-
421
374
  if (params) {
422
- route.params = { ...route.params,
375
+ route.params = {
376
+ ...route.params,
423
377
  ...params
424
378
  };
425
379
  }
426
-
427
380
  return state;
428
381
  };
429
-
430
382
  const parseQueryParams = (path, parseConfig) => {
431
383
  const query = path.split('?')[1];
432
384
  const params = queryString.parse(query);
433
-
434
385
  if (parseConfig) {
435
386
  Object.keys(params).forEach(name => {
436
387
  if (Object.hasOwnProperty.call(parseConfig, name) && typeof params[name] === 'string') {
@@ -438,7 +389,6 @@ const parseQueryParams = (path, parseConfig) => {
438
389
  }
439
390
  });
440
391
  }
441
-
442
392
  return Object.keys(params).length ? params : undefined;
443
393
  };
444
394
  //# sourceMappingURL=getStateFromPath.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["escape","queryString","findFocusedRoute","validatePathConfig","getStateFromPath","path","options","initialRoutes","initialRouteName","push","parentScreens","screens","remaining","replace","endsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","configs","concat","Object","keys","key","createNormalizedConfigs","sort","a","b","pattern","routeNames","join","localeCompare","startsWith","aParts","bParts","i","Math","max","aWildCard","bWildCard","reduce","acc","config","intersects","every","it","Error","assign","match","find","c","screen","result","current","remainingPath","matchAgainstConfigs","regex","RegExp","source","joinPaths","paths","p","matchedParams","params","value","parse","routeConfig","initials","parentPattern","createConfigItem","exact","forEach","nestedConfig","pop","findParseConfigForRoute","routeName","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","index","state","shift","nestedState","nestedStateIndex","parseQueryParams","parseConfig","query","hasOwnProperty","call"],"sources":["getStateFromPath.tsx"],"sourcesContent":["import type {\n InitialState,\n NavigationState,\n PartialState,\n} from '@react-navigation/routers';\nimport escape from 'escape-string-regexp';\nimport * as queryString from 'query-string';\n\nimport findFocusedRoute from './findFocusedRoute';\nimport type { PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options<ParamList extends {}> = {\n initialRouteName?: string;\n screens: PathConfigMap<ParamList>;\n};\n\ntype ParseConfig = Record<string, (value: string) => any>;\n\ntype RouteConfig = {\n screen: string;\n regex?: RegExp;\n path: string;\n pattern: string;\n routeNames: string[];\n parse?: ParseConfig;\n};\n\ntype InitialRouteConfig = {\n initialRouteName: string;\n parentScreens: string[];\n};\n\ntype ResultState = PartialState<NavigationState> & {\n state?: ResultState;\n};\n\ntype ParsedRoute = {\n name: string;\n path?: string;\n params?: Record<string, any> | undefined;\n};\n\n/**\n * Utility to parse a path string to initial state object accepted by the container.\n * This is useful for deep linking when we need to handle the incoming URL.\n *\n * @example\n * ```js\n * getStateFromPath(\n * '/chat/jane/42',\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * parse: { id: Number }\n * }\n * }\n * }\n * )\n * ```\n * @param path Path string to parse and convert, e.g. /foo/bar?count=42.\n * @param options Extra options to fine-tune how to parse the path.\n */\nexport default function getStateFromPath<ParamList extends {}>(\n path: string,\n options?: Options<ParamList>\n): ResultState | undefined {\n if (options) {\n validatePathConfig(options);\n }\n\n let initialRoutes: InitialRouteConfig[] = [];\n\n if (options?.initialRouteName) {\n initialRoutes.push({\n initialRouteName: options.initialRouteName,\n parentScreens: [],\n });\n }\n\n const screens = options?.screens;\n\n let remaining = path\n .replace(/\\/+/g, '/') // Replace multiple slash (//) with single ones\n .replace(/^\\//, '') // Remove extra leading slash\n .replace(/\\?.*$/, ''); // Remove query params which we will handle later\n\n // Make sure there is a trailing slash\n remaining = remaining.endsWith('/') ? remaining : `${remaining}/`;\n\n if (screens === undefined) {\n // When no config is specified, use the path segments as route names\n const routes = remaining\n .split('/')\n .filter(Boolean)\n .map((segment) => {\n const name = decodeURIComponent(segment);\n return { name };\n });\n\n if (routes.length) {\n return createNestedStateObject(path, routes, initialRoutes);\n }\n\n return undefined;\n }\n\n // Create a normalized configs array which will be easier to use\n const configs = ([] as RouteConfig[])\n .concat(\n ...Object.keys(screens).map((key) =>\n createNormalizedConfigs(\n key,\n screens as PathConfigMap<object>,\n [],\n initialRoutes,\n []\n )\n )\n )\n .sort((a, b) => {\n // Sort config so that:\n // - the most exhaustive ones are always at the beginning\n // - patterns with wildcard are always at the end\n\n // If 2 patterns are same, move the one with less route names up\n // This is an error state, so it's only useful for consistent error messages\n if (a.pattern === b.pattern) {\n return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));\n }\n\n // If one of the patterns starts with the other, it's more exhaustive\n // So move it up\n if (a.pattern.startsWith(b.pattern)) {\n return -1;\n }\n\n if (b.pattern.startsWith(a.pattern)) {\n return 1;\n }\n\n const aParts = a.pattern.split('/');\n const bParts = b.pattern.split('/');\n\n for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {\n // if b is longer, b get higher priority\n if (aParts[i] == null) {\n return 1;\n }\n // if a is longer, a get higher priority\n if (bParts[i] == null) {\n return -1;\n }\n const aWildCard = aParts[i] === '*' || aParts[i].startsWith(':');\n const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');\n // if both are wildcard we compare next component\n if (aWildCard && bWildCard) {\n continue;\n }\n // if only a is wild card, b get higher priority\n if (aWildCard) {\n return 1;\n }\n // if only b is wild card, a get higher priority\n if (bWildCard) {\n return -1;\n }\n }\n return bParts.length - aParts.length;\n });\n\n // Check for duplicate patterns in the config\n configs.reduce<Record<string, RouteConfig>>((acc, config) => {\n if (acc[config.pattern]) {\n const a = acc[config.pattern].routeNames;\n const b = config.routeNames;\n\n // It's not a problem if the path string omitted from a inner most screen\n // For example, it's ok if a path resolves to `A > B > C` or `A > B`\n const intersects =\n a.length > b.length\n ? b.every((it, i) => a[i] === it)\n : a.every((it, i) => b[i] === it);\n\n if (!intersects) {\n throw new Error(\n `Found conflicting screens with the same pattern. The pattern '${\n config.pattern\n }' resolves to both '${a.join(' > ')}' and '${b.join(\n ' > '\n )}'. Patterns must be unique and cannot resolve to more than one screen.`\n );\n }\n }\n\n return Object.assign(acc, {\n [config.pattern]: config,\n });\n }, {});\n\n if (remaining === '/') {\n // We need to add special handling of empty path so navigation to empty path also works\n // When handling empty path, we should only look at the root level config\n const match = configs.find(\n (config) =>\n config.path === '' &&\n config.routeNames.every(\n // Make sure that none of the parent configs have a non-empty path defined\n (name) => !configs.find((c) => c.screen === name)?.path\n )\n );\n\n if (match) {\n return createNestedStateObject(\n path,\n match.routeNames.map((name) => ({ name })),\n initialRoutes,\n configs\n );\n }\n\n return undefined;\n }\n\n let result: PartialState<NavigationState> | undefined;\n let current: PartialState<NavigationState> | undefined;\n\n // We match the whole path against the regex instead of segments\n // This makes sure matches such as wildcard will catch any unmatched routes, even if nested\n const { routes, remainingPath } = matchAgainstConfigs(\n remaining,\n configs.map((c) => ({\n ...c,\n // Add `$` to the regex to make sure it matches till end of the path and not just beginning\n regex: c.regex ? new RegExp(c.regex.source + '$') : undefined,\n }))\n );\n\n if (routes !== undefined) {\n // This will always be empty if full path matched\n current = createNestedStateObject(path, routes, initialRoutes, configs);\n remaining = remainingPath;\n result = current;\n }\n\n if (current == null || result == null) {\n return undefined;\n }\n\n return result;\n}\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst matchAgainstConfigs = (remaining: string, configs: RouteConfig[]) => {\n let routes: ParsedRoute[] | undefined;\n let remainingPath = remaining;\n\n // Go through all configs, and see if the next path segment matches our regex\n for (const config of configs) {\n if (!config.regex) {\n continue;\n }\n\n const match = remainingPath.match(config.regex);\n\n // If our regex matches, we need to extract params from the path\n if (match) {\n const matchedParams = config.pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n .reduce<Record<string, any>>(\n (acc, p, i) =>\n Object.assign(acc, {\n // The param segments appear every second item starting from 2 in the regex match result\n [p]: match![(i + 1) * 2].replace(/\\//, ''),\n }),\n {}\n );\n\n routes = config.routeNames.map((name) => {\n const config = configs.find((c) => c.screen === name);\n const params = config?.path\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n .reduce<Record<string, any>>((acc, p) => {\n const value = matchedParams[p];\n\n if (value) {\n const key = p.replace(/^:/, '').replace(/\\?$/, '');\n acc[key] = config.parse?.[key] ? config.parse[key](value) : value;\n }\n\n return acc;\n }, {});\n\n if (params && Object.keys(params).length) {\n return { name, params };\n }\n\n return { name };\n });\n\n remainingPath = remainingPath.replace(match[1], '');\n\n break;\n }\n }\n\n return { routes, remainingPath };\n};\n\nconst createNormalizedConfigs = (\n screen: string,\n routeConfig: PathConfigMap<object>,\n routeNames: string[] = [],\n initials: InitialRouteConfig[],\n parentScreens: string[],\n parentPattern?: string\n): RouteConfig[] => {\n const configs: RouteConfig[] = [];\n\n routeNames.push(screen);\n\n parentScreens.push(screen);\n\n // @ts-expect-error: we can't strongly typecheck this for now\n const config = routeConfig[screen];\n\n if (typeof config === 'string') {\n // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern\n const pattern = parentPattern ? joinPaths(parentPattern, config) : config;\n\n configs.push(createConfigItem(screen, routeNames, pattern, config));\n } else if (typeof config === 'object') {\n let pattern: string | undefined;\n\n // if an object is specified as the value (e.g. Foo: { ... }),\n // it can have `path` property and\n // it could have `screens` prop which has nested configs\n if (typeof config.path === 'string') {\n if (config.exact && config.path === undefined) {\n throw new Error(\n \"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\"\n );\n }\n\n pattern =\n config.exact !== true\n ? joinPaths(parentPattern || '', config.path || '')\n : config.path || '';\n\n configs.push(\n createConfigItem(\n screen,\n routeNames,\n pattern!,\n config.path,\n config.parse\n )\n );\n }\n\n if (config.screens) {\n // property `initialRouteName` without `screens` has no purpose\n if (config.initialRouteName) {\n initials.push({\n initialRouteName: config.initialRouteName,\n parentScreens,\n });\n }\n\n Object.keys(config.screens).forEach((nestedConfig) => {\n const result = createNormalizedConfigs(\n nestedConfig,\n config.screens as PathConfigMap<object>,\n routeNames,\n initials,\n [...parentScreens],\n pattern ?? parentPattern\n );\n\n configs.push(...result);\n });\n }\n }\n\n routeNames.pop();\n\n return configs;\n};\n\nconst createConfigItem = (\n screen: string,\n routeNames: string[],\n pattern: string,\n path: string,\n parse?: ParseConfig\n): RouteConfig => {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern = pattern.split('/').filter(Boolean).join('/');\n\n const regex = pattern\n ? new RegExp(\n `^(${pattern\n .split('/')\n .map((it) => {\n if (it.startsWith(':')) {\n return `(([^/]+\\\\/)${it.endsWith('?') ? '?' : ''})`;\n }\n\n return `${it === '*' ? '.*' : escape(it)}\\\\/`;\n })\n .join('')})`\n )\n : undefined;\n\n return {\n screen,\n regex,\n pattern,\n path,\n // The routeNames array is mutated, so copy it to keep the current state\n routeNames: [...routeNames],\n parse,\n };\n};\n\nconst findParseConfigForRoute = (\n routeName: string,\n flatConfig: RouteConfig[]\n): ParseConfig | undefined => {\n for (const config of flatConfig) {\n if (routeName === config.routeNames[config.routeNames.length - 1]) {\n return config.parse;\n }\n }\n\n return undefined;\n};\n\n// Try to find an initial route connected with the one passed\nconst findInitialRoute = (\n routeName: string,\n parentScreens: string[],\n initialRoutes: InitialRouteConfig[]\n): string | undefined => {\n for (const config of initialRoutes) {\n if (parentScreens.length === config.parentScreens.length) {\n let sameParents = true;\n for (let i = 0; i < parentScreens.length; i++) {\n if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {\n sameParents = false;\n break;\n }\n }\n if (sameParents) {\n return routeName !== config.initialRouteName\n ? config.initialRouteName\n : undefined;\n }\n }\n }\n return undefined;\n};\n\n// returns state object with values depending on whether\n// it is the end of state and if there is initialRoute for this level\nconst createStateObject = (\n initialRoute: string | undefined,\n route: ParsedRoute,\n isEmpty: boolean\n): InitialState => {\n if (isEmpty) {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{ name: initialRoute }, route],\n };\n } else {\n return {\n routes: [route],\n };\n }\n } else {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{ name: initialRoute }, { ...route, state: { routes: [] } }],\n };\n } else {\n return {\n routes: [{ ...route, state: { routes: [] } }],\n };\n }\n }\n};\n\nconst createNestedStateObject = (\n path: string,\n routes: ParsedRoute[],\n initialRoutes: InitialRouteConfig[],\n flatConfig?: RouteConfig[]\n) => {\n let state: InitialState;\n let route = routes.shift() as ParsedRoute;\n const parentScreens: string[] = [];\n\n let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n\n parentScreens.push(route.name);\n\n state = createStateObject(initialRoute, route, routes.length === 0);\n\n if (routes.length > 0) {\n let nestedState = state;\n\n while ((route = routes.shift() as ParsedRoute)) {\n initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n\n const nestedStateIndex =\n nestedState.index || nestedState.routes.length - 1;\n\n nestedState.routes[nestedStateIndex].state = createStateObject(\n initialRoute,\n route,\n routes.length === 0\n );\n\n if (routes.length > 0) {\n nestedState = nestedState.routes[nestedStateIndex]\n .state as InitialState;\n }\n\n parentScreens.push(route.name);\n }\n }\n\n route = findFocusedRoute(state) as ParsedRoute;\n route.path = path;\n\n const params = parseQueryParams(\n path,\n flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined\n );\n\n if (params) {\n route.params = { ...route.params, ...params };\n }\n\n return state;\n};\n\nconst parseQueryParams = (\n path: string,\n parseConfig?: Record<string, (value: string) => any>\n) => {\n const query = path.split('?')[1];\n const params = queryString.parse(query);\n\n if (parseConfig) {\n Object.keys(params).forEach((name) => {\n if (\n Object.hasOwnProperty.call(parseConfig, name) &&\n typeof params[name] === 'string'\n ) {\n params[name] = parseConfig[name](params[name] as string);\n }\n });\n }\n\n return Object.keys(params).length ? params : undefined;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["escape","queryString","findFocusedRoute","validatePathConfig","getStateFromPath","path","options","initialRoutes","initialRouteName","push","parentScreens","screens","remaining","replace","endsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","configs","concat","Object","keys","key","createNormalizedConfigs","sort","a","b","pattern","routeNames","join","localeCompare","startsWith","aParts","bParts","i","Math","max","aWildCard","bWildCard","reduce","acc","config","intersects","every","it","Error","assign","match","find","c","screen","result","current","remainingPath","matchAgainstConfigs","regex","RegExp","source","joinPaths","paths","p","matchedParams","params","value","parse","routeConfig","initials","parentPattern","createConfigItem","exact","forEach","nestedConfig","pop","findParseConfigForRoute","routeName","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","index","state","shift","nestedState","nestedStateIndex","parseQueryParams","parseConfig","query","hasOwnProperty","call"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sources":["index.tsx"],"sourcesContent":["export { default as BaseNavigationContainer } from './BaseNavigationContainer';\nexport { default as createNavigationContainerRef } from './createNavigationContainerRef';\nexport { default as createNavigatorFactory } from './createNavigatorFactory';\nexport { default as CurrentRenderContext } from './CurrentRenderContext';\nexport { default as findFocusedRoute } from './findFocusedRoute';\nexport { default as getActionFromState } from './getActionFromState';\nexport { default as getFocusedRouteNameFromRoute } from './getFocusedRouteNameFromRoute';\nexport { default as getPathFromState } from './getPathFromState';\nexport { default as getStateFromPath } from './getStateFromPath';\nexport { default as NavigationContainerRefContext } from './NavigationContainerRefContext';\nexport { default as NavigationContext } from './NavigationContext';\nexport { default as NavigationHelpersContext } from './NavigationHelpersContext';\nexport { default as NavigationRouteContext } from './NavigationRouteContext';\nexport { default as PreventRemoveContext } from './PreventRemoveContext';\nexport { default as PreventRemoveProvider } from './PreventRemoveProvider';\nexport * from './types';\nexport { default as useFocusEffect } from './useFocusEffect';\nexport { default as useIsFocused } from './useIsFocused';\nexport { default as useNavigation } from './useNavigation';\nexport { default as useNavigationBuilder } from './useNavigationBuilder';\nexport { default as useNavigationContainerRef } from './useNavigationContainerRef';\nexport { default as useNavigationState } from './useNavigationState';\nexport { default as UNSTABLE_usePreventRemove } from './usePreventRemove';\nexport { default as usePreventRemoveContext } from './usePreventRemoveContext';\nexport { default as useRoute } from './useRoute';\nexport { default as validatePathConfig } from './validatePathConfig';\nexport * from '@react-navigation/routers';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAApB,QAAmD,2BAAnD;AACA,SAASD,OAAO,IAAIE,4BAApB,QAAwD,gCAAxD;AACA,SAASF,OAAO,IAAIG,sBAApB,QAAkD,0BAAlD;AACA,SAASH,OAAO,IAAII,oBAApB,QAAgD,wBAAhD;AACA,SAASJ,OAAO,IAAIK,gBAApB,QAA4C,oBAA5C;AACA,SAASL,OAAO,IAAIM,kBAApB,QAA8C,sBAA9C;AACA,SAASN,OAAO,IAAIO,4BAApB,QAAwD,gCAAxD;AACA,SAASP,OAAO,IAAIQ,gBAApB,QAA4C,oBAA5C;AACA,SAASR,OAAO,IAAIS,gBAApB,QAA4C,oBAA5C;AACA,SAAST,OAAO,IAAIU,6BAApB,QAAyD,iCAAzD;AACA,SAASV,OAAO,IAAIW,iBAApB,QAA6C,qBAA7C;AACA,SAASX,OAAO,IAAIY,wBAApB,QAAoD,4BAApD;AACA,SAASZ,OAAO,IAAIa,sBAApB,QAAkD,0BAAlD;AACA,SAASb,OAAO,IAAIc,oBAApB,QAAgD,wBAAhD;AACA,SAASd,OAAO,IAAIe,qBAApB,QAAiD,yBAAjD;AACA,cAAc,SAAd;AACA,SAASf,OAAO,IAAIgB,cAApB,QAA0C,kBAA1C;AACA,SAAShB,OAAO,IAAIiB,YAApB,QAAwC,gBAAxC;AACA,SAASjB,OAAO,IAAIkB,aAApB,QAAyC,iBAAzC;AACA,SAASlB,OAAO,IAAImB,oBAApB,QAAgD,wBAAhD;AACA,SAASnB,OAAO,IAAIoB,yBAApB,QAAqD,6BAArD;AACA,SAASpB,OAAO,IAAIqB,kBAApB,QAA8C,sBAA9C;AACA,SAASrB,OAAO,IAAIsB,yBAApB,QAAqD,oBAArD;AACA,SAAStB,OAAO,IAAIuB,uBAApB,QAAmD,2BAAnD;AACA,SAASvB,OAAO,IAAIwB,QAApB,QAAoC,YAApC;AACA,SAASxB,OAAO,IAAIyB,kBAApB,QAA8C,sBAA9C;AACA,cAAc,2BAAd"}
1
+ {"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SAASlB,OAAO,IAAImB,oBAAoB,QAAQ,wBAAwB;AACxE,SAASnB,OAAO,IAAIoB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASpB,OAAO,IAAIqB,kBAAkB,QAAQ,sBAAsB;AACpE,SAASrB,OAAO,IAAIsB,yBAAyB,QAAQ,oBAAoB;AACzE,SAAStB,OAAO,IAAIuB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASvB,OAAO,IAAIwB,QAAQ,QAAQ,YAAY;AAChD,SAASxB,OAAO,IAAIyB,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"}
@@ -6,11 +6,9 @@ export default function isArrayEqual(a, b) {
6
6
  if (a === b) {
7
7
  return true;
8
8
  }
9
-
10
9
  if (a.length !== b.length) {
11
10
  return false;
12
11
  }
13
-
14
12
  return a.every((it, index) => it === b[index]);
15
13
  }
16
14
  //# sourceMappingURL=isArrayEqual.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isArrayEqual","a","b","length","every","it","index"],"sources":["isArrayEqual.tsx"],"sourcesContent":["/**\n * Compare two arrays with primitive values as the content.\n * We need to make sure that both values and order match.\n */\nexport default function isArrayEqual(a: any[], b: any[]) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((it, index) => it === b[index]);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,eAAe,SAASA,YAAT,CAAsBC,CAAtB,EAAgCC,CAAhC,EAA0C;EACvD,IAAID,CAAC,KAAKC,CAAV,EAAa;IACX,OAAO,IAAP;EACD;;EAED,IAAID,CAAC,CAACE,MAAF,KAAaD,CAAC,CAACC,MAAnB,EAA2B;IACzB,OAAO,KAAP;EACD;;EAED,OAAOF,CAAC,CAACG,KAAF,CAAQ,CAACC,EAAD,EAAKC,KAAL,KAAeD,EAAE,KAAKH,CAAC,CAACI,KAAD,CAA/B,CAAP;AACD"}
1
+ {"version":3,"names":["isArrayEqual","a","b","length","every","it","index"],"sourceRoot":"../../src","sources":["isArrayEqual.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA,eAAe,SAASA,YAAY,CAACC,CAAQ,EAAEC,CAAQ,EAAE;EACvD,IAAID,CAAC,KAAKC,CAAC,EAAE;IACX,OAAO,IAAI;EACb;EAEA,IAAID,CAAC,CAACE,MAAM,KAAKD,CAAC,CAACC,MAAM,EAAE;IACzB,OAAO,KAAK;EACd;EAEA,OAAOF,CAAC,CAACG,KAAK,CAAC,CAACC,EAAE,EAAEC,KAAK,KAAKD,EAAE,KAAKH,CAAC,CAACI,KAAK,CAAC,CAAC;AAChD"}
@@ -5,14 +5,11 @@ export default function isRecordEqual(a, b) {
5
5
  if (a === b) {
6
6
  return true;
7
7
  }
8
-
9
8
  const aKeys = Object.keys(a);
10
9
  const bKeys = Object.keys(b);
11
-
12
10
  if (aKeys.length !== bKeys.length) {
13
11
  return false;
14
12
  }
15
-
16
13
  return aKeys.every(key => a[key] === b[key]);
17
14
  }
18
15
  //# sourceMappingURL=isRecordEqual.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isRecordEqual","a","b","aKeys","Object","keys","bKeys","length","every","key"],"sources":["isRecordEqual.tsx"],"sourcesContent":["/**\n * Compare two records with primitive values as the content.\n */\nexport default function isRecordEqual(\n a: Record<string, any>,\n b: Record<string, any>\n) {\n if (a === b) {\n return true;\n }\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n return aKeys.every((key) => a[key] === b[key]);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,eAAe,SAASA,aAAT,CACbC,CADa,EAEbC,CAFa,EAGb;EACA,IAAID,CAAC,KAAKC,CAAV,EAAa;IACX,OAAO,IAAP;EACD;;EAED,MAAMC,KAAK,GAAGC,MAAM,CAACC,IAAP,CAAYJ,CAAZ,CAAd;EACA,MAAMK,KAAK,GAAGF,MAAM,CAACC,IAAP,CAAYH,CAAZ,CAAd;;EAEA,IAAIC,KAAK,CAACI,MAAN,KAAiBD,KAAK,CAACC,MAA3B,EAAmC;IACjC,OAAO,KAAP;EACD;;EAED,OAAOJ,KAAK,CAACK,KAAN,CAAaC,GAAD,IAASR,CAAC,CAACQ,GAAD,CAAD,KAAWP,CAAC,CAACO,GAAD,CAAjC,CAAP;AACD"}
1
+ {"version":3,"names":["isRecordEqual","a","b","aKeys","Object","keys","bKeys","length","every","key"],"sourceRoot":"../../src","sources":["isRecordEqual.tsx"],"mappings":"AAAA;AACA;AACA;AACA,eAAe,SAASA,aAAa,CACnCC,CAAsB,EACtBC,CAAsB,EACtB;EACA,IAAID,CAAC,KAAKC,CAAC,EAAE;IACX,OAAO,IAAI;EACb;EAEA,MAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACJ,CAAC,CAAC;EAC5B,MAAMK,KAAK,GAAGF,MAAM,CAACC,IAAI,CAACH,CAAC,CAAC;EAE5B,IAAIC,KAAK,CAACI,MAAM,KAAKD,KAAK,CAACC,MAAM,EAAE;IACjC,OAAO,KAAK;EACd;EAEA,OAAOJ,KAAK,CAACK,KAAK,CAAEC,GAAG,IAAKR,CAAC,CAACQ,GAAG,CAAC,KAAKP,CAAC,CAACO,GAAG,CAAC,CAAC;AAChD"}
@@ -1,9 +1,9 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
4
  export class PrivateValueStore {
4
5
  constructor() {
5
6
  _defineProperty(this, '', void 0);
6
7
  }
7
-
8
8
  }
9
9
  //# sourceMappingURL=types.js.map