edges-svelte
Version:
A blazing-fast, extremely lightweight and SSR-friendly store for Svelte
18 lines (17 loc) • 750 B
TypeScript
import { type Readable, type Writable } from 'svelte/store';
declare global {
interface Window {
__SAFE_SSR_STATE__?: Map<string, unknown>;
}
}
export declare const stateSerialize: () => string;
export declare const createRawState: <T>(key: string, initial: () => T) => {
value: T;
};
export declare const createState: <T>(key: string, initial: () => T) => Writable<T>;
type Stores = [Readable<unknown>, ...Array<Readable<unknown>>] | Array<Readable<unknown>>;
type StoresValues<T> = T extends Readable<infer U> ? U : {
[K in keyof T]: T[K] extends Readable<infer U> ? U : never;
};
export declare const createDerivedState: <T extends Stores, D>(stores: T, deriveFn: (values: StoresValues<T>) => D) => Readable<D>;
export {};