@react-navigation/core 6.4.0 → 6.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
  2. package/lib/commonjs/CurrentRenderContext.js.map +1 -1
  3. package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
  4. package/lib/commonjs/Group.js.map +1 -1
  5. package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
  6. package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
  7. package/lib/commonjs/NavigationContext.js.map +1 -1
  8. package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
  9. package/lib/commonjs/NavigationRouteContext.js.map +1 -1
  10. package/lib/commonjs/NavigationStateContext.js.map +1 -1
  11. package/lib/commonjs/PreventRemoveContext.js.map +1 -1
  12. package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
  13. package/lib/commonjs/SceneView.js.map +1 -1
  14. package/lib/commonjs/Screen.js.map +1 -1
  15. package/lib/commonjs/StaticContainer.js.map +1 -1
  16. package/lib/commonjs/UnhandledActionContext.js.map +1 -1
  17. package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
  18. package/lib/commonjs/checkSerializable.js.map +1 -1
  19. package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
  20. package/lib/commonjs/createNavigatorFactory.js.map +1 -1
  21. package/lib/commonjs/findFocusedRoute.js.map +1 -1
  22. package/lib/commonjs/fromEntries.js.map +1 -1
  23. package/lib/commonjs/getActionFromState.js.map +1 -1
  24. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
  25. package/lib/commonjs/getPathFromState.js.map +1 -1
  26. package/lib/commonjs/getStateFromPath.js.map +1 -1
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/isArrayEqual.js.map +1 -1
  29. package/lib/commonjs/isRecordEqual.js.map +1 -1
  30. package/lib/commonjs/types.js.map +1 -1
  31. package/lib/commonjs/useChildListeners.js.map +1 -1
  32. package/lib/commonjs/useComponent.js.map +1 -1
  33. package/lib/commonjs/useCurrentRender.js.map +1 -1
  34. package/lib/commonjs/useDescriptors.js.map +1 -1
  35. package/lib/commonjs/useEventEmitter.js.map +1 -1
  36. package/lib/commonjs/useFocusEffect.js.map +1 -1
  37. package/lib/commonjs/useFocusEvents.js.map +1 -1
  38. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
  39. package/lib/commonjs/useIsFocused.js.map +1 -1
  40. package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
  41. package/lib/commonjs/useNavigation.js.map +1 -1
  42. package/lib/commonjs/useNavigationBuilder.js.map +1 -1
  43. package/lib/commonjs/useNavigationCache.js.map +1 -1
  44. package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
  45. package/lib/commonjs/useNavigationHelpers.js.map +1 -1
  46. package/lib/commonjs/useNavigationState.js.map +1 -1
  47. package/lib/commonjs/useOnAction.js.map +1 -1
  48. package/lib/commonjs/useOnGetState.js.map +1 -1
  49. package/lib/commonjs/useOnPreventRemove.js.map +1 -1
  50. package/lib/commonjs/useOnRouteFocus.js.map +1 -1
  51. package/lib/commonjs/useOptionsGetters.js.map +1 -1
  52. package/lib/commonjs/usePreventRemove.js.map +1 -1
  53. package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
  54. package/lib/commonjs/useRegisterNavigator.js.map +1 -1
  55. package/lib/commonjs/useRoute.js.map +1 -1
  56. package/lib/commonjs/useRouteCache.js.map +1 -1
  57. package/lib/commonjs/useScheduleUpdate.js.map +1 -1
  58. package/lib/commonjs/useSyncState.js.map +1 -1
  59. package/lib/commonjs/validatePathConfig.js.map +1 -1
  60. package/lib/module/BaseNavigationContainer.js.map +1 -1
  61. package/lib/module/CurrentRenderContext.js.map +1 -1
  62. package/lib/module/EnsureSingleNavigator.js.map +1 -1
  63. package/lib/module/Group.js.map +1 -1
  64. package/lib/module/NavigationBuilderContext.js.map +1 -1
  65. package/lib/module/NavigationContainerRefContext.js.map +1 -1
  66. package/lib/module/NavigationContext.js.map +1 -1
  67. package/lib/module/NavigationHelpersContext.js.map +1 -1
  68. package/lib/module/NavigationRouteContext.js.map +1 -1
  69. package/lib/module/NavigationStateContext.js.map +1 -1
  70. package/lib/module/PreventRemoveContext.js.map +1 -1
  71. package/lib/module/PreventRemoveProvider.js.map +1 -1
  72. package/lib/module/SceneView.js.map +1 -1
  73. package/lib/module/Screen.js.map +1 -1
  74. package/lib/module/StaticContainer.js.map +1 -1
  75. package/lib/module/UnhandledActionContext.js.map +1 -1
  76. package/lib/module/checkDuplicateRouteNames.js.map +1 -1
  77. package/lib/module/checkSerializable.js.map +1 -1
  78. package/lib/module/createNavigationContainerRef.js.map +1 -1
  79. package/lib/module/createNavigatorFactory.js.map +1 -1
  80. package/lib/module/findFocusedRoute.js.map +1 -1
  81. package/lib/module/fromEntries.js.map +1 -1
  82. package/lib/module/getActionFromState.js.map +1 -1
  83. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
  84. package/lib/module/getPathFromState.js.map +1 -1
  85. package/lib/module/getStateFromPath.js.map +1 -1
  86. package/lib/module/index.js.map +1 -1
  87. package/lib/module/isArrayEqual.js.map +1 -1
  88. package/lib/module/isRecordEqual.js.map +1 -1
  89. package/lib/module/types.js.map +1 -1
  90. package/lib/module/useChildListeners.js.map +1 -1
  91. package/lib/module/useComponent.js.map +1 -1
  92. package/lib/module/useCurrentRender.js.map +1 -1
  93. package/lib/module/useDescriptors.js.map +1 -1
  94. package/lib/module/useEventEmitter.js.map +1 -1
  95. package/lib/module/useFocusEffect.js.map +1 -1
  96. package/lib/module/useFocusEvents.js.map +1 -1
  97. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  98. package/lib/module/useIsFocused.js.map +1 -1
  99. package/lib/module/useKeyedChildListeners.js.map +1 -1
  100. package/lib/module/useNavigation.js.map +1 -1
  101. package/lib/module/useNavigationBuilder.js.map +1 -1
  102. package/lib/module/useNavigationCache.js.map +1 -1
  103. package/lib/module/useNavigationContainerRef.js.map +1 -1
  104. package/lib/module/useNavigationHelpers.js.map +1 -1
  105. package/lib/module/useNavigationState.js.map +1 -1
  106. package/lib/module/useOnAction.js.map +1 -1
  107. package/lib/module/useOnGetState.js.map +1 -1
  108. package/lib/module/useOnPreventRemove.js.map +1 -1
  109. package/lib/module/useOnRouteFocus.js.map +1 -1
  110. package/lib/module/useOptionsGetters.js.map +1 -1
  111. package/lib/module/usePreventRemove.js.map +1 -1
  112. package/lib/module/usePreventRemoveContext.js.map +1 -1
  113. package/lib/module/useRegisterNavigator.js.map +1 -1
  114. package/lib/module/useRoute.js.map +1 -1
  115. package/lib/module/useRouteCache.js.map +1 -1
  116. package/lib/module/useScheduleUpdate.js.map +1 -1
  117. package/lib/module/useSyncState.js.map +1 -1
  118. package/lib/module/validatePathConfig.js.map +1 -1
  119. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["BaseNavigationContainer.tsx"],"names":["serializableWarnings","duplicateNameWarnings","getPartialState","state","undefined","key","routeNames","partialState","stale","routes","map","route","BaseNavigationContainer","React","forwardRef","ref","initialState","onStateChange","onUnhandledAction","independent","children","parent","useContext","NavigationStateContext","isDefault","Error","getState","setState","scheduleUpdate","flushUpdates","isFirstMountRef","useRef","navigatorKeyRef","getKey","useCallback","current","setKey","listeners","addListener","keyedListeners","addKeyedListener","dispatch","action","focus","console","error","NOT_INITIALIZED_ERROR","navigation","canGoBack","result","handled","resetRoot","target","root","CommonActions","reset","getRootState","getCurrentRoute","emitter","addOptionsGetter","getCurrentOptions","useMemo","Object","keys","reduce","acc","name","create","isFocused","getParent","stateRef","isReady","useImperativeHandle","onDispatchAction","noop","emit","type","data","stack","stackRef","lastEmittedOptionsRef","onOptionsChange","options","builderContext","scheduleContext","isInitialRef","getIsInitial","context","onStateChangeRef","useEffect","hydratedState","process","env","NODE_ENV","serializableResult","serializable","location","reason","path","pointer","params","i","length","curr","prev","test","JSON","stringify","message","includes","push","warn","duplicateRouteNamesResult","locations","join","defaultOnUnhandledAction","payload","element"],"mappings":"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","sourcesContent":["import {\n CommonActions,\n InitialState,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport checkDuplicateRouteNames from './checkDuplicateRouteNames';\nimport checkSerializable from './checkSerializable';\nimport { NOT_INITIALIZED_ERROR } from './createNavigationContainerRef';\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport findFocusedRoute from './findFocusedRoute';\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport NavigationContainerRefContext from './NavigationContainerRefContext';\nimport NavigationContext from './NavigationContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport type {\n NavigationContainerEventMap,\n NavigationContainerProps,\n NavigationContainerRef,\n} from './types';\nimport UnhandledActionContext from './UnhandledActionContext';\nimport useChildListeners from './useChildListeners';\nimport useEventEmitter from './useEventEmitter';\nimport useKeyedChildListeners from './useKeyedChildListeners';\nimport useOptionsGetters from './useOptionsGetters';\nimport { ScheduleUpdateContext } from './useScheduleUpdate';\nimport useSyncState from './useSyncState';\n\ntype State = NavigationState | PartialState<NavigationState> | undefined;\n\nconst serializableWarnings: string[] = [];\nconst duplicateNameWarnings: string[] = [];\n\n/**\n * Remove `key` and `routeNames` from the state objects recursively to get partial state.\n *\n * @param state Initial state object.\n */\nconst getPartialState = (\n state: InitialState | undefined\n): PartialState<NavigationState> | undefined => {\n if (state === undefined) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { key, routeNames, ...partialState } = state;\n\n return {\n ...partialState,\n stale: true,\n routes: state.routes.map((route) => {\n if (route.state === undefined) {\n return route as Route<string> & {\n state?: PartialState<NavigationState>;\n };\n }\n\n return { ...route, state: getPartialState(route.state) };\n }),\n };\n};\n\n/**\n * Container component which holds the navigation state.\n * This should be rendered at the root wrapping the whole app.\n *\n * @param props.initialState Initial state object for the navigation tree.\n * @param props.onStateChange Callback which is called with the latest navigation state when it changes.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which refers to the navigation object containing helper methods.\n */\nconst BaseNavigationContainer = React.forwardRef(\n function BaseNavigationContainer(\n {\n initialState,\n onStateChange,\n onUnhandledAction,\n independent,\n children,\n }: NavigationContainerProps,\n ref?: React.Ref<NavigationContainerRef<ParamListBase>>\n ) {\n const parent = React.useContext(NavigationStateContext);\n\n if (!parent.isDefault && !independent) {\n throw new Error(\n \"Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.\"\n );\n }\n\n const [state, getState, setState, scheduleUpdate, flushUpdates] =\n useSyncState<State>(() =>\n getPartialState(initialState == null ? undefined : initialState)\n );\n\n const isFirstMountRef = React.useRef<boolean>(true);\n\n const navigatorKeyRef = React.useRef<string | undefined>();\n\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const { listeners, addListener } = useChildListeners();\n\n const { keyedListeners, addKeyedListener } = useKeyedChildListeners();\n\n const dispatch = React.useCallback(\n (\n action:\n | NavigationAction\n | ((state: NavigationState) => NavigationAction)\n ) => {\n if (listeners.focus[0] == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) => navigation.dispatch(action));\n }\n },\n [listeners.focus]\n );\n\n const canGoBack = React.useCallback(() => {\n if (listeners.focus[0] == null) {\n return false;\n }\n\n const { result, handled } = listeners.focus[0]((navigation) =>\n navigation.canGoBack()\n );\n\n if (handled) {\n return result;\n } else {\n return false;\n }\n }, [listeners.focus]);\n\n const resetRoot = React.useCallback(\n (state?: PartialState<NavigationState> | NavigationState) => {\n const target = state?.key ?? keyedListeners.getState.root?.().key;\n\n if (target == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) =>\n navigation.dispatch({\n ...CommonActions.reset(state),\n target,\n })\n );\n }\n },\n [keyedListeners.getState, listeners.focus]\n );\n\n const getRootState = React.useCallback(() => {\n return keyedListeners.getState.root?.();\n }, [keyedListeners.getState]);\n\n const getCurrentRoute = React.useCallback(() => {\n const state = getRootState();\n\n if (state == null) {\n return undefined;\n }\n\n const route = findFocusedRoute(state);\n\n return route as Route<string> | undefined;\n }, [getRootState]);\n\n const emitter = useEventEmitter<NavigationContainerEventMap>();\n\n const { addOptionsGetter, getCurrentOptions } = useOptionsGetters({});\n\n const navigation: NavigationContainerRef<ParamListBase> = React.useMemo(\n () => ({\n ...Object.keys(CommonActions).reduce<any>((acc, name) => {\n acc[name] = (...args: any[]) =>\n // @ts-expect-error: this is ok\n dispatch(CommonActions[name](...args));\n return acc;\n }, {}),\n ...emitter.create('root'),\n dispatch,\n resetRoot,\n isFocused: () => true,\n canGoBack,\n getParent: () => undefined,\n getState: () => stateRef.current,\n getRootState,\n getCurrentRoute,\n getCurrentOptions,\n isReady: () => listeners.focus[0] != null,\n }),\n [\n canGoBack,\n dispatch,\n emitter,\n getCurrentOptions,\n getCurrentRoute,\n getRootState,\n listeners.focus,\n resetRoot,\n ]\n );\n\n React.useImperativeHandle(ref, () => navigation, [navigation]);\n\n const onDispatchAction = React.useCallback(\n (action: NavigationAction, noop: boolean) => {\n emitter.emit({\n type: '__unsafe_action__',\n data: { action, noop, stack: stackRef.current },\n });\n },\n [emitter]\n );\n\n const lastEmittedOptionsRef = React.useRef<object | undefined>();\n\n const onOptionsChange = React.useCallback(\n (options: object) => {\n if (lastEmittedOptionsRef.current === options) {\n return;\n }\n\n lastEmittedOptionsRef.current = options;\n\n emitter.emit({\n type: 'options',\n data: { options },\n });\n },\n [emitter]\n );\n\n const stackRef = React.useRef<string | undefined>();\n\n const builderContext = React.useMemo(\n () => ({\n addListener,\n addKeyedListener,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n }),\n [addListener, addKeyedListener, onDispatchAction, onOptionsChange]\n );\n\n const scheduleContext = React.useMemo(\n () => ({ scheduleUpdate, flushUpdates }),\n [scheduleUpdate, flushUpdates]\n );\n\n const isInitialRef = React.useRef(true);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const onStateChangeRef = React.useRef(onStateChange);\n const stateRef = React.useRef(state);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n onStateChangeRef.current = onStateChange;\n stateRef.current = state;\n });\n\n React.useEffect(() => {\n const hydratedState = getRootState();\n\n if (process.env.NODE_ENV !== 'production') {\n if (hydratedState !== undefined) {\n const serializableResult = checkSerializable(hydratedState);\n\n if (!serializableResult.serializable) {\n const { location, reason } = serializableResult;\n\n let path = '';\n let pointer: Record<any, any> = hydratedState;\n let params = false;\n\n for (let i = 0; i < location.length; i++) {\n const curr = location[i];\n const prev = location[i - 1];\n\n pointer = pointer[curr];\n\n if (!params && curr === 'state') {\n continue;\n } else if (!params && curr === 'routes') {\n if (path) {\n path += ' > ';\n }\n } else if (\n !params &&\n typeof curr === 'number' &&\n prev === 'routes'\n ) {\n path += pointer?.name;\n } else if (!params) {\n path += ` > ${curr}`;\n params = true;\n } else {\n if (typeof curr === 'number' || /^[0-9]+$/.test(curr)) {\n path += `[${curr}]`;\n } else if (/^[a-z$_]+$/i.test(curr)) {\n path += `.${curr}`;\n } else {\n path += `[${JSON.stringify(curr)}]`;\n }\n }\n }\n\n const message = `Non-serializable values were found in the navigation state. Check:\\n\\n${path} (${reason})\\n\\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`;\n\n if (!serializableWarnings.includes(message)) {\n serializableWarnings.push(message);\n console.warn(message);\n }\n }\n\n const duplicateRouteNamesResult =\n checkDuplicateRouteNames(hydratedState);\n\n if (duplicateRouteNamesResult.length) {\n const message = `Found screens with the same name nested inside one another. Check:\\n${duplicateRouteNamesResult.map(\n (locations) => `\\n${locations.join(', ')}`\n )}\\n\\nThis can cause confusing behavior during navigation. Consider using unique names for each screen instead.`;\n\n if (!duplicateNameWarnings.includes(message)) {\n duplicateNameWarnings.push(message);\n console.warn(message);\n }\n }\n }\n }\n\n emitter.emit({ type: 'state', data: { state } });\n\n if (!isFirstMountRef.current && onStateChangeRef.current) {\n onStateChangeRef.current(hydratedState);\n }\n\n isFirstMountRef.current = false;\n }, [getRootState, emitter, state]);\n\n const defaultOnUnhandledAction = React.useCallback(\n (action: NavigationAction) => {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n const payload: Record<string, any> | undefined = action.payload;\n\n let message = `The action '${action.type}'${\n payload ? ` with payload ${JSON.stringify(action.payload)}` : ''\n } was not handled by any navigator.`;\n\n switch (action.type) {\n case 'NAVIGATE':\n case 'PUSH':\n case 'REPLACE':\n case 'JUMP_TO':\n if (payload?.name) {\n message += `\\n\\nDo you have a screen named '${payload.name}'?\\n\\nIf you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator.`;\n } else {\n message += `\\n\\nYou need to pass the name of the screen to navigate to.\\n\\nSee https://reactnavigation.org/docs/navigation-actions for usage.`;\n }\n\n break;\n case 'GO_BACK':\n case 'POP':\n case 'POP_TO_TOP':\n message += `\\n\\nIs there any screen to go back to?`;\n break;\n case 'OPEN_DRAWER':\n case 'CLOSE_DRAWER':\n case 'TOGGLE_DRAWER':\n message += `\\n\\nIs your screen inside a Drawer navigator?`;\n break;\n }\n\n message += `\\n\\nThis is a development-only warning and won't be shown in production.`;\n\n console.error(message);\n },\n []\n );\n\n let element = (\n <NavigationContainerRefContext.Provider value={navigation}>\n <ScheduleUpdateContext.Provider value={scheduleContext}>\n <NavigationBuilderContext.Provider value={builderContext}>\n <NavigationStateContext.Provider value={context}>\n <UnhandledActionContext.Provider\n value={onUnhandledAction ?? defaultOnUnhandledAction}\n >\n <EnsureSingleNavigator>{children}</EnsureSingleNavigator>\n </UnhandledActionContext.Provider>\n </NavigationStateContext.Provider>\n </NavigationBuilderContext.Provider>\n </ScheduleUpdateContext.Provider>\n </NavigationContainerRefContext.Provider>\n );\n\n if (independent) {\n // We need to clear any existing contexts for nested independent container to work correctly\n element = (\n <NavigationRouteContext.Provider value={undefined}>\n <NavigationContext.Provider value={undefined}>\n {element}\n </NavigationContext.Provider>\n </NavigationRouteContext.Provider>\n );\n }\n\n return element;\n }\n);\n\nexport default BaseNavigationContainer;\n"]}
1
+ {"version":3,"names":["serializableWarnings","duplicateNameWarnings","getPartialState","state","undefined","key","routeNames","partialState","stale","routes","map","route","BaseNavigationContainer","React","forwardRef","ref","initialState","onStateChange","onUnhandledAction","independent","children","parent","useContext","NavigationStateContext","isDefault","Error","getState","setState","scheduleUpdate","flushUpdates","useSyncState","isFirstMountRef","useRef","navigatorKeyRef","getKey","useCallback","current","setKey","listeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","dispatch","action","focus","console","error","NOT_INITIALIZED_ERROR","navigation","canGoBack","result","handled","resetRoot","target","root","CommonActions","reset","getRootState","getCurrentRoute","findFocusedRoute","emitter","useEventEmitter","addOptionsGetter","getCurrentOptions","useOptionsGetters","useMemo","Object","keys","reduce","acc","name","create","isFocused","getParent","stateRef","isReady","useImperativeHandle","onDispatchAction","noop","emit","type","data","stack","stackRef","lastEmittedOptionsRef","onOptionsChange","options","builderContext","scheduleContext","isInitialRef","getIsInitial","context","onStateChangeRef","useEffect","hydratedState","process","env","NODE_ENV","serializableResult","checkSerializable","serializable","location","reason","path","pointer","params","i","length","curr","prev","test","JSON","stringify","message","includes","push","warn","duplicateRouteNamesResult","checkDuplicateRouteNames","locations","join","defaultOnUnhandledAction","payload","element"],"sources":["BaseNavigationContainer.tsx"],"sourcesContent":["import {\n CommonActions,\n InitialState,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport checkDuplicateRouteNames from './checkDuplicateRouteNames';\nimport checkSerializable from './checkSerializable';\nimport { NOT_INITIALIZED_ERROR } from './createNavigationContainerRef';\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport findFocusedRoute from './findFocusedRoute';\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport NavigationContainerRefContext from './NavigationContainerRefContext';\nimport NavigationContext from './NavigationContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport type {\n NavigationContainerEventMap,\n NavigationContainerProps,\n NavigationContainerRef,\n} from './types';\nimport UnhandledActionContext from './UnhandledActionContext';\nimport useChildListeners from './useChildListeners';\nimport useEventEmitter from './useEventEmitter';\nimport useKeyedChildListeners from './useKeyedChildListeners';\nimport useOptionsGetters from './useOptionsGetters';\nimport { ScheduleUpdateContext } from './useScheduleUpdate';\nimport useSyncState from './useSyncState';\n\ntype State = NavigationState | PartialState<NavigationState> | undefined;\n\nconst serializableWarnings: string[] = [];\nconst duplicateNameWarnings: string[] = [];\n\n/**\n * Remove `key` and `routeNames` from the state objects recursively to get partial state.\n *\n * @param state Initial state object.\n */\nconst getPartialState = (\n state: InitialState | undefined\n): PartialState<NavigationState> | undefined => {\n if (state === undefined) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { key, routeNames, ...partialState } = state;\n\n return {\n ...partialState,\n stale: true,\n routes: state.routes.map((route) => {\n if (route.state === undefined) {\n return route as Route<string> & {\n state?: PartialState<NavigationState>;\n };\n }\n\n return { ...route, state: getPartialState(route.state) };\n }),\n };\n};\n\n/**\n * Container component which holds the navigation state.\n * This should be rendered at the root wrapping the whole app.\n *\n * @param props.initialState Initial state object for the navigation tree.\n * @param props.onStateChange Callback which is called with the latest navigation state when it changes.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which refers to the navigation object containing helper methods.\n */\nconst BaseNavigationContainer = React.forwardRef(\n function BaseNavigationContainer(\n {\n initialState,\n onStateChange,\n onUnhandledAction,\n independent,\n children,\n }: NavigationContainerProps,\n ref?: React.Ref<NavigationContainerRef<ParamListBase>>\n ) {\n const parent = React.useContext(NavigationStateContext);\n\n if (!parent.isDefault && !independent) {\n throw new Error(\n \"Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.\"\n );\n }\n\n const [state, getState, setState, scheduleUpdate, flushUpdates] =\n useSyncState<State>(() =>\n getPartialState(initialState == null ? undefined : initialState)\n );\n\n const isFirstMountRef = React.useRef<boolean>(true);\n\n const navigatorKeyRef = React.useRef<string | undefined>();\n\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const { listeners, addListener } = useChildListeners();\n\n const { keyedListeners, addKeyedListener } = useKeyedChildListeners();\n\n const dispatch = React.useCallback(\n (\n action:\n | NavigationAction\n | ((state: NavigationState) => NavigationAction)\n ) => {\n if (listeners.focus[0] == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) => navigation.dispatch(action));\n }\n },\n [listeners.focus]\n );\n\n const canGoBack = React.useCallback(() => {\n if (listeners.focus[0] == null) {\n return false;\n }\n\n const { result, handled } = listeners.focus[0]((navigation) =>\n navigation.canGoBack()\n );\n\n if (handled) {\n return result;\n } else {\n return false;\n }\n }, [listeners.focus]);\n\n const resetRoot = React.useCallback(\n (state?: PartialState<NavigationState> | NavigationState) => {\n const target = state?.key ?? keyedListeners.getState.root?.().key;\n\n if (target == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) =>\n navigation.dispatch({\n ...CommonActions.reset(state),\n target,\n })\n );\n }\n },\n [keyedListeners.getState, listeners.focus]\n );\n\n const getRootState = React.useCallback(() => {\n return keyedListeners.getState.root?.();\n }, [keyedListeners.getState]);\n\n const getCurrentRoute = React.useCallback(() => {\n const state = getRootState();\n\n if (state == null) {\n return undefined;\n }\n\n const route = findFocusedRoute(state);\n\n return route as Route<string> | undefined;\n }, [getRootState]);\n\n const emitter = useEventEmitter<NavigationContainerEventMap>();\n\n const { addOptionsGetter, getCurrentOptions } = useOptionsGetters({});\n\n const navigation: NavigationContainerRef<ParamListBase> = React.useMemo(\n () => ({\n ...Object.keys(CommonActions).reduce<any>((acc, name) => {\n acc[name] = (...args: any[]) =>\n // @ts-expect-error: this is ok\n dispatch(CommonActions[name](...args));\n return acc;\n }, {}),\n ...emitter.create('root'),\n dispatch,\n resetRoot,\n isFocused: () => true,\n canGoBack,\n getParent: () => undefined,\n getState: () => stateRef.current,\n getRootState,\n getCurrentRoute,\n getCurrentOptions,\n isReady: () => listeners.focus[0] != null,\n }),\n [\n canGoBack,\n dispatch,\n emitter,\n getCurrentOptions,\n getCurrentRoute,\n getRootState,\n listeners.focus,\n resetRoot,\n ]\n );\n\n React.useImperativeHandle(ref, () => navigation, [navigation]);\n\n const onDispatchAction = React.useCallback(\n (action: NavigationAction, noop: boolean) => {\n emitter.emit({\n type: '__unsafe_action__',\n data: { action, noop, stack: stackRef.current },\n });\n },\n [emitter]\n );\n\n const lastEmittedOptionsRef = React.useRef<object | undefined>();\n\n const onOptionsChange = React.useCallback(\n (options: object) => {\n if (lastEmittedOptionsRef.current === options) {\n return;\n }\n\n lastEmittedOptionsRef.current = options;\n\n emitter.emit({\n type: 'options',\n data: { options },\n });\n },\n [emitter]\n );\n\n const stackRef = React.useRef<string | undefined>();\n\n const builderContext = React.useMemo(\n () => ({\n addListener,\n addKeyedListener,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n }),\n [addListener, addKeyedListener, onDispatchAction, onOptionsChange]\n );\n\n const scheduleContext = React.useMemo(\n () => ({ scheduleUpdate, flushUpdates }),\n [scheduleUpdate, flushUpdates]\n );\n\n const isInitialRef = React.useRef(true);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const onStateChangeRef = React.useRef(onStateChange);\n const stateRef = React.useRef(state);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n onStateChangeRef.current = onStateChange;\n stateRef.current = state;\n });\n\n React.useEffect(() => {\n const hydratedState = getRootState();\n\n if (process.env.NODE_ENV !== 'production') {\n if (hydratedState !== undefined) {\n const serializableResult = checkSerializable(hydratedState);\n\n if (!serializableResult.serializable) {\n const { location, reason } = serializableResult;\n\n let path = '';\n let pointer: Record<any, any> = hydratedState;\n let params = false;\n\n for (let i = 0; i < location.length; i++) {\n const curr = location[i];\n const prev = location[i - 1];\n\n pointer = pointer[curr];\n\n if (!params && curr === 'state') {\n continue;\n } else if (!params && curr === 'routes') {\n if (path) {\n path += ' > ';\n }\n } else if (\n !params &&\n typeof curr === 'number' &&\n prev === 'routes'\n ) {\n path += pointer?.name;\n } else if (!params) {\n path += ` > ${curr}`;\n params = true;\n } else {\n if (typeof curr === 'number' || /^[0-9]+$/.test(curr)) {\n path += `[${curr}]`;\n } else if (/^[a-z$_]+$/i.test(curr)) {\n path += `.${curr}`;\n } else {\n path += `[${JSON.stringify(curr)}]`;\n }\n }\n }\n\n const message = `Non-serializable values were found in the navigation state. Check:\\n\\n${path} (${reason})\\n\\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`;\n\n if (!serializableWarnings.includes(message)) {\n serializableWarnings.push(message);\n console.warn(message);\n }\n }\n\n const duplicateRouteNamesResult =\n checkDuplicateRouteNames(hydratedState);\n\n if (duplicateRouteNamesResult.length) {\n const message = `Found screens with the same name nested inside one another. Check:\\n${duplicateRouteNamesResult.map(\n (locations) => `\\n${locations.join(', ')}`\n )}\\n\\nThis can cause confusing behavior during navigation. Consider using unique names for each screen instead.`;\n\n if (!duplicateNameWarnings.includes(message)) {\n duplicateNameWarnings.push(message);\n console.warn(message);\n }\n }\n }\n }\n\n emitter.emit({ type: 'state', data: { state } });\n\n if (!isFirstMountRef.current && onStateChangeRef.current) {\n onStateChangeRef.current(hydratedState);\n }\n\n isFirstMountRef.current = false;\n }, [getRootState, emitter, state]);\n\n const defaultOnUnhandledAction = React.useCallback(\n (action: NavigationAction) => {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n const payload: Record<string, any> | undefined = action.payload;\n\n let message = `The action '${action.type}'${\n payload ? ` with payload ${JSON.stringify(action.payload)}` : ''\n } was not handled by any navigator.`;\n\n switch (action.type) {\n case 'NAVIGATE':\n case 'PUSH':\n case 'REPLACE':\n case 'JUMP_TO':\n if (payload?.name) {\n message += `\\n\\nDo you have a screen named '${payload.name}'?\\n\\nIf you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator.`;\n } else {\n message += `\\n\\nYou need to pass the name of the screen to navigate to.\\n\\nSee https://reactnavigation.org/docs/navigation-actions for usage.`;\n }\n\n break;\n case 'GO_BACK':\n case 'POP':\n case 'POP_TO_TOP':\n message += `\\n\\nIs there any screen to go back to?`;\n break;\n case 'OPEN_DRAWER':\n case 'CLOSE_DRAWER':\n case 'TOGGLE_DRAWER':\n message += `\\n\\nIs your screen inside a Drawer navigator?`;\n break;\n }\n\n message += `\\n\\nThis is a development-only warning and won't be shown in production.`;\n\n console.error(message);\n },\n []\n );\n\n let element = (\n <NavigationContainerRefContext.Provider value={navigation}>\n <ScheduleUpdateContext.Provider value={scheduleContext}>\n <NavigationBuilderContext.Provider value={builderContext}>\n <NavigationStateContext.Provider value={context}>\n <UnhandledActionContext.Provider\n value={onUnhandledAction ?? defaultOnUnhandledAction}\n >\n <EnsureSingleNavigator>{children}</EnsureSingleNavigator>\n </UnhandledActionContext.Provider>\n </NavigationStateContext.Provider>\n </NavigationBuilderContext.Provider>\n </ScheduleUpdateContext.Provider>\n </NavigationContainerRefContext.Provider>\n );\n\n if (independent) {\n // We need to clear any existing contexts for nested independent container to work correctly\n element = (\n <NavigationRouteContext.Provider value={undefined}>\n <NavigationContext.Provider value={undefined}>\n {element}\n </NavigationContext.Provider>\n </NavigationRouteContext.Provider>\n );\n }\n\n return element;\n }\n);\n\nexport default BaseNavigationContainer;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrentRenderContext.tsx"],"names":["CurrentRenderContext","React","createContext","undefined"],"mappings":";;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,gBAAGC,KAAK,CAACC,aAAN,CAE3BC,SAF2B,CAA7B;eAIeH,oB","sourcesContent":["import * as React from 'react';\n\n/**\n * Context which holds the values for the current navigation tree.\n * Intended for use in SSR. This is not safe to use on the client.\n */\nconst CurrentRenderContext = React.createContext<\n { options?: object } | undefined\n>(undefined);\n\nexport default CurrentRenderContext;\n"]}
1
+ {"version":3,"names":["CurrentRenderContext","React","createContext","undefined"],"sources":["CurrentRenderContext.tsx"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Context which holds the values for the current navigation tree.\n * Intended for use in SSR. This is not safe to use on the client.\n */\nconst CurrentRenderContext = React.createContext<\n { options?: object } | undefined\n>(undefined);\n\nexport default CurrentRenderContext;\n"],"mappings":";;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,gBAAGC,KAAK,CAACC,aAAN,CAE3BC,SAF2B,CAA7B;eAIeH,oB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["EnsureSingleNavigator.tsx"],"names":["MULTIPLE_NAVIGATOR_ERROR","SingleNavigatorContext","React","createContext","undefined","EnsureSingleNavigator","children","navigatorKeyRef","useRef","value","useMemo","register","key","currentKey","current","Error","unregister"],"mappings":";;;;;;;;AAAA;;;;;;AAMA,MAAMA,wBAAwB,GAAI,oSAAlC;AAEO,MAAMC,sBAAsB,gBAAGC,KAAK,CAACC,aAAN,CAMpCC,SANoC,CAA/B;AAQP;AACA;AACA;;;;AACe,SAASC,qBAAT,OAAoD;AAAA,MAArB;AAAEC,IAAAA;AAAF,GAAqB;AACjE,QAAMC,eAAe,GAAGL,KAAK,CAACM,MAAN,EAAxB;AAEA,QAAMC,KAAK,GAAGP,KAAK,CAACQ,OAAN,CACZ,OAAO;AACLC,IAAAA,QAAQ,CAACC,GAAD,EAAc;AACpB,YAAMC,UAAU,GAAGN,eAAe,CAACO,OAAnC;;AAEA,UAAID,UAAU,KAAKT,SAAf,IAA4BQ,GAAG,KAAKC,UAAxC,EAAoD;AAClD,cAAM,IAAIE,KAAJ,CAAUf,wBAAV,CAAN;AACD;;AAEDO,MAAAA,eAAe,CAACO,OAAhB,GAA0BF,GAA1B;AACD,KATI;;AAULI,IAAAA,UAAU,CAACJ,GAAD,EAAc;AACtB,YAAMC,UAAU,GAAGN,eAAe,CAACO,OAAnC;;AAEA,UAAIF,GAAG,KAAKC,UAAZ,EAAwB;AACtB;AACD;;AAEDN,MAAAA,eAAe,CAACO,OAAhB,GAA0BV,SAA1B;AACD;;AAlBI,GAAP,CADY,EAqBZ,EArBY,CAAd;AAwBA,sBACE,oBAAC,sBAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAEK;AAAxC,KACGH,QADH,CADF;AAKD","sourcesContent":["import * as React from 'react';\n\ntype Props = {\n children: React.ReactNode;\n};\n\nconst MULTIPLE_NAVIGATOR_ERROR = `Another navigator is already registered for this container. You likely have multiple navigators under a single \"NavigationContainer\" or \"Screen\". Make sure each navigator is under a separate \"Screen\" container. See https://reactnavigation.org/docs/nesting-navigators for a guide on nesting.`;\n\nexport const SingleNavigatorContext = React.createContext<\n | {\n register(key: string): void;\n unregister(key: string): void;\n }\n | undefined\n>(undefined);\n\n/**\n * Component which ensures that there's only one navigator nested under it.\n */\nexport default function EnsureSingleNavigator({ children }: Props) {\n const navigatorKeyRef = React.useRef<string | undefined>();\n\n const value = React.useMemo(\n () => ({\n register(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (currentKey !== undefined && key !== currentKey) {\n throw new Error(MULTIPLE_NAVIGATOR_ERROR);\n }\n\n navigatorKeyRef.current = key;\n },\n unregister(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (key !== currentKey) {\n return;\n }\n\n navigatorKeyRef.current = undefined;\n },\n }),\n []\n );\n\n return (\n <SingleNavigatorContext.Provider value={value}>\n {children}\n </SingleNavigatorContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"names":["MULTIPLE_NAVIGATOR_ERROR","SingleNavigatorContext","React","createContext","undefined","EnsureSingleNavigator","children","navigatorKeyRef","useRef","value","useMemo","register","key","currentKey","current","Error","unregister"],"sources":["EnsureSingleNavigator.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype Props = {\n children: React.ReactNode;\n};\n\nconst MULTIPLE_NAVIGATOR_ERROR = `Another navigator is already registered for this container. You likely have multiple navigators under a single \"NavigationContainer\" or \"Screen\". Make sure each navigator is under a separate \"Screen\" container. See https://reactnavigation.org/docs/nesting-navigators for a guide on nesting.`;\n\nexport const SingleNavigatorContext = React.createContext<\n | {\n register(key: string): void;\n unregister(key: string): void;\n }\n | undefined\n>(undefined);\n\n/**\n * Component which ensures that there's only one navigator nested under it.\n */\nexport default function EnsureSingleNavigator({ children }: Props) {\n const navigatorKeyRef = React.useRef<string | undefined>();\n\n const value = React.useMemo(\n () => ({\n register(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (currentKey !== undefined && key !== currentKey) {\n throw new Error(MULTIPLE_NAVIGATOR_ERROR);\n }\n\n navigatorKeyRef.current = key;\n },\n unregister(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (key !== currentKey) {\n return;\n }\n\n navigatorKeyRef.current = undefined;\n },\n }),\n []\n );\n\n return (\n <SingleNavigatorContext.Provider value={value}>\n {children}\n </SingleNavigatorContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;AAAA;;;;;;AAMA,MAAMA,wBAAwB,GAAI,oSAAlC;AAEO,MAAMC,sBAAsB,gBAAGC,KAAK,CAACC,aAAN,CAMpCC,SANoC,CAA/B;AAQP;AACA;AACA;;;;AACe,SAASC,qBAAT,OAAoD;EAAA,IAArB;IAAEC;EAAF,CAAqB;EACjE,MAAMC,eAAe,GAAGL,KAAK,CAACM,MAAN,EAAxB;EAEA,MAAMC,KAAK,GAAGP,KAAK,CAACQ,OAAN,CACZ,OAAO;IACLC,QAAQ,CAACC,GAAD,EAAc;MACpB,MAAMC,UAAU,GAAGN,eAAe,CAACO,OAAnC;;MAEA,IAAID,UAAU,KAAKT,SAAf,IAA4BQ,GAAG,KAAKC,UAAxC,EAAoD;QAClD,MAAM,IAAIE,KAAJ,CAAUf,wBAAV,CAAN;MACD;;MAEDO,eAAe,CAACO,OAAhB,GAA0BF,GAA1B;IACD,CATI;;IAULI,UAAU,CAACJ,GAAD,EAAc;MACtB,MAAMC,UAAU,GAAGN,eAAe,CAACO,OAAnC;;MAEA,IAAIF,GAAG,KAAKC,UAAZ,EAAwB;QACtB;MACD;;MAEDN,eAAe,CAACO,OAAhB,GAA0BV,SAA1B;IACD;;EAlBI,CAAP,CADY,EAqBZ,EArBY,CAAd;EAwBA,oBACE,oBAAC,sBAAD,CAAwB,QAAxB;IAAiC,KAAK,EAAEK;EAAxC,GACGH,QADH,CADF;AAKD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["Group.tsx"],"names":["Group","_"],"mappings":";;;;;;;AAIA;AACA;AACA;AACe,SAASA,KAAT,CAGbC,CAHa,EAGkC;AAC/C;AACA,SAAO,IAAP;AACD","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\n\nimport type { RouteGroupConfig } from './types';\n\n/**\n * Empty component used for grouping screen configs.\n */\nexport default function Group<\n ParamList extends ParamListBase,\n ScreenOptions extends {}\n>(_: RouteGroupConfig<ParamList, ScreenOptions>) {\n /* istanbul ignore next */\n return null;\n}\n"]}
1
+ {"version":3,"names":["Group","_"],"sources":["Group.tsx"],"sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\n\nimport type { RouteGroupConfig } from './types';\n\n/**\n * Empty component used for grouping screen configs.\n */\nexport default function Group<\n ParamList extends ParamListBase,\n ScreenOptions extends {}\n>(_: RouteGroupConfig<ParamList, ScreenOptions>) {\n /* istanbul ignore next */\n return null;\n}\n"],"mappings":";;;;;;;AAIA;AACA;AACA;AACe,SAASA,KAAT,CAGbC,CAHa,EAGkC;EAC/C;EACA,OAAO,IAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NavigationBuilderContext.tsx"],"names":["NavigationBuilderContext","React","createContext","onDispatchAction","undefined","onOptionsChange"],"mappings":";;;;;;;AAKA;;;;;;AA6CA;AACA;AACA;AACA,MAAMA,wBAAwB,gBAAGC,KAAK,CAACC,aAAN,CAW9B;AACDC,EAAAA,gBAAgB,EAAE,MAAMC,SADvB;AAEDC,EAAAA,eAAe,EAAE,MAAMD;AAFtB,CAX8B,CAAjC;eAgBeJ,wB","sourcesContent":["import type {\n NavigationAction,\n NavigationState,\n ParamListBase,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\nexport type ListenerMap = {\n action: ChildActionListener;\n focus: FocusedNavigationListener;\n};\n\nexport type KeyedListenerMap = {\n getState: GetStateListener;\n beforeRemove: ChildBeforeRemoveListener;\n};\n\nexport type AddListener = <T extends keyof ListenerMap>(\n type: T,\n listener: ListenerMap[T]\n) => void;\n\nexport type AddKeyedListener = <T extends keyof KeyedListenerMap>(\n type: T,\n key: string,\n listener: KeyedListenerMap[T]\n) => void;\n\nexport type ChildActionListener = (\n action: NavigationAction,\n visitedNavigators?: Set<string>\n) => boolean;\n\nexport type FocusedNavigationCallback<T> = (\n navigation: NavigationHelpers<ParamListBase>\n) => T;\n\nexport type FocusedNavigationListener = <T>(\n callback: FocusedNavigationCallback<T>\n) => {\n handled: boolean;\n result: T;\n};\n\nexport type GetStateListener = () => NavigationState;\n\nexport type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;\n\n/**\n * Context which holds the required helpers needed to build nested navigators.\n */\nconst NavigationBuilderContext = React.createContext<{\n onAction?: (\n action: NavigationAction,\n visitedNavigators?: Set<string>\n ) => boolean;\n addListener?: AddListener;\n addKeyedListener?: AddKeyedListener;\n onRouteFocus?: (key: string) => void;\n onDispatchAction: (action: NavigationAction, noop: boolean) => void;\n onOptionsChange: (options: object) => void;\n stackRef?: React.MutableRefObject<string | undefined>;\n}>({\n onDispatchAction: () => undefined,\n onOptionsChange: () => undefined,\n});\n\nexport default NavigationBuilderContext;\n"]}
1
+ {"version":3,"names":["NavigationBuilderContext","React","createContext","onDispatchAction","undefined","onOptionsChange"],"sources":["NavigationBuilderContext.tsx"],"sourcesContent":["import type {\n NavigationAction,\n NavigationState,\n ParamListBase,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\nexport type ListenerMap = {\n action: ChildActionListener;\n focus: FocusedNavigationListener;\n};\n\nexport type KeyedListenerMap = {\n getState: GetStateListener;\n beforeRemove: ChildBeforeRemoveListener;\n};\n\nexport type AddListener = <T extends keyof ListenerMap>(\n type: T,\n listener: ListenerMap[T]\n) => void;\n\nexport type AddKeyedListener = <T extends keyof KeyedListenerMap>(\n type: T,\n key: string,\n listener: KeyedListenerMap[T]\n) => void;\n\nexport type ChildActionListener = (\n action: NavigationAction,\n visitedNavigators?: Set<string>\n) => boolean;\n\nexport type FocusedNavigationCallback<T> = (\n navigation: NavigationHelpers<ParamListBase>\n) => T;\n\nexport type FocusedNavigationListener = <T>(\n callback: FocusedNavigationCallback<T>\n) => {\n handled: boolean;\n result: T;\n};\n\nexport type GetStateListener = () => NavigationState;\n\nexport type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;\n\n/**\n * Context which holds the required helpers needed to build nested navigators.\n */\nconst NavigationBuilderContext = React.createContext<{\n onAction?: (\n action: NavigationAction,\n visitedNavigators?: Set<string>\n ) => boolean;\n addListener?: AddListener;\n addKeyedListener?: AddKeyedListener;\n onRouteFocus?: (key: string) => void;\n onDispatchAction: (action: NavigationAction, noop: boolean) => void;\n onOptionsChange: (options: object) => void;\n stackRef?: React.MutableRefObject<string | undefined>;\n}>({\n onDispatchAction: () => undefined,\n onOptionsChange: () => undefined,\n});\n\nexport default NavigationBuilderContext;\n"],"mappings":";;;;;;;AAKA;;;;;;AA6CA;AACA;AACA;AACA,MAAMA,wBAAwB,gBAAGC,KAAK,CAACC,aAAN,CAW9B;EACDC,gBAAgB,EAAE,MAAMC,SADvB;EAEDC,eAAe,EAAE,MAAMD;AAFtB,CAX8B,CAAjC;eAgBeJ,wB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NavigationContainerRefContext.tsx"],"names":["NavigationContainerRefContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA,MAAMA,6BAA6B,gBAAGC,KAAK,CAACC,aAAN,CAEpCC,SAFoC,CAAtC;eAIeH,6B","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationContainerRef } from './types';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationContainerRefContext = React.createContext<\n NavigationContainerRef<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationContainerRefContext;\n"]}
1
+ {"version":3,"names":["NavigationContainerRefContext","React","createContext","undefined"],"sources":["NavigationContainerRefContext.tsx"],"sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationContainerRef } from './types';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationContainerRefContext = React.createContext<\n NavigationContainerRef<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationContainerRefContext;\n"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA,MAAMA,6BAA6B,gBAAGC,KAAK,CAACC,aAAN,CAEpCC,SAFoC,CAAtC;eAIeH,6B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NavigationContext.tsx"],"names":["NavigationContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA,MAAMA,iBAAiB,gBAAGC,KAAK,CAACC,aAAN,CAExBC,SAFwB,CAA1B;eAIeH,iB","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\n\n/**\n * Context which holds the navigation prop for a screen.\n */\nconst NavigationContext = React.createContext<\n NavigationProp<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationContext;\n"]}
1
+ {"version":3,"names":["NavigationContext","React","createContext","undefined"],"sources":["NavigationContext.tsx"],"sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\n\n/**\n * Context which holds the navigation prop for a screen.\n */\nconst NavigationContext = React.createContext<\n NavigationProp<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationContext;\n"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA,MAAMA,iBAAiB,gBAAGC,KAAK,CAACC,aAAN,CAExBC,SAFwB,CAA1B;eAIeH,iB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NavigationHelpersContext.tsx"],"names":["NavigationHelpersContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA;AACA,MAAMA,wBAAwB,gBAAGC,KAAK,CAACC,aAAN,CAE/BC,SAF+B,CAAjC;eAIeH,wB","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\n/**\n * Context which holds the navigation helpers of the parent navigator.\n * Navigators should use this context in their view component.\n */\nconst NavigationHelpersContext = React.createContext<\n NavigationHelpers<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationHelpersContext;\n"]}
1
+ {"version":3,"names":["NavigationHelpersContext","React","createContext","undefined"],"sources":["NavigationHelpersContext.tsx"],"sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\n/**\n * Context which holds the navigation helpers of the parent navigator.\n * Navigators should use this context in their view component.\n */\nconst NavigationHelpersContext = React.createContext<\n NavigationHelpers<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationHelpersContext;\n"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA;AACA,MAAMA,wBAAwB,gBAAGC,KAAK,CAACC,aAAN,CAE/BC,SAF+B,CAAjC;eAIeH,wB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NavigationRouteContext.tsx"],"names":["NavigationRouteContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAEA;AACA;AACA;AACA,MAAMA,sBAAsB,gBAAGC,KAAK,CAACC,aAAN,CAC7BC,SAD6B,CAA/B;eAIeH,sB","sourcesContent":["import type { Route } from '@react-navigation/routers';\nimport * as React from 'react';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationRouteContext = React.createContext<Route<string> | undefined>(\n undefined\n);\n\nexport default NavigationRouteContext;\n"]}
1
+ {"version":3,"names":["NavigationRouteContext","React","createContext","undefined"],"sources":["NavigationRouteContext.tsx"],"sourcesContent":["import type { Route } from '@react-navigation/routers';\nimport * as React from 'react';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationRouteContext = React.createContext<Route<string> | undefined>(\n undefined\n);\n\nexport default NavigationRouteContext;\n"],"mappings":";;;;;;;AACA;;;;;;AAEA;AACA;AACA;AACA,MAAMA,sBAAsB,gBAAGC,KAAK,CAACC,aAAN,CAC7BC,SAD6B,CAA/B;eAIeH,sB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NavigationStateContext.tsx"],"names":["MISSING_CONTEXT_ERROR","React","createContext","isDefault","getKey","Error","setKey","getState","setState","getIsInitial"],"mappings":";;;;;;;AACA;;;;;;AAEA,MAAMA,qBAAqB,GACzB,wKADF;;4BAGeC,KAAK,CAACC,aAAN,CAcZ;AACDC,EAAAA,SAAS,EAAE,IADV;;AAGD,MAAIC,MAAJ,GAAkB;AAChB,UAAM,IAAIC,KAAJ,CAAUL,qBAAV,CAAN;AACD,GALA;;AAMD,MAAIM,MAAJ,GAAkB;AAChB,UAAM,IAAID,KAAJ,CAAUL,qBAAV,CAAN;AACD,GARA;;AASD,MAAIO,QAAJ,GAAoB;AAClB,UAAM,IAAIF,KAAJ,CAAUL,qBAAV,CAAN;AACD,GAXA;;AAYD,MAAIQ,QAAJ,GAAoB;AAClB,UAAM,IAAIH,KAAJ,CAAUL,qBAAV,CAAN;AACD,GAdA;;AAeD,MAAIS,YAAJ,GAAwB;AACtB,UAAM,IAAIJ,KAAJ,CAAUL,qBAAV,CAAN;AACD;;AAjBA,CAdY,C","sourcesContent":["import type { NavigationState, PartialState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR =\n \"Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.\";\n\nexport default React.createContext<{\n isDefault?: true;\n state?: NavigationState | PartialState<NavigationState>;\n getKey: () => string | undefined;\n setKey: (key: string) => void;\n getState: () => NavigationState | PartialState<NavigationState> | undefined;\n setState: (\n state: NavigationState | PartialState<NavigationState> | undefined\n ) => void;\n getIsInitial: () => boolean;\n addOptionsGetter?: (\n key: string,\n getter: () => object | undefined | null\n ) => void;\n}>({\n isDefault: true,\n\n get getKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getIsInitial(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n"]}
1
+ {"version":3,"names":["MISSING_CONTEXT_ERROR","React","createContext","isDefault","getKey","Error","setKey","getState","setState","getIsInitial"],"sources":["NavigationStateContext.tsx"],"sourcesContent":["import type { NavigationState, PartialState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR =\n \"Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.\";\n\nexport default React.createContext<{\n isDefault?: true;\n state?: NavigationState | PartialState<NavigationState>;\n getKey: () => string | undefined;\n setKey: (key: string) => void;\n getState: () => NavigationState | PartialState<NavigationState> | undefined;\n setState: (\n state: NavigationState | PartialState<NavigationState> | undefined\n ) => void;\n getIsInitial: () => boolean;\n addOptionsGetter?: (\n key: string,\n getter: () => object | undefined | null\n ) => void;\n}>({\n isDefault: true,\n\n get getKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getIsInitial(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n"],"mappings":";;;;;;;AACA;;;;;;AAEA,MAAMA,qBAAqB,GACzB,wKADF;;4BAGeC,KAAK,CAACC,aAAN,CAcZ;EACDC,SAAS,EAAE,IADV;;EAGD,IAAIC,MAAJ,GAAkB;IAChB,MAAM,IAAIC,KAAJ,CAAUL,qBAAV,CAAN;EACD,CALA;;EAMD,IAAIM,MAAJ,GAAkB;IAChB,MAAM,IAAID,KAAJ,CAAUL,qBAAV,CAAN;EACD,CARA;;EASD,IAAIO,QAAJ,GAAoB;IAClB,MAAM,IAAIF,KAAJ,CAAUL,qBAAV,CAAN;EACD,CAXA;;EAYD,IAAIQ,QAAJ,GAAoB;IAClB,MAAM,IAAIH,KAAJ,CAAUL,qBAAV,CAAN;EACD,CAdA;;EAeD,IAAIS,YAAJ,GAAwB;IACtB,MAAM,IAAIJ,KAAJ,CAAUL,qBAAV,CAAN;EACD;;AAjBA,CAdY,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["PreventRemoveContext.tsx"],"names":["PreventRemoveContext","React","createContext","undefined"],"mappings":";;;;;;;AAAA;;;;;;AAQA,MAAMA,oBAAoB,gBAAGC,KAAK,CAACC,aAAN,CAU3BC,SAV2B,CAA7B;eAYeH,oB","sourcesContent":["import * as React from 'react';\n\n/**\n * A type of an object that have a route key as an object key\n * and a value whether to prevent that route.\n */\nexport type PreventedRoutes = Record<string, { preventRemove: boolean }>;\n\nconst PreventRemoveContext = React.createContext<\n | {\n preventedRoutes: PreventedRoutes;\n setPreventRemove: (\n id: string,\n routeKey: string,\n preventRemove: boolean\n ) => void;\n }\n | undefined\n>(undefined);\n\nexport default PreventRemoveContext;\n"]}
1
+ {"version":3,"names":["PreventRemoveContext","React","createContext","undefined"],"sources":["PreventRemoveContext.tsx"],"sourcesContent":["import * as React from 'react';\n\n/**\n * A type of an object that have a route key as an object key\n * and a value whether to prevent that route.\n */\nexport type PreventedRoutes = Record<string, { preventRemove: boolean }>;\n\nconst PreventRemoveContext = React.createContext<\n | {\n preventedRoutes: PreventedRoutes;\n setPreventRemove: (\n id: string,\n routeKey: string,\n preventRemove: boolean\n ) => void;\n }\n | undefined\n>(undefined);\n\nexport default PreventRemoveContext;\n"],"mappings":";;;;;;;AAAA;;;;;;AAQA,MAAMA,oBAAoB,gBAAGC,KAAK,CAACC,aAAN,CAU3BC,SAV2B,CAA7B;eAYeH,oB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["PreventRemoveProvider.tsx"],"names":["transformPreventedRoutes","preventedRoutesMap","preventedRoutesToTransform","values","preventedRoutes","reduce","acc","routeKey","preventRemove","PreventRemoveProvider","children","parentId","React","useState","setPreventedRoutesMap","Map","navigation","useContext","NavigationHelpersContext","route","NavigationRouteContext","preventRemoveContextValue","PreventRemoveContext","setParentPrevented","setPreventRemove","id","getState","routes","every","key","Error","prevPrevented","get","nextPrevented","set","delete","isPrevented","some","useEffect","undefined","value","useMemo"],"mappings":"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","sourcesContent":["import { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\nimport useLatestCallback from 'use-latest-callback';\n\nimport NavigationHelpersContext from './NavigationHelpersContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport PreventRemoveContext, { PreventedRoutes } from './PreventRemoveContext';\n\ntype Props = {\n children: React.ReactNode;\n};\n\ntype PreventedRoutesMap = Map<\n string,\n {\n routeKey: string;\n preventRemove: boolean;\n }\n>;\n\n/**\n * Util function to transform map of prevented routes to a simpler object.\n */\nconst transformPreventedRoutes = (\n preventedRoutesMap: PreventedRoutesMap\n): PreventedRoutes => {\n const preventedRoutesToTransform = [...preventedRoutesMap.values()];\n\n const preventedRoutes = preventedRoutesToTransform.reduce<PreventedRoutes>(\n (acc, { routeKey, preventRemove }) => {\n acc[routeKey] = {\n preventRemove: acc[routeKey]?.preventRemove || preventRemove,\n };\n return acc;\n },\n {}\n );\n\n return preventedRoutes;\n};\n\n/**\n * Component used for managing which routes have to be prevented from removal in native-stack.\n */\nexport default function PreventRemoveProvider({ children }: Props) {\n const [parentId] = React.useState(() => nanoid());\n const [preventedRoutesMap, setPreventedRoutesMap] =\n React.useState<PreventedRoutesMap>(new Map());\n\n const navigation = React.useContext(NavigationHelpersContext);\n const route = React.useContext(NavigationRouteContext);\n\n const preventRemoveContextValue = React.useContext(PreventRemoveContext);\n // take `setPreventRemove` from parent context - if exist it means we're in a nested context\n const setParentPrevented = preventRemoveContextValue?.setPreventRemove;\n\n const setPreventRemove = useLatestCallback(\n (id: string, routeKey: string, preventRemove: boolean): void => {\n if (\n preventRemove &&\n (navigation == null ||\n navigation\n ?.getState()\n .routes.every((route) => route.key !== routeKey))\n ) {\n throw new Error(\n `Couldn't find a route with the key ${routeKey}. Is your component inside NavigationContent?`\n );\n }\n\n setPreventedRoutesMap((prevPrevented) => {\n // values haven't changed - do nothing\n if (\n routeKey === prevPrevented.get(id)?.routeKey &&\n preventRemove === prevPrevented.get(id)?.preventRemove\n ) {\n return prevPrevented;\n }\n\n const nextPrevented = new Map(prevPrevented);\n\n if (preventRemove) {\n nextPrevented.set(id, {\n routeKey,\n preventRemove,\n });\n } else {\n nextPrevented.delete(id);\n }\n\n return nextPrevented;\n });\n }\n );\n\n const isPrevented = [...preventedRoutesMap.values()].some(\n ({ preventRemove }) => preventRemove\n );\n\n React.useEffect(() => {\n if (route?.key !== undefined && setParentPrevented !== undefined) {\n // when route is defined (and setParentPrevented) it means we're in a nested stack\n // route.key then will be the route key of parent\n setParentPrevented(parentId, route.key, isPrevented);\n return () => {\n setParentPrevented(parentId, route.key, false);\n };\n }\n\n return;\n }, [parentId, isPrevented, route?.key, setParentPrevented]);\n\n const value = React.useMemo(\n () => ({\n setPreventRemove,\n preventedRoutes: transformPreventedRoutes(preventedRoutesMap),\n }),\n [setPreventRemove, preventedRoutesMap]\n );\n\n return (\n <PreventRemoveContext.Provider value={value}>\n {children}\n </PreventRemoveContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"names":["transformPreventedRoutes","preventedRoutesMap","preventedRoutesToTransform","values","preventedRoutes","reduce","acc","routeKey","preventRemove","PreventRemoveProvider","children","parentId","React","useState","nanoid","setPreventedRoutesMap","Map","navigation","useContext","NavigationHelpersContext","route","NavigationRouteContext","preventRemoveContextValue","PreventRemoveContext","setParentPrevented","setPreventRemove","useLatestCallback","id","getState","routes","every","key","Error","prevPrevented","get","nextPrevented","set","delete","isPrevented","some","useEffect","undefined","value","useMemo"],"sources":["PreventRemoveProvider.tsx"],"sourcesContent":["import { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\nimport useLatestCallback from 'use-latest-callback';\n\nimport NavigationHelpersContext from './NavigationHelpersContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport PreventRemoveContext, { PreventedRoutes } from './PreventRemoveContext';\n\ntype Props = {\n children: React.ReactNode;\n};\n\ntype PreventedRoutesMap = Map<\n string,\n {\n routeKey: string;\n preventRemove: boolean;\n }\n>;\n\n/**\n * Util function to transform map of prevented routes to a simpler object.\n */\nconst transformPreventedRoutes = (\n preventedRoutesMap: PreventedRoutesMap\n): PreventedRoutes => {\n const preventedRoutesToTransform = [...preventedRoutesMap.values()];\n\n const preventedRoutes = preventedRoutesToTransform.reduce<PreventedRoutes>(\n (acc, { routeKey, preventRemove }) => {\n acc[routeKey] = {\n preventRemove: acc[routeKey]?.preventRemove || preventRemove,\n };\n return acc;\n },\n {}\n );\n\n return preventedRoutes;\n};\n\n/**\n * Component used for managing which routes have to be prevented from removal in native-stack.\n */\nexport default function PreventRemoveProvider({ children }: Props) {\n const [parentId] = React.useState(() => nanoid());\n const [preventedRoutesMap, setPreventedRoutesMap] =\n React.useState<PreventedRoutesMap>(new Map());\n\n const navigation = React.useContext(NavigationHelpersContext);\n const route = React.useContext(NavigationRouteContext);\n\n const preventRemoveContextValue = React.useContext(PreventRemoveContext);\n // take `setPreventRemove` from parent context - if exist it means we're in a nested context\n const setParentPrevented = preventRemoveContextValue?.setPreventRemove;\n\n const setPreventRemove = useLatestCallback(\n (id: string, routeKey: string, preventRemove: boolean): void => {\n if (\n preventRemove &&\n (navigation == null ||\n navigation\n ?.getState()\n .routes.every((route) => route.key !== routeKey))\n ) {\n throw new Error(\n `Couldn't find a route with the key ${routeKey}. Is your component inside NavigationContent?`\n );\n }\n\n setPreventedRoutesMap((prevPrevented) => {\n // values haven't changed - do nothing\n if (\n routeKey === prevPrevented.get(id)?.routeKey &&\n preventRemove === prevPrevented.get(id)?.preventRemove\n ) {\n return prevPrevented;\n }\n\n const nextPrevented = new Map(prevPrevented);\n\n if (preventRemove) {\n nextPrevented.set(id, {\n routeKey,\n preventRemove,\n });\n } else {\n nextPrevented.delete(id);\n }\n\n return nextPrevented;\n });\n }\n );\n\n const isPrevented = [...preventedRoutesMap.values()].some(\n ({ preventRemove }) => preventRemove\n );\n\n React.useEffect(() => {\n if (route?.key !== undefined && setParentPrevented !== undefined) {\n // when route is defined (and setParentPrevented) it means we're in a nested stack\n // route.key then will be the route key of parent\n setParentPrevented(parentId, route.key, isPrevented);\n return () => {\n setParentPrevented(parentId, route.key, false);\n };\n }\n\n return;\n }, [parentId, isPrevented, route?.key, setParentPrevented]);\n\n const value = React.useMemo(\n () => ({\n setPreventRemove,\n preventedRoutes: transformPreventedRoutes(preventedRoutesMap),\n }),\n [setPreventRemove, preventedRoutesMap]\n );\n\n return (\n <PreventRemoveContext.Provider value={value}>\n {children}\n </PreventRemoveContext.Provider>\n );\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;AAcA;AACA;AACA;AACA,MAAMA,wBAAwB,GAC5BC,kBAD+B,IAEX;EACpB,MAAMC,0BAA0B,GAAG,CAAC,GAAGD,kBAAkB,CAACE,MAAnB,EAAJ,CAAnC;EAEA,MAAMC,eAAe,GAAGF,0BAA0B,CAACG,MAA3B,CACtB,CAACC,GAAD,WAAsC;IAAA;;IAAA,IAAhC;MAAEC,QAAF;MAAYC;IAAZ,CAAgC;IACpCF,GAAG,CAACC,QAAD,CAAH,GAAgB;MACdC,aAAa,EAAE,kBAAAF,GAAG,CAACC,QAAD,CAAH,gEAAeC,aAAf,KAAgCA;IADjC,CAAhB;IAGA,OAAOF,GAAP;EACD,CANqB,EAOtB,EAPsB,CAAxB;EAUA,OAAOF,eAAP;AACD,CAhBD;AAkBA;AACA;AACA;;;AACe,SAASK,qBAAT,QAAoD;EAAA,IAArB;IAAEC;EAAF,CAAqB;EACjE,MAAM,CAACC,QAAD,IAAaC,KAAK,CAACC,QAAN,CAAe,MAAM,IAAAC,iBAAA,GAArB,CAAnB;EACA,MAAM,CAACb,kBAAD,EAAqBc,qBAArB,IACJH,KAAK,CAACC,QAAN,CAAmC,IAAIG,GAAJ,EAAnC,CADF;EAGA,MAAMC,UAAU,GAAGL,KAAK,CAACM,UAAN,CAAiBC,iCAAjB,CAAnB;EACA,MAAMC,KAAK,GAAGR,KAAK,CAACM,UAAN,CAAiBG,+BAAjB,CAAd;EAEA,MAAMC,yBAAyB,GAAGV,KAAK,CAACM,UAAN,CAAiBK,6BAAjB,CAAlC,CARiE,CASjE;;EACA,MAAMC,kBAAkB,GAAGF,yBAAH,aAAGA,yBAAH,uBAAGA,yBAAyB,CAAEG,gBAAtD;EAEA,MAAMA,gBAAgB,GAAG,IAAAC,0BAAA,EACvB,CAACC,EAAD,EAAapB,QAAb,EAA+BC,aAA/B,KAAgE;IAC9D,IACEA,aAAa,KACZS,UAAU,IAAI,IAAd,IACCA,UADD,aACCA,UADD,eACCA,UAAU,CACNW,QADJ,GAEGC,MAFH,CAEUC,KAFV,CAEiBV,KAAD,IAAWA,KAAK,CAACW,GAAN,KAAcxB,QAFzC,CAFW,CADf,EAME;MACA,MAAM,IAAIyB,KAAJ,CACH,sCAAqCzB,QAAS,+CAD3C,CAAN;IAGD;;IAEDQ,qBAAqB,CAAEkB,aAAD,IAAmB;MAAA;;MACvC;MACA,IACE1B,QAAQ,4BAAK0B,aAAa,CAACC,GAAd,CAAkBP,EAAlB,CAAL,uDAAK,mBAAuBpB,QAA5B,CAAR,IACAC,aAAa,6BAAKyB,aAAa,CAACC,GAAd,CAAkBP,EAAlB,CAAL,wDAAK,oBAAuBnB,aAA5B,CAFf,EAGE;QACA,OAAOyB,aAAP;MACD;;MAED,MAAME,aAAa,GAAG,IAAInB,GAAJ,CAAQiB,aAAR,CAAtB;;MAEA,IAAIzB,aAAJ,EAAmB;QACjB2B,aAAa,CAACC,GAAd,CAAkBT,EAAlB,EAAsB;UACpBpB,QADoB;UAEpBC;QAFoB,CAAtB;MAID,CALD,MAKO;QACL2B,aAAa,CAACE,MAAd,CAAqBV,EAArB;MACD;;MAED,OAAOQ,aAAP;IACD,CArBoB,CAArB;EAsBD,CApCsB,CAAzB;EAuCA,MAAMG,WAAW,GAAG,CAAC,GAAGrC,kBAAkB,CAACE,MAAnB,EAAJ,EAAiCoC,IAAjC,CAClB;IAAA,IAAC;MAAE/B;IAAF,CAAD;IAAA,OAAuBA,aAAvB;EAAA,CADkB,CAApB;EAIAI,KAAK,CAAC4B,SAAN,CAAgB,MAAM;IACpB,IAAI,CAAApB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEW,GAAP,MAAeU,SAAf,IAA4BjB,kBAAkB,KAAKiB,SAAvD,EAAkE;MAChE;MACA;MACAjB,kBAAkB,CAACb,QAAD,EAAWS,KAAK,CAACW,GAAjB,EAAsBO,WAAtB,CAAlB;MACA,OAAO,MAAM;QACXd,kBAAkB,CAACb,QAAD,EAAWS,KAAK,CAACW,GAAjB,EAAsB,KAAtB,CAAlB;MACD,CAFD;IAGD;;IAED;EACD,CAXD,EAWG,CAACpB,QAAD,EAAW2B,WAAX,EAAwBlB,KAAxB,aAAwBA,KAAxB,uBAAwBA,KAAK,CAAEW,GAA/B,EAAoCP,kBAApC,CAXH;EAaA,MAAMkB,KAAK,GAAG9B,KAAK,CAAC+B,OAAN,CACZ,OAAO;IACLlB,gBADK;IAELrB,eAAe,EAAEJ,wBAAwB,CAACC,kBAAD;EAFpC,CAAP,CADY,EAKZ,CAACwB,gBAAD,EAAmBxB,kBAAnB,CALY,CAAd;EAQA,oBACE,oBAAC,6BAAD,CAAsB,QAAtB;IAA+B,KAAK,EAAEyC;EAAtC,GACGhC,QADH,CADF;AAKD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["SceneView.tsx"],"names":["SceneView","screen","route","navigation","routeState","getState","setState","options","clearOptions","navigatorKeyRef","React","useRef","getKey","useCallback","current","addOptionsGetter","key","setKey","getCurrentState","state","currentRoute","routes","find","r","undefined","setCurrentState","child","map","isInitialRef","useEffect","getIsInitial","context","useMemo","ScreenComponent","getComponent","component","name","children"],"mappings":"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","sourcesContent":["import type {\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport NavigationStateContext from './NavigationStateContext';\nimport StaticContainer from './StaticContainer';\nimport type { NavigationProp, RouteConfigComponent } from './types';\nimport useOptionsGetters from './useOptionsGetters';\n\ntype Props<State extends NavigationState, ScreenOptions extends {}> = {\n screen: RouteConfigComponent<ParamListBase, string> & { name: string };\n navigation: NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n State,\n ScreenOptions\n >;\n route: Route<string>;\n routeState: NavigationState | PartialState<NavigationState> | undefined;\n getState: () => State;\n setState: (state: State) => void;\n options: object;\n clearOptions: () => void;\n};\n\n/**\n * Component which takes care of rendering the screen for a route.\n * It provides all required contexts and applies optimizations when applicable.\n */\nexport default function SceneView<\n State extends NavigationState,\n ScreenOptions extends {}\n>({\n screen,\n route,\n navigation,\n routeState,\n getState,\n setState,\n options,\n clearOptions,\n}: Props<State, ScreenOptions>) {\n const navigatorKeyRef = React.useRef<string | undefined>();\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const { addOptionsGetter } = useOptionsGetters({\n key: route.key,\n options,\n navigation,\n });\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const getCurrentState = React.useCallback(() => {\n const state = getState();\n const currentRoute = state.routes.find((r) => r.key === route.key);\n\n return currentRoute ? currentRoute.state : undefined;\n }, [getState, route.key]);\n\n const setCurrentState = React.useCallback(\n (child: NavigationState | PartialState<NavigationState> | undefined) => {\n const state = getState();\n\n setState({\n ...state,\n routes: state.routes.map((r) =>\n r.key === route.key ? { ...r, state: child } : r\n ),\n });\n },\n [getState, route.key, setState]\n );\n\n const isInitialRef = React.useRef(true);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n });\n\n // Clear options set by this screen when it is unmounted\n React.useEffect(() => {\n return clearOptions;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state: routeState,\n getState: getCurrentState,\n setState: setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n routeState,\n getCurrentState,\n setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const ScreenComponent = screen.getComponent\n ? screen.getComponent()\n : screen.component;\n\n return (\n <NavigationStateContext.Provider value={context}>\n <EnsureSingleNavigator>\n <StaticContainer\n name={screen.name}\n render={ScreenComponent || screen.children}\n navigation={navigation}\n route={route}\n >\n {ScreenComponent !== undefined ? (\n <ScreenComponent navigation={navigation} route={route} />\n ) : screen.children !== undefined ? (\n screen.children({ navigation, route })\n ) : null}\n </StaticContainer>\n </EnsureSingleNavigator>\n </NavigationStateContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"names":["SceneView","screen","route","navigation","routeState","getState","setState","options","clearOptions","navigatorKeyRef","React","useRef","getKey","useCallback","current","addOptionsGetter","useOptionsGetters","key","setKey","getCurrentState","state","currentRoute","routes","find","r","undefined","setCurrentState","child","map","isInitialRef","useEffect","getIsInitial","context","useMemo","ScreenComponent","getComponent","component","name","children"],"sources":["SceneView.tsx"],"sourcesContent":["import type {\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport NavigationStateContext from './NavigationStateContext';\nimport StaticContainer from './StaticContainer';\nimport type { NavigationProp, RouteConfigComponent } from './types';\nimport useOptionsGetters from './useOptionsGetters';\n\ntype Props<State extends NavigationState, ScreenOptions extends {}> = {\n screen: RouteConfigComponent<ParamListBase, string> & { name: string };\n navigation: NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n State,\n ScreenOptions\n >;\n route: Route<string>;\n routeState: NavigationState | PartialState<NavigationState> | undefined;\n getState: () => State;\n setState: (state: State) => void;\n options: object;\n clearOptions: () => void;\n};\n\n/**\n * Component which takes care of rendering the screen for a route.\n * It provides all required contexts and applies optimizations when applicable.\n */\nexport default function SceneView<\n State extends NavigationState,\n ScreenOptions extends {}\n>({\n screen,\n route,\n navigation,\n routeState,\n getState,\n setState,\n options,\n clearOptions,\n}: Props<State, ScreenOptions>) {\n const navigatorKeyRef = React.useRef<string | undefined>();\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const { addOptionsGetter } = useOptionsGetters({\n key: route.key,\n options,\n navigation,\n });\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const getCurrentState = React.useCallback(() => {\n const state = getState();\n const currentRoute = state.routes.find((r) => r.key === route.key);\n\n return currentRoute ? currentRoute.state : undefined;\n }, [getState, route.key]);\n\n const setCurrentState = React.useCallback(\n (child: NavigationState | PartialState<NavigationState> | undefined) => {\n const state = getState();\n\n setState({\n ...state,\n routes: state.routes.map((r) =>\n r.key === route.key ? { ...r, state: child } : r\n ),\n });\n },\n [getState, route.key, setState]\n );\n\n const isInitialRef = React.useRef(true);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n });\n\n // Clear options set by this screen when it is unmounted\n React.useEffect(() => {\n return clearOptions;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state: routeState,\n getState: getCurrentState,\n setState: setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n routeState,\n getCurrentState,\n setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const ScreenComponent = screen.getComponent\n ? screen.getComponent()\n : screen.component;\n\n return (\n <NavigationStateContext.Provider value={context}>\n <EnsureSingleNavigator>\n <StaticContainer\n name={screen.name}\n render={ScreenComponent || screen.children}\n navigation={navigation}\n route={route}\n >\n {ScreenComponent !== undefined ? (\n <ScreenComponent navigation={navigation} route={route} />\n ) : screen.children !== undefined ? (\n screen.children({ navigation, route })\n ) : null}\n </StaticContainer>\n </EnsureSingleNavigator>\n </NavigationStateContext.Provider>\n );\n}\n"],"mappings":";;;;;;;AAMA;;AAEA;;AACA;;AACA;;AAEA;;;;;;;;AAmBA;AACA;AACA;AACA;AACe,SAASA,SAAT,OAYiB;EAAA,IAT9B;IACAC,MADA;IAEAC,KAFA;IAGAC,UAHA;IAIAC,UAJA;IAKAC,QALA;IAMAC,QANA;IAOAC,OAPA;IAQAC;EARA,CAS8B;EAC9B,MAAMC,eAAe,GAAGC,KAAK,CAACC,MAAN,EAAxB;EACA,MAAMC,MAAM,GAAGF,KAAK,CAACG,WAAN,CAAkB,MAAMJ,eAAe,CAACK,OAAxC,EAAiD,EAAjD,CAAf;EAEA,MAAM;IAAEC;EAAF,IAAuB,IAAAC,0BAAA,EAAkB;IAC7CC,GAAG,EAAEf,KAAK,CAACe,GADkC;IAE7CV,OAF6C;IAG7CJ;EAH6C,CAAlB,CAA7B;EAMA,MAAMe,MAAM,GAAGR,KAAK,CAACG,WAAN,CAAmBI,GAAD,IAAiB;IAChDR,eAAe,CAACK,OAAhB,GAA0BG,GAA1B;EACD,CAFc,EAEZ,EAFY,CAAf;EAIA,MAAME,eAAe,GAAGT,KAAK,CAACG,WAAN,CAAkB,MAAM;IAC9C,MAAMO,KAAK,GAAGf,QAAQ,EAAtB;IACA,MAAMgB,YAAY,GAAGD,KAAK,CAACE,MAAN,CAAaC,IAAb,CAAmBC,CAAD,IAAOA,CAAC,CAACP,GAAF,KAAUf,KAAK,CAACe,GAAzC,CAArB;IAEA,OAAOI,YAAY,GAAGA,YAAY,CAACD,KAAhB,GAAwBK,SAA3C;EACD,CALuB,EAKrB,CAACpB,QAAD,EAAWH,KAAK,CAACe,GAAjB,CALqB,CAAxB;EAOA,MAAMS,eAAe,GAAGhB,KAAK,CAACG,WAAN,CACrBc,KAAD,IAAwE;IACtE,MAAMP,KAAK,GAAGf,QAAQ,EAAtB;IAEAC,QAAQ,CAAC,EACP,GAAGc,KADI;MAEPE,MAAM,EAAEF,KAAK,CAACE,MAAN,CAAaM,GAAb,CAAkBJ,CAAD,IACvBA,CAAC,CAACP,GAAF,KAAUf,KAAK,CAACe,GAAhB,GAAsB,EAAE,GAAGO,CAAL;QAAQJ,KAAK,EAAEO;MAAf,CAAtB,GAA+CH,CADzC;IAFD,CAAD,CAAR;EAMD,CAVqB,EAWtB,CAACnB,QAAD,EAAWH,KAAK,CAACe,GAAjB,EAAsBX,QAAtB,CAXsB,CAAxB;EAcA,MAAMuB,YAAY,GAAGnB,KAAK,CAACC,MAAN,CAAa,IAAb,CAArB;EAEAD,KAAK,CAACoB,SAAN,CAAgB,MAAM;IACpBD,YAAY,CAACf,OAAb,GAAuB,KAAvB;EACD,CAFD,EArC8B,CAyC9B;;EACAJ,KAAK,CAACoB,SAAN,CAAgB,MAAM;IACpB,OAAOtB,YAAP,CADoB,CAEpB;EACD,CAHD,EAGG,EAHH;EAKA,MAAMuB,YAAY,GAAGrB,KAAK,CAACG,WAAN,CAAkB,MAAMgB,YAAY,CAACf,OAArC,EAA8C,EAA9C,CAArB;EAEA,MAAMkB,OAAO,GAAGtB,KAAK,CAACuB,OAAN,CACd,OAAO;IACLb,KAAK,EAAEhB,UADF;IAELC,QAAQ,EAAEc,eAFL;IAGLb,QAAQ,EAAEoB,eAHL;IAILd,MAJK;IAKLM,MALK;IAMLa,YANK;IAOLhB;EAPK,CAAP,CADc,EAUd,CACEX,UADF,EAEEe,eAFF,EAGEO,eAHF,EAIEd,MAJF,EAKEM,MALF,EAMEa,YANF,EAOEhB,gBAPF,CAVc,CAAhB;EAqBA,MAAMmB,eAAe,GAAGjC,MAAM,CAACkC,YAAP,GACpBlC,MAAM,CAACkC,YAAP,EADoB,GAEpBlC,MAAM,CAACmC,SAFX;EAIA,oBACE,oBAAC,+BAAD,CAAwB,QAAxB;IAAiC,KAAK,EAAEJ;EAAxC,gBACE,oBAAC,8BAAD,qBACE,oBAAC,wBAAD;IACE,IAAI,EAAE/B,MAAM,CAACoC,IADf;IAEE,MAAM,EAAEH,eAAe,IAAIjC,MAAM,CAACqC,QAFpC;IAGE,UAAU,EAAEnC,UAHd;IAIE,KAAK,EAAED;EAJT,GAMGgC,eAAe,KAAKT,SAApB,gBACC,oBAAC,eAAD;IAAiB,UAAU,EAAEtB,UAA7B;IAAyC,KAAK,EAAED;EAAhD,EADD,GAEGD,MAAM,CAACqC,QAAP,KAAoBb,SAApB,GACFxB,MAAM,CAACqC,QAAP,CAAgB;IAAEnC,UAAF;IAAcD;EAAd,CAAhB,CADE,GAEA,IAVN,CADF,CADF,CADF;AAkBD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["Screen.tsx"],"names":["Screen","_"],"mappings":";;;;;;;AAIA;AACA;AACA;AACe,SAASA,MAAT,CAMbC,CANa,EAMyD;AACtE;AACA,SAAO,IAAP;AACD","sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\n\nimport type { EventMapBase, RouteConfig } from './types';\n\n/**\n * Empty component used for specifying route configuration.\n */\nexport default function Screen<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(_: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap>) {\n /* istanbul ignore next */\n return null;\n}\n"]}
1
+ {"version":3,"names":["Screen","_"],"sources":["Screen.tsx"],"sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\n\nimport type { EventMapBase, RouteConfig } from './types';\n\n/**\n * Empty component used for specifying route configuration.\n */\nexport default function Screen<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(_: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap>) {\n /* istanbul ignore next */\n return null;\n}\n"],"mappings":";;;;;;;AAIA;AACA;AACA;AACe,SAASA,MAAT,CAMbC,CANa,EAMyD;EACtE;EACA,OAAO,IAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["StaticContainer.tsx"],"names":["StaticContainer","props","children","React","memo","prevProps","nextProps","prevPropKeys","Object","keys","nextPropKeys","length","key"],"mappings":";;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA,SAASA,eAAT,CAAyBC,KAAzB,EAAqC;AACnC,SAAOA,KAAK,CAACC,QAAb;AACD;;4BAEcC,KAAK,CAACC,IAAN,CAAWJ,eAAX,EAA4B,CAACK,SAAD,EAAiBC,SAAjB,KAAoC;AAC7E,QAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYJ,SAAZ,CAArB;AACA,QAAMK,YAAY,GAAGF,MAAM,CAACC,IAAP,CAAYH,SAAZ,CAArB;;AAEA,MAAIC,YAAY,CAACI,MAAb,KAAwBD,YAAY,CAACC,MAAzC,EAAiD;AAC/C,WAAO,KAAP;AACD;;AAED,OAAK,MAAMC,GAAX,IAAkBL,YAAlB,EAAgC;AAC9B,QAAIK,GAAG,KAAK,UAAZ,EAAwB;AACtB;AACD;;AAED,QAAIP,SAAS,CAACO,GAAD,CAAT,KAAmBN,SAAS,CAACM,GAAD,CAAhC,EAAuC;AACrC,aAAO,KAAP;AACD;AACF;;AAED,SAAO,IAAP;AACD,CAnBc,C","sourcesContent":["import * as React from 'react';\n\n/**\n * Component which prevents updates for children if no props changed\n */\nfunction StaticContainer(props: any) {\n return props.children;\n}\n\nexport default React.memo(StaticContainer, (prevProps: any, nextProps: any) => {\n const prevPropKeys = Object.keys(prevProps);\n const nextPropKeys = Object.keys(nextProps);\n\n if (prevPropKeys.length !== nextPropKeys.length) {\n return false;\n }\n\n for (const key of prevPropKeys) {\n if (key === 'children') {\n continue;\n }\n\n if (prevProps[key] !== nextProps[key]) {\n return false;\n }\n }\n\n return true;\n});\n"]}
1
+ {"version":3,"names":["StaticContainer","props","children","React","memo","prevProps","nextProps","prevPropKeys","Object","keys","nextPropKeys","length","key"],"sources":["StaticContainer.tsx"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Component which prevents updates for children if no props changed\n */\nfunction StaticContainer(props: any) {\n return props.children;\n}\n\nexport default React.memo(StaticContainer, (prevProps: any, nextProps: any) => {\n const prevPropKeys = Object.keys(prevProps);\n const nextPropKeys = Object.keys(nextProps);\n\n if (prevPropKeys.length !== nextPropKeys.length) {\n return false;\n }\n\n for (const key of prevPropKeys) {\n if (key === 'children') {\n continue;\n }\n\n if (prevProps[key] !== nextProps[key]) {\n return false;\n }\n }\n\n return true;\n});\n"],"mappings":";;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA,SAASA,eAAT,CAAyBC,KAAzB,EAAqC;EACnC,OAAOA,KAAK,CAACC,QAAb;AACD;;4BAEcC,KAAK,CAACC,IAAN,CAAWJ,eAAX,EAA4B,CAACK,SAAD,EAAiBC,SAAjB,KAAoC;EAC7E,MAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYJ,SAAZ,CAArB;EACA,MAAMK,YAAY,GAAGF,MAAM,CAACC,IAAP,CAAYH,SAAZ,CAArB;;EAEA,IAAIC,YAAY,CAACI,MAAb,KAAwBD,YAAY,CAACC,MAAzC,EAAiD;IAC/C,OAAO,KAAP;EACD;;EAED,KAAK,MAAMC,GAAX,IAAkBL,YAAlB,EAAgC;IAC9B,IAAIK,GAAG,KAAK,UAAZ,EAAwB;MACtB;IACD;;IAED,IAAIP,SAAS,CAACO,GAAD,CAAT,KAAmBN,SAAS,CAACM,GAAD,CAAhC,EAAuC;MACrC,OAAO,KAAP;IACD;EACF;;EAED,OAAO,IAAP;AACD,CAnBc,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["UnhandledActionContext.tsx"],"names":["UnhandledActionContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAEA,MAAMA,sBAAsB,gBAAGC,KAAK,CAACC,aAAN,CAE7BC,SAF6B,CAA/B;eAIeH,sB","sourcesContent":["import type { NavigationAction } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst UnhandledActionContext = React.createContext<\n ((action: NavigationAction) => void) | undefined\n>(undefined);\n\nexport default UnhandledActionContext;\n"]}
1
+ {"version":3,"names":["UnhandledActionContext","React","createContext","undefined"],"sources":["UnhandledActionContext.tsx"],"sourcesContent":["import type { NavigationAction } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst UnhandledActionContext = React.createContext<\n ((action: NavigationAction) => void) | undefined\n>(undefined);\n\nexport default UnhandledActionContext;\n"],"mappings":";;;;;;;AACA;;;;;;AAEA,MAAMA,sBAAsB,gBAAGC,KAAK,CAACC,aAAN,CAE7BC,SAF6B,CAA/B;eAIeH,sB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["checkDuplicateRouteNames.tsx"],"names":["checkDuplicateRouteNames","state","duplicates","getRouteNames","location","routes","forEach","route","currentLocation","name","routeNames","routeName","push"],"mappings":";;;;;;;AAEe,SAASA,wBAAT,CAAkCC,KAAlC,EAA0D;AACvE,QAAMC,UAAsB,GAAG,EAA/B;;AAEA,QAAMC,aAAa,GAAG,CACpBC,QADoB,EAEpBH,KAFoB,KAGjB;AACHA,IAAAA,KAAK,CAACI,MAAN,CAAaC,OAAb,CAAsBC,KAAD,IAAmC;AAAA;;AACtD,YAAMC,eAAe,GAAGJ,QAAQ,GAC3B,GAAEA,QAAS,MAAKG,KAAK,CAACE,IAAK,EADA,GAE5BF,KAAK,CAACE,IAFV;AAIA,sBAAAF,KAAK,CAACN,KAAN,uFAAaS,UAAb,gFAAyBJ,OAAzB,CAAkCK,SAAD,IAAe;AAC9C,YAAIA,SAAS,KAAKJ,KAAK,CAACE,IAAxB,EAA8B;AAC5BP,UAAAA,UAAU,CAACU,IAAX,CAAgB,CACdJ,eADc,EAEb,GAAEA,eAAgB,MAAKD,KAAK,CAACE,IAAK,EAFrB,CAAhB;AAID;AACF,OAPD;;AASA,UAAIF,KAAK,CAACN,KAAV,EAAiB;AACfE,QAAAA,aAAa,CAACK,eAAD,EAAkBD,KAAK,CAACN,KAAxB,CAAb;AACD;AACF,KAjBD;AAkBD,GAtBD;;AAwBAE,EAAAA,aAAa,CAAC,EAAD,EAAKF,KAAL,CAAb;AAEA,SAAOC,UAAP;AACD","sourcesContent":["import type { NavigationState, PartialState } from '@react-navigation/routers';\n\nexport default function checkDuplicateRouteNames(state: NavigationState) {\n const duplicates: string[][] = [];\n\n const getRouteNames = (\n location: string,\n state: NavigationState | PartialState<NavigationState>\n ) => {\n state.routes.forEach((route: typeof state.routes[0]) => {\n const currentLocation = location\n ? `${location} > ${route.name}`\n : route.name;\n\n route.state?.routeNames?.forEach((routeName) => {\n if (routeName === route.name) {\n duplicates.push([\n currentLocation,\n `${currentLocation} > ${route.name}`,\n ]);\n }\n });\n\n if (route.state) {\n getRouteNames(currentLocation, route.state);\n }\n });\n };\n\n getRouteNames('', state);\n\n return duplicates;\n}\n"]}
1
+ {"version":3,"names":["checkDuplicateRouteNames","state","duplicates","getRouteNames","location","routes","forEach","route","currentLocation","name","routeNames","routeName","push"],"sources":["checkDuplicateRouteNames.tsx"],"sourcesContent":["import type { NavigationState, PartialState } from '@react-navigation/routers';\n\nexport default function checkDuplicateRouteNames(state: NavigationState) {\n const duplicates: string[][] = [];\n\n const getRouteNames = (\n location: string,\n state: NavigationState | PartialState<NavigationState>\n ) => {\n state.routes.forEach((route: typeof state.routes[0]) => {\n const currentLocation = location\n ? `${location} > ${route.name}`\n : route.name;\n\n route.state?.routeNames?.forEach((routeName) => {\n if (routeName === route.name) {\n duplicates.push([\n currentLocation,\n `${currentLocation} > ${route.name}`,\n ]);\n }\n });\n\n if (route.state) {\n getRouteNames(currentLocation, route.state);\n }\n });\n };\n\n getRouteNames('', state);\n\n return duplicates;\n}\n"],"mappings":";;;;;;;AAEe,SAASA,wBAAT,CAAkCC,KAAlC,EAA0D;EACvE,MAAMC,UAAsB,GAAG,EAA/B;;EAEA,MAAMC,aAAa,GAAG,CACpBC,QADoB,EAEpBH,KAFoB,KAGjB;IACHA,KAAK,CAACI,MAAN,CAAaC,OAAb,CAAsBC,KAAD,IAAmC;MAAA;;MACtD,MAAMC,eAAe,GAAGJ,QAAQ,GAC3B,GAAEA,QAAS,MAAKG,KAAK,CAACE,IAAK,EADA,GAE5BF,KAAK,CAACE,IAFV;MAIA,gBAAAF,KAAK,CAACN,KAAN,uFAAaS,UAAb,gFAAyBJ,OAAzB,CAAkCK,SAAD,IAAe;QAC9C,IAAIA,SAAS,KAAKJ,KAAK,CAACE,IAAxB,EAA8B;UAC5BP,UAAU,CAACU,IAAX,CAAgB,CACdJ,eADc,EAEb,GAAEA,eAAgB,MAAKD,KAAK,CAACE,IAAK,EAFrB,CAAhB;QAID;MACF,CAPD;;MASA,IAAIF,KAAK,CAACN,KAAV,EAAiB;QACfE,aAAa,CAACK,eAAD,EAAkBD,KAAK,CAACN,KAAxB,CAAb;MACD;IACF,CAjBD;EAkBD,CAtBD;;EAwBAE,aAAa,CAAC,EAAD,EAAKF,KAAL,CAAb;EAEA,OAAOC,UAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["checkSerializable.tsx"],"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","reason","String","has","add","i","length","childResult","Set","key","checkSerializable"],"mappings":";;;;;;;AAAA,MAAMA,yCAAyC,GAAG,CAChDC,CADgD,EAEhDC,IAFgD,EAGhDC,QAHgD,KAUzC;AACP,MACEF,CAAC,KAAKG,SAAN,IACAH,CAAC,KAAK,IADN,IAEA,OAAOA,CAAP,KAAa,SAFb,IAGA,OAAOA,CAAP,KAAa,QAHb,IAIA,OAAOA,CAAP,KAAa,QALf,EAME;AACA,WAAO;AAAEI,MAAAA,YAAY,EAAE;AAAhB,KAAP;AACD;;AAED,MACEC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BR,CAA/B,MAAsC,iBAAtC,IACA,CAACS,KAAK,CAACC,OAAN,CAAcV,CAAd,CAFH,EAGE;AACA,WAAO;AACLI,MAAAA,YAAY,EAAE,KADT;AAELF,MAAAA,QAFK;AAGLS,MAAAA,MAAM,EAAE,OAAOX,CAAP,KAAa,UAAb,GAA0B,UAA1B,GAAuCY,MAAM,CAACZ,CAAD;AAHhD,KAAP;AAKD;;AAED,MAAIC,IAAI,CAACY,GAAL,CAASb,CAAT,CAAJ,EAAiB;AACf,WAAO;AACLI,MAAAA,YAAY,EAAE,KADT;AAELO,MAAAA,MAAM,EAAE,oBAFH;AAGLT,MAAAA;AAHK,KAAP;AAKD;;AAEDD,EAAAA,IAAI,CAACa,GAAL,CAASd,CAAT;;AAEA,MAAIS,KAAK,CAACC,OAAN,CAAcV,CAAd,CAAJ,EAAsB;AACpB,SAAK,IAAIe,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGf,CAAC,CAACgB,MAAtB,EAA8BD,CAAC,EAA/B,EAAmC;AACjC,YAAME,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACe,CAAD,CAD0D,EAE3D,IAAIG,GAAJ,CAAajB,IAAb,CAF2D,EAG3D,CAAC,GAAGC,QAAJ,EAAca,CAAd,CAH2D,CAA7D;;AAMA,UAAI,CAACE,WAAW,CAACb,YAAjB,EAA+B;AAC7B,eAAOa,WAAP;AACD;AACF;AACF,GAZD,MAYO;AACL,SAAK,MAAME,GAAX,IAAkBnB,CAAlB,EAAqB;AACnB,YAAMiB,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACmB,GAAD,CAD0D,EAE3D,IAAID,GAAJ,CAAajB,IAAb,CAF2D,EAG3D,CAAC,GAAGC,QAAJ,EAAciB,GAAd,CAH2D,CAA7D;;AAMA,UAAI,CAACF,WAAW,CAACb,YAAjB,EAA+B;AAC7B,eAAOa,WAAP;AACD;AACF;AACF;;AAED,SAAO;AAAEb,IAAAA,YAAY,EAAE;AAAhB,GAAP;AACD,CArED;;AAuEe,SAASgB,iBAAT,CAA2BpB,CAA3B,EAAsD;AACnE,SAAOD,yCAAyC,CAACC,CAAD,EAAI,IAAIkB,GAAJ,EAAJ,EAAoB,EAApB,CAAhD;AACD","sourcesContent":["const checkSerializableWithoutCircularReference = (\n o: { [key: string]: any },\n seen: Set<any>,\n location: (string | number)[]\n):\n | { serializable: true }\n | {\n serializable: false;\n location: (string | number)[];\n reason: string;\n } => {\n if (\n o === undefined ||\n o === null ||\n typeof o === 'boolean' ||\n typeof o === 'number' ||\n typeof o === 'string'\n ) {\n return { serializable: true };\n }\n\n if (\n Object.prototype.toString.call(o) !== '[object Object]' &&\n !Array.isArray(o)\n ) {\n return {\n serializable: false,\n location,\n reason: typeof o === 'function' ? 'Function' : String(o),\n };\n }\n\n if (seen.has(o)) {\n return {\n serializable: false,\n reason: 'Circular reference',\n location,\n };\n }\n\n seen.add(o);\n\n if (Array.isArray(o)) {\n for (let i = 0; i < o.length; i++) {\n const childResult = checkSerializableWithoutCircularReference(\n o[i],\n new Set<any>(seen),\n [...location, i]\n );\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n } else {\n for (const key in o) {\n const childResult = checkSerializableWithoutCircularReference(\n o[key],\n new Set<any>(seen),\n [...location, key]\n );\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n }\n\n return { serializable: true };\n};\n\nexport default function checkSerializable(o: { [key: string]: any }) {\n return checkSerializableWithoutCircularReference(o, new Set<any>(), []);\n}\n"]}
1
+ {"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","reason","String","has","add","i","length","childResult","Set","key","checkSerializable"],"sources":["checkSerializable.tsx"],"sourcesContent":["const checkSerializableWithoutCircularReference = (\n o: { [key: string]: any },\n seen: Set<any>,\n location: (string | number)[]\n):\n | { serializable: true }\n | {\n serializable: false;\n location: (string | number)[];\n reason: string;\n } => {\n if (\n o === undefined ||\n o === null ||\n typeof o === 'boolean' ||\n typeof o === 'number' ||\n typeof o === 'string'\n ) {\n return { serializable: true };\n }\n\n if (\n Object.prototype.toString.call(o) !== '[object Object]' &&\n !Array.isArray(o)\n ) {\n return {\n serializable: false,\n location,\n reason: typeof o === 'function' ? 'Function' : String(o),\n };\n }\n\n if (seen.has(o)) {\n return {\n serializable: false,\n reason: 'Circular reference',\n location,\n };\n }\n\n seen.add(o);\n\n if (Array.isArray(o)) {\n for (let i = 0; i < o.length; i++) {\n const childResult = checkSerializableWithoutCircularReference(\n o[i],\n new Set<any>(seen),\n [...location, i]\n );\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n } else {\n for (const key in o) {\n const childResult = checkSerializableWithoutCircularReference(\n o[key],\n new Set<any>(seen),\n [...location, key]\n );\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n }\n\n return { serializable: true };\n};\n\nexport default function checkSerializable(o: { [key: string]: any }) {\n return checkSerializableWithoutCircularReference(o, new Set<any>(), []);\n}\n"],"mappings":";;;;;;;AAAA,MAAMA,yCAAyC,GAAG,CAChDC,CADgD,EAEhDC,IAFgD,EAGhDC,QAHgD,KAUzC;EACP,IACEF,CAAC,KAAKG,SAAN,IACAH,CAAC,KAAK,IADN,IAEA,OAAOA,CAAP,KAAa,SAFb,IAGA,OAAOA,CAAP,KAAa,QAHb,IAIA,OAAOA,CAAP,KAAa,QALf,EAME;IACA,OAAO;MAAEI,YAAY,EAAE;IAAhB,CAAP;EACD;;EAED,IACEC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BR,CAA/B,MAAsC,iBAAtC,IACA,CAACS,KAAK,CAACC,OAAN,CAAcV,CAAd,CAFH,EAGE;IACA,OAAO;MACLI,YAAY,EAAE,KADT;MAELF,QAFK;MAGLS,MAAM,EAAE,OAAOX,CAAP,KAAa,UAAb,GAA0B,UAA1B,GAAuCY,MAAM,CAACZ,CAAD;IAHhD,CAAP;EAKD;;EAED,IAAIC,IAAI,CAACY,GAAL,CAASb,CAAT,CAAJ,EAAiB;IACf,OAAO;MACLI,YAAY,EAAE,KADT;MAELO,MAAM,EAAE,oBAFH;MAGLT;IAHK,CAAP;EAKD;;EAEDD,IAAI,CAACa,GAAL,CAASd,CAAT;;EAEA,IAAIS,KAAK,CAACC,OAAN,CAAcV,CAAd,CAAJ,EAAsB;IACpB,KAAK,IAAIe,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGf,CAAC,CAACgB,MAAtB,EAA8BD,CAAC,EAA/B,EAAmC;MACjC,MAAME,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACe,CAAD,CAD0D,EAE3D,IAAIG,GAAJ,CAAajB,IAAb,CAF2D,EAG3D,CAAC,GAAGC,QAAJ,EAAca,CAAd,CAH2D,CAA7D;;MAMA,IAAI,CAACE,WAAW,CAACb,YAAjB,EAA+B;QAC7B,OAAOa,WAAP;MACD;IACF;EACF,CAZD,MAYO;IACL,KAAK,MAAME,GAAX,IAAkBnB,CAAlB,EAAqB;MACnB,MAAMiB,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACmB,GAAD,CAD0D,EAE3D,IAAID,GAAJ,CAAajB,IAAb,CAF2D,EAG3D,CAAC,GAAGC,QAAJ,EAAciB,GAAd,CAH2D,CAA7D;;MAMA,IAAI,CAACF,WAAW,CAACb,YAAjB,EAA+B;QAC7B,OAAOa,WAAP;MACD;IACF;EACF;;EAED,OAAO;IAAEb,YAAY,EAAE;EAAhB,CAAP;AACD,CArED;;AAuEe,SAASgB,iBAAT,CAA2BpB,CAA3B,EAAsD;EACnE,OAAOD,yCAAyC,CAACC,CAAD,EAAI,IAAIkB,GAAJ,EAAJ,EAAoB,EAApB,CAAhD;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["createNavigationContainerRef.tsx"],"names":["NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","CommonActions","listeners","removeListener","event","callback","filter","cb","current","ref","value","entries","forEach","callbacks","addListener","isReady","reduce","acc","name","args","push","console","error"],"mappings":";;;;;;;;AAAA;;AAQO,MAAMA,qBAAqB,GAChC,+QADK;;;AAGQ,SAASC,4BAAT,GAEmC;AAChD,QAAMC,OAAO,GAAG,CACd,GAAGC,MAAM,CAACC,IAAP,CAAYC,sBAAZ,CADW,EAEd,aAFc,EAGd,gBAHc,EAId,WAJc,EAKd,UALc,EAMd,WANc,EAOd,WAPc,EAQd,cARc,EASd,UATc,EAUd,WAVc,EAWd,iBAXc,EAYd,mBAZc,CAAhB;AAeA,QAAMC,SAAuD,GAAG,EAAhE;;AAEA,QAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,QAFqB,KAGlB;AACH,QAAIH,SAAS,CAACE,KAAD,CAAb,EAAsB;AACpBF,MAAAA,SAAS,CAACE,KAAD,CAAT,GAAmBF,SAAS,CAACE,KAAD,CAAT,CAAiBE,MAAjB,CAAyBC,EAAD,IAAQA,EAAE,KAAKF,QAAvC,CAAnB;AACD;AACF,GAPD;;AASA,MAAIG,OAAiD,GAAG,IAAxD;AAEA,QAAMC,GAAiD,GAAG;AACxD,QAAID,OAAJ,GAAc;AACZ,aAAOA,OAAP;AACD,KAHuD;;AAIxD,QAAIA,OAAJ,CAAYE,KAAZ,EAA6D;AAC3DF,MAAAA,OAAO,GAAGE,KAAV;;AAEA,UAAIA,KAAK,IAAI,IAAb,EAAmB;AACjBX,QAAAA,MAAM,CAACY,OAAP,CAAeT,SAAf,EAA0BU,OAA1B,CAAkC,QAAwB;AAAA,cAAvB,CAACR,KAAD,EAAQS,SAAR,CAAuB;AACxDA,UAAAA,SAAS,CAACD,OAAV,CAAmBP,QAAD,IAAc;AAC9BK,YAAAA,KAAK,CAACI,WAAN,CACEV,KADF,EAEEC,QAFF;AAID,WALD;AAMD,SAPD;AAQD;AACF,KAjBuD;;AAkBxDU,IAAAA,OAAO,EAAE,MAAM;AACb,UAAIP,OAAO,IAAI,IAAf,EAAqB;AACnB,eAAO,KAAP;AACD;;AAED,aAAOA,OAAO,CAACO,OAAR,EAAP;AACD,KAxBuD;AAyBxD,OAAGjB,OAAO,CAACkB,MAAR,CAAoB,CAACC,GAAD,EAAMC,IAAN,KAAe;AACpCD,MAAAA,GAAG,CAACC,IAAD,CAAH,GAAY,YAAoB;AAAA,0CAAhBC,IAAgB;AAAhBA,UAAAA,IAAgB;AAAA;;AAC9B,YAAIX,OAAO,IAAI,IAAf,EAAqB;AACnB,kBAAQU,IAAR;AACE,iBAAK,aAAL;AAAoB;AAClB,sBAAM,CAACd,KAAD,EAAQC,QAAR,IAAoBc,IAA1B;AAEAjB,gBAAAA,SAAS,CAACE,KAAD,CAAT,GAAmBF,SAAS,CAACE,KAAD,CAAT,IAAoB,EAAvC;AACAF,gBAAAA,SAAS,CAACE,KAAD,CAAT,CAAiBgB,IAAjB,CAAsBf,QAAtB;AAEA,uBAAO,MAAMF,cAAc,CAACC,KAAD,EAAQC,QAAR,CAA3B;AACD;;AACD,iBAAK,gBAAL;AAAuB;AACrB,sBAAM,CAACD,KAAD,EAAQC,QAAR,IAAoBc,IAA1B;AAEAhB,gBAAAA,cAAc,CAACC,KAAD,EAAQC,QAAR,CAAd;AACA;AACD;;AACD;AACEgB,cAAAA,OAAO,CAACC,KAAR,CAAc1B,qBAAd;AAhBJ;AAkBD,SAnBD,MAmBO;AACL;AACA,iBAAOY,OAAO,CAACU,IAAD,CAAP,CAAc,GAAGC,IAAjB,CAAP;AACD;AACF,OAxBD;;AAyBA,aAAOF,GAAP;AACD,KA3BE,EA2BA,EA3BA;AAzBqD,GAA1D;AAuDA,SAAOR,GAAP;AACD","sourcesContent":["import { CommonActions } from '@react-navigation/routers';\n\nimport type {\n NavigationContainerEventMap,\n NavigationContainerRef,\n NavigationContainerRefWithCurrent,\n} from './types';\n\nexport const NOT_INITIALIZED_ERROR =\n \"The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.\";\n\nexport default function createNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent<ParamList> {\n const methods = [\n ...Object.keys(CommonActions),\n 'addListener',\n 'removeListener',\n 'resetRoot',\n 'dispatch',\n 'isFocused',\n 'canGoBack',\n 'getRootState',\n 'getState',\n 'getParent',\n 'getCurrentRoute',\n 'getCurrentOptions',\n ] as const;\n\n const listeners: Record<string, ((...args: any[]) => void)[]> = {};\n\n const removeListener = (\n event: string,\n callback: (...args: any[]) => void\n ) => {\n if (listeners[event]) {\n listeners[event] = listeners[event].filter((cb) => cb !== callback);\n }\n };\n\n let current: NavigationContainerRef<ParamList> | null = null;\n\n const ref: NavigationContainerRefWithCurrent<ParamList> = {\n get current() {\n return current;\n },\n set current(value: NavigationContainerRef<ParamList> | null) {\n current = value;\n\n if (value != null) {\n Object.entries(listeners).forEach(([event, callbacks]) => {\n callbacks.forEach((callback) => {\n value.addListener(\n event as keyof NavigationContainerEventMap,\n callback\n );\n });\n });\n }\n },\n isReady: () => {\n if (current == null) {\n return false;\n }\n\n return current.isReady();\n },\n ...methods.reduce<any>((acc, name) => {\n acc[name] = (...args: any[]) => {\n if (current == null) {\n switch (name) {\n case 'addListener': {\n const [event, callback] = args;\n\n listeners[event] = listeners[event] || [];\n listeners[event].push(callback);\n\n return () => removeListener(event, callback);\n }\n case 'removeListener': {\n const [event, callback] = args;\n\n removeListener(event, callback);\n break;\n }\n default:\n console.error(NOT_INITIALIZED_ERROR);\n }\n } else {\n // @ts-expect-error: this is ok\n return current[name](...args);\n }\n };\n return acc;\n }, {}),\n };\n\n return ref;\n}\n"]}
1
+ {"version":3,"names":["NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","CommonActions","listeners","removeListener","event","callback","filter","cb","current","ref","value","entries","forEach","callbacks","addListener","isReady","reduce","acc","name","args","push","console","error"],"sources":["createNavigationContainerRef.tsx"],"sourcesContent":["import { CommonActions } from '@react-navigation/routers';\n\nimport type {\n NavigationContainerEventMap,\n NavigationContainerRef,\n NavigationContainerRefWithCurrent,\n} from './types';\n\nexport const NOT_INITIALIZED_ERROR =\n \"The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.\";\n\nexport default function createNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent<ParamList> {\n const methods = [\n ...Object.keys(CommonActions),\n 'addListener',\n 'removeListener',\n 'resetRoot',\n 'dispatch',\n 'isFocused',\n 'canGoBack',\n 'getRootState',\n 'getState',\n 'getParent',\n 'getCurrentRoute',\n 'getCurrentOptions',\n ] as const;\n\n const listeners: Record<string, ((...args: any[]) => void)[]> = {};\n\n const removeListener = (\n event: string,\n callback: (...args: any[]) => void\n ) => {\n if (listeners[event]) {\n listeners[event] = listeners[event].filter((cb) => cb !== callback);\n }\n };\n\n let current: NavigationContainerRef<ParamList> | null = null;\n\n const ref: NavigationContainerRefWithCurrent<ParamList> = {\n get current() {\n return current;\n },\n set current(value: NavigationContainerRef<ParamList> | null) {\n current = value;\n\n if (value != null) {\n Object.entries(listeners).forEach(([event, callbacks]) => {\n callbacks.forEach((callback) => {\n value.addListener(\n event as keyof NavigationContainerEventMap,\n callback\n );\n });\n });\n }\n },\n isReady: () => {\n if (current == null) {\n return false;\n }\n\n return current.isReady();\n },\n ...methods.reduce<any>((acc, name) => {\n acc[name] = (...args: any[]) => {\n if (current == null) {\n switch (name) {\n case 'addListener': {\n const [event, callback] = args;\n\n listeners[event] = listeners[event] || [];\n listeners[event].push(callback);\n\n return () => removeListener(event, callback);\n }\n case 'removeListener': {\n const [event, callback] = args;\n\n removeListener(event, callback);\n break;\n }\n default:\n console.error(NOT_INITIALIZED_ERROR);\n }\n } else {\n // @ts-expect-error: this is ok\n return current[name](...args);\n }\n };\n return acc;\n }, {}),\n };\n\n return ref;\n}\n"],"mappings":";;;;;;;;AAAA;;AAQO,MAAMA,qBAAqB,GAChC,+QADK;;;AAGQ,SAASC,4BAAT,GAEmC;EAChD,MAAMC,OAAO,GAAG,CACd,GAAGC,MAAM,CAACC,IAAP,CAAYC,sBAAZ,CADW,EAEd,aAFc,EAGd,gBAHc,EAId,WAJc,EAKd,UALc,EAMd,WANc,EAOd,WAPc,EAQd,cARc,EASd,UATc,EAUd,WAVc,EAWd,iBAXc,EAYd,mBAZc,CAAhB;EAeA,MAAMC,SAAuD,GAAG,EAAhE;;EAEA,MAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,QAFqB,KAGlB;IACH,IAAIH,SAAS,CAACE,KAAD,CAAb,EAAsB;MACpBF,SAAS,CAACE,KAAD,CAAT,GAAmBF,SAAS,CAACE,KAAD,CAAT,CAAiBE,MAAjB,CAAyBC,EAAD,IAAQA,EAAE,KAAKF,QAAvC,CAAnB;IACD;EACF,CAPD;;EASA,IAAIG,OAAiD,GAAG,IAAxD;EAEA,MAAMC,GAAiD,GAAG;IACxD,IAAID,OAAJ,GAAc;MACZ,OAAOA,OAAP;IACD,CAHuD;;IAIxD,IAAIA,OAAJ,CAAYE,KAAZ,EAA6D;MAC3DF,OAAO,GAAGE,KAAV;;MAEA,IAAIA,KAAK,IAAI,IAAb,EAAmB;QACjBX,MAAM,CAACY,OAAP,CAAeT,SAAf,EAA0BU,OAA1B,CAAkC,QAAwB;UAAA,IAAvB,CAACR,KAAD,EAAQS,SAAR,CAAuB;UACxDA,SAAS,CAACD,OAAV,CAAmBP,QAAD,IAAc;YAC9BK,KAAK,CAACI,WAAN,CACEV,KADF,EAEEC,QAFF;UAID,CALD;QAMD,CAPD;MAQD;IACF,CAjBuD;;IAkBxDU,OAAO,EAAE,MAAM;MACb,IAAIP,OAAO,IAAI,IAAf,EAAqB;QACnB,OAAO,KAAP;MACD;;MAED,OAAOA,OAAO,CAACO,OAAR,EAAP;IACD,CAxBuD;IAyBxD,GAAGjB,OAAO,CAACkB,MAAR,CAAoB,CAACC,GAAD,EAAMC,IAAN,KAAe;MACpCD,GAAG,CAACC,IAAD,CAAH,GAAY,YAAoB;QAAA,kCAAhBC,IAAgB;UAAhBA,IAAgB;QAAA;;QAC9B,IAAIX,OAAO,IAAI,IAAf,EAAqB;UACnB,QAAQU,IAAR;YACE,KAAK,aAAL;cAAoB;gBAClB,MAAM,CAACd,KAAD,EAAQC,QAAR,IAAoBc,IAA1B;gBAEAjB,SAAS,CAACE,KAAD,CAAT,GAAmBF,SAAS,CAACE,KAAD,CAAT,IAAoB,EAAvC;gBACAF,SAAS,CAACE,KAAD,CAAT,CAAiBgB,IAAjB,CAAsBf,QAAtB;gBAEA,OAAO,MAAMF,cAAc,CAACC,KAAD,EAAQC,QAAR,CAA3B;cACD;;YACD,KAAK,gBAAL;cAAuB;gBACrB,MAAM,CAACD,KAAD,EAAQC,QAAR,IAAoBc,IAA1B;gBAEAhB,cAAc,CAACC,KAAD,EAAQC,QAAR,CAAd;gBACA;cACD;;YACD;cACEgB,OAAO,CAACC,KAAR,CAAc1B,qBAAd;UAhBJ;QAkBD,CAnBD,MAmBO;UACL;UACA,OAAOY,OAAO,CAACU,IAAD,CAAP,CAAc,GAAGC,IAAjB,CAAP;QACD;MACF,CAxBD;;MAyBA,OAAOF,GAAP;IACD,CA3BE,EA2BA,EA3BA;EAzBqD,CAA1D;EAuDA,OAAOR,GAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["createNavigatorFactory.tsx"],"names":["createNavigatorFactory","Navigator","arguments","undefined","Error","Group","Screen"],"mappings":";;;;;;;AAGA;;AACA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,sBAAT,CAKbC,SALa,EAKkB;AAC/B,SAAO,YAML;AACA,QAAIC,SAAS,CAAC,CAAD,CAAT,KAAiBC,SAArB,EAAgC;AAC9B,YAAM,IAAIC,KAAJ,CACJ,+LADI,CAAN;AAGD;;AAED,WAAO;AACLH,MAAAA,SADK;AAELI,MAAAA,KAAK,EAALA,cAFK;AAGLC,MAAAA,MAAM,EAANA;AAHK,KAAP;AAKD,GAlBD;AAmBD","sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport type * as React from 'react';\n\nimport Group from './Group';\nimport Screen from './Screen';\nimport type { EventMapBase, TypedNavigator } from './types';\n\n/**\n * Higher order component to create a `Navigator` and `Screen` pair.\n * Custom navigators should wrap the navigator component in `createNavigator` before exporting.\n *\n * @param Navigator The navigtor component to wrap.\n * @returns Factory method to create a `Navigator` and `Screen` pair.\n */\nexport default function createNavigatorFactory<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n NavigatorComponent extends React.ComponentType<any>\n>(Navigator: NavigatorComponent) {\n return function <ParamList extends ParamListBase>(): TypedNavigator<\n ParamList,\n State,\n ScreenOptions,\n EventMap,\n typeof Navigator\n > {\n if (arguments[0] !== undefined) {\n throw new Error(\n \"Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.\"\n );\n }\n\n return {\n Navigator,\n Group,\n Screen,\n };\n };\n}\n"]}
1
+ {"version":3,"names":["createNavigatorFactory","Navigator","arguments","undefined","Error","Group","Screen"],"sources":["createNavigatorFactory.tsx"],"sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport type * as React from 'react';\n\nimport Group from './Group';\nimport Screen from './Screen';\nimport type { EventMapBase, TypedNavigator } from './types';\n\n/**\n * Higher order component to create a `Navigator` and `Screen` pair.\n * Custom navigators should wrap the navigator component in `createNavigator` before exporting.\n *\n * @param Navigator The navigtor component to wrap.\n * @returns Factory method to create a `Navigator` and `Screen` pair.\n */\nexport default function createNavigatorFactory<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n NavigatorComponent extends React.ComponentType<any>\n>(Navigator: NavigatorComponent) {\n return function <ParamList extends ParamListBase>(): TypedNavigator<\n ParamList,\n State,\n ScreenOptions,\n EventMap,\n typeof Navigator\n > {\n if (arguments[0] !== undefined) {\n throw new Error(\n \"Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.\"\n );\n }\n\n return {\n Navigator,\n Group,\n Screen,\n };\n };\n}\n"],"mappings":";;;;;;;AAGA;;AACA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,sBAAT,CAKbC,SALa,EAKkB;EAC/B,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAD,CAAT,KAAiBC,SAArB,EAAgC;MAC9B,MAAM,IAAIC,KAAJ,CACJ,+LADI,CAAN;IAGD;;IAED,OAAO;MACLH,SADK;MAELI,KAAK,EAALA,cAFK;MAGLC,MAAM,EAANA;IAHK,CAAP;EAKD,CAlBD;AAmBD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["findFocusedRoute.tsx"],"names":["findFocusedRoute","state","current","routes","index","route"],"mappings":";;;;;;;AAEe,SAASA,gBAAT,CAA0BC,KAA1B,EAA+C;AAAA;;AAC5D,MAAIC,OAAiC,GAAGD,KAAxC;;AAEA,SAAO,aAAAC,OAAO,UAAP,4CAASC,MAAT,mBAAgBD,OAAO,CAACE,KAAxB,2DAAiC,CAAjC,EAAoCH,KAApC,KAA6C,IAApD,EAA0D;AAAA;;AACxDC,IAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,oBAAeD,OAAO,CAACE,KAAvB,6DAAgC,CAAhC,EAAmCH,KAA7C;AACD;;AAED,QAAMI,KAAK,gBAAGH,OAAH,8CAAG,UAASC,MAAT,iCAAgBD,OAAhB,8CAAgB,UAASE,KAAzB,6DAAkC,CAAlC,CAAd;AAEA,SAAOC,KAAP;AACD","sourcesContent":["import type { InitialState } from '@react-navigation/routers';\n\nexport default function findFocusedRoute(state: InitialState) {\n let current: InitialState | undefined = state;\n\n while (current?.routes[current.index ?? 0].state != null) {\n current = current.routes[current.index ?? 0].state;\n }\n\n const route = current?.routes[current?.index ?? 0];\n\n return route;\n}\n"]}
1
+ {"version":3,"names":["findFocusedRoute","state","current","routes","index","route"],"sources":["findFocusedRoute.tsx"],"sourcesContent":["import type { InitialState } from '@react-navigation/routers';\n\nexport default function findFocusedRoute(state: InitialState) {\n let current: InitialState | undefined = state;\n\n while (current?.routes[current.index ?? 0].state != null) {\n current = current.routes[current.index ?? 0].state;\n }\n\n const route = current?.routes[current?.index ?? 0];\n\n return route;\n}\n"],"mappings":";;;;;;;AAEe,SAASA,gBAAT,CAA0BC,KAA1B,EAA+C;EAAA;;EAC5D,IAAIC,OAAiC,GAAGD,KAAxC;;EAEA,OAAO,aAAAC,OAAO,UAAP,4CAASC,MAAT,mBAAgBD,OAAO,CAACE,KAAxB,2DAAiC,CAAjC,EAAoCH,KAApC,KAA6C,IAApD,EAA0D;IAAA;;IACxDC,OAAO,GAAGA,OAAO,CAACC,MAAR,oBAAeD,OAAO,CAACE,KAAvB,6DAAgC,CAAhC,EAAmCH,KAA7C;EACD;;EAED,MAAMI,KAAK,gBAAGH,OAAH,8CAAG,UAASC,MAAT,iCAAgBD,OAAhB,8CAAgB,UAASE,KAAzB,6DAAkC,CAAlC,CAAd;EAEA,OAAOC,KAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["fromEntries.tsx"],"names":["fromEntries","entries","reduce","acc","k","v","hasOwnProperty","Error"],"mappings":";;;;;;;AAAA;AACe,SAASA,WAAT,CACbC,OADa,EAEb;AACA,SAAOA,OAAO,CAACC,MAAR,CAAe,CAACC,GAAD,WAAiB;AAAA,QAAX,CAACC,CAAD,EAAIC,CAAJ,CAAW;;AACrC,QAAIF,GAAG,CAACG,cAAJ,CAAmBF,CAAnB,CAAJ,EAA2B;AACzB,YAAM,IAAIG,KAAJ,CAAW,oBAAmBH,CAAE,iCAAhC,CAAN;AACD;;AAEDD,IAAAA,GAAG,CAACC,CAAD,CAAH,GAASC,CAAT;AACA,WAAOF,GAAP;AACD,GAPM,EAOJ,EAPI,CAAP;AAQD","sourcesContent":["// Object.fromEntries is not available in older iOS versions\nexport default function fromEntries<K extends string, V>(\n entries: (readonly [K, V])[]\n) {\n return entries.reduce((acc, [k, v]) => {\n if (acc.hasOwnProperty(k)) {\n throw new Error(`A value for key '${k}' already exists in the object.`);\n }\n\n acc[k] = v;\n return acc;\n }, {} as Record<K, V>);\n}\n"]}
1
+ {"version":3,"names":["fromEntries","entries","reduce","acc","k","v","hasOwnProperty","Error"],"sources":["fromEntries.tsx"],"sourcesContent":["// Object.fromEntries is not available in older iOS versions\nexport default function fromEntries<K extends string, V>(\n entries: (readonly [K, V])[]\n) {\n return entries.reduce((acc, [k, v]) => {\n if (acc.hasOwnProperty(k)) {\n throw new Error(`A value for key '${k}' already exists in the object.`);\n }\n\n acc[k] = v;\n return acc;\n }, {} as Record<K, V>);\n}\n"],"mappings":";;;;;;;AAAA;AACe,SAASA,WAAT,CACbC,OADa,EAEb;EACA,OAAOA,OAAO,CAACC,MAAR,CAAe,CAACC,GAAD,WAAiB;IAAA,IAAX,CAACC,CAAD,EAAIC,CAAJ,CAAW;;IACrC,IAAIF,GAAG,CAACG,cAAJ,CAAmBF,CAAnB,CAAJ,EAA2B;MACzB,MAAM,IAAIG,KAAJ,CAAW,oBAAmBH,CAAE,iCAAhC,CAAN;IACD;;IAEDD,GAAG,CAACC,CAAD,CAAH,GAASC,CAAT;IACA,OAAOF,GAAP;EACD,CAPM,EAOJ,EAPI,CAAP;AAQD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["getActionFromState.tsx"],"names":["getActionFromState","state","options","normalizedConfig","createNormalizedConfigItem","routes","index","slice","length","undefined","key","name","initialRouteName","type","payload","route","current","config","screens","params","path","Object","assign","initial","screen","createNormalizedConfigs","entries","reduce","acc","k","v"],"mappings":"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","sourcesContent":["import type {\n CommonActions,\n NavigationState,\n ParamListBase,\n PartialRoute,\n PartialState,\n Route,\n} from '@react-navigation/routers';\n\nimport type { NavigatorScreenParams, PathConfig, PathConfigMap } from './types';\n\ntype ConfigItem = {\n initialRouteName?: string;\n screens?: Record<string, ConfigItem>;\n};\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap<object>;\n};\n\ntype NavigateAction<State extends NavigationState> = {\n type: 'NAVIGATE';\n payload: {\n name: string;\n params?: NavigatorScreenParams<State>;\n path?: string;\n };\n};\n\nexport default function getActionFromState(\n state: PartialState<NavigationState>,\n options?: Options\n): NavigateAction<NavigationState> | CommonActions.Action | undefined {\n // Create a normalized configs object which will be easier to use\n const normalizedConfig = options\n ? createNormalizedConfigItem(options as PathConfig<object> | string)\n : {};\n\n const routes =\n state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;\n\n if (routes.length === 0) {\n return undefined;\n }\n\n if (\n !(\n (routes.length === 1 && routes[0].key === undefined) ||\n (routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === normalizedConfig?.initialRouteName &&\n routes[1].key === undefined)\n )\n ) {\n return {\n type: 'RESET',\n payload: state,\n };\n }\n\n const route = state.routes[state.index ?? state.routes.length - 1];\n\n let current: PartialState<NavigationState> | undefined = route?.state;\n let config: ConfigItem | undefined = normalizedConfig?.screens?.[route?.name];\n let params = { ...route.params } as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n\n let payload = route\n ? { name: route.name, path: route.path, params }\n : undefined;\n\n while (current) {\n if (current.routes.length === 0) {\n return undefined;\n }\n\n const routes =\n current.index != null\n ? current.routes.slice(0, current.index + 1)\n : current.routes;\n\n const route: Route<string> | PartialRoute<Route<string>> =\n routes[routes.length - 1];\n\n // Explicitly set to override existing value when merging params\n Object.assign(params, {\n initial: undefined,\n screen: undefined,\n params: undefined,\n state: undefined,\n });\n\n if (routes.length === 1 && routes[0].key === undefined) {\n params.initial = true;\n params.screen = route.name;\n } else if (\n routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === config?.initialRouteName &&\n routes[1].key === undefined\n ) {\n params.initial = false;\n params.screen = route.name;\n } else {\n params.state = current;\n break;\n }\n\n if (route.state) {\n params.params = { ...route.params };\n params = params.params as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n } else {\n params.path = route.path;\n params.params = route.params;\n }\n\n current = route.state;\n config = config?.screens?.[route.name];\n }\n\n if (!payload) {\n return;\n }\n\n // Try to construct payload for a `NAVIGATE` action from the state\n // This lets us preserve the navigation state and not lose it\n return {\n type: 'NAVIGATE',\n payload,\n };\n}\n\nconst createNormalizedConfigItem = (config: PathConfig<object> | string) =>\n typeof config === 'object' && config != null\n ? {\n initialRouteName: config.initialRouteName,\n screens:\n config.screens != null\n ? createNormalizedConfigs(config.screens)\n : undefined,\n }\n : {};\n\nconst createNormalizedConfigs = (options: PathConfigMap<object>) =>\n Object.entries(options).reduce<Record<string, ConfigItem>>((acc, [k, v]) => {\n acc[k] = createNormalizedConfigItem(v);\n return acc;\n }, {});\n"]}
1
+ {"version":3,"names":["getActionFromState","state","options","normalizedConfig","createNormalizedConfigItem","routes","index","slice","length","undefined","key","name","initialRouteName","type","payload","route","current","config","screens","params","path","Object","assign","initial","screen","createNormalizedConfigs","entries","reduce","acc","k","v"],"sources":["getActionFromState.tsx"],"sourcesContent":["import type {\n CommonActions,\n NavigationState,\n ParamListBase,\n PartialRoute,\n PartialState,\n Route,\n} from '@react-navigation/routers';\n\nimport type { NavigatorScreenParams, PathConfig, PathConfigMap } from './types';\n\ntype ConfigItem = {\n initialRouteName?: string;\n screens?: Record<string, ConfigItem>;\n};\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap<object>;\n};\n\ntype NavigateAction<State extends NavigationState> = {\n type: 'NAVIGATE';\n payload: {\n name: string;\n params?: NavigatorScreenParams<State>;\n path?: string;\n };\n};\n\nexport default function getActionFromState(\n state: PartialState<NavigationState>,\n options?: Options\n): NavigateAction<NavigationState> | CommonActions.Action | undefined {\n // Create a normalized configs object which will be easier to use\n const normalizedConfig = options\n ? createNormalizedConfigItem(options as PathConfig<object> | string)\n : {};\n\n const routes =\n state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;\n\n if (routes.length === 0) {\n return undefined;\n }\n\n if (\n !(\n (routes.length === 1 && routes[0].key === undefined) ||\n (routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === normalizedConfig?.initialRouteName &&\n routes[1].key === undefined)\n )\n ) {\n return {\n type: 'RESET',\n payload: state,\n };\n }\n\n const route = state.routes[state.index ?? state.routes.length - 1];\n\n let current: PartialState<NavigationState> | undefined = route?.state;\n let config: ConfigItem | undefined = normalizedConfig?.screens?.[route?.name];\n let params = { ...route.params } as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n\n let payload = route\n ? { name: route.name, path: route.path, params }\n : undefined;\n\n while (current) {\n if (current.routes.length === 0) {\n return undefined;\n }\n\n const routes =\n current.index != null\n ? current.routes.slice(0, current.index + 1)\n : current.routes;\n\n const route: Route<string> | PartialRoute<Route<string>> =\n routes[routes.length - 1];\n\n // Explicitly set to override existing value when merging params\n Object.assign(params, {\n initial: undefined,\n screen: undefined,\n params: undefined,\n state: undefined,\n });\n\n if (routes.length === 1 && routes[0].key === undefined) {\n params.initial = true;\n params.screen = route.name;\n } else if (\n routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === config?.initialRouteName &&\n routes[1].key === undefined\n ) {\n params.initial = false;\n params.screen = route.name;\n } else {\n params.state = current;\n break;\n }\n\n if (route.state) {\n params.params = { ...route.params };\n params = params.params as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n } else {\n params.path = route.path;\n params.params = route.params;\n }\n\n current = route.state;\n config = config?.screens?.[route.name];\n }\n\n if (!payload) {\n return;\n }\n\n // Try to construct payload for a `NAVIGATE` action from the state\n // This lets us preserve the navigation state and not lose it\n return {\n type: 'NAVIGATE',\n payload,\n };\n}\n\nconst createNormalizedConfigItem = (config: PathConfig<object> | string) =>\n typeof config === 'object' && config != null\n ? {\n initialRouteName: config.initialRouteName,\n screens:\n config.screens != null\n ? createNormalizedConfigs(config.screens)\n : undefined,\n }\n : {};\n\nconst createNormalizedConfigs = (options: PathConfigMap<object>) =>\n Object.entries(options).reduce<Record<string, ConfigItem>>((acc, [k, v]) => {\n acc[k] = createNormalizedConfigItem(v);\n return acc;\n }, {});\n"],"mappings":";;;;;;;AA8Be,SAASA,kBAAT,CACbC,KADa,EAEbC,OAFa,EAGuD;EAAA;;EACpE;EACA,MAAMC,gBAAgB,GAAGD,OAAO,GAC5BE,0BAA0B,CAACF,OAAD,CADE,GAE5B,EAFJ;EAIA,MAAMG,MAAM,GACVJ,KAAK,CAACK,KAAN,IAAe,IAAf,GAAsBL,KAAK,CAACI,MAAN,CAAaE,KAAb,CAAmB,CAAnB,EAAsBN,KAAK,CAACK,KAAN,GAAc,CAApC,CAAtB,GAA+DL,KAAK,CAACI,MADvE;;EAGA,IAAIA,MAAM,CAACG,MAAP,KAAkB,CAAtB,EAAyB;IACvB,OAAOC,SAAP;EACD;;EAED,IACE,EACGJ,MAAM,CAACG,MAAP,KAAkB,CAAlB,IAAuBH,MAAM,CAAC,CAAD,CAAN,CAAUK,GAAV,KAAkBD,SAA1C,IACCJ,MAAM,CAACG,MAAP,KAAkB,CAAlB,IACCH,MAAM,CAAC,CAAD,CAAN,CAAUK,GAAV,KAAkBD,SADnB,IAECJ,MAAM,CAAC,CAAD,CAAN,CAAUM,IAAV,MAAmBR,gBAAnB,aAAmBA,gBAAnB,uBAAmBA,gBAAgB,CAAES,gBAArC,CAFD,IAGCP,MAAM,CAAC,CAAD,CAAN,CAAUK,GAAV,KAAkBD,SALtB,CADF,EAQE;IACA,OAAO;MACLI,IAAI,EAAE,OADD;MAELC,OAAO,EAAEb;IAFJ,CAAP;EAID;;EAED,MAAMc,KAAK,GAAGd,KAAK,CAACI,MAAN,iBAAaJ,KAAK,CAACK,KAAnB,uDAA4BL,KAAK,CAACI,MAAN,CAAaG,MAAb,GAAsB,CAAlD,CAAd;EAEA,IAAIQ,OAAkD,GAAGD,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEd,KAAhE;EACA,IAAIgB,MAA8B,GAAGd,gBAAH,aAAGA,gBAAH,gDAAGA,gBAAgB,CAAEe,OAArB,0DAAG,sBAA4BH,KAA5B,aAA4BA,KAA5B,uBAA4BA,KAAK,CAAEJ,IAAnC,CAArC;EACA,IAAIQ,MAAM,GAAG,EAAE,GAAGJ,KAAK,CAACI;EAAX,CAAb;EAKA,IAAIL,OAAO,GAAGC,KAAK,GACf;IAAEJ,IAAI,EAAEI,KAAK,CAACJ,IAAd;IAAoBS,IAAI,EAAEL,KAAK,CAACK,IAAhC;IAAsCD;EAAtC,CADe,GAEfV,SAFJ;;EAIA,OAAOO,OAAP,EAAgB;IAAA;;IACd,IAAIA,OAAO,CAACX,MAAR,CAAeG,MAAf,KAA0B,CAA9B,EAAiC;MAC/B,OAAOC,SAAP;IACD;;IAED,MAAMJ,MAAM,GACVW,OAAO,CAACV,KAAR,IAAiB,IAAjB,GACIU,OAAO,CAACX,MAAR,CAAeE,KAAf,CAAqB,CAArB,EAAwBS,OAAO,CAACV,KAAR,GAAgB,CAAxC,CADJ,GAEIU,OAAO,CAACX,MAHd;IAKA,MAAMU,KAAkD,GACtDV,MAAM,CAACA,MAAM,CAACG,MAAP,GAAgB,CAAjB,CADR,CAVc,CAad;;IACAa,MAAM,CAACC,MAAP,CAAcH,MAAd,EAAsB;MACpBI,OAAO,EAAEd,SADW;MAEpBe,MAAM,EAAEf,SAFY;MAGpBU,MAAM,EAAEV,SAHY;MAIpBR,KAAK,EAAEQ;IAJa,CAAtB;;IAOA,IAAIJ,MAAM,CAACG,MAAP,KAAkB,CAAlB,IAAuBH,MAAM,CAAC,CAAD,CAAN,CAAUK,GAAV,KAAkBD,SAA7C,EAAwD;MACtDU,MAAM,CAACI,OAAP,GAAiB,IAAjB;MACAJ,MAAM,CAACK,MAAP,GAAgBT,KAAK,CAACJ,IAAtB;IACD,CAHD,MAGO,IACLN,MAAM,CAACG,MAAP,KAAkB,CAAlB,IACAH,MAAM,CAAC,CAAD,CAAN,CAAUK,GAAV,KAAkBD,SADlB,IAEAJ,MAAM,CAAC,CAAD,CAAN,CAAUM,IAAV,iBAAmBM,MAAnB,4CAAmB,QAAQL,gBAA3B,CAFA,IAGAP,MAAM,CAAC,CAAD,CAAN,CAAUK,GAAV,KAAkBD,SAJb,EAKL;MACAU,MAAM,CAACI,OAAP,GAAiB,KAAjB;MACAJ,MAAM,CAACK,MAAP,GAAgBT,KAAK,CAACJ,IAAtB;IACD,CARM,MAQA;MACLQ,MAAM,CAAClB,KAAP,GAAee,OAAf;MACA;IACD;;IAED,IAAID,KAAK,CAACd,KAAV,EAAiB;MACfkB,MAAM,CAACA,MAAP,GAAgB,EAAE,GAAGJ,KAAK,CAACI;MAAX,CAAhB;MACAA,MAAM,GAAGA,MAAM,CAACA,MAAhB;IAID,CAND,MAMO;MACLA,MAAM,CAACC,IAAP,GAAcL,KAAK,CAACK,IAApB;MACAD,MAAM,CAACA,MAAP,GAAgBJ,KAAK,CAACI,MAAtB;IACD;;IAEDH,OAAO,GAAGD,KAAK,CAACd,KAAhB;IACAgB,MAAM,eAAGA,MAAH,iEAAG,SAAQC,OAAX,qDAAG,iBAAkBH,KAAK,CAACJ,IAAxB,CAAT;EACD;;EAED,IAAI,CAACG,OAAL,EAAc;IACZ;EACD,CA/FmE,CAiGpE;EACA;;;EACA,OAAO;IACLD,IAAI,EAAE,UADD;IAELC;EAFK,CAAP;AAID;;AAED,MAAMV,0BAA0B,GAAIa,MAAD,IACjC,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,IAAI,IAAxC,GACI;EACEL,gBAAgB,EAAEK,MAAM,CAACL,gBAD3B;EAEEM,OAAO,EACLD,MAAM,CAACC,OAAP,IAAkB,IAAlB,GACIO,uBAAuB,CAACR,MAAM,CAACC,OAAR,CAD3B,GAEIT;AALR,CADJ,GAQI,EATN;;AAWA,MAAMgB,uBAAuB,GAAIvB,OAAD,IAC9BmB,MAAM,CAACK,OAAP,CAAexB,OAAf,EAAwByB,MAAxB,CAA2D,CAACC,GAAD,WAAiB;EAAA,IAAX,CAACC,CAAD,EAAIC,CAAJ,CAAW;EAC1EF,GAAG,CAACC,CAAD,CAAH,GAASzB,0BAA0B,CAAC0B,CAAD,CAAnC;EACA,OAAOF,GAAP;AACD,CAHD,EAGG,EAHH,CADF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["getFocusedRouteNameFromRoute.tsx"],"names":["getFocusedRouteNameFromRoute","route","state","CHILD_STATE","params","routeName","routes","index","type","length","name","screen","undefined"],"mappings":";;;;;;;AAEA;;AAEe,SAASA,4BAAT,CACbC,KADa,EAEO;AAAA;;AACpB;AACA,QAAMC,KAAK,yBAAGD,KAAK,CAACE,0BAAD,CAAR,mEAAyBF,KAAK,CAACC,KAA1C;AACA,QAAME,MAAM,GAAGH,KAAK,CAACG,MAArB;AAEA,QAAMC,SAAS,GAAGH,KAAK,GACnB;AACAA,EAAAA,KAAK,CAACI,MAAN,CACE;AACA;AAFF,kBAGEJ,KAAK,CAACK,KAHR,uDAIK,OAAOL,KAAK,CAACM,IAAb,KAAsB,QAAtB,IAAkCN,KAAK,CAACM,IAAN,KAAe,OAAjD,GACG,CADH,GAEGN,KAAK,CAACI,MAAN,CAAaG,MAAb,GAAsB,CAN9B,EAOEC,IATiB,GAUnB;AACF,UAAON,MAAP,aAAOA,MAAP,uBAAOA,MAAM,CAAEO,MAAf,MAA0B,QAA1B,GACEP,MAAM,CAACO,MADT,GAEEC,SAbJ;AAeA,SAAOP,SAAP;AACD","sourcesContent":["import type { Route } from '@react-navigation/routers';\n\nimport { CHILD_STATE } from './useRouteCache';\n\nexport default function getFocusedRouteNameFromRoute(\n route: Partial<Route<string>>\n): string | undefined {\n // @ts-expect-error: this isn't in type definitions coz we want this private\n const state = route[CHILD_STATE] ?? route.state;\n const params = route.params as { screen?: unknown } | undefined;\n\n const routeName = state\n ? // Get the currently active route name in the nested navigator\n state.routes[\n // If we have a partial state without index, for tab/drawer, first screen will be focused one, and last for stack\n // The type property will only exist for rehydrated state and not for state from deep link\n state.index ??\n (typeof state.type === 'string' && state.type !== 'stack'\n ? 0\n : state.routes.length - 1)\n ].name\n : // If state doesn't exist, we need to default to `screen` param if available\n typeof params?.screen === 'string'\n ? params.screen\n : undefined;\n\n return routeName;\n}\n"]}
1
+ {"version":3,"names":["getFocusedRouteNameFromRoute","route","state","CHILD_STATE","params","routeName","routes","index","type","length","name","screen","undefined"],"sources":["getFocusedRouteNameFromRoute.tsx"],"sourcesContent":["import type { Route } from '@react-navigation/routers';\n\nimport { CHILD_STATE } from './useRouteCache';\n\nexport default function getFocusedRouteNameFromRoute(\n route: Partial<Route<string>>\n): string | undefined {\n // @ts-expect-error: this isn't in type definitions coz we want this private\n const state = route[CHILD_STATE] ?? route.state;\n const params = route.params as { screen?: unknown } | undefined;\n\n const routeName = state\n ? // Get the currently active route name in the nested navigator\n state.routes[\n // If we have a partial state without index, for tab/drawer, first screen will be focused one, and last for stack\n // The type property will only exist for rehydrated state and not for state from deep link\n state.index ??\n (typeof state.type === 'string' && state.type !== 'stack'\n ? 0\n : state.routes.length - 1)\n ].name\n : // If state doesn't exist, we need to default to `screen` param if available\n typeof params?.screen === 'string'\n ? params.screen\n : undefined;\n\n return routeName;\n}\n"],"mappings":";;;;;;;AAEA;;AAEe,SAASA,4BAAT,CACbC,KADa,EAEO;EAAA;;EACpB;EACA,MAAMC,KAAK,yBAAGD,KAAK,CAACE,0BAAD,CAAR,mEAAyBF,KAAK,CAACC,KAA1C;EACA,MAAME,MAAM,GAAGH,KAAK,CAACG,MAArB;EAEA,MAAMC,SAAS,GAAGH,KAAK,GACnB;EACAA,KAAK,CAACI,MAAN,CACE;EACA;EAFF,gBAGEJ,KAAK,CAACK,KAHR,uDAIK,OAAOL,KAAK,CAACM,IAAb,KAAsB,QAAtB,IAAkCN,KAAK,CAACM,IAAN,KAAe,OAAjD,GACG,CADH,GAEGN,KAAK,CAACI,MAAN,CAAaG,MAAb,GAAsB,CAN9B,EAOEC,IATiB,GAUnB;EACF,QAAON,MAAP,aAAOA,MAAP,uBAAOA,MAAM,CAAEO,MAAf,MAA0B,QAA1B,GACEP,MAAM,CAACO,MADT,GAEEC,SAbJ;EAeA,OAAOP,SAAP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["getPathFromState.tsx"],"names":["getActiveRoute","state","route","index","routes","length","getPathFromState","options","Error","configs","screens","createNormalizedConfigs","path","current","allParams","pattern","focusedParams","focusedRoute","currentOptions","nestedRouteNames","hasNext","name","push","params","stringify","currentParams","Object","entries","map","key","value","String","assign","split","filter","p","startsWith","forEach","getParamName","undefined","nextRoute","nestedConfig","join","endsWith","encodeURIComponent","param","query","queryString","sort","replace","joinPaths","paths","concat","Boolean","createConfigItem","config","parentPattern","exact","c","result"],"mappings":"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","sourcesContent":["import type {\n NavigationState,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as queryString from 'query-string';\n\nimport fromEntries from './fromEntries';\nimport type { PathConfig, PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options<ParamList> = {\n initialRouteName?: string;\n screens: PathConfigMap<ParamList>;\n};\n\ntype State = NavigationState | Omit<PartialState<NavigationState>, 'stale'>;\n\ntype StringifyConfig = Record<string, (value: any) => string>;\n\ntype ConfigItem = {\n pattern?: string;\n stringify?: StringifyConfig;\n screens?: Record<string, ConfigItem>;\n};\n\nconst getActiveRoute = (state: State): { name: string; params?: object } => {\n const route =\n typeof state.index === 'number'\n ? state.routes[state.index]\n : state.routes[state.routes.length - 1];\n\n if (route.state) {\n return getActiveRoute(route.state);\n }\n\n return route;\n};\n\n/**\n * Utility to serialize a navigation state object to a path string.\n *\n * @example\n * ```js\n * getPathFromState(\n * {\n * routes: [\n * {\n * name: 'Chat',\n * params: { author: 'Jane', id: 42 },\n * },\n * ],\n * },\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * stringify: { author: author => author.toLowerCase() }\n * }\n * }\n * }\n * )\n * ```\n *\n * @param state Navigation state to serialize.\n * @param options Extra options to fine-tune how to serialize the path.\n * @returns Path representing the state, e.g. /foo/bar?count=42.\n */\nexport default function getPathFromState<ParamList extends {}>(\n state: State,\n options?: Options<ParamList>\n): string {\n if (state == null) {\n throw Error(\n \"Got 'undefined' for the navigation state. You must pass a valid state object.\"\n );\n }\n\n if (options) {\n validatePathConfig(options);\n }\n\n // Create a normalized configs object which will be easier to use\n const configs: Record<string, ConfigItem> = options?.screens\n ? createNormalizedConfigs(options?.screens)\n : {};\n\n let path = '/';\n let current: State | undefined = state;\n\n const allParams: Record<string, any> = {};\n\n while (current) {\n let index = typeof current.index === 'number' ? current.index : 0;\n let route = current.routes[index] as Route<string> & {\n state?: State;\n };\n\n let pattern: string | undefined;\n\n let focusedParams: Record<string, any> | undefined;\n let focusedRoute = getActiveRoute(state);\n let currentOptions = configs;\n\n // Keep all the route names that appeared during going deeper in config in case the pattern is resolved to undefined\n let nestedRouteNames = [];\n\n let hasNext = true;\n\n while (route.name in currentOptions && hasNext) {\n pattern = currentOptions[route.name].pattern;\n\n nestedRouteNames.push(route.name);\n\n if (route.params) {\n const stringify = currentOptions[route.name]?.stringify;\n\n const currentParams = fromEntries(\n Object.entries(route.params).map(([key, value]) => [\n key,\n stringify?.[key] ? stringify[key](value) : String(value),\n ])\n );\n\n if (pattern) {\n Object.assign(allParams, currentParams);\n }\n\n if (focusedRoute === route) {\n // If this is the focused route, keep the params for later use\n // We save it here since it's been stringified already\n focusedParams = { ...currentParams };\n\n pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n // eslint-disable-next-line no-loop-func\n .forEach((p) => {\n const name = getParamName(p);\n\n // Remove the params present in the pattern since we'll only use the rest for query string\n if (focusedParams) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[name];\n }\n });\n }\n }\n\n // If there is no `screens` property or no nested state, we return pattern\n if (!currentOptions[route.name].screens || route.state === undefined) {\n hasNext = false;\n } else {\n index =\n typeof route.state.index === 'number'\n ? route.state.index\n : route.state.routes.length - 1;\n\n const nextRoute = route.state.routes[index];\n const nestedConfig = currentOptions[route.name].screens;\n\n // if there is config for next route name, we go deeper\n if (nestedConfig && nextRoute.name in nestedConfig) {\n route = nextRoute as Route<string> & { state?: State };\n currentOptions = nestedConfig;\n } else {\n // If not, there is no sense in going deeper in config\n hasNext = false;\n }\n }\n }\n\n if (pattern === undefined) {\n pattern = nestedRouteNames.join('/');\n }\n\n if (currentOptions[route.name] !== undefined) {\n path += pattern\n .split('/')\n .map((p) => {\n const name = getParamName(p);\n\n // We don't know what to show for wildcard patterns\n // Showing the route name seems ok, though whatever we show here will be incorrect\n // Since the page doesn't actually exist\n if (p === '*') {\n return route.name;\n }\n\n // If the path has a pattern for a param, put the param in the path\n if (p.startsWith(':')) {\n const value = allParams[name];\n\n if (value === undefined && p.endsWith('?')) {\n // Optional params without value assigned in route.params should be ignored\n return '';\n }\n\n return encodeURIComponent(value);\n }\n\n return encodeURIComponent(p);\n })\n .join('/');\n } else {\n path += encodeURIComponent(route.name);\n }\n\n if (!focusedParams) {\n focusedParams = focusedRoute.params;\n }\n\n if (route.state) {\n path += '/';\n } else if (focusedParams) {\n for (let param in focusedParams) {\n if (focusedParams[param] === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[param];\n }\n }\n\n const query = queryString.stringify(focusedParams, { sort: false });\n\n if (query) {\n path += `?${query}`;\n }\n }\n\n current = route.state;\n }\n\n // Remove multiple as well as trailing slashes\n path = path.replace(/\\/+/g, '/');\n path = path.length > 1 ? path.replace(/\\/$/, '') : path;\n\n return path;\n}\n\nconst getParamName = (pattern: string) =>\n pattern.replace(/^:/, '').replace(/\\?$/, '');\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst createConfigItem = (\n config: PathConfig<object> | string,\n parentPattern?: string\n): ConfigItem => {\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 return { pattern };\n }\n\n // If an object is specified as the value (e.g. Foo: { ... }),\n // It can have `path` property and `screens` prop which has nested configs\n let pattern: string | undefined;\n\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 const screens = config.screens\n ? createNormalizedConfigs(config.screens, pattern)\n : undefined;\n\n return {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern: pattern?.split('/').filter(Boolean).join('/'),\n stringify: config.stringify,\n screens,\n };\n};\n\nconst createNormalizedConfigs = (\n options: PathConfigMap<object>,\n pattern?: string\n): Record<string, ConfigItem> =>\n fromEntries(\n Object.entries(options).map(([name, c]) => {\n const result = createConfigItem(c, pattern);\n\n return [name, result];\n })\n );\n"]}
1
+ {"version":3,"names":["getActiveRoute","state","route","index","routes","length","getPathFromState","options","Error","validatePathConfig","configs","screens","createNormalizedConfigs","path","current","allParams","pattern","focusedParams","focusedRoute","currentOptions","nestedRouteNames","hasNext","name","push","params","stringify","currentParams","fromEntries","Object","entries","map","key","value","String","assign","split","filter","p","startsWith","forEach","getParamName","undefined","nextRoute","nestedConfig","join","endsWith","encodeURIComponent","param","query","queryString","sort","replace","joinPaths","paths","concat","Boolean","createConfigItem","config","parentPattern","exact","c","result"],"sources":["getPathFromState.tsx"],"sourcesContent":["import type {\n NavigationState,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as queryString from 'query-string';\n\nimport fromEntries from './fromEntries';\nimport type { PathConfig, PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options<ParamList> = {\n initialRouteName?: string;\n screens: PathConfigMap<ParamList>;\n};\n\ntype State = NavigationState | Omit<PartialState<NavigationState>, 'stale'>;\n\ntype StringifyConfig = Record<string, (value: any) => string>;\n\ntype ConfigItem = {\n pattern?: string;\n stringify?: StringifyConfig;\n screens?: Record<string, ConfigItem>;\n};\n\nconst getActiveRoute = (state: State): { name: string; params?: object } => {\n const route =\n typeof state.index === 'number'\n ? state.routes[state.index]\n : state.routes[state.routes.length - 1];\n\n if (route.state) {\n return getActiveRoute(route.state);\n }\n\n return route;\n};\n\n/**\n * Utility to serialize a navigation state object to a path string.\n *\n * @example\n * ```js\n * getPathFromState(\n * {\n * routes: [\n * {\n * name: 'Chat',\n * params: { author: 'Jane', id: 42 },\n * },\n * ],\n * },\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * stringify: { author: author => author.toLowerCase() }\n * }\n * }\n * }\n * )\n * ```\n *\n * @param state Navigation state to serialize.\n * @param options Extra options to fine-tune how to serialize the path.\n * @returns Path representing the state, e.g. /foo/bar?count=42.\n */\nexport default function getPathFromState<ParamList extends {}>(\n state: State,\n options?: Options<ParamList>\n): string {\n if (state == null) {\n throw Error(\n \"Got 'undefined' for the navigation state. You must pass a valid state object.\"\n );\n }\n\n if (options) {\n validatePathConfig(options);\n }\n\n // Create a normalized configs object which will be easier to use\n const configs: Record<string, ConfigItem> = options?.screens\n ? createNormalizedConfigs(options?.screens)\n : {};\n\n let path = '/';\n let current: State | undefined = state;\n\n const allParams: Record<string, any> = {};\n\n while (current) {\n let index = typeof current.index === 'number' ? current.index : 0;\n let route = current.routes[index] as Route<string> & {\n state?: State;\n };\n\n let pattern: string | undefined;\n\n let focusedParams: Record<string, any> | undefined;\n let focusedRoute = getActiveRoute(state);\n let currentOptions = configs;\n\n // Keep all the route names that appeared during going deeper in config in case the pattern is resolved to undefined\n let nestedRouteNames = [];\n\n let hasNext = true;\n\n while (route.name in currentOptions && hasNext) {\n pattern = currentOptions[route.name].pattern;\n\n nestedRouteNames.push(route.name);\n\n if (route.params) {\n const stringify = currentOptions[route.name]?.stringify;\n\n const currentParams = fromEntries(\n Object.entries(route.params).map(([key, value]) => [\n key,\n stringify?.[key] ? stringify[key](value) : String(value),\n ])\n );\n\n if (pattern) {\n Object.assign(allParams, currentParams);\n }\n\n if (focusedRoute === route) {\n // If this is the focused route, keep the params for later use\n // We save it here since it's been stringified already\n focusedParams = { ...currentParams };\n\n pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n // eslint-disable-next-line no-loop-func\n .forEach((p) => {\n const name = getParamName(p);\n\n // Remove the params present in the pattern since we'll only use the rest for query string\n if (focusedParams) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[name];\n }\n });\n }\n }\n\n // If there is no `screens` property or no nested state, we return pattern\n if (!currentOptions[route.name].screens || route.state === undefined) {\n hasNext = false;\n } else {\n index =\n typeof route.state.index === 'number'\n ? route.state.index\n : route.state.routes.length - 1;\n\n const nextRoute = route.state.routes[index];\n const nestedConfig = currentOptions[route.name].screens;\n\n // if there is config for next route name, we go deeper\n if (nestedConfig && nextRoute.name in nestedConfig) {\n route = nextRoute as Route<string> & { state?: State };\n currentOptions = nestedConfig;\n } else {\n // If not, there is no sense in going deeper in config\n hasNext = false;\n }\n }\n }\n\n if (pattern === undefined) {\n pattern = nestedRouteNames.join('/');\n }\n\n if (currentOptions[route.name] !== undefined) {\n path += pattern\n .split('/')\n .map((p) => {\n const name = getParamName(p);\n\n // We don't know what to show for wildcard patterns\n // Showing the route name seems ok, though whatever we show here will be incorrect\n // Since the page doesn't actually exist\n if (p === '*') {\n return route.name;\n }\n\n // If the path has a pattern for a param, put the param in the path\n if (p.startsWith(':')) {\n const value = allParams[name];\n\n if (value === undefined && p.endsWith('?')) {\n // Optional params without value assigned in route.params should be ignored\n return '';\n }\n\n return encodeURIComponent(value);\n }\n\n return encodeURIComponent(p);\n })\n .join('/');\n } else {\n path += encodeURIComponent(route.name);\n }\n\n if (!focusedParams) {\n focusedParams = focusedRoute.params;\n }\n\n if (route.state) {\n path += '/';\n } else if (focusedParams) {\n for (let param in focusedParams) {\n if (focusedParams[param] === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[param];\n }\n }\n\n const query = queryString.stringify(focusedParams, { sort: false });\n\n if (query) {\n path += `?${query}`;\n }\n }\n\n current = route.state;\n }\n\n // Remove multiple as well as trailing slashes\n path = path.replace(/\\/+/g, '/');\n path = path.length > 1 ? path.replace(/\\/$/, '') : path;\n\n return path;\n}\n\nconst getParamName = (pattern: string) =>\n pattern.replace(/^:/, '').replace(/\\?$/, '');\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst createConfigItem = (\n config: PathConfig<object> | string,\n parentPattern?: string\n): ConfigItem => {\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 return { pattern };\n }\n\n // If an object is specified as the value (e.g. Foo: { ... }),\n // It can have `path` property and `screens` prop which has nested configs\n let pattern: string | undefined;\n\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 const screens = config.screens\n ? createNormalizedConfigs(config.screens, pattern)\n : undefined;\n\n return {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern: pattern?.split('/').filter(Boolean).join('/'),\n stringify: config.stringify,\n screens,\n };\n};\n\nconst createNormalizedConfigs = (\n options: PathConfigMap<object>,\n pattern?: string\n): Record<string, ConfigItem> =>\n fromEntries(\n Object.entries(options).map(([name, c]) => {\n const result = createConfigItem(c, pattern);\n\n return [name, result];\n })\n );\n"],"mappings":"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"}