@nlabs/arkhamjs
Version:
Javascript Flux Library
43 lines (42 loc) • 1.73 kB
TypeScript
import { EventEmitter } from 'events';
import type { FluxAction, FluxMiddlewareType, FluxOptions, FluxStore } from './Flux.types';
export declare class FluxFramework extends EventEmitter {
static initFlux: boolean;
isInit: boolean;
readonly pluginTypes: readonly string[];
private state;
private storeActions;
private readonly defaultOptions;
private middleware;
private options;
private stateCache;
private stateChanged;
constructor();
addMiddleware(middleware: FluxMiddlewareType[]): void;
clearAppData(): Promise<boolean>;
clearMiddleware(): boolean;
removeStores(storeNames: string[]): void;
dispatch(action: FluxAction, silent?: boolean): Promise<FluxAction>;
getOptions(): FluxOptions;
getState<T = unknown>(path?: string | string[], defaultValue?: T): T;
getStore(name?: string): FluxStore | undefined;
init(options?: FluxOptions, reset?: boolean): Promise<FluxFramework>;
onInit(listener: (...args: any[]) => void): void;
offInit(listener: (...args: any[]) => void): void;
off(eventType: string, listener: (...args: any[]) => void): this;
on(eventType: string, listener: (...args: any[]) => void): this;
addStores(stores: FluxStore[]): Promise<FluxStore[]>;
removeMiddleware(names: string[]): void;
reset(clearStorage?: boolean): Promise<void>;
setState(path: string | string[] | undefined, value: unknown): Promise<boolean>;
private processMiddleware;
private updateStorage;
private updateStoresState;
private getCachedStack;
private addPlugin;
private deregister;
private register;
private removePlugin;
private useStorage;
}
export declare const Flux: FluxFramework;