UNPKG

synapse-storage

Version:

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

34 lines (33 loc) 1.54 kB
import { ComponentType, ReactNode } from 'react'; import { type AwaitableSynapse } from '../../utils'; interface ReactAwaitSynapseOptions { loadingComponent?: ReactNode; errorComponent?: (error: Error) => ReactNode; } /** * React-обертка для фреймворк-независимой утилиты ожидания Synapse. * Добавляет React-специфичные методы поверх createSynapseAwaiter. Принимает * `SynapseModule`-handle (PromiseLike), Promise готового synapse или сам synapse. */ export declare function awaitSynapse<TStore extends AwaitableSynapse>(synapseStorePromise: PromiseLike<TStore> | TStore, options?: ReactAwaitSynapseOptions): { withSynapseReady: <ComponentProps>(Component: ComponentType<ComponentProps>) => { (props: ComponentProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; useSynapseReady: () => { isReady: boolean; isError: boolean; isPending: boolean; store: TStore | undefined; error: Error | null; }; waitForReady: () => Promise<TStore>; isReady: () => boolean; getStoreIfReady: () => TStore | undefined; onReady: (cb: Parameters<(callback: (store: TStore) => void) => VoidFunction>[0]) => VoidFunction; onError: (cb: Parameters<(callback: (error: Error) => void) => VoidFunction>[0]) => VoidFunction; getStatus: () => "error" | "ready" | "pending"; getError: () => Error | null; destroy: () => void; }; export {};