1 | import { BehaviorSubject, Observable, Observer, Subject, Subscription } from 'rxjs';
|
2 | import { IScheduler } from 'rxjs/Scheduler';
|
3 | export 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 | }
|