UNPKG

edges-svelte

Version:

A blazing-fast, extremely lightweight and SSR-friendly store for Svelte

20 lines (19 loc) 1.47 kB
import { createDerivedState as BaseCreateDerivedState } from '../store/index.js'; import type { Writable } from 'svelte/store'; type NoConflict<I, D> = { [K in keyof I]: K extends keyof D ? never : I[K]; }; export declare const clearCache: (pattern?: string) => void; export declare const createUiProvider: <T, F, D extends Record<string, unknown> | ((cacheKey: string) => Record<string, unknown>), I extends Record<string, unknown> = Record<string, unknown>>(name: string, factory: (deps: F) => T, dependencies: D, inject?: I) => (() => T); type StoreDeps = { createRawState: <T>(initial: T | (() => T)) => { value: T; }; createState: <T>(initial: T | (() => T)) => Writable<T>; createDerivedState: typeof BaseCreateDerivedState; }; export declare const createStore: <T, I extends Record<string, unknown> = Record<string, unknown>>(name: string, factory: (args: StoreDeps & NoConflict<I, StoreDeps>) => T, inject?: I) => (() => T); export declare const createStoreFactory: <I extends Record<string, unknown>>(inject: I) => <T>(name: string, factory: (args: StoreDeps & NoConflict<I, StoreDeps>) => T) => () => T; export declare const createPresenter: <T, I extends Record<string, unknown> = Record<string, unknown>>(name: string, factory: (args: I) => T, inject?: I) => (() => T); export declare const createPresenterFactory: <I extends Record<string, unknown>>(inject: I) => <T>(name: string, factory: (args: I) => T) => () => T; export {};