@react-navigation/core 6.4.4 → 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.
- package/lib/commonjs/BaseNavigationContainer.js +17 -69
- package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
- package/lib/commonjs/CurrentRenderContext.js +0 -4
- package/lib/commonjs/CurrentRenderContext.js.map +1 -1
- package/lib/commonjs/EnsureSingleNavigator.js +1 -12
- package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
- package/lib/commonjs/Group.js +0 -1
- package/lib/commonjs/Group.js.map +1 -1
- package/lib/commonjs/NavigationBuilderContext.js +0 -4
- package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
- package/lib/commonjs/NavigationContainerRefContext.js +0 -4
- package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
- package/lib/commonjs/NavigationContext.js +0 -4
- package/lib/commonjs/NavigationContext.js.map +1 -1
- package/lib/commonjs/NavigationHelpersContext.js +0 -4
- package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
- package/lib/commonjs/NavigationRouteContext.js +0 -4
- package/lib/commonjs/NavigationRouteContext.js.map +1 -1
- package/lib/commonjs/NavigationStateContext.js +0 -12
- package/lib/commonjs/NavigationStateContext.js.map +1 -1
- package/lib/commonjs/PreventRemoveContext.js +0 -4
- package/lib/commonjs/PreventRemoveContext.js.map +1 -1
- package/lib/commonjs/PreventRemoveProvider.js +3 -21
- package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
- package/lib/commonjs/SceneView.js +8 -13
- package/lib/commonjs/SceneView.js.map +1 -1
- package/lib/commonjs/Screen.js +0 -1
- package/lib/commonjs/Screen.js.map +1 -1
- package/lib/commonjs/StaticContainer.js +0 -10
- package/lib/commonjs/StaticContainer.js.map +1 -1
- package/lib/commonjs/UnhandledActionContext.js +0 -4
- package/lib/commonjs/UnhandledActionContext.js.map +1 -1
- package/lib/commonjs/checkDuplicateRouteNames.js +0 -5
- package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
- package/lib/commonjs/checkSerializable.js +0 -9
- package/lib/commonjs/checkSerializable.js.map +1 -1
- package/lib/commonjs/createNavigationContainerRef.js +0 -13
- package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
- package/lib/commonjs/createNavigatorFactory.js +0 -5
- package/lib/commonjs/createNavigatorFactory.js.map +1 -1
- package/lib/commonjs/findFocusedRoute.js +5 -10
- package/lib/commonjs/findFocusedRoute.js.map +1 -1
- package/lib/commonjs/fromEntries.js +0 -3
- package/lib/commonjs/fromEntries.js.map +1 -1
- package/lib/commonjs/getActionFromState.js +11 -22
- package/lib/commonjs/getActionFromState.js.map +1 -1
- package/lib/commonjs/getFocusedRouteNameFromRoute.js +7 -8
- package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
- package/lib/commonjs/getPathFromState.js +25 -55
- package/lib/commonjs/getPathFromState.js.map +1 -1
- package/lib/commonjs/getStateFromPath.js +48 -105
- package/lib/commonjs/getStateFromPath.js.map +1 -1
- package/lib/commonjs/index.js +0 -30
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/isArrayEqual.js +0 -3
- package/lib/commonjs/isArrayEqual.js.map +1 -1
- package/lib/commonjs/isRecordEqual.js +0 -4
- package/lib/commonjs/isRecordEqual.js.map +1 -1
- package/lib/commonjs/types.js +3 -5
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useChildListeners.js +0 -5
- package/lib/commonjs/useChildListeners.js.map +1 -1
- package/lib/commonjs/useComponent.js +3 -9
- package/lib/commonjs/useComponent.js.map +1 -1
- package/lib/commonjs/useCurrentRender.js +0 -7
- package/lib/commonjs/useCurrentRender.js.map +1 -1
- package/lib/commonjs/useDescriptors.js +11 -21
- package/lib/commonjs/useDescriptors.js.map +1 -1
- package/lib/commonjs/useEventEmitter.js +2 -24
- package/lib/commonjs/useEventEmitter.js.map +1 -1
- package/lib/commonjs/useFocusEffect.js +2 -20
- package/lib/commonjs/useFocusEffect.js.map +1 -1
- package/lib/commonjs/useFocusEvents.js +9 -15
- package/lib/commonjs/useFocusEvents.js.map +1 -1
- package/lib/commonjs/useFocusedListenersChildrenAdapter.js +0 -8
- package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
- package/lib/commonjs/useIsFocused.js +0 -8
- package/lib/commonjs/useIsFocused.js.map +1 -1
- package/lib/commonjs/useKeyedChildListeners.js +0 -4
- package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
- package/lib/commonjs/useNavigation.js +3 -11
- package/lib/commonjs/useNavigation.js.map +1 -1
- package/lib/commonjs/useNavigationBuilder.js +34 -91
- package/lib/commonjs/useNavigationBuilder.js.map +1 -1
- package/lib/commonjs/useNavigationCache.js +18 -30
- package/lib/commonjs/useNavigationCache.js.map +1 -1
- package/lib/commonjs/useNavigationContainerRef.js +0 -8
- package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
- package/lib/commonjs/useNavigationHelpers.js +4 -18
- package/lib/commonjs/useNavigationHelpers.js.map +1 -1
- package/lib/commonjs/useNavigationState.js +5 -9
- package/lib/commonjs/useNavigationState.js.map +1 -1
- package/lib/commonjs/useOnAction.js +8 -25
- package/lib/commonjs/useOnAction.js.map +1 -1
- package/lib/commonjs/useOnGetState.js +6 -16
- package/lib/commonjs/useOnGetState.js.map +1 -1
- package/lib/commonjs/useOnPreventRemove.js +9 -24
- package/lib/commonjs/useOnPreventRemove.js.map +1 -1
- package/lib/commonjs/useOnRouteFocus.js +0 -8
- package/lib/commonjs/useOnRouteFocus.js.map +1 -1
- package/lib/commonjs/useOptionsGetters.js +5 -24
- package/lib/commonjs/useOptionsGetters.js.map +1 -1
- package/lib/commonjs/usePreventRemove.js +0 -11
- package/lib/commonjs/usePreventRemove.js.map +1 -1
- package/lib/commonjs/usePreventRemoveContext.js +0 -8
- package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
- package/lib/commonjs/useRegisterNavigator.js +0 -8
- package/lib/commonjs/useRegisterNavigator.js.map +1 -1
- package/lib/commonjs/useRoute.js +0 -8
- package/lib/commonjs/useRoute.js.map +1 -1
- package/lib/commonjs/useRouteCache.js +1 -10
- package/lib/commonjs/useRouteCache.js.map +1 -1
- package/lib/commonjs/useScheduleUpdate.js +1 -8
- package/lib/commonjs/useScheduleUpdate.js.map +1 -1
- package/lib/commonjs/useSyncState.js +9 -17
- package/lib/commonjs/useSyncState.js.map +1 -1
- package/lib/commonjs/validatePathConfig.js +0 -7
- package/lib/commonjs/validatePathConfig.js.map +1 -1
- package/lib/module/BaseNavigationContainer.js +17 -46
- package/lib/module/BaseNavigationContainer.js.map +1 -1
- package/lib/module/CurrentRenderContext.js +1 -1
- package/lib/module/CurrentRenderContext.js.map +1 -1
- package/lib/module/EnsureSingleNavigator.js +1 -7
- package/lib/module/EnsureSingleNavigator.js.map +1 -1
- package/lib/module/Group.js.map +1 -1
- package/lib/module/NavigationBuilderContext.js +0 -1
- package/lib/module/NavigationBuilderContext.js.map +1 -1
- package/lib/module/NavigationContainerRefContext.js +0 -1
- package/lib/module/NavigationContainerRefContext.js.map +1 -1
- package/lib/module/NavigationContext.js +0 -1
- package/lib/module/NavigationContext.js.map +1 -1
- package/lib/module/NavigationHelpersContext.js +0 -1
- package/lib/module/NavigationHelpersContext.js.map +1 -1
- package/lib/module/NavigationRouteContext.js +1 -1
- package/lib/module/NavigationRouteContext.js.map +1 -1
- package/lib/module/NavigationStateContext.js +0 -6
- package/lib/module/NavigationStateContext.js.map +1 -1
- package/lib/module/PreventRemoveContext.js +1 -0
- package/lib/module/PreventRemoveContext.js.map +1 -1
- package/lib/module/PreventRemoveProvider.js +3 -12
- package/lib/module/PreventRemoveProvider.js.map +1 -1
- package/lib/module/SceneView.js +8 -5
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/Screen.js.map +1 -1
- package/lib/module/StaticContainer.js +1 -6
- package/lib/module/StaticContainer.js.map +1 -1
- package/lib/module/UnhandledActionContext.js.map +1 -1
- package/lib/module/checkDuplicateRouteNames.js +0 -4
- package/lib/module/checkDuplicateRouteNames.js.map +1 -1
- package/lib/module/checkSerializable.js +0 -8
- package/lib/module/checkSerializable.js.map +1 -1
- package/lib/module/createNavigationContainerRef.js +0 -10
- package/lib/module/createNavigationContainerRef.js.map +1 -1
- package/lib/module/createNavigatorFactory.js +0 -2
- package/lib/module/createNavigatorFactory.js.map +1 -1
- package/lib/module/findFocusedRoute.js +5 -9
- package/lib/module/findFocusedRoute.js.map +1 -1
- package/lib/module/fromEntries.js +0 -2
- package/lib/module/fromEntries.js.map +1 -1
- package/lib/module/getActionFromState.js +11 -21
- package/lib/module/getActionFromState.js.map +1 -1
- package/lib/module/getFocusedRouteNameFromRoute.js +7 -6
- package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
- package/lib/module/getPathFromState.js +25 -49
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getStateFromPath.js +48 -98
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/isArrayEqual.js +0 -2
- package/lib/module/isArrayEqual.js.map +1 -1
- package/lib/module/isRecordEqual.js +0 -3
- package/lib/module/isRecordEqual.js.map +1 -1
- package/lib/module/types.js +3 -3
- package/lib/module/types.js.map +1 -1
- package/lib/module/useChildListeners.js +0 -2
- package/lib/module/useChildListeners.js.map +1 -1
- package/lib/module/useComponent.js +3 -6
- package/lib/module/useComponent.js.map +1 -1
- package/lib/module/useCurrentRender.js +0 -2
- package/lib/module/useCurrentRender.js.map +1 -1
- package/lib/module/useDescriptors.js +11 -11
- package/lib/module/useDescriptors.js.map +1 -1
- package/lib/module/useEventEmitter.js +2 -21
- package/lib/module/useEventEmitter.js.map +1 -1
- package/lib/module/useFocusEffect.js +2 -15
- package/lib/module/useFocusEffect.js.map +1 -1
- package/lib/module/useFocusEvents.js +9 -10
- package/lib/module/useFocusEvents.js.map +1 -1
- package/lib/module/useFocusedListenersChildrenAdapter.js +0 -3
- package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
- package/lib/module/useIsFocused.js +1 -3
- package/lib/module/useIsFocused.js.map +1 -1
- package/lib/module/useKeyedChildListeners.js +0 -1
- package/lib/module/useKeyedChildListeners.js.map +1 -1
- package/lib/module/useNavigation.js +3 -5
- package/lib/module/useNavigation.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +37 -63
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +18 -24
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationContainerRef.js +0 -2
- package/lib/module/useNavigationContainerRef.js.map +1 -1
- package/lib/module/useNavigationHelpers.js +4 -9
- package/lib/module/useNavigationHelpers.js.map +1 -1
- package/lib/module/useNavigationState.js +5 -4
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +8 -19
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnGetState.js +6 -8
- package/lib/module/useOnGetState.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +9 -14
- package/lib/module/useOnPreventRemove.js.map +1 -1
- package/lib/module/useOnRouteFocus.js +0 -3
- package/lib/module/useOnRouteFocus.js.map +1 -1
- package/lib/module/useOptionsGetters.js +5 -17
- package/lib/module/useOptionsGetters.js.map +1 -1
- package/lib/module/usePreventRemove.js +1 -2
- package/lib/module/usePreventRemove.js.map +1 -1
- package/lib/module/usePreventRemoveContext.js +0 -2
- package/lib/module/usePreventRemoveContext.js.map +1 -1
- package/lib/module/useRegisterNavigator.js +1 -3
- package/lib/module/useRegisterNavigator.js.map +1 -1
- package/lib/module/useRoute.js +0 -3
- package/lib/module/useRoute.js.map +1 -1
- package/lib/module/useRouteCache.js +1 -6
- package/lib/module/useRouteCache.js.map +1 -1
- package/lib/module/useScheduleUpdate.js +1 -3
- package/lib/module/useScheduleUpdate.js.map +1 -1
- package/lib/module/useSyncState.js +9 -13
- package/lib/module/useSyncState.js.map +1 -1
- package/lib/module/validatePathConfig.js +0 -6
- package/lib/module/validatePathConfig.js.map +1 -1
- package/lib/typescript/src/BaseNavigationContainer.d.ts +1 -0
- package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -0
- package/lib/typescript/src/CurrentRenderContext.d.ts +1 -0
- package/lib/typescript/src/CurrentRenderContext.d.ts.map +1 -0
- package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -0
- package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -0
- package/lib/typescript/src/Group.d.ts +1 -0
- package/lib/typescript/src/Group.d.ts.map +1 -0
- package/lib/typescript/src/NavigationBuilderContext.d.ts +1 -0
- package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -0
- package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -0
- package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -0
- package/lib/typescript/src/NavigationContext.d.ts +1 -0
- package/lib/typescript/src/NavigationContext.d.ts.map +1 -0
- package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -0
- package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -0
- package/lib/typescript/src/NavigationRouteContext.d.ts +1 -0
- package/lib/typescript/src/NavigationRouteContext.d.ts.map +1 -0
- package/lib/typescript/src/NavigationStateContext.d.ts +1 -0
- package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -0
- package/lib/typescript/src/PreventRemoveContext.d.ts +1 -0
- package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -0
- package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -0
- package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -0
- package/lib/typescript/src/SceneView.d.ts +1 -0
- package/lib/typescript/src/SceneView.d.ts.map +1 -0
- package/lib/typescript/src/Screen.d.ts +1 -0
- package/lib/typescript/src/Screen.d.ts.map +1 -0
- package/lib/typescript/src/StaticContainer.d.ts +1 -0
- package/lib/typescript/src/StaticContainer.d.ts.map +1 -0
- package/lib/typescript/src/UnhandledActionContext.d.ts +1 -0
- package/lib/typescript/src/UnhandledActionContext.d.ts.map +1 -0
- package/lib/typescript/src/checkDuplicateRouteNames.d.ts +1 -0
- package/lib/typescript/src/checkDuplicateRouteNames.d.ts.map +1 -0
- package/lib/typescript/src/checkSerializable.d.ts +1 -0
- package/lib/typescript/src/checkSerializable.d.ts.map +1 -0
- package/lib/typescript/src/createNavigationContainerRef.d.ts +1 -0
- package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -0
- package/lib/typescript/src/createNavigatorFactory.d.ts +1 -0
- package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -0
- package/lib/typescript/src/findFocusedRoute.d.ts +1 -0
- package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -0
- package/lib/typescript/src/fromEntries.d.ts +1 -0
- package/lib/typescript/src/fromEntries.d.ts.map +1 -0
- package/lib/typescript/src/getActionFromState.d.ts +1 -0
- package/lib/typescript/src/getActionFromState.d.ts.map +1 -0
- package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts +1 -0
- package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts.map +1 -0
- package/lib/typescript/src/getPathFromState.d.ts +1 -0
- package/lib/typescript/src/getPathFromState.d.ts.map +1 -0
- package/lib/typescript/src/getStateFromPath.d.ts +1 -0
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/isArrayEqual.d.ts +1 -0
- package/lib/typescript/src/isArrayEqual.d.ts.map +1 -0
- package/lib/typescript/src/isRecordEqual.d.ts +1 -0
- package/lib/typescript/src/isRecordEqual.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +1 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/useChildListeners.d.ts +1 -0
- package/lib/typescript/src/useChildListeners.d.ts.map +1 -0
- package/lib/typescript/src/useComponent.d.ts +1 -0
- package/lib/typescript/src/useComponent.d.ts.map +1 -0
- package/lib/typescript/src/useCurrentRender.d.ts +1 -0
- package/lib/typescript/src/useCurrentRender.d.ts.map +1 -0
- package/lib/typescript/src/useDescriptors.d.ts +1 -0
- package/lib/typescript/src/useDescriptors.d.ts.map +1 -0
- package/lib/typescript/src/useEventEmitter.d.ts +1 -0
- package/lib/typescript/src/useEventEmitter.d.ts.map +1 -0
- package/lib/typescript/src/useFocusEffect.d.ts +1 -0
- package/lib/typescript/src/useFocusEffect.d.ts.map +1 -0
- package/lib/typescript/src/useFocusEvents.d.ts +1 -0
- package/lib/typescript/src/useFocusEvents.d.ts.map +1 -0
- package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +1 -0
- package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -0
- package/lib/typescript/src/useIsFocused.d.ts +1 -0
- package/lib/typescript/src/useIsFocused.d.ts.map +1 -0
- package/lib/typescript/src/useKeyedChildListeners.d.ts +1 -0
- package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -0
- package/lib/typescript/src/useNavigation.d.ts +1 -0
- package/lib/typescript/src/useNavigation.d.ts.map +1 -0
- package/lib/typescript/src/useNavigationBuilder.d.ts +1 -0
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -0
- package/lib/typescript/src/useNavigationCache.d.ts +1 -0
- package/lib/typescript/src/useNavigationCache.d.ts.map +1 -0
- package/lib/typescript/src/useNavigationContainerRef.d.ts +1 -0
- package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -0
- package/lib/typescript/src/useNavigationHelpers.d.ts +1 -0
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -0
- package/lib/typescript/src/useNavigationState.d.ts +1 -0
- package/lib/typescript/src/useNavigationState.d.ts.map +1 -0
- package/lib/typescript/src/useOnAction.d.ts +1 -0
- package/lib/typescript/src/useOnAction.d.ts.map +1 -0
- package/lib/typescript/src/useOnGetState.d.ts +1 -0
- package/lib/typescript/src/useOnGetState.d.ts.map +1 -0
- package/lib/typescript/src/useOnPreventRemove.d.ts +1 -0
- package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -0
- package/lib/typescript/src/useOnRouteFocus.d.ts +1 -0
- package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -0
- package/lib/typescript/src/useOptionsGetters.d.ts +1 -0
- package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -0
- package/lib/typescript/src/usePreventRemove.d.ts +1 -0
- package/lib/typescript/src/usePreventRemove.d.ts.map +1 -0
- package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -0
- package/lib/typescript/src/usePreventRemoveContext.d.ts.map +1 -0
- package/lib/typescript/src/useRegisterNavigator.d.ts +1 -0
- package/lib/typescript/src/useRegisterNavigator.d.ts.map +1 -0
- package/lib/typescript/src/useRoute.d.ts +1 -0
- package/lib/typescript/src/useRoute.d.ts.map +1 -0
- package/lib/typescript/src/useRouteCache.d.ts +1 -0
- package/lib/typescript/src/useRouteCache.d.ts.map +1 -0
- package/lib/typescript/src/useScheduleUpdate.d.ts +1 -0
- package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -0
- package/lib/typescript/src/useSyncState.d.ts +1 -0
- package/lib/typescript/src/useSyncState.d.ts.map +1 -0
- package/lib/typescript/src/validatePathConfig.d.ts +1 -0
- package/lib/typescript/src/validatePathConfig.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -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
|
-
}
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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(':');
|
|
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
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
94
|
+
}
|
|
95
|
+
// if only a is wild card, b get higher priority
|
|
108
96
|
if (aWildCard) {
|
|
109
97
|
return 1;
|
|
110
|
-
}
|
|
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
|
-
});
|
|
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;
|
|
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(
|
|
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;
|
|
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 => ({
|
|
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;
|
|
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
|
-
|
|
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);
|
|
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;
|
|
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
|
-
|
|
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
|
-
};
|
|
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
|
-
};
|
|
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
|
-
}, {
|
|
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: [{
|
|
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 = {
|
|
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":"AAKA,OAAOA,MAAP,MAAmB,sBAAnB;AACA,OAAO,KAAKC,WAAZ,MAA6B,cAA7B;AAEA,OAAOC,gBAAP,MAA6B,oBAA7B;AAEA,OAAOC,kBAAP,MAA+B,sBAA/B;;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,gBAAT,CACbC,IADa,EAEbC,OAFa,EAGY;EACzB,IAAIA,OAAJ,EAAa;IACXH,kBAAkB,CAACG,OAAD,CAAlB;EACD;;EAED,IAAIC,aAAmC,GAAG,EAA1C;;EAEA,IAAID,OAAJ,aAAIA,OAAJ,eAAIA,OAAO,CAAEE,gBAAb,EAA+B;IAC7BD,aAAa,CAACE,IAAd,CAAmB;MACjBD,gBAAgB,EAAEF,OAAO,CAACE,gBADT;MAEjBE,aAAa,EAAE;IAFE,CAAnB;EAID;;EAED,MAAMC,OAAO,GAAGL,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEK,OAAzB;EAEA,IAAIC,SAAS,GAAGP,IAAI,CACjBQ,OADa,CACL,MADK,EACG,GADH,EACQ;EADR,CAEbA,OAFa,CAEL,KAFK,EAEE,EAFF,EAEM;EAFN,CAGbA,OAHa,CAGL,OAHK,EAGI,EAHJ,CAAhB,CAhByB,CAmBA;EAEzB;;EACAD,SAAS,GAAGA,SAAS,CAACE,QAAV,CAAmB,GAAnB,IAA0BF,SAA1B,GAAuC,GAAEA,SAAU,GAA/D;;EAEA,IAAID,OAAO,KAAKI,SAAhB,EAA2B;IACzB;IACA,MAAMC,MAAM,GAAGJ,SAAS,CACrBK,KADY,CACN,GADM,EAEZC,MAFY,CAELC,OAFK,EAGZC,GAHY,CAGPC,OAAD,IAAa;MAChB,MAAMC,IAAI,GAAGC,kBAAkB,CAACF,OAAD,CAA/B;MACA,OAAO;QAAEC;MAAF,CAAP;IACD,CANY,CAAf;;IAQA,IAAIN,MAAM,CAACQ,MAAX,EAAmB;MACjB,OAAOC,uBAAuB,CAACpB,IAAD,EAAOW,MAAP,EAAeT,aAAf,CAA9B;IACD;;IAED,OAAOQ,SAAP;EACD,CAvCwB,CAyCzB;;;EACA,MAAMW,OAAO,GAAI,EAAD,CACbC,MADa,CAEZ,GAAGC,MAAM,CAACC,IAAP,CAAYlB,OAAZ,EAAqBS,GAArB,CAA0BU,GAAD,IAC1BC,uBAAuB,CACrBD,GADqB,EAErBnB,OAFqB,EAGrB,EAHqB,EAIrBJ,aAJqB,EAKrB,EALqB,CADtB,CAFS,EAYbyB,IAZa,CAYR,CAACC,CAAD,EAAIC,CAAJ,KAAU;IACd;IACA;IACA;IAEA;IACA;IACA,IAAID,CAAC,CAACE,OAAF,KAAcD,CAAC,CAACC,OAApB,EAA6B;MAC3B,OAAOD,CAAC,CAACE,UAAF,CAAaC,IAAb,CAAkB,GAAlB,EAAuBC,aAAvB,CAAqCL,CAAC,CAACG,UAAF,CAAaC,IAAb,CAAkB,GAAlB,CAArC,CAAP;IACD,CATa,CAWd;IACA;;;IACA,IAAIJ,CAAC,CAACE,OAAF,CAAUI,UAAV,CAAqBL,CAAC,CAACC,OAAvB,CAAJ,EAAqC;MACnC,OAAO,CAAC,CAAR;IACD;;IAED,IAAID,CAAC,CAACC,OAAF,CAAUI,UAAV,CAAqBN,CAAC,CAACE,OAAvB,CAAJ,EAAqC;MACnC,OAAO,CAAP;IACD;;IAED,MAAMK,MAAM,GAAGP,CAAC,CAACE,OAAF,CAAUlB,KAAV,CAAgB,GAAhB,CAAf;IACA,MAAMwB,MAAM,GAAGP,CAAC,CAACC,OAAF,CAAUlB,KAAV,CAAgB,GAAhB,CAAf;;IAEA,KAAK,IAAIyB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,IAAI,CAACC,GAAL,CAASJ,MAAM,CAAChB,MAAhB,EAAwBiB,MAAM,CAACjB,MAA/B,CAApB,EAA4DkB,CAAC,EAA7D,EAAiE;MAC/D;MACA,IAAIF,MAAM,CAACE,CAAD,CAAN,IAAa,IAAjB,EAAuB;QACrB,OAAO,CAAP;MACD,CAJ8D,CAK/D;;;MACA,IAAID,MAAM,CAACC,CAAD,CAAN,IAAa,IAAjB,EAAuB;QACrB,OAAO,CAAC,CAAR;MACD;;MACD,MAAMG,SAAS,GAAGL,MAAM,CAACE,CAAD,CAAN,KAAc,GAAd,IAAqBF,MAAM,CAACE,CAAD,CAAN,CAAUH,UAAV,CAAqB,GAArB,CAAvC;MACA,MAAMO,SAAS,GAAGL,MAAM,CAACC,CAAD,CAAN,KAAc,GAAd,IAAqBD,MAAM,CAACC,CAAD,CAAN,CAAUH,UAAV,CAAqB,GAArB,CAAvC,CAV+D,CAW/D;;MACA,IAAIM,SAAS,IAAIC,SAAjB,EAA4B;QAC1B;MACD,CAd8D,CAe/D;;;MACA,IAAID,SAAJ,EAAe;QACb,OAAO,CAAP;MACD,CAlB8D,CAmB/D;;;MACA,IAAIC,SAAJ,EAAe;QACb,OAAO,CAAC,CAAR;MACD;IACF;;IACD,OAAOL,MAAM,CAACjB,MAAP,GAAgBgB,MAAM,CAAChB,MAA9B;EACD,CA7Da,CAAhB,CA1CyB,CAyGzB;;EACAE,OAAO,CAACqB,MAAR,CAA4C,CAACC,GAAD,EAAMC,MAAN,KAAiB;IAC3D,IAAID,GAAG,CAACC,MAAM,CAACd,OAAR,CAAP,EAAyB;MACvB,MAAMF,CAAC,GAAGe,GAAG,CAACC,MAAM,CAACd,OAAR,CAAH,CAAoBC,UAA9B;MACA,MAAMF,CAAC,GAAGe,MAAM,CAACb,UAAjB,CAFuB,CAIvB;MACA;;MACA,MAAMc,UAAU,GACdjB,CAAC,CAACT,MAAF,GAAWU,CAAC,CAACV,MAAb,GACIU,CAAC,CAACiB,KAAF,CAAQ,CAACC,EAAD,EAAKV,CAAL,KAAWT,CAAC,CAACS,CAAD,CAAD,KAASU,EAA5B,CADJ,GAEInB,CAAC,CAACkB,KAAF,CAAQ,CAACC,EAAD,EAAKV,CAAL,KAAWR,CAAC,CAACQ,CAAD,CAAD,KAASU,EAA5B,CAHN;;MAKA,IAAI,CAACF,UAAL,EAAiB;QACf,MAAM,IAAIG,KAAJ,CACH,iEACCJ,MAAM,CAACd,OACR,uBAAsBF,CAAC,CAACI,IAAF,CAAO,KAAP,CAAc,UAASH,CAAC,CAACG,IAAF,CAC5C,KAD4C,CAE5C,wEALE,CAAN;MAOD;IACF;;IAED,OAAOT,MAAM,CAAC0B,MAAP,CAAcN,GAAd,EAAmB;MACxB,CAACC,MAAM,CAACd,OAAR,GAAkBc;IADM,CAAnB,CAAP;EAGD,CA1BD,EA0BG,EA1BH;;EA4BA,IAAIrC,SAAS,KAAK,GAAlB,EAAuB;IACrB;IACA;IACA,MAAM2C,KAAK,GAAG7B,OAAO,CAAC8B,IAAR,CACXP,MAAD,IACEA,MAAM,CAAC5C,IAAP,KAAgB,EAAhB,IACA4C,MAAM,CAACb,UAAP,CAAkBe,KAAlB,EACE;IACC7B,IAAD;MAAA;;MAAA,OAAU,mBAACI,OAAO,CAAC8B,IAAR,CAAcC,CAAD,IAAOA,CAAC,CAACC,MAAF,KAAapC,IAAjC,CAAD,0CAAC,cAAwCjB,IAAzC,CAAV;IAAA,CAFF,CAHU,CAAd;;IASA,IAAIkD,KAAJ,EAAW;MACT,OAAO9B,uBAAuB,CAC5BpB,IAD4B,EAE5BkD,KAAK,CAACnB,UAAN,CAAiBhB,GAAjB,CAAsBE,IAAD,KAAW;QAAEA;MAAF,CAAX,CAArB,CAF4B,EAG5Bf,aAH4B,EAI5BmB,OAJ4B,CAA9B;IAMD;;IAED,OAAOX,SAAP;EACD;;EAED,IAAI4C,MAAJ;EACA,IAAIC,OAAJ,CA/JyB,CAiKzB;EACA;;EACA,MAAM;IAAE5C,MAAF;IAAU6C;EAAV,IAA4BC,mBAAmB,CACnDlD,SADmD,EAEnDc,OAAO,CAACN,GAAR,CAAaqC,CAAD,KAAQ,EAClB,GAAGA,CADe;IAElB;IACAM,KAAK,EAAEN,CAAC,CAACM,KAAF,GAAU,IAAIC,MAAJ,CAAWP,CAAC,CAACM,KAAF,CAAQE,MAAR,GAAiB,GAA5B,CAAV,GAA6ClD;EAHlC,CAAR,CAAZ,CAFmD,CAArD;;EASA,IAAIC,MAAM,KAAKD,SAAf,EAA0B;IACxB;IACA6C,OAAO,GAAGnC,uBAAuB,CAACpB,IAAD,EAAOW,MAAP,EAAeT,aAAf,EAA8BmB,OAA9B,CAAjC;IACAd,SAAS,GAAGiD,aAAZ;IACAF,MAAM,GAAGC,OAAT;EACD;;EAED,IAAIA,OAAO,IAAI,IAAX,IAAmBD,MAAM,IAAI,IAAjC,EAAuC;IACrC,OAAO5C,SAAP;EACD;;EAED,OAAO4C,MAAP;AACD;;AAED,MAAMO,SAAS,GAAG;EAAA,kCAAIC,KAAJ;IAAIA,KAAJ;EAAA;;EAAA,OACf,EAAD,CACGxC,MADH,CACU,GAAGwC,KAAK,CAAC/C,GAAN,CAAWgD,CAAD,IAAOA,CAAC,CAACnD,KAAF,CAAQ,GAAR,CAAjB,CADb,EAEGC,MAFH,CAEUC,OAFV,EAGGkB,IAHH,CAGQ,GAHR,CADgB;AAAA,CAAlB;;AAMA,MAAMyB,mBAAmB,GAAG,CAAClD,SAAD,EAAoBc,OAApB,KAA+C;EACzE,IAAIV,MAAJ;EACA,IAAI6C,aAAa,GAAGjD,SAApB,CAFyE,CAIzE;;EACA,KAAK,MAAMqC,MAAX,IAAqBvB,OAArB,EAA8B;IAC5B,IAAI,CAACuB,MAAM,CAACc,KAAZ,EAAmB;MACjB;IACD;;IAED,MAAMR,KAAK,GAAGM,aAAa,CAACN,KAAd,CAAoBN,MAAM,CAACc,KAA3B,CAAd,CAL4B,CAO5B;;IACA,IAAIR,KAAJ,EAAW;MAAA;;MACT,MAAMc,aAAa,sBAAGpB,MAAM,CAACd,OAAV,oDAAG,gBAClBlB,KADkB,CACZ,GADY,EAEnBC,MAFmB,CAEXkD,CAAD,IAAOA,CAAC,CAAC7B,UAAF,CAAa,GAAb,CAFK,EAGnBQ,MAHmB,CAIlB,CAACC,GAAD,EAAMoB,CAAN,EAAS1B,CAAT,KACEd,MAAM,CAAC0B,MAAP,CAAcN,GAAd,EAAmB;QACjB;QACA,CAACoB,CAAD,GAAKb,KAAK,CAAE,CAACb,CAAC,GAAG,CAAL,IAAU,CAAZ,CAAL,CAAoB7B,OAApB,CAA4B,IAA5B,EAAkC,EAAlC;MAFY,CAAnB,CALgB,EASlB,EATkB,CAAtB;MAYAG,MAAM,GAAGiC,MAAM,CAACb,UAAP,CAAkBhB,GAAlB,CAAuBE,IAAD,IAAU;QAAA;;QACvC,MAAM2B,MAAM,GAAGvB,OAAO,CAAC8B,IAAR,CAAcC,CAAD,IAAOA,CAAC,CAACC,MAAF,KAAapC,IAAjC,CAAf;QACA,MAAMgD,MAAM,GAAGrB,MAAH,aAAGA,MAAH,uCAAGA,MAAM,CAAE5C,IAAX,iDAAG,aACXY,KADW,CACL,GADK,EAEZC,MAFY,CAEJkD,CAAD,IAAOA,CAAC,CAAC7B,UAAF,CAAa,GAAb,CAFF,EAGZQ,MAHY,CAGgB,CAACC,GAAD,EAAMoB,CAAN,KAAY;UACvC,MAAMG,KAAK,GAAGF,aAAa,CAACD,CAAD,CAA3B;;UAEA,IAAIG,KAAJ,EAAW;YAAA;;YACT,MAAMzC,GAAG,GAAGsC,CAAC,CAACvD,OAAF,CAAU,IAAV,EAAgB,EAAhB,EAAoBA,OAApB,CAA4B,KAA5B,EAAmC,EAAnC,CAAZ;YACAmC,GAAG,CAAClB,GAAD,CAAH,GAAW,iBAAAmB,MAAM,CAACuB,KAAP,wDAAe1C,GAAf,IAAsBmB,MAAM,CAACuB,KAAP,CAAa1C,GAAb,EAAkByC,KAAlB,CAAtB,GAAiDA,KAA5D;UACD;;UAED,OAAOvB,GAAP;QACD,CAZY,EAYV,EAZU,CAAf;;QAcA,IAAIsB,MAAM,IAAI1C,MAAM,CAACC,IAAP,CAAYyC,MAAZ,EAAoB9C,MAAlC,EAA0C;UACxC,OAAO;YAAEF,IAAF;YAAQgD;UAAR,CAAP;QACD;;QAED,OAAO;UAAEhD;QAAF,CAAP;MACD,CArBQ,CAAT;MAuBAuC,aAAa,GAAGA,aAAa,CAAChD,OAAd,CAAsB0C,KAAK,CAAC,CAAD,CAA3B,EAAgC,EAAhC,CAAhB;MAEA;IACD;EACF;;EAED,OAAO;IAAEvC,MAAF;IAAU6C;EAAV,CAAP;AACD,CAxDD;;AA0DA,MAAM9B,uBAAuB,GAAG,UAC9B2B,MAD8B,EAE9Be,WAF8B,EAOZ;EAAA,IAJlBrC,UAIkB,uEAJK,EAIL;EAAA,IAHlBsC,QAGkB;EAAA,IAFlBhE,aAEkB;EAAA,IADlBiE,aACkB;EAClB,MAAMjD,OAAsB,GAAG,EAA/B;EAEAU,UAAU,CAAC3B,IAAX,CAAgBiD,MAAhB;EAEAhD,aAAa,CAACD,IAAd,CAAmBiD,MAAnB,EALkB,CAOlB;;EACA,MAAMT,MAAM,GAAGwB,WAAW,CAACf,MAAD,CAA1B;;EAEA,IAAI,OAAOT,MAAP,KAAkB,QAAtB,EAAgC;IAC9B;IACA,MAAMd,OAAO,GAAGwC,aAAa,GAAGT,SAAS,CAACS,aAAD,EAAgB1B,MAAhB,CAAZ,GAAsCA,MAAnE;IAEAvB,OAAO,CAACjB,IAAR,CAAamE,gBAAgB,CAAClB,MAAD,EAAStB,UAAT,EAAqBD,OAArB,EAA8Bc,MAA9B,CAA7B;EACD,CALD,MAKO,IAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;IACrC,IAAId,OAAJ,CADqC,CAGrC;IACA;IACA;;IACA,IAAI,OAAOc,MAAM,CAAC5C,IAAd,KAAuB,QAA3B,EAAqC;MACnC,IAAI4C,MAAM,CAAC4B,KAAP,IAAgB5B,MAAM,CAAC5C,IAAP,KAAgBU,SAApC,EAA+C;QAC7C,MAAM,IAAIsC,KAAJ,CACJ,sJADI,CAAN;MAGD;;MAEDlB,OAAO,GACLc,MAAM,CAAC4B,KAAP,KAAiB,IAAjB,GACIX,SAAS,CAACS,aAAa,IAAI,EAAlB,EAAsB1B,MAAM,CAAC5C,IAAP,IAAe,EAArC,CADb,GAEI4C,MAAM,CAAC5C,IAAP,IAAe,EAHrB;MAKAqB,OAAO,CAACjB,IAAR,CACEmE,gBAAgB,CACdlB,MADc,EAEdtB,UAFc,EAGdD,OAHc,EAIdc,MAAM,CAAC5C,IAJO,EAKd4C,MAAM,CAACuB,KALO,CADlB;IASD;;IAED,IAAIvB,MAAM,CAACtC,OAAX,EAAoB;MAClB;MACA,IAAIsC,MAAM,CAACzC,gBAAX,EAA6B;QAC3BkE,QAAQ,CAACjE,IAAT,CAAc;UACZD,gBAAgB,EAAEyC,MAAM,CAACzC,gBADb;UAEZE;QAFY,CAAd;MAID;;MAEDkB,MAAM,CAACC,IAAP,CAAYoB,MAAM,CAACtC,OAAnB,EAA4BmE,OAA5B,CAAqCC,YAAD,IAAkB;QAAA;;QACpD,MAAMpB,MAAM,GAAG5B,uBAAuB,CACpCgD,YADoC,EAEpC9B,MAAM,CAACtC,OAF6B,EAGpCyB,UAHoC,EAIpCsC,QAJoC,EAKpC,CAAC,GAAGhE,aAAJ,CALoC,cAMpCyB,OANoC,+CAMzBwC,aANyB,CAAtC;QASAjD,OAAO,CAACjB,IAAR,CAAa,GAAGkD,MAAhB;MACD,CAXD;IAYD;EACF;;EAEDvB,UAAU,CAAC4C,GAAX;EAEA,OAAOtD,OAAP;AACD,CA9ED;;AAgFA,MAAMkD,gBAAgB,GAAG,CACvBlB,MADuB,EAEvBtB,UAFuB,EAGvBD,OAHuB,EAIvB9B,IAJuB,EAKvBmE,KALuB,KAMP;EAChB;EACArC,OAAO,GAAGA,OAAO,CAAClB,KAAR,CAAc,GAAd,EAAmBC,MAAnB,CAA0BC,OAA1B,EAAmCkB,IAAnC,CAAwC,GAAxC,CAAV;EAEA,MAAM0B,KAAK,GAAG5B,OAAO,GACjB,IAAI6B,MAAJ,CACG,KAAI7B,OAAO,CACTlB,KADE,CACI,GADJ,EAEFG,GAFE,CAEGgC,EAAD,IAAQ;IACX,IAAIA,EAAE,CAACb,UAAH,CAAc,GAAd,CAAJ,EAAwB;MACtB,OAAQ,cAAaa,EAAE,CAACtC,QAAH,CAAY,GAAZ,IAAmB,GAAnB,GAAyB,EAAG,GAAjD;IACD;;IAED,OAAQ,GAAEsC,EAAE,KAAK,GAAP,GAAa,IAAb,GAAoBpD,MAAM,CAACoD,EAAD,CAAK,KAAzC;EACD,CARE,EASFf,IATE,CASG,EATH,CASO,GAVd,CADiB,GAajBtB,SAbJ;EAeA,OAAO;IACL2C,MADK;IAELK,KAFK;IAGL5B,OAHK;IAIL9B,IAJK;IAKL;IACA+B,UAAU,EAAE,CAAC,GAAGA,UAAJ,CANP;IAOLoC;EAPK,CAAP;AASD,CAlCD;;AAoCA,MAAMS,uBAAuB,GAAG,CAC9BC,SAD8B,EAE9BC,UAF8B,KAGF;EAC5B,KAAK,MAAMlC,MAAX,IAAqBkC,UAArB,EAAiC;IAC/B,IAAID,SAAS,KAAKjC,MAAM,CAACb,UAAP,CAAkBa,MAAM,CAACb,UAAP,CAAkBZ,MAAlB,GAA2B,CAA7C,CAAlB,EAAmE;MACjE,OAAOyB,MAAM,CAACuB,KAAd;IACD;EACF;;EAED,OAAOzD,SAAP;AACD,CAXD,C,CAaA;;;AACA,MAAMqE,gBAAgB,GAAG,CACvBF,SADuB,EAEvBxE,aAFuB,EAGvBH,aAHuB,KAIA;EACvB,KAAK,MAAM0C,MAAX,IAAqB1C,aAArB,EAAoC;IAClC,IAAIG,aAAa,CAACc,MAAd,KAAyByB,MAAM,CAACvC,aAAP,CAAqBc,MAAlD,EAA0D;MACxD,IAAI6D,WAAW,GAAG,IAAlB;;MACA,KAAK,IAAI3C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhC,aAAa,CAACc,MAAlC,EAA0CkB,CAAC,EAA3C,EAA+C;QAC7C,IAAIhC,aAAa,CAACgC,CAAD,CAAb,CAAiBJ,aAAjB,CAA+BW,MAAM,CAACvC,aAAP,CAAqBgC,CAArB,CAA/B,MAA4D,CAAhE,EAAmE;UACjE2C,WAAW,GAAG,KAAd;UACA;QACD;MACF;;MACD,IAAIA,WAAJ,EAAiB;QACf,OAAOH,SAAS,KAAKjC,MAAM,CAACzC,gBAArB,GACHyC,MAAM,CAACzC,gBADJ,GAEHO,SAFJ;MAGD;IACF;EACF;;EACD,OAAOA,SAAP;AACD,CAtBD,C,CAwBA;AACA;;;AACA,MAAMuE,iBAAiB,GAAG,CACxBC,YADwB,EAExBC,KAFwB,EAGxBC,OAHwB,KAIP;EACjB,IAAIA,OAAJ,EAAa;IACX,IAAIF,YAAJ,EAAkB;MAChB,OAAO;QACLG,KAAK,EAAE,CADF;QAEL1E,MAAM,EAAE,CAAC;UAAEM,IAAI,EAAEiE;QAAR,CAAD,EAAyBC,KAAzB;MAFH,CAAP;IAID,CALD,MAKO;MACL,OAAO;QACLxE,MAAM,EAAE,CAACwE,KAAD;MADH,CAAP;IAGD;EACF,CAXD,MAWO;IACL,IAAID,YAAJ,EAAkB;MAChB,OAAO;QACLG,KAAK,EAAE,CADF;QAEL1E,MAAM,EAAE,CAAC;UAAEM,IAAI,EAAEiE;QAAR,CAAD,EAAyB,EAAE,GAAGC,KAAL;UAAYG,KAAK,EAAE;YAAE3E,MAAM,EAAE;UAAV;QAAnB,CAAzB;MAFH,CAAP;IAID,CALD,MAKO;MACL,OAAO;QACLA,MAAM,EAAE,CAAC,EAAE,GAAGwE,KAAL;UAAYG,KAAK,EAAE;YAAE3E,MAAM,EAAE;UAAV;QAAnB,CAAD;MADH,CAAP;IAGD;EACF;AACF,CA5BD;;AA8BA,MAAMS,uBAAuB,GAAG,CAC9BpB,IAD8B,EAE9BW,MAF8B,EAG9BT,aAH8B,EAI9B4E,UAJ8B,KAK3B;EACH,IAAIQ,KAAJ;EACA,IAAIH,KAAK,GAAGxE,MAAM,CAAC4E,KAAP,EAAZ;EACA,MAAMlF,aAAuB,GAAG,EAAhC;EAEA,IAAI6E,YAAY,GAAGH,gBAAgB,CAACI,KAAK,CAAClE,IAAP,EAAaZ,aAAb,EAA4BH,aAA5B,CAAnC;EAEAG,aAAa,CAACD,IAAd,CAAmB+E,KAAK,CAAClE,IAAzB;EAEAqE,KAAK,GAAGL,iBAAiB,CAACC,YAAD,EAAeC,KAAf,EAAsBxE,MAAM,CAACQ,MAAP,KAAkB,CAAxC,CAAzB;;EAEA,IAAIR,MAAM,CAACQ,MAAP,GAAgB,CAApB,EAAuB;IACrB,IAAIqE,WAAW,GAAGF,KAAlB;;IAEA,OAAQH,KAAK,GAAGxE,MAAM,CAAC4E,KAAP,EAAhB,EAAgD;MAC9CL,YAAY,GAAGH,gBAAgB,CAACI,KAAK,CAAClE,IAAP,EAAaZ,aAAb,EAA4BH,aAA5B,CAA/B;MAEA,MAAMuF,gBAAgB,GACpBD,WAAW,CAACH,KAAZ,IAAqBG,WAAW,CAAC7E,MAAZ,CAAmBQ,MAAnB,GAA4B,CADnD;MAGAqE,WAAW,CAAC7E,MAAZ,CAAmB8E,gBAAnB,EAAqCH,KAArC,GAA6CL,iBAAiB,CAC5DC,YAD4D,EAE5DC,KAF4D,EAG5DxE,MAAM,CAACQ,MAAP,KAAkB,CAH0C,CAA9D;;MAMA,IAAIR,MAAM,CAACQ,MAAP,GAAgB,CAApB,EAAuB;QACrBqE,WAAW,GAAGA,WAAW,CAAC7E,MAAZ,CAAmB8E,gBAAnB,EACXH,KADH;MAED;;MAEDjF,aAAa,CAACD,IAAd,CAAmB+E,KAAK,CAAClE,IAAzB;IACD;EACF;;EAEDkE,KAAK,GAAGtF,gBAAgB,CAACyF,KAAD,CAAxB;EACAH,KAAK,CAACnF,IAAN,GAAaA,IAAb;EAEA,MAAMiE,MAAM,GAAGyB,gBAAgB,CAC7B1F,IAD6B,EAE7B8E,UAAU,GAAGF,uBAAuB,CAACO,KAAK,CAAClE,IAAP,EAAa6D,UAAb,CAA1B,GAAqDpE,SAFlC,CAA/B;;EAKA,IAAIuD,MAAJ,EAAY;IACVkB,KAAK,CAAClB,MAAN,GAAe,EAAE,GAAGkB,KAAK,CAAClB,MAAX;MAAmB,GAAGA;IAAtB,CAAf;EACD;;EAED,OAAOqB,KAAP;AACD,CArDD;;AAuDA,MAAMI,gBAAgB,GAAG,CACvB1F,IADuB,EAEvB2F,WAFuB,KAGpB;EACH,MAAMC,KAAK,GAAG5F,IAAI,CAACY,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAd;EACA,MAAMqD,MAAM,GAAGrE,WAAW,CAACuE,KAAZ,CAAkByB,KAAlB,CAAf;;EAEA,IAAID,WAAJ,EAAiB;IACfpE,MAAM,CAACC,IAAP,CAAYyC,MAAZ,EAAoBQ,OAApB,CAA6BxD,IAAD,IAAU;MACpC,IACEM,MAAM,CAACsE,cAAP,CAAsBC,IAAtB,CAA2BH,WAA3B,EAAwC1E,IAAxC,KACA,OAAOgD,MAAM,CAAChD,IAAD,CAAb,KAAwB,QAF1B,EAGE;QACAgD,MAAM,CAAChD,IAAD,CAAN,GAAe0E,WAAW,CAAC1E,IAAD,CAAX,CAAkBgD,MAAM,CAAChD,IAAD,CAAxB,CAAf;MACD;IACF,CAPD;EAQD;;EAED,OAAOM,MAAM,CAACC,IAAP,CAAYyC,MAAZ,EAAoB9C,MAApB,GAA6B8C,MAA7B,GAAsCvD,SAA7C;AACD,CAnBD"}
|
|
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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"}
|
package/lib/module/index.js.map
CHANGED
|
@@ -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"],"
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isArrayEqual","a","b","length","every","it","index"],"
|
|
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"],"
|
|
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"}
|
package/lib/module/types.js
CHANGED
|
@@ -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
|