@stainless-code/persist
Version:
Hydration-aware persistence for any reactive store — zero-dep persistSource core; codecs, backends, cross-tab transport, source + framework hydration adapters ship as opt-in recipes
33 lines (32 loc) • 1.11 kB
text/typescript
import { t as HydrationSignal } from "../hydration-DclSpq51.mjs";
import { ReactiveController, ReactiveControllerHost } from "lit";
//#region src/adapters/frameworks/lit.d.ts
/**
* Lit `ReactiveController` over `HydrationSignal` — gate with `hydrated`.
* Construct on the host (`addController`); subscribe on connect, tear down on
* disconnect. Null signal → `hydrated` stays `true`.
*
* @example
* ```ts
* import { LitElement, html } from "lit";
* import { HydrationController } from "@stainless-code/persist/frameworks/lit";
*
* class PrefsEl extends LitElement {
* #hydration = new HydrationController(this, prefsHydration);
* render() {
* return this.#hydration.hydrated
* ? html`<prefs-panel></prefs-panel>`
* : html`<skeleton-el></skeleton-el>`;
* }
* }
* ```
*/
declare class HydrationController implements ReactiveController {
#private;
constructor(host: ReactiveControllerHost, signal: HydrationSignal | null | undefined);
get hydrated(): boolean;
hostConnected(): void;
hostDisconnected(): void;
}
//#endregion
export { HydrationController };