UNPKG

iles

Version:

Vite & Vue powered static site generator with partial hydration

33 lines (32 loc) 1.19 kB
import { useSSRContext } from 'vue'; export function newHydrationId() { if (import.meta.env.SSR) { const context = useSSRContext(); context.hydrationSerialNumber ||= 1; return `ile-${context.hydrationSerialNumber++}`; } else if (import.meta.env.DEV) { return window.__ILE_DEVTOOLS__.nextIslandId(); } } export var Hydrate; (function (Hydrate) { Hydrate["WhenIdle"] = "client:idle"; Hydrate["OnLoad"] = "client:load"; Hydrate["MediaQuery"] = "client:media"; Hydrate["SkipPrerender"] = "client:only"; Hydrate["WhenVisible"] = "client:visible"; Hydrate["None"] = "client:none"; })(Hydrate || (Hydrate = {})); export const hydrationFns = { [Hydrate.WhenIdle]: 'hydrateWhenIdle', [Hydrate.OnLoad]: 'hydrateNow', [Hydrate.MediaQuery]: 'hydrateOnMediaQuery', [Hydrate.SkipPrerender]: 'hydrateNow', [Hydrate.WhenVisible]: 'hydrateWhenVisible', [Hydrate.None]: 'hydrateNow', }; // Internal: Strategies that will hydrate instantly and don't need dynamic imports. export function isEager(strategy) { return strategy === Hydrate.OnLoad || strategy === Hydrate.SkipPrerender || strategy === Hydrate.None; }