@codianz/rx
Version:
Rx utilities.
26 lines (25 loc) • 743 B
TypeScript
import { Observable } from "rxjs";
import { LogLike } from "@codianz/loglike";
declare type status_t = {
waitings: number;
runnings: number;
total: number;
};
export declare class InflowRestriction {
private m_caller;
private m_queue;
private m_running;
private m_runnerId;
private m_limit;
private m_log;
private m_status;
constructor(limit: number, log: LogLike);
private emitStatus;
get Status(): Observable<status_t>;
reset(): void;
private checkIn;
private checkOut;
enter<T>(memo: string, func: () => Observable<T>): Observable<T>;
enterWithArray<T, R>(memo: string, items: T[], fn: (item: T) => Observable<R>): Observable<R>;
}
export {};