electron-event-flux
Version:
Redux store which synchronizes between instances in multiple process
55 lines • 2.21 kB
TypeScript
import AppStore from './AppStore';
import StoreProxyHandler from './utils/StoreProxyHandler';
import { Emitter } from 'event-kit';
import { Log, Logger } from './utils/loggerApply';
import IStoresDeclarer, { IStoresObjDeclarer } from './IStoresDeclarer';
import IExtendStoreBase from './IExtendStoreBase';
declare class IDGenerator {
count: number;
genID(): number;
dispose(id: number): void;
}
export declare class RendererAppStore extends AppStore {
emitter: Emitter;
client: any;
idGenerator: IDGenerator;
resolveMap: {
[invokeId: string]: {
resolve: (res: any) => void;
reject: (err: Error) => void;
};
};
storeShape: any;
storeProxyHandler: StoreProxyHandler;
storeResolve?: () => void;
storeReject?: (err: Error) => void;
winInitParams: any;
log: Log;
static innerStores: IStoresDeclarer;
constructor(log: Log);
asyncInit(): Promise<unknown>;
handleStorePromise: (state: any, store: any) => void;
handleStore(resolve: () => void, reject: (err: Error) => void, state: any, store: any): void;
handleAction(actionStr: string): void;
handleResult(invokeId: number, error: Error, result: any): void;
handleMessage(message: any): void;
handleWinMessage(senderId: string, message: any): void;
handleInitWindow(params: any): void;
observeInitWindow(callback: (params: any) => void): void;
sendWindowMessage(clientId: string, args: any): void;
onDidMessage(callback: (message: any) => void): import("event-kit").Disposable;
onDidClose(callback: () => void): import("event-kit").Disposable;
onDidWinMessage(callback: ({ senderId, message }: {
senderId: string;
message: any;
}) => void): import("event-kit").Disposable;
initRenderStores(): void;
getStore(key: string): any;
setStore(key: string, store: IExtendStoreBase): IExtendStoreBase;
buildStores(): void;
initStores(parent: AppStore): void;
startObserve(): void;
}
export default function buildRendererAppStore(stores: IStoresObjDeclarer, onChange: (state: any) => void, logger: Logger): RendererAppStore;
export {};
//# sourceMappingURL=RendererAppStore.d.ts.map