UNPKG

next

Version:

The React Framework

26 lines (25 loc) 1.58 kB
import { completeHardNavigation, navigate as navigateUsingSegmentCache } from '../../segment-cache/navigation'; import { getStaleTimeMs } from '../../segment-cache/cache'; import { FreshnessPolicy } from '../ppr-navigations'; // These values are set by `define-env-plugin` (based on `nextConfig.experimental.staleTimes`) // and default to 5 minutes (static) / 0 seconds (dynamic) export const DYNAMIC_STALETIME_MS = Number(process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME) * 1000; export const STATIC_STALETIME_MS = getStaleTimeMs(Number(process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME)); export function navigateReducer(state, action) { const { url, isExternalUrl, navigateType, scrollBehavior } = action; if (isExternalUrl) { return completeHardNavigation(state, url, navigateType); } // Handles case where `<meta http-equiv="refresh">` tag is present, // which will trigger an MPA navigation. if (document.getElementById('__next-page-redirect')) { return completeHardNavigation(state, url, navigateType); } // Temporary glue code between the router reducer and the new navigation // implementation. Eventually we'll rewrite the router reducer to a // state machine. const currentUrl = new URL(state.canonicalUrl, location.origin); const currentRenderedSearch = state.renderedSearch; return navigateUsingSegmentCache(state, url, currentUrl, currentRenderedSearch, state.cache, state.tree, state.nextUrl, FreshnessPolicy.Default, scrollBehavior, navigateType); } //# sourceMappingURL=navigate-reducer.js.map