/// module Rx { export interface Observable { /** * Projects each element of an observable sequence into zero or more buffers. * @param {Mixed} bufferOpeningsOrClosingSelector Observable sequence whose elements denote the creation of new windows, or, a function invoked to define the boundaries of the produced windows (a new window is started when the previous one is closed, resulting in non-overlapping windows). * @param {Function} [bufferClosingSelector] A function invoked to define the closing of each produced window. If a closing selector function is specified for the first parameter, this parameter is ignored. * @returns {Observable} An observable sequence of windows. */ buffer(bufferOpenings: Observable): Observable; /** * Projects each element of an observable sequence into zero or more buffers. * @param {Mixed} bufferOpeningsOrClosingSelector Observable sequence whose elements denote the creation of new windows, or, a function invoked to define the boundaries of the produced windows (a new window is started when the previous one is closed, resulting in non-overlapping windows). * @param {Function} [bufferClosingSelector] A function invoked to define the closing of each produced window. If a closing selector function is specified for the first parameter, this parameter is ignored. * @returns {Observable} An observable sequence of windows. */ buffer(bufferClosingSelector: () => Observable): Observable; /** * Projects each element of an observable sequence into zero or more buffers. * @param {Mixed} bufferOpeningsOrClosingSelector Observable sequence whose elements denote the creation of new windows, or, a function invoked to define the boundaries of the produced windows (a new window is started when the previous one is closed, resulting in non-overlapping windows). * @param {Function} [bufferClosingSelector] A function invoked to define the closing of each produced window. If a closing selector function is specified for the first parameter, this parameter is ignored. * @returns {Observable} An observable sequence of windows. */ buffer(bufferOpenings: Observable, bufferClosingSelector: () => Observable): Observable; } } (function() { var o : Rx.Observable; var open : Rx.Observable; var so : Rx.Observable = o.buffer(open); so = o.buffer(() => Rx.Observable.timer(100)); so = o.buffer(open, () => Rx.Observable.timer(100)); });