Front end of the Slack clone application.

1234567891011121314151617181920212223242526272829303132333435
  1. import { Observable } from '../Observable';
  2. import { Operator } from '../Operator';
  3. import { Subscriber } from '../Subscriber';
  4. import { TeardownLogic } from '../Subscription';
  5. import { OuterSubscriber } from '../OuterSubscriber';
  6. import { InnerSubscriber } from '../InnerSubscriber';
  7. /**
  8. * Returns an Observable that mirrors the first source Observable to emit an item.
  9. * @param {...Observables} ...observables sources used to race for which Observable emits first.
  10. * @return {Observable} an Observable that mirrors the output of the first Observable to emit an item.
  11. * @static true
  12. * @name race
  13. * @owner Observable
  14. */
  15. export declare function race<T>(observables: Array<Observable<T>>): Observable<T>;
  16. export declare function race<T>(observables: Array<Observable<any>>): Observable<T>;
  17. export declare function race<T>(...observables: Array<Observable<T> | Array<Observable<T>>>): Observable<T>;
  18. export declare class RaceOperator<T> implements Operator<T, T> {
  19. call(subscriber: Subscriber<T>, source: any): TeardownLogic;
  20. }
  21. /**
  22. * We need this JSDoc comment for affecting ESDoc.
  23. * @ignore
  24. * @extends {Ignored}
  25. */
  26. export declare class RaceSubscriber<T> extends OuterSubscriber<T, T> {
  27. private hasFirst;
  28. private observables;
  29. private subscriptions;
  30. constructor(destination: Subscriber<T>);
  31. protected _next(observable: any): void;
  32. protected _complete(): void;
  33. notifyNext(outerValue: T, innerValue: T, outerIndex: number, innerIndex: number, innerSub: InnerSubscriber<T, T>): void;
  34. }