UNPKG

@platform/state

Version:

A small, simple, strongly typed, [rx/observable] state-machine.

24 lines (23 loc) 907 B
import { Observable } from 'rxjs'; import { t } from '../common'; declare type O = Record<string, unknown>; export declare class Store<M extends O, E extends t.IStoreEvent> implements t.IStore<M, E> { static create<M extends O, E extends t.IStoreEvent>(args: t.IStoreArgs<M>): t.IStore<M, E>; private constructor(); dispose(): void; private readonly _dispose$; private readonly _event$; private readonly _changing$; private readonly _changed$; private readonly _; readonly dispose$: Observable<void>; readonly changing$: Observable<t.IStateChanging<M, E>>; readonly changed$: Observable<t.IStateChange<M, E>>; readonly event$: Observable<t.IDispatch<M, E, E>>; get isDisposed(): boolean; get state(): M; dispatch(event: E): this; on<E2 extends E>(type: E2['type']): Observable<t.IDispatch<M, E2, E>>; private toDispatchEvent; } export {};