{"version":3,"sources":["../../../../../../src/client/components/router-reducer/reducers/navigate-reducer.ts"],"sourcesContent":["import type {\n  NavigateAction,\n  ReadonlyReducerState,\n  ReducerState,\n} from '../router-reducer-types'\n\nimport {\n  completeHardNavigation,\n  navigate as navigateUsingSegmentCache,\n} from '../../segment-cache/navigation'\nimport { getStaleTimeMs } from '../../segment-cache/cache'\nimport { FreshnessPolicy } from '../ppr-navigations'\n\n// These values are set by `define-env-plugin` (based on `nextConfig.experimental.staleTimes`)\n// and default to 5 minutes (static) / 0 seconds (dynamic)\nexport const DYNAMIC_STALETIME_MS =\n  Number(process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME) * 1000\n\nexport const STATIC_STALETIME_MS = getStaleTimeMs(\n  Number(process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME)\n)\n\nexport function navigateReducer(\n  state: ReadonlyReducerState,\n  action: NavigateAction\n): ReducerState {\n  const { url, isExternalUrl, navigateType, scrollBehavior } = action\n\n  if (isExternalUrl) {\n    return completeHardNavigation(state, url, navigateType)\n  }\n\n  // Handles case where `<meta http-equiv=\"refresh\">` tag is present,\n  // which will trigger an MPA navigation.\n  if (document.getElementById('__next-page-redirect')) {\n    return completeHardNavigation(state, url, navigateType)\n  }\n\n  // Temporary glue code between the router reducer and the new navigation\n  // implementation. Eventually we'll rewrite the router reducer to a\n  // state machine.\n  const currentUrl = new URL(state.canonicalUrl, location.origin)\n  const currentRenderedSearch = state.renderedSearch\n  return navigateUsingSegmentCache(\n    state,\n    url,\n    currentUrl,\n    currentRenderedSearch,\n    state.cache,\n    state.tree,\n    state.nextUrl,\n    FreshnessPolicy.Default,\n    scrollBehavior,\n    navigateType\n  )\n}\n"],"names":["completeHardNavigation","navigate","navigateUsingSegmentCache","getStaleTimeMs","FreshnessPolicy","DYNAMIC_STALETIME_MS","Number","process","env","__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME","STATIC_STALETIME_MS","__NEXT_CLIENT_ROUTER_STATIC_STALETIME","navigateReducer","state","action","url","isExternalUrl","navigateType","scrollBehavior","document","getElementById","currentUrl","URL","canonicalUrl","location","origin","currentRenderedSearch","renderedSearch","cache","tree","nextUrl","Default"],"mappings":"AAMA,SACEA,sBAAsB,EACtBC,YAAYC,yBAAyB,QAChC,iCAAgC;AACvC,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,eAAe,QAAQ,qBAAoB;AAEpD,8FAA8F;AAC9F,0DAA0D;AAC1D,OAAO,MAAMC,uBACXC,OAAOC,QAAQC,GAAG,CAACC,sCAAsC,IAAI,KAAI;AAEnE,OAAO,MAAMC,sBAAsBP,eACjCG,OAAOC,QAAQC,GAAG,CAACG,qCAAqC,GACzD;AAED,OAAO,SAASC,gBACdC,KAA2B,EAC3BC,MAAsB;IAEtB,MAAM,EAAEC,GAAG,EAAEC,aAAa,EAAEC,YAAY,EAAEC,cAAc,EAAE,GAAGJ;IAE7D,IAAIE,eAAe;QACjB,OAAOhB,uBAAuBa,OAAOE,KAAKE;IAC5C;IAEA,mEAAmE;IACnE,wCAAwC;IACxC,IAAIE,SAASC,cAAc,CAAC,yBAAyB;QACnD,OAAOpB,uBAAuBa,OAAOE,KAAKE;IAC5C;IAEA,wEAAwE;IACxE,mEAAmE;IACnE,iBAAiB;IACjB,MAAMI,aAAa,IAAIC,IAAIT,MAAMU,YAAY,EAAEC,SAASC,MAAM;IAC9D,MAAMC,wBAAwBb,MAAMc,cAAc;IAClD,OAAOzB,0BACLW,OACAE,KACAM,YACAK,uBACAb,MAAMe,KAAK,EACXf,MAAMgB,IAAI,EACVhB,MAAMiB,OAAO,EACb1B,gBAAgB2B,OAAO,EACvBb,gBACAD;AAEJ","ignoreList":[0]}