{"version":3,"file":"server.cjs","names":[],"sources":["../../../src/scroll-restoration-script/server.ts"],"sourcesContent":["import minifiedScrollRestorationScript from '../scroll-restoration-inline?script-string'\nimport {\n  defaultGetScrollRestorationKey,\n  storageKey,\n} from '../scroll-restoration'\nimport { escapeHtml } from '../utils'\nimport type { AnyRouter } from '../router'\n\nconst defaultInlineScrollRestorationScript = `(${minifiedScrollRestorationScript})(${escapeHtml(\n  JSON.stringify(storageKey),\n)})`\n\nfunction getScrollRestorationScript(key?: string) {\n  if (key === undefined) {\n    return defaultInlineScrollRestorationScript\n  }\n\n  return `(${minifiedScrollRestorationScript})(${escapeHtml(JSON.stringify(storageKey))},${escapeHtml(JSON.stringify(key))})`\n}\n\nexport function getScrollRestorationScriptForRouter(router: AnyRouter) {\n  if (\n    typeof router.options.scrollRestoration === 'function' &&\n    !router.options.scrollRestoration({ location: router.latestLocation })\n  ) {\n    return null\n  }\n\n  const getKey = router.options.getScrollRestorationKey\n  if (!getKey) {\n    return defaultInlineScrollRestorationScript\n  }\n\n  const location = router.latestLocation\n  const userKey = getKey(location)\n  const defaultKey = defaultGetScrollRestorationKey(location)\n\n  if (userKey === defaultKey) {\n    return defaultInlineScrollRestorationScript\n  }\n\n  return getScrollRestorationScript(userKey)\n}\n"],"mappings":";;;;;AAQA,MAAM,uCAAuC,IAAI,kCAAA,QAAgC,IAAI,cAAA,WACnF,KAAK,UAAU,2BAAA,UAAU,CAC3B,EAAE;AAEF,SAAS,2BAA2B,KAAc;CAChD,IAAI,QAAQ,KAAA,GACV,OAAO;CAGT,OAAO,IAAI,kCAAA,QAAgC,IAAI,cAAA,WAAW,KAAK,UAAU,2BAAA,UAAU,CAAC,EAAE,GAAG,cAAA,WAAW,KAAK,UAAU,GAAG,CAAC,EAAE;AAC3H;AAEA,SAAgB,oCAAoC,QAAmB;CACrE,IACE,OAAO,OAAO,QAAQ,sBAAsB,cAC5C,CAAC,OAAO,QAAQ,kBAAkB,EAAE,UAAU,OAAO,eAAe,CAAC,GAErE,OAAO;CAGT,MAAM,SAAS,OAAO,QAAQ;CAC9B,IAAI,CAAC,QACH,OAAO;CAGT,MAAM,WAAW,OAAO;CACxB,MAAM,UAAU,OAAO,QAAQ;CAG/B,IAAI,YAFe,2BAAA,+BAA+B,QAElC,GACd,OAAO;CAGT,OAAO,2BAA2B,OAAO;AAC3C"}