UNPKG

@platform/state

Version:

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

26 lines (25 loc) 1.24 kB
import { t } from '../common'; declare type O = Record<string, unknown>; export declare class StateObject<T extends O, E extends t.Event<any>> implements t.IStateObjectWritable<T, E> { static create<T extends O, E extends t.Event<any> = any>(initial: T): t.IStateObjectWritable<T, E>; static readonly<T extends O, E extends t.Event<any> = any>(obj: t.IStateObjectWritable<T, E>): t.IStateObject<T, E>; static merge: <T_1 extends { [key: string]: Record<string, unknown>; }, E_1 extends t.Event<any> = any>(initial: T_1 | Record<keyof T_1, t.IStateObjectReadable<T_1[keyof T_1], t.Event<Record<string, unknown>>>>, dispose$?: import("rxjs").Observable<any> | undefined) => t.StateMerger<T_1, E_1>; static toObject<T extends O>(input: T): T; static isStateObject(input: any): boolean; private constructor(); dispose(): void; private _state; private _dispose$; readonly dispose$: import("rxjs").Observable<void>; private readonly _event$; readonly event: t.IStateObjectEvents<T, E>; readonly original: T; get isDisposed(): boolean; get state(): T; get readonly(): t.IStateObjectReadable<T, E>; change: t.StateObjectChange<T, E>; private fire; } export {};