@platform/state
Version:
A small, simple, strongly typed, [rx/observable] state-machine.
31 lines (30 loc) • 1.19 kB
TypeScript
import { t } from '../common';
declare type O = Record<string, unknown>;
export declare class StateObject<T extends O> implements t.IStateObjectWritable<T> {
static create<T extends O>(initial: T): t.IStateObjectWritable<T>;
static readonly<T extends O>(obj: t.IStateObjectWritable<T>): t.IStateObject<T>;
static combine: <T_1 extends {
[key: string]: {
[x: string]: unknown;
};
}>(initial: T_1 | Record<keyof T_1, t.IStateObject<T_1[keyof T_1]>>, dispose$?: import("rxjs").Observable<any> | undefined) => t.StateMerger<T_1>;
static toObject<T extends O>(input: T): T;
static isStateObject(input: any): boolean;
static isProxy(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>;
readonly original: T;
get isDisposed(): boolean;
get state(): T;
get readonly(): t.IStateObject<T>;
change: t.StateObjectChange<T>;
changeAsync: t.StateObjectChangeAsync<T>;
private _changeComplete;
private fire;
}
export {};