@nimel/directorr
Version:
Like Redux but using decorators
47 lines (46 loc) • 2.39 kB
TypeScript
import { Middleware as ReduxMiddleware, Store } from 'redux';
import { DispatchAction, Middleware, DirectorrInterface, DirectorrStores, DirectorrStoresState, SubscribeHandler, UnsubscribeHandler, CheckStoreState, DirectorrStoreClassConstructor, DepencyName, DirectorrOptions, DirectorrStore } from './types';
export declare const MODULE_NAME = "Directorr";
export declare const GLOBAL_DEP: {
global: boolean;
};
export declare const OMIT_ACTIONS: string[];
export declare class Directorr implements DirectorrInterface {
constructor({ initState }?: DirectorrOptions);
private initState;
stores: DirectorrStores;
getStore<C>(StoreConstructor: DirectorrStoreClassConstructor<C>): C | undefined;
getHydrateStoresState(): DirectorrStoresState;
setStateToStore: import("./types").SomeFunction;
mergeStateToStore: import("./types").SomeFunction;
addStores(modelOrConstructor: DirectorrStoreClassConstructor<any>[]): void;
addStore<I>(storeConstructor: DirectorrStoreClassConstructor<I>): I;
removeStore(storeConstructor: DirectorrStoreClassConstructor<any>): void;
addStoreDependency<I>(StoreConstructor: DirectorrStoreClassConstructor<I>, depName: DepencyName): I;
removeStoreDependency(StoreConstructor: DirectorrStoreClassConstructor<any>, depName: DepencyName): void;
private initStore;
private destroyStore;
private subscribeHandlers;
subscribe: (handler: SubscribeHandler) => UnsubscribeHandler;
unsubscribe: (handler: SubscribeHandler) => void;
waitAllStoresState(isStoreState?: CheckStoreState): import("./types").PromiseCancelable<any>;
waitStoresState(stores: DirectorrStore[], isStoreState?: CheckStoreState): import("./types").PromiseCancelable<any>;
findStoreState(isStoreState?: CheckStoreState): import("./types").PromiseCancelable<any>;
private middlewares;
private addSomeMiddlewares;
addReduxMiddlewares(middlewares: ReduxMiddleware[]): void;
addMiddlewares(middlewares: Middleware[]): void;
removeMiddleware(middleware: Middleware): void;
private findNextMiddleware;
dispatch: DispatchAction;
dispatchType: (type: string, payload?: any) => {
[extraProps: string]: any;
type: string;
};
reduxStore: Store;
private afterwares;
private addAfterware;
private removeAfterware;
private runEffects;
}
export default Directorr;