synapse-storage
Version:
Набор инструментов для управления состоянием и апи-запросами
23 lines (22 loc) • 1.13 kB
TypeScript
import { ComponentType } from 'react';
import { Observable } from 'rxjs';
import { IStorage } from '../../core';
import { type SynapseModule } from '../../utils';
interface SimplifiedOptions {
/** Запасной рендер, если стор не удалось построить синхронно (в норме C-форма всегда готова к первому кадру). */
loadingComponent?: React.ReactNode;
}
export declare function createSynapseCtx<TState extends Record<string, any>, TDispatcher, TSelectors>(synapseModule: SynapseModule<TState, TDispatcher, TSelectors>, options?: SimplifiedOptions): {
contextSynapse: <SelfComponentProps>(Component: ComponentType<SelfComponentProps>) => ComponentType<SelfComponentProps & {
dehydratedState?: TState;
}>;
dehydrate: (opts?: {
initialState?: Partial<TState>;
}) => Promise<TState>;
useSynapseStorage: () => IStorage<TState>;
useSynapseSelectors: () => TSelectors;
useSynapseActions: () => TDispatcher;
useSynapseState$: () => Observable<TState>;
cleanupSynapse: () => Promise<void>;
};
export {};