UNPKG

movex-core-util

Version:

Movex Core Util is the library of utilities for Movex

23 lines (22 loc) 702 B
export type NextStateGetter<T> = T | ((prev: T) => T); export interface IObservable<T> { get: () => T; onUpdate: (fn: (state: T) => void) => () => void; update: (getNextState: T | ((prev: T) => T)) => void; } export declare class Observable<T> implements IObservable<T> { private _state; private pubsy; constructor(_state: T); get(): T; onUpdate(fn: (state: T) => void): () => void; update(nextStateGetter: NextStateGetter<T>): this; /** * Ability to transform the state * * @param mapFn * @returns */ map<T1>(mapFn: (state: T) => T1): Observable<T1>; static getNextStateFrom: <T_1>(prev: T_1, a: NextStateGetter<T_1>) => T_1; }