Files
SnowLuma/.pnpm-store/v11/files/f7/ebeebc12d9c3478b723ce42ccd999f9507678da87cf2aedee19a85e8d189311e448c77fb99c0e5467b499dc71c4f3e19fa74658381533a883eb764bc04c179
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

29 lines
1.4 KiB
Plaintext

import { escapeHtml } from "../utils.js";
import { defaultGetScrollRestorationKey, storageKey } from "../scroll-restoration.js";
import scroll_restoration_inline_default from "../scroll-restoration-inline.js";
//#region src/scroll-restoration-script/server.ts
const defaultInlineScrollRestorationScript = `(${scroll_restoration_inline_default})(${escapeHtml(JSON.stringify({
storageKey,
shouldScrollRestoration: true
}))})`;
function getScrollRestorationScript(options) {
if (options.storageKey === "tsr-scroll-restoration-v1_3" && options.shouldScrollRestoration === true && options.key === void 0 && options.behavior === void 0) return defaultInlineScrollRestorationScript;
return `(${scroll_restoration_inline_default})(${escapeHtml(JSON.stringify(options))})`;
}
function getScrollRestorationScriptForRouter(router) {
if (typeof router.options.scrollRestoration === "function" && !router.options.scrollRestoration({ location: router.latestLocation })) return null;
const getKey = router.options.getScrollRestorationKey;
if (!getKey) return defaultInlineScrollRestorationScript;
const location = router.latestLocation;
const userKey = getKey(location);
if (userKey === defaultGetScrollRestorationKey(location)) return defaultInlineScrollRestorationScript;
return getScrollRestorationScript({
storageKey,
shouldScrollRestoration: true,
key: userKey
});
}
//#endregion
export { getScrollRestorationScriptForRouter };
//# sourceMappingURL=server.js.map