alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
14 lines (13 loc) • 503 B
TypeScript
import { Observable as MicroObservable } from 'micro-observables';
export interface Observable<T> {
(): T;
micro: MicroObservable<T>;
select<U>(selector: (val: T) => U | Observable<U>): Observable<U>;
}
export declare namespace Observable {
interface Writable<T> extends Observable<T> {
(value: T): void;
}
}
export declare function observable<T>(value: T): Observable.Writable<T>;
export declare function useObservable<T>(observable: Observable<T> | MicroObservable<T>): T;