rxjs-autorun
Version:
Autorun expressions with RxJS Observables
49 lines • 1.58 kB
TypeScript
import { Observable, Subscription } from 'rxjs';
import { Expression, Tracker, Trackers } from './core';
/**
* Function to track Observable inside rxjs-autorun expressions
*
* Also provides `.weak`, `.normal` (default), and `.strong` types of tracking
*/
export declare const $: Trackers;
/**
* Function to read latest Observable value (w/o tracking it) inside rxjs-autorun expressions
*
* Also provides `.weak`, `.normal` (default), and `.strong` types of tracking
*/
export declare const _: Trackers;
/**
* Automatically run `fn` when tracked inner Observables emit
*
* ```js
* autorun(() => _(a) + $(b))
* ```
*
* @param fn Function that uses tracked (`$`) or untracked (`_`) Observables
* @returns RxJS Subscription of distinct execution results
*/
export declare function autorun<T>(fn: Expression<T>): Subscription;
/**
* Automatically run `fn` when tracked inner Observables emit
*
* ```js
* combined(() => _(a) + $(b))
* ```
*
* @param fn Function that uses tracked (`$`) or untracked (`_`) Observables
* @returns Observable of execution results
*/
export declare function combined<T>(fn: Expression<T>): Observable<T>;
/**
* Automatically run `fn` when tracked inner Observables emit a **distinct value**
*
* ```js
* computed(() => _(a) + $(b))
* ```
*
* @param fn Function that uses tracked (`$`) or untracked (`_`) Observables
* @returns Observable of distinct execution results
*/
export declare function computed<T>(fn: Expression<T>): Observable<T>;
export { Expression, Trackers, Tracker };
//# sourceMappingURL=index.d.ts.map