frontend/.pnpm-store/v3/files/1e/b158476516fb1c7b9a33b6f4db8c4e91b4872856cc4eac8fca73f1c5ea40b26d684e39203b0074b62c213b2e078964a1df596c0c8cc39c6b2673f05364a2d6

19 lines
623 B
Plaintext

import { EventEmitter } from '../../util/eventEmitter';
import Dispatcher from '../../util/dispatcher';
interface BaseStoreEvents<STATE> {
updated: (newState: STATE, prevState?: STATE) => void;
}
export default abstract class BaseStore<STATE, ACTIONS> extends EventEmitter<
BaseStoreEvents<STATE>
> {
private _state;
protected readonly dispatcher: Dispatcher<any>;
constructor(dispatcher: Dispatcher<any>);
abstract handle<K extends keyof ACTIONS>(type: K, payload: ACTIONS[K]): void;
abstract getInitialState(): STATE;
private _handle;
setState(newState: STATE): void;
get state(): STATE;
}
export {};