UNPKG

synapse-storage

Version:

Набор инструментов для управления состоянием и апи-запросами

19 lines (18 loc) 1.14 kB
import type { ISyncStorage, SyncStorageConfig } from './storage.interface'; /** Опции {@link browserStorage}. */ export interface BrowserStorageOptions<T extends Record<string, any>> { client: (config: SyncStorageConfig<T>) => ISyncStorage<T>; /** Переопределение проверки «сервер». По умолчанию `typeof window === 'undefined'`. */ isServer?: () => boolean; } /** * Server-safe фабрика sync-хранилища для C-формы: на сервере → `MemoryStorage` из `initialState` * (клиентская фабрика не зовётся), в браузере → `options.client(config)`. Убирает per-module * ветку `isServer`; browser-only хранилища (LocalStorage) больше не крешат серверную конструкцию. * * @example * ```ts * storage: browserStorage({ name: 'accounts', initialState }, { client: (cfg) => new LocalStorage(cfg) }) * ``` */ export declare function browserStorage<T extends Record<string, any>>(config: SyncStorageConfig<T>, options: BrowserStorageOptions<T>): () => ISyncStorage<T>;