UNPKG

2.23 kBTypeScriptView Raw
1import { BehaviorSubject, Observable, Observer, Subject, Subscription } from 'rxjs';
2import { IScheduler } from 'rxjs/Scheduler';
3export declare class ReactiveCollection<T> {
4 private pushed;
5 private popped;
6 private shifted;
7 private unshifted;
8 private removed;
9 private rotated;
10 private subs;
11 private array;
12 value: T[];
13 constructor(value?: T[]);
14 dispose(): void;
15 subscribeToPush(observer: (value: T) => void | Observer<T>): Subscription;
16 subscribeToPop(observer: (value: T) => void | Observer<T>): Subscription;
17 subscribeToShift(observer: (value: T) => void | Observer<T>): Subscription;
18 subscribeToUnshift(observer: (value: T) => void | Observer<T>): Subscription;
19 subscribeToRemove(observer: (value: T) => void | Observer<T>): Subscription;
20 subscribeToRotate(observer: (value: T) => void | Observer<T>): Subscription;
21 push(value: T): ReactiveCollection<T>;
22 pop(value: T): T;
23 shift(): T;
24 unshift(value: T): ReactiveCollection<T>;
25 remove(value: T): ReactiveCollection<T>;
26 rotate(): T;
27 rotateEach(action: (value: T) => void): void;
28 mapCollection<U>(selector: (value: T) => U): ReactiveCollection<U>;
29 filterCollection(selector: (value: T) => boolean): ReactiveCollection<T>;
30 forEach(action: (value: T) => void): ReactiveCollection<T>;
31 subscribe(observer: (value: T[]) => void | Observer<T[]>): Subscription;
32 filter(selector: (value: T[]) => boolean): Observable<T[]>;
33 map<U>(selector: (value: T[]) => U): Observable<U>;
34 debounceWithTimeout(dueTime: number, scheduler?: IScheduler): Observable<T[]>;
35 debounceWithSelector<TTimeout>(selector: (value: T[]) => Observable<TTimeout>): Observable<T[]>;
36 bufferTime(timeSpan: number, scheduler?: IScheduler): Observable<T[][]>;
37 bufferCount(count: number, skip?: number): Observable<T[][]>;
38 bufferTimeCount(timeSpan: number, count: number, skip?: number, scheduler?: IScheduler): Observable<T[][]>;
39 zip<U>(other: Observable<U>): Observable<[T[], U]>;
40 asObservable(): Observable<T[]>;
41 asObserver(): Observer<T[]>;
42 asSubject(): Subject<T[]>;
43 asBehaviourSubject(): BehaviorSubject<T[]>;
44}