rx.d.ts 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // Type definitions for RxJS v2.5.3
  2. // Project: http://rx.codeplex.com/
  3. // Definitions by: gsino <http://www.codeplex.com/site/users/view/gsino>, Igor Oleinikov <https://github.com/Igorbek>
  4. // Definitions: https://github.com/borisyankov/DefinitelyTyped
  5. ///<reference path="rx-lite.d.ts"/>
  6. declare module Rx {
  7. export interface IScheduler {
  8. catch(handler: (exception: any) => boolean): IScheduler;
  9. catchException(handler: (exception: any) => boolean): IScheduler;
  10. }
  11. // Observer
  12. export interface Observer<T> {
  13. checked(): Observer<any>;
  14. }
  15. interface ObserverStatic {
  16. /**
  17. * Schedules the invocation of observer methods on the given scheduler.
  18. * @param scheduler Scheduler to schedule observer messages on.
  19. * @returns Observer whose messages are scheduled on the given scheduler.
  20. */
  21. notifyOn<T>(scheduler: IScheduler): Observer<T>;
  22. }
  23. export interface Observable<T> {
  24. observeOn(scheduler: IScheduler): Observable<T>;
  25. subscribeOn(scheduler: IScheduler): Observable<T>;
  26. amb(rightSource: Observable<T>): Observable<T>;
  27. amb(rightSource: IPromise<T>): Observable<T>;
  28. onErrorResumeNext(second: Observable<T>): Observable<T>;
  29. onErrorResumeNext(second: IPromise<T>): Observable<T>;
  30. bufferWithCount(count: number, skip?: number): Observable<T[]>;
  31. windowWithCount(count: number, skip?: number): Observable<Observable<T>>;
  32. defaultIfEmpty(defaultValue?: T): Observable<T>;
  33. distinct(skipParameter: boolean, valueSerializer: (value: T) => string): Observable<T>;
  34. distinct<TKey>(keySelector?: (value: T) => TKey, keySerializer?: (key: TKey) => string): Observable<T>;
  35. groupBy<TKey, TElement>(keySelector: (value: T) => TKey, skipElementSelector?: boolean, keySerializer?: (key: TKey) => string): Observable<GroupedObservable<TKey, T>>;
  36. groupBy<TKey, TElement>(keySelector: (value: T) => TKey, elementSelector: (value: T) => TElement, keySerializer?: (key: TKey) => string): Observable<GroupedObservable<TKey, TElement>>;
  37. groupByUntil<TKey, TDuration>(keySelector: (value: T) => TKey, skipElementSelector: boolean, durationSelector: (group: GroupedObservable<TKey, T>) => Observable<TDuration>, keySerializer?: (key: TKey) => string): Observable<GroupedObservable<TKey, T>>;
  38. groupByUntil<TKey, TElement, TDuration>(keySelector: (value: T) => TKey, elementSelector: (value: T) => TElement, durationSelector: (group: GroupedObservable<TKey, TElement>) => Observable<TDuration>, keySerializer?: (key: TKey) => string): Observable<GroupedObservable<TKey, TElement>>;
  39. }
  40. interface ObservableStatic {
  41. using<TSource, TResource extends IDisposable>(resourceFactory: () => TResource, observableFactory: (resource: TResource) => Observable<TSource>): Observable<TSource>;
  42. amb<T>(...sources: Observable<T>[]): Observable<T>;
  43. amb<T>(...sources: IPromise<T>[]): Observable<T>;
  44. amb<T>(sources: Observable<T>[]): Observable<T>;
  45. amb<T>(sources: IPromise<T>[]): Observable<T>;
  46. onErrorResumeNext<T>(...sources: Observable<T>[]): Observable<T>;
  47. onErrorResumeNext<T>(...sources: IPromise<T>[]): Observable<T>;
  48. onErrorResumeNext<T>(sources: Observable<T>[]): Observable<T>;
  49. onErrorResumeNext<T>(sources: IPromise<T>[]): Observable<T>;
  50. }
  51. interface GroupedObservable<TKey, TElement> extends Observable<TElement> {
  52. key: TKey;
  53. underlyingObservable: Observable<TElement>;
  54. }
  55. }
  56. declare module "rx" {
  57. export = Rx
  58. }