updated rx.js.coincidence.d.ts: added overloads for window and buffer

This commit is contained in:
Igor Oleinikov
2013-12-15 21:38:05 +04:00
parent b5a1466ead
commit 6033488b47

View File

@@ -3,34 +3,30 @@
// Type definitions for RxJS-Coincidence package
// Project: http://rx.codeplex.com/
// Definitions by: Carl de Billy <http://carl.debilly.net/>
// Revision by: Igor Oleinikov <https://github.com/Igorbek>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
//
// Dependencies:
// -> rx.js
// -> rx.coincidence.js
declare module Rx {
interface Observable<T> {
join<T2, TDuration, T2Duration, TResult>(
right: Observable<T2>,
leftDurationSelector: (leftItem: T) => Observable<TDuration>,
rightDurationSelector: (rightItem: T2) => Observable<T2Duration>,
resultSelector: (leftItem: T, rightItem: T2) => TResult): Observable<TResult>;
join<TRight, TDurationLeft, TDurationRight, TResult>(
right: Observable<TRight>,
leftDurationSelector: (leftItem: T) => Observable<TDurationLeft>,
rightDurationSelector: (rightItem: TRight) => Observable<TDurationRight>,
resultSelector: (leftItem: T, rightItem: TRight) => TResult): Observable<TResult>;
groupJoin<T2, TDuration, T2Duration, TResult>(
right: Observable<T2>,
leftDurationSelector: (leftItem: T) => Observable<TDuration>,
rightDurationSelector: (rightItem: T2) => Observable<T2Duration>,
resultSelector: (leftItem: T, rightItem: Observable<T2>) => TResult): Observable<TResult>;
groupJoin<TRight, TDurationLeft, TDurationRight, TResult>(
right: Observable<TRight>,
leftDurationSelector: (leftItem: T) => Observable<TDurationLeft>,
rightDurationSelector: (rightItem: TRight) => Observable<TDurationRight>,
resultSelector: (leftItem: T, rightItem: Observable<TRight>) => TResult): Observable<TResult>;
window<TWindowOpening>(windowOpenings: Observable<TWindowOpening>): Observable<Observable<T>>;
window<TWindowClosing>(windowClosingSelector: () => Observable<TWindowClosing>): Observable<Observable<T>>;
window<TWindowOpening, TWindowClosing>(windowOpenings: Observable<TWindowOpening>, windowClosingSelector: () => Observable<TWindowClosing>): Observable<Observable<T>>;
// lack of documentation to complete the followings...
buffer<TBufferOpening, TBufferClosing>(bufferOpenings: Observable<TBufferOpening>,
bufferClosingSelector: (opening: TBufferOpening) => Observable<TBufferClosing>): Observable<T>;
window<TBufferOpening, TBufferClosing>(bufferOpenings: Observable<TBufferOpening>,
bufferClosingSelector: (opening: TBufferOpening) => Observable<TBufferClosing>): Observable<T>;
buffer<TBufferOpening>(bufferOpenings: Observable<TBufferOpening>): Observable<T[]>;
buffer<TBufferClosing>(bufferClosingSelector: () => Observable<TBufferClosing>): Observable<T[]>;
buffer<TBufferOpening, TBufferClosing>(bufferOpenings: Observable<TBufferOpening>, bufferClosingSelector: () => Observable<TBufferClosing>): Observable<T[]>;
}
}