UNPKG

repoweaver

Version:

A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies

1 lines 15.6 kB
{"ast":null,"code":"\"use strict\";\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"state\", \"screen\", \"params\", \"initial\"];\nimport * as React from 'react';\nimport { EnsureSingleNavigator } from \"./EnsureSingleNavigator.js\";\nimport { NavigationFocusedRouteStateContext } from \"./NavigationFocusedRouteStateContext.js\";\nimport { NavigationStateContext } from \"./NavigationStateContext.js\";\nimport { StaticContainer } from \"./StaticContainer.js\";\nimport { useOptionsGetters } from \"./useOptionsGetters.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function SceneView({\n screen,\n route,\n navigation,\n routeState,\n getState,\n setState,\n options,\n clearOptions\n}) {\n const navigatorKeyRef = React.useRef(undefined);\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n const {\n addOptionsGetter\n } = useOptionsGetters({\n key: route.key,\n options,\n navigation\n });\n const setKey = React.useCallback(key => {\n navigatorKeyRef.current = key;\n }, []);\n const getCurrentState = React.useCallback(() => {\n const state = getState();\n const currentRoute = state.routes.find(r => r.key === route.key);\n return currentRoute ? currentRoute.state : undefined;\n }, [getState, route.key]);\n const setCurrentState = React.useCallback(child => {\n const state = getState();\n setState(Object.assign({}, state, {\n routes: state.routes.map(r => {\n if (r.key !== route.key) {\n return r;\n }\n const nextRoute = Object.assign({}, r, {\n state: child\n });\n if (nextRoute.params && ('state' in nextRoute.params && typeof nextRoute.params.state === 'object' && nextRoute.params.state !== null || 'screen' in nextRoute.params && typeof nextRoute.params.screen === 'string')) {\n const _nextRoute$params = nextRoute.params,\n rest = _objectWithoutPropertiesLoose(_nextRoute$params, _excluded);\n if (Object.keys(rest).length) {\n nextRoute.params = rest;\n } else {\n delete nextRoute.params;\n }\n }\n return nextRoute;\n })\n }));\n }, [getState, route.key, setState]);\n const isInitialRef = React.useRef(true);\n React.useEffect(() => {\n isInitialRef.current = false;\n });\n React.useEffect(() => {\n return clearOptions;\n }, []);\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n const parentFocusedRouteState = React.useContext(NavigationFocusedRouteStateContext);\n const focusedRouteState = React.useMemo(() => {\n const state = {\n routes: [{\n key: route.key,\n name: route.name,\n params: route.params,\n path: route.path\n }]\n };\n const addState = parent => {\n const parentRoute = parent?.routes[0];\n if (parentRoute) {\n return {\n routes: [Object.assign({}, parentRoute, {\n state: addState(parentRoute.state)\n })]\n };\n }\n return state;\n };\n return addState(parentFocusedRouteState);\n }, [parentFocusedRouteState, route.key, route.name, route.params, route.path]);\n const context = React.useMemo(() => ({\n state: routeState,\n getState: getCurrentState,\n setState: setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter\n }), [routeState, getCurrentState, setCurrentState, getKey, setKey, getIsInitial, addOptionsGetter]);\n const ScreenComponent = screen.getComponent ? screen.getComponent() : screen.component;\n return _jsx(NavigationStateContext.Provider, {\n value: context,\n children: _jsx(NavigationFocusedRouteStateContext.Provider, {\n value: focusedRouteState,\n children: _jsx(EnsureSingleNavigator, {\n children: _jsx(StaticContainer, {\n name: screen.name,\n render: ScreenComponent || screen.children,\n navigation: navigation,\n route: route,\n children: ScreenComponent !== undefined ? _jsx(ScreenComponent, {\n navigation: navigation,\n route: route\n }) : screen.children !== undefined ? screen.children({\n navigation,\n route\n }) : null\n })\n })\n })\n });\n}","map":{"version":3,"names":["React","EnsureSingleNavigator","NavigationFocusedRouteStateContext","NavigationStateContext","StaticContainer","useOptionsGetters","jsx","_jsx","SceneView","screen","route","navigation","routeState","getState","setState","options","clearOptions","navigatorKeyRef","useRef","undefined","getKey","useCallback","current","addOptionsGetter","key","setKey","getCurrentState","state","currentRoute","routes","find","r","setCurrentState","child","Object","assign","map","nextRoute","params","_nextRoute$params","rest","_objectWithoutPropertiesLoose","_excluded","keys","length","isInitialRef","useEffect","getIsInitial","parentFocusedRouteState","useContext","focusedRouteState","useMemo","name","path","addState","parent","parentRoute","context","ScreenComponent","getComponent","component","Provider","value","children","render"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/core/src/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 {\n type FocusedRouteState,\n NavigationFocusedRouteStateContext,\n} from './NavigationFocusedRouteStateContext';\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 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>(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 if (r.key !== route.key) {\n return r;\n }\n\n const nextRoute = { ...r, state: child };\n\n // Before updating the state, cleanup any nested screen and state\n // This will avoid the navigator trying to handle them again\n if (\n nextRoute.params &&\n (('state' in nextRoute.params &&\n typeof nextRoute.params.state === 'object' &&\n nextRoute.params.state !== null) ||\n ('screen' in nextRoute.params &&\n typeof nextRoute.params.screen === 'string'))\n ) {\n // @ts-expect-error: we don't have correct type for params\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { state, screen, params, initial, ...rest } =\n nextRoute.params;\n\n if (Object.keys(rest).length) {\n nextRoute.params = rest;\n } else {\n delete nextRoute.params;\n }\n }\n\n return nextRoute;\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 parentFocusedRouteState = React.useContext(\n NavigationFocusedRouteStateContext\n );\n\n const focusedRouteState = React.useMemo(() => {\n const state: FocusedRouteState = {\n routes: [\n {\n key: route.key,\n name: route.name,\n params: route.params,\n path: route.path,\n },\n ],\n };\n\n // Add our state to the innermost route of the parent state\n const addState = (\n parent: FocusedRouteState | undefined\n ): FocusedRouteState => {\n const parentRoute = parent?.routes[0];\n\n if (parentRoute) {\n return {\n routes: [\n {\n ...parentRoute,\n state: addState(parentRoute.state),\n },\n ],\n };\n }\n\n return state;\n };\n\n return addState(parentFocusedRouteState);\n }, [\n parentFocusedRouteState,\n route.key,\n route.name,\n route.params,\n route.path,\n ]);\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 <NavigationFocusedRouteStateContext.Provider value={focusedRouteState}>\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 </NavigationFocusedRouteStateContext.Provider>\n </NavigationStateContext.Provider>\n );\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}