/// module Rx { export interface Observable { /** * Continues an observable sequence that is terminated by an exception with the next observable sequence. * @param {Mixed} handlerOrSecond Exception handler function that returns an observable sequence given the error that occurred in the first sequence, or a second observable sequence used to produce results when an error occurred in the first sequence. * @returns {Observable} An observable sequence containing the first sequence's elements, followed by the elements of the handler sequence in case an exception occurred. */ catch(handler: (exception: any) => ObservableOrPromise): Observable; /** * Continues an observable sequence that is terminated by an exception with the next observable sequence. * @param {Mixed} handlerOrSecond Exception handler function that returns an observable sequence given the error that occurred in the first sequence, or a second observable sequence used to produce results when an error occurred in the first sequence. * @returns {Observable} An observable sequence containing the first sequence's elements, followed by the elements of the handler sequence in case an exception occurred. */ catch(second: ObservableOrPromise): Observable; } } (function() { var o: Rx.Observable; var io: Rx.IObservable; var p: Rx.Promise; o = o.catch((e) => o); o = o.catch((e) => io); o = o.catch((e) => p); o = o.catch(o); o = o.catch(io); o = o.catch(p); });