@react-navigation/core 6.4.4 → 6.4.6
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 -9
- 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 +16 -3
- 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
- package/src/types.tsx +0 -11
- package/src/useNavigationBuilder.tsx +16 -0
|
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = getStateFromPath;
|
|
7
|
-
|
|
8
7
|
var _escapeStringRegexp = _interopRequireDefault(require("escape-string-regexp"));
|
|
9
|
-
|
|
10
8
|
var queryString = _interopRequireWildcard(require("query-string"));
|
|
11
|
-
|
|
12
9
|
var _findFocusedRoute = _interopRequireDefault(require("./findFocusedRoute"));
|
|
13
|
-
|
|
14
10
|
var _validatePathConfig = _interopRequireDefault(require("./validatePathConfig"));
|
|
15
|
-
|
|
16
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
|
|
18
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
14
|
/**
|
|
23
15
|
* Utility to parse a path string to initial state object accepted by the container.
|
|
24
16
|
* This is useful for deep linking when we need to handle the incoming URL.
|
|
@@ -44,24 +36,20 @@ function getStateFromPath(path, options) {
|
|
|
44
36
|
if (options) {
|
|
45
37
|
(0, _validatePathConfig.default)(options);
|
|
46
38
|
}
|
|
47
|
-
|
|
48
39
|
let initialRoutes = [];
|
|
49
|
-
|
|
50
40
|
if (options !== null && options !== void 0 && options.initialRouteName) {
|
|
51
41
|
initialRoutes.push({
|
|
52
42
|
initialRouteName: options.initialRouteName,
|
|
53
43
|
parentScreens: []
|
|
54
44
|
});
|
|
55
45
|
}
|
|
56
|
-
|
|
57
46
|
const screens = options === null || options === void 0 ? void 0 : options.screens;
|
|
58
47
|
let remaining = path.replace(/\/+/g, '/') // Replace multiple slash (//) with single ones
|
|
59
48
|
.replace(/^\//, '') // Remove extra leading slash
|
|
60
49
|
.replace(/\?.*$/, ''); // Remove query params which we will handle later
|
|
61
|
-
// Make sure there is a trailing slash
|
|
62
50
|
|
|
51
|
+
// Make sure there is a trailing slash
|
|
63
52
|
remaining = remaining.endsWith('/') ? remaining : `${remaining}/`;
|
|
64
|
-
|
|
65
53
|
if (screens === undefined) {
|
|
66
54
|
// When no config is specified, use the path segments as route names
|
|
67
55
|
const routes = remaining.split('/').filter(Boolean).map(segment => {
|
|
@@ -70,183 +58,160 @@ function getStateFromPath(path, options) {
|
|
|
70
58
|
name
|
|
71
59
|
};
|
|
72
60
|
});
|
|
73
|
-
|
|
74
61
|
if (routes.length) {
|
|
75
62
|
return createNestedStateObject(path, routes, initialRoutes);
|
|
76
63
|
}
|
|
77
|
-
|
|
78
64
|
return undefined;
|
|
79
|
-
}
|
|
80
|
-
|
|
65
|
+
}
|
|
81
66
|
|
|
67
|
+
// Create a normalized configs array which will be easier to use
|
|
82
68
|
const configs = [].concat(...Object.keys(screens).map(key => createNormalizedConfigs(key, screens, [], initialRoutes, []))).sort((a, b) => {
|
|
83
69
|
// Sort config so that:
|
|
84
70
|
// - the most exhaustive ones are always at the beginning
|
|
85
71
|
// - patterns with wildcard are always at the end
|
|
72
|
+
|
|
86
73
|
// If 2 patterns are same, move the one with less route names up
|
|
87
74
|
// This is an error state, so it's only useful for consistent error messages
|
|
88
75
|
if (a.pattern === b.pattern) {
|
|
89
76
|
return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));
|
|
90
|
-
}
|
|
91
|
-
// So move it up
|
|
92
|
-
|
|
77
|
+
}
|
|
93
78
|
|
|
79
|
+
// If one of the patterns starts with the other, it's more exhaustive
|
|
80
|
+
// So move it up
|
|
94
81
|
if (a.pattern.startsWith(b.pattern)) {
|
|
95
82
|
return -1;
|
|
96
83
|
}
|
|
97
|
-
|
|
98
84
|
if (b.pattern.startsWith(a.pattern)) {
|
|
99
85
|
return 1;
|
|
100
86
|
}
|
|
101
|
-
|
|
102
87
|
const aParts = a.pattern.split('/');
|
|
103
88
|
const bParts = b.pattern.split('/');
|
|
104
|
-
|
|
105
89
|
for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {
|
|
106
90
|
// if b is longer, b get higher priority
|
|
107
91
|
if (aParts[i] == null) {
|
|
108
92
|
return 1;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
93
|
+
}
|
|
94
|
+
// if a is longer, a get higher priority
|
|
112
95
|
if (bParts[i] == null) {
|
|
113
96
|
return -1;
|
|
114
97
|
}
|
|
115
|
-
|
|
116
98
|
const aWildCard = aParts[i] === '*' || aParts[i].startsWith(':');
|
|
117
|
-
const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');
|
|
118
|
-
|
|
99
|
+
const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');
|
|
100
|
+
// if both are wildcard we compare next component
|
|
119
101
|
if (aWildCard && bWildCard) {
|
|
120
102
|
continue;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
|
|
103
|
+
}
|
|
104
|
+
// if only a is wild card, b get higher priority
|
|
124
105
|
if (aWildCard) {
|
|
125
106
|
return 1;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
107
|
+
}
|
|
108
|
+
// if only b is wild card, a get higher priority
|
|
129
109
|
if (bWildCard) {
|
|
130
110
|
return -1;
|
|
131
111
|
}
|
|
132
112
|
}
|
|
133
|
-
|
|
134
113
|
return bParts.length - aParts.length;
|
|
135
|
-
});
|
|
114
|
+
});
|
|
136
115
|
|
|
116
|
+
// Check for duplicate patterns in the config
|
|
137
117
|
configs.reduce((acc, config) => {
|
|
138
118
|
if (acc[config.pattern]) {
|
|
139
119
|
const a = acc[config.pattern].routeNames;
|
|
140
|
-
const b = config.routeNames;
|
|
141
|
-
// For example, it's ok if a path resolves to `A > B > C` or `A > B`
|
|
120
|
+
const b = config.routeNames;
|
|
142
121
|
|
|
122
|
+
// It's not a problem if the path string omitted from a inner most screen
|
|
123
|
+
// For example, it's ok if a path resolves to `A > B > C` or `A > B`
|
|
143
124
|
const intersects = a.length > b.length ? b.every((it, i) => a[i] === it) : a.every((it, i) => b[i] === it);
|
|
144
|
-
|
|
145
125
|
if (!intersects) {
|
|
146
126
|
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.`);
|
|
147
127
|
}
|
|
148
128
|
}
|
|
149
|
-
|
|
150
129
|
return Object.assign(acc, {
|
|
151
130
|
[config.pattern]: config
|
|
152
131
|
});
|
|
153
132
|
}, {});
|
|
154
|
-
|
|
155
133
|
if (remaining === '/') {
|
|
156
134
|
// We need to add special handling of empty path so navigation to empty path also works
|
|
157
135
|
// When handling empty path, we should only look at the root level config
|
|
158
|
-
const match = configs.find(config => config.path === '' && config.routeNames.every(
|
|
136
|
+
const match = configs.find(config => config.path === '' && config.routeNames.every(
|
|
137
|
+
// Make sure that none of the parent configs have a non-empty path defined
|
|
159
138
|
name => {
|
|
160
139
|
var _configs$find;
|
|
161
|
-
|
|
162
140
|
return !((_configs$find = configs.find(c => c.screen === name)) !== null && _configs$find !== void 0 && _configs$find.path);
|
|
163
141
|
}));
|
|
164
|
-
|
|
165
142
|
if (match) {
|
|
166
143
|
return createNestedStateObject(path, match.routeNames.map(name => ({
|
|
167
144
|
name
|
|
168
145
|
})), initialRoutes, configs);
|
|
169
146
|
}
|
|
170
|
-
|
|
171
147
|
return undefined;
|
|
172
148
|
}
|
|
173
|
-
|
|
174
149
|
let result;
|
|
175
|
-
let current;
|
|
176
|
-
// This makes sure matches such as wildcard will catch any unmatched routes, even if nested
|
|
150
|
+
let current;
|
|
177
151
|
|
|
152
|
+
// We match the whole path against the regex instead of segments
|
|
153
|
+
// This makes sure matches such as wildcard will catch any unmatched routes, even if nested
|
|
178
154
|
const {
|
|
179
155
|
routes,
|
|
180
156
|
remainingPath
|
|
181
|
-
} = matchAgainstConfigs(remaining, configs.map(c => ({
|
|
157
|
+
} = matchAgainstConfigs(remaining, configs.map(c => ({
|
|
158
|
+
...c,
|
|
182
159
|
// Add `$` to the regex to make sure it matches till end of the path and not just beginning
|
|
183
160
|
regex: c.regex ? new RegExp(c.regex.source + '$') : undefined
|
|
184
161
|
})));
|
|
185
|
-
|
|
186
162
|
if (routes !== undefined) {
|
|
187
163
|
// This will always be empty if full path matched
|
|
188
164
|
current = createNestedStateObject(path, routes, initialRoutes, configs);
|
|
189
165
|
remaining = remainingPath;
|
|
190
166
|
result = current;
|
|
191
167
|
}
|
|
192
|
-
|
|
193
168
|
if (current == null || result == null) {
|
|
194
169
|
return undefined;
|
|
195
170
|
}
|
|
196
|
-
|
|
197
171
|
return result;
|
|
198
172
|
}
|
|
199
|
-
|
|
200
173
|
const joinPaths = function () {
|
|
201
174
|
for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
202
175
|
paths[_key] = arguments[_key];
|
|
203
176
|
}
|
|
204
|
-
|
|
205
177
|
return [].concat(...paths.map(p => p.split('/'))).filter(Boolean).join('/');
|
|
206
178
|
};
|
|
207
|
-
|
|
208
179
|
const matchAgainstConfigs = (remaining, configs) => {
|
|
209
180
|
let routes;
|
|
210
|
-
let remainingPath = remaining;
|
|
181
|
+
let remainingPath = remaining;
|
|
211
182
|
|
|
183
|
+
// Go through all configs, and see if the next path segment matches our regex
|
|
212
184
|
for (const config of configs) {
|
|
213
185
|
if (!config.regex) {
|
|
214
186
|
continue;
|
|
215
187
|
}
|
|
188
|
+
const match = remainingPath.match(config.regex);
|
|
216
189
|
|
|
217
|
-
|
|
218
|
-
|
|
190
|
+
// If our regex matches, we need to extract params from the path
|
|
219
191
|
if (match) {
|
|
220
192
|
var _config$pattern;
|
|
221
|
-
|
|
222
193
|
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, {
|
|
223
194
|
// The param segments appear every second item starting from 2 in the regex match result
|
|
224
195
|
[p]: match[(i + 1) * 2].replace(/\//, '')
|
|
225
196
|
}), {});
|
|
226
197
|
routes = config.routeNames.map(name => {
|
|
227
198
|
var _config$path;
|
|
228
|
-
|
|
229
199
|
const config = configs.find(c => c.screen === name);
|
|
230
200
|
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) => {
|
|
231
201
|
const value = matchedParams[p];
|
|
232
|
-
|
|
233
202
|
if (value) {
|
|
234
203
|
var _config$parse;
|
|
235
|
-
|
|
236
204
|
const key = p.replace(/^:/, '').replace(/\?$/, '');
|
|
237
205
|
acc[key] = (_config$parse = config.parse) !== null && _config$parse !== void 0 && _config$parse[key] ? config.parse[key](value) : value;
|
|
238
206
|
}
|
|
239
|
-
|
|
240
207
|
return acc;
|
|
241
208
|
}, {});
|
|
242
|
-
|
|
243
209
|
if (params && Object.keys(params).length) {
|
|
244
210
|
return {
|
|
245
211
|
name,
|
|
246
212
|
params
|
|
247
213
|
};
|
|
248
214
|
}
|
|
249
|
-
|
|
250
215
|
return {
|
|
251
216
|
name
|
|
252
217
|
};
|
|
@@ -255,13 +220,11 @@ const matchAgainstConfigs = (remaining, configs) => {
|
|
|
255
220
|
break;
|
|
256
221
|
}
|
|
257
222
|
}
|
|
258
|
-
|
|
259
223
|
return {
|
|
260
224
|
routes,
|
|
261
225
|
remainingPath
|
|
262
226
|
};
|
|
263
227
|
};
|
|
264
|
-
|
|
265
228
|
const createNormalizedConfigs = function (screen, routeConfig) {
|
|
266
229
|
let routeNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
267
230
|
let initials = arguments.length > 3 ? arguments[3] : undefined;
|
|
@@ -269,28 +232,27 @@ const createNormalizedConfigs = function (screen, routeConfig) {
|
|
|
269
232
|
let parentPattern = arguments.length > 5 ? arguments[5] : undefined;
|
|
270
233
|
const configs = [];
|
|
271
234
|
routeNames.push(screen);
|
|
272
|
-
parentScreens.push(screen);
|
|
235
|
+
parentScreens.push(screen);
|
|
273
236
|
|
|
237
|
+
// @ts-expect-error: we can't strongly typecheck this for now
|
|
274
238
|
const config = routeConfig[screen];
|
|
275
|
-
|
|
276
239
|
if (typeof config === 'string') {
|
|
277
240
|
// If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern
|
|
278
241
|
const pattern = parentPattern ? joinPaths(parentPattern, config) : config;
|
|
279
242
|
configs.push(createConfigItem(screen, routeNames, pattern, config));
|
|
280
243
|
} else if (typeof config === 'object') {
|
|
281
|
-
let pattern;
|
|
244
|
+
let pattern;
|
|
245
|
+
|
|
246
|
+
// if an object is specified as the value (e.g. Foo: { ... }),
|
|
282
247
|
// it can have `path` property and
|
|
283
248
|
// it could have `screens` prop which has nested configs
|
|
284
|
-
|
|
285
249
|
if (typeof config.path === 'string') {
|
|
286
250
|
if (config.exact && config.path === undefined) {
|
|
287
251
|
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: ''`.");
|
|
288
252
|
}
|
|
289
|
-
|
|
290
253
|
pattern = config.exact !== true ? joinPaths(parentPattern || '', config.path || '') : config.path || '';
|
|
291
254
|
configs.push(createConfigItem(screen, routeNames, pattern, config.path, config.parse));
|
|
292
255
|
}
|
|
293
|
-
|
|
294
256
|
if (config.screens) {
|
|
295
257
|
// property `initialRouteName` without `screens` has no purpose
|
|
296
258
|
if (config.initialRouteName) {
|
|
@@ -299,20 +261,15 @@ const createNormalizedConfigs = function (screen, routeConfig) {
|
|
|
299
261
|
parentScreens
|
|
300
262
|
});
|
|
301
263
|
}
|
|
302
|
-
|
|
303
264
|
Object.keys(config.screens).forEach(nestedConfig => {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
const result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, [...parentScreens], (_pattern = pattern) !== null && _pattern !== void 0 ? _pattern : parentPattern);
|
|
265
|
+
const result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, [...parentScreens], pattern ?? parentPattern);
|
|
307
266
|
configs.push(...result);
|
|
308
267
|
});
|
|
309
268
|
}
|
|
310
269
|
}
|
|
311
|
-
|
|
312
270
|
routeNames.pop();
|
|
313
271
|
return configs;
|
|
314
272
|
};
|
|
315
|
-
|
|
316
273
|
const createConfigItem = (screen, routeNames, pattern, path, parse) => {
|
|
317
274
|
// Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.
|
|
318
275
|
pattern = pattern.split('/').filter(Boolean).join('/');
|
|
@@ -320,7 +277,6 @@ const createConfigItem = (screen, routeNames, pattern, path, parse) => {
|
|
|
320
277
|
if (it.startsWith(':')) {
|
|
321
278
|
return `(([^/]+\\/)${it.endsWith('?') ? '?' : ''})`;
|
|
322
279
|
}
|
|
323
|
-
|
|
324
280
|
return `${it === '*' ? '.*' : (0, _escapeStringRegexp.default)(it)}\\/`;
|
|
325
281
|
}).join('')})`) : undefined;
|
|
326
282
|
return {
|
|
@@ -333,41 +289,36 @@ const createConfigItem = (screen, routeNames, pattern, path, parse) => {
|
|
|
333
289
|
parse
|
|
334
290
|
};
|
|
335
291
|
};
|
|
336
|
-
|
|
337
292
|
const findParseConfigForRoute = (routeName, flatConfig) => {
|
|
338
293
|
for (const config of flatConfig) {
|
|
339
294
|
if (routeName === config.routeNames[config.routeNames.length - 1]) {
|
|
340
295
|
return config.parse;
|
|
341
296
|
}
|
|
342
297
|
}
|
|
343
|
-
|
|
344
298
|
return undefined;
|
|
345
|
-
};
|
|
346
|
-
|
|
299
|
+
};
|
|
347
300
|
|
|
301
|
+
// Try to find an initial route connected with the one passed
|
|
348
302
|
const findInitialRoute = (routeName, parentScreens, initialRoutes) => {
|
|
349
303
|
for (const config of initialRoutes) {
|
|
350
304
|
if (parentScreens.length === config.parentScreens.length) {
|
|
351
305
|
let sameParents = true;
|
|
352
|
-
|
|
353
306
|
for (let i = 0; i < parentScreens.length; i++) {
|
|
354
307
|
if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {
|
|
355
308
|
sameParents = false;
|
|
356
309
|
break;
|
|
357
310
|
}
|
|
358
311
|
}
|
|
359
|
-
|
|
360
312
|
if (sameParents) {
|
|
361
313
|
return routeName !== config.initialRouteName ? config.initialRouteName : undefined;
|
|
362
314
|
}
|
|
363
315
|
}
|
|
364
316
|
}
|
|
365
|
-
|
|
366
317
|
return undefined;
|
|
367
|
-
};
|
|
368
|
-
// it is the end of state and if there is initialRoute for this level
|
|
369
|
-
|
|
318
|
+
};
|
|
370
319
|
|
|
320
|
+
// returns state object with values depending on whether
|
|
321
|
+
// it is the end of state and if there is initialRoute for this level
|
|
371
322
|
const createStateObject = (initialRoute, route, isEmpty) => {
|
|
372
323
|
if (isEmpty) {
|
|
373
324
|
if (initialRoute) {
|
|
@@ -388,7 +339,8 @@ const createStateObject = (initialRoute, route, isEmpty) => {
|
|
|
388
339
|
index: 1,
|
|
389
340
|
routes: [{
|
|
390
341
|
name: initialRoute
|
|
391
|
-
}, {
|
|
342
|
+
}, {
|
|
343
|
+
...route,
|
|
392
344
|
state: {
|
|
393
345
|
routes: []
|
|
394
346
|
}
|
|
@@ -396,7 +348,8 @@ const createStateObject = (initialRoute, route, isEmpty) => {
|
|
|
396
348
|
};
|
|
397
349
|
} else {
|
|
398
350
|
return {
|
|
399
|
-
routes: [{
|
|
351
|
+
routes: [{
|
|
352
|
+
...route,
|
|
400
353
|
state: {
|
|
401
354
|
routes: []
|
|
402
355
|
}
|
|
@@ -405,7 +358,6 @@ const createStateObject = (initialRoute, route, isEmpty) => {
|
|
|
405
358
|
}
|
|
406
359
|
}
|
|
407
360
|
};
|
|
408
|
-
|
|
409
361
|
const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
|
|
410
362
|
let state;
|
|
411
363
|
let route = routes.shift();
|
|
@@ -413,40 +365,32 @@ const createNestedStateObject = (path, routes, initialRoutes, flatConfig) => {
|
|
|
413
365
|
let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
|
|
414
366
|
parentScreens.push(route.name);
|
|
415
367
|
state = createStateObject(initialRoute, route, routes.length === 0);
|
|
416
|
-
|
|
417
368
|
if (routes.length > 0) {
|
|
418
369
|
let nestedState = state;
|
|
419
|
-
|
|
420
370
|
while (route = routes.shift()) {
|
|
421
371
|
initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
|
|
422
372
|
const nestedStateIndex = nestedState.index || nestedState.routes.length - 1;
|
|
423
373
|
nestedState.routes[nestedStateIndex].state = createStateObject(initialRoute, route, routes.length === 0);
|
|
424
|
-
|
|
425
374
|
if (routes.length > 0) {
|
|
426
375
|
nestedState = nestedState.routes[nestedStateIndex].state;
|
|
427
376
|
}
|
|
428
|
-
|
|
429
377
|
parentScreens.push(route.name);
|
|
430
378
|
}
|
|
431
379
|
}
|
|
432
|
-
|
|
433
380
|
route = (0, _findFocusedRoute.default)(state);
|
|
434
381
|
route.path = path;
|
|
435
382
|
const params = parseQueryParams(path, flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined);
|
|
436
|
-
|
|
437
383
|
if (params) {
|
|
438
|
-
route.params = {
|
|
384
|
+
route.params = {
|
|
385
|
+
...route.params,
|
|
439
386
|
...params
|
|
440
387
|
};
|
|
441
388
|
}
|
|
442
|
-
|
|
443
389
|
return state;
|
|
444
390
|
};
|
|
445
|
-
|
|
446
391
|
const parseQueryParams = (path, parseConfig) => {
|
|
447
392
|
const query = path.split('?')[1];
|
|
448
393
|
const params = queryString.parse(query);
|
|
449
|
-
|
|
450
394
|
if (parseConfig) {
|
|
451
395
|
Object.keys(params).forEach(name => {
|
|
452
396
|
if (Object.hasOwnProperty.call(parseConfig, name) && typeof params[name] === 'string') {
|
|
@@ -454,7 +398,6 @@ const parseQueryParams = (path, parseConfig) => {
|
|
|
454
398
|
}
|
|
455
399
|
});
|
|
456
400
|
}
|
|
457
|
-
|
|
458
401
|
return Object.keys(params).length ? params : undefined;
|
|
459
402
|
};
|
|
460
403
|
//# sourceMappingURL=getStateFromPath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getStateFromPath","path","options","validatePathConfig","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","escape","findParseConfigForRoute","routeName","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","index","state","shift","nestedState","nestedStateIndex","findFocusedRoute","parseQueryParams","parseConfig","query","queryString","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":["getStateFromPath","path","options","validatePathConfig","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","escape","findParseConfigForRoute","routeName","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","index","state","shift","nestedState","nestedStateIndex","findFocusedRoute","parseQueryParams","parseConfig","query","queryString","hasOwnProperty","call"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -180,39 +180,22 @@ Object.defineProperty(exports, "validatePathConfig", {
|
|
|
180
180
|
return _validatePathConfig.default;
|
|
181
181
|
}
|
|
182
182
|
});
|
|
183
|
-
|
|
184
183
|
var _BaseNavigationContainer = _interopRequireDefault(require("./BaseNavigationContainer"));
|
|
185
|
-
|
|
186
184
|
var _createNavigationContainerRef = _interopRequireDefault(require("./createNavigationContainerRef"));
|
|
187
|
-
|
|
188
185
|
var _createNavigatorFactory = _interopRequireDefault(require("./createNavigatorFactory"));
|
|
189
|
-
|
|
190
186
|
var _CurrentRenderContext = _interopRequireDefault(require("./CurrentRenderContext"));
|
|
191
|
-
|
|
192
187
|
var _findFocusedRoute = _interopRequireDefault(require("./findFocusedRoute"));
|
|
193
|
-
|
|
194
188
|
var _getActionFromState = _interopRequireDefault(require("./getActionFromState"));
|
|
195
|
-
|
|
196
189
|
var _getFocusedRouteNameFromRoute = _interopRequireDefault(require("./getFocusedRouteNameFromRoute"));
|
|
197
|
-
|
|
198
190
|
var _getPathFromState = _interopRequireDefault(require("./getPathFromState"));
|
|
199
|
-
|
|
200
191
|
var _getStateFromPath = _interopRequireDefault(require("./getStateFromPath"));
|
|
201
|
-
|
|
202
192
|
var _NavigationContainerRefContext = _interopRequireDefault(require("./NavigationContainerRefContext"));
|
|
203
|
-
|
|
204
193
|
var _NavigationContext = _interopRequireDefault(require("./NavigationContext"));
|
|
205
|
-
|
|
206
194
|
var _NavigationHelpersContext = _interopRequireDefault(require("./NavigationHelpersContext"));
|
|
207
|
-
|
|
208
195
|
var _NavigationRouteContext = _interopRequireDefault(require("./NavigationRouteContext"));
|
|
209
|
-
|
|
210
196
|
var _PreventRemoveContext = _interopRequireDefault(require("./PreventRemoveContext"));
|
|
211
|
-
|
|
212
197
|
var _PreventRemoveProvider = _interopRequireDefault(require("./PreventRemoveProvider"));
|
|
213
|
-
|
|
214
198
|
var _types = require("./types");
|
|
215
|
-
|
|
216
199
|
Object.keys(_types).forEach(function (key) {
|
|
217
200
|
if (key === "default" || key === "__esModule") return;
|
|
218
201
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -224,29 +207,17 @@ Object.keys(_types).forEach(function (key) {
|
|
|
224
207
|
}
|
|
225
208
|
});
|
|
226
209
|
});
|
|
227
|
-
|
|
228
210
|
var _useFocusEffect = _interopRequireDefault(require("./useFocusEffect"));
|
|
229
|
-
|
|
230
211
|
var _useIsFocused = _interopRequireDefault(require("./useIsFocused"));
|
|
231
|
-
|
|
232
212
|
var _useNavigation = _interopRequireDefault(require("./useNavigation"));
|
|
233
|
-
|
|
234
213
|
var _useNavigationBuilder = _interopRequireDefault(require("./useNavigationBuilder"));
|
|
235
|
-
|
|
236
214
|
var _useNavigationContainerRef = _interopRequireDefault(require("./useNavigationContainerRef"));
|
|
237
|
-
|
|
238
215
|
var _useNavigationState = _interopRequireDefault(require("./useNavigationState"));
|
|
239
|
-
|
|
240
216
|
var _usePreventRemove = _interopRequireDefault(require("./usePreventRemove"));
|
|
241
|
-
|
|
242
217
|
var _usePreventRemoveContext = _interopRequireDefault(require("./usePreventRemoveContext"));
|
|
243
|
-
|
|
244
218
|
var _useRoute = _interopRequireDefault(require("./useRoute"));
|
|
245
|
-
|
|
246
219
|
var _validatePathConfig = _interopRequireDefault(require("./validatePathConfig"));
|
|
247
|
-
|
|
248
220
|
var _routers = require("@react-navigation/routers");
|
|
249
|
-
|
|
250
221
|
Object.keys(_routers).forEach(function (key) {
|
|
251
222
|
if (key === "default" || key === "__esModule") return;
|
|
252
223
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -258,6 +229,5 @@ Object.keys(_routers).forEach(function (key) {
|
|
|
258
229
|
}
|
|
259
230
|
});
|
|
260
231
|
});
|
|
261
|
-
|
|
262
232
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
263
233
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C"}
|