UNPKG

synapse-storage

Version:

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

39 lines (38 loc) 1.36 kB
import { IStorageBase, StorageInitStatus } from '../../core'; export interface UseStorageOptions { /** * Автоматически инициализировать при монтировании (по умолчанию true) */ autoInitialize?: boolean; } export type UseStorageReturn<S> = { storage: S; status: StorageInitStatus; initialize: () => Promise<void>; isReady: true; isLoading: false; hasError: false; } | { storage: S; status: StorageInitStatus; initialize: () => Promise<void>; isReady: false; isLoading: boolean; hasError: boolean; }; /** * Хук для управления lifecycle внешнего хранилища. * * В отличие от useCreateStorage, не создаёт и не уничтожает хранилище — * только инициализирует и отслеживает статус. * * Предназначен для хранилищ, созданных вне компонентов (на уровне модуля): * ```ts * // stores.ts * export const todoStorage = new IndexedDBStorage({ name: 'todos', ... }) * * // Component.tsx * const { isReady } = useStorage(todoStorage) * ``` */ export declare function useStorage<S extends IStorageBase<any>>(storage: S, options?: UseStorageOptions): UseStorageReturn<S>;