From 1e8d71d7e399e2847c2b045fba52f5d51367a196 Mon Sep 17 00:00:00 2001 From: Igor Oleinikov Date: Sun, 15 Dec 2013 23:18:20 +0400 Subject: [PATCH] Created typings for rx.joinpatterns: Patterns, Plan, Observable.when --- rx.js/rx.js.joinpatterns.d.ts | 54 +++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/rx.js/rx.js.joinpatterns.d.ts b/rx.js/rx.js.joinpatterns.d.ts index fe6cf6bdd..1f1c40d7b 100644 --- a/rx.js/rx.js.joinpatterns.d.ts +++ b/rx.js/rx.js.joinpatterns.d.ts @@ -2,19 +2,55 @@ // Type definitions for RxJS-Join package // Project: http://rx.codeplex.com/ -// Definitions by: Carl de Billy +// Definitions by: Igor Oleinikov // Definitions: https://github.com/borisyankov/DefinitelyTyped -// -// Dependencies: -// -> rx.js -// -> rx.joinpatterns.js declare module Rx { - //interface Observable { - //} + interface Pattern1 { + and(other: Observable): Pattern2; + then(selector: (item1: T1) => TR): Plan; + } + interface Pattern2 { + and(other: Observable): Pattern3; + then(selector: (item1: T1, item2: T2) => TR): Plan; + } + interface Pattern3 { + and(other: Observable): Pattern4; + then(selector: (item1: T1, item2: T2, item3: T3) => TR): Plan; + } + interface Pattern4 { + and(other: Observable): Pattern5; + then(selector: (item1: T1, item2: T2, item3: T3, item4: T4) => TR): Plan; + } + interface Pattern5 { + and(other: Observable): Pattern6; + then(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5) => TR): Plan; + } + interface Pattern6 { + and(other: Observable): Pattern7; + then(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6) => TR): Plan; + } + interface Pattern7 { + and(other: Observable): Pattern8; + then(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6, item7: T7) => TR): Plan; + } + interface Pattern8 { + and(other: Observable): Pattern9; + then(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6, item7: T7, item8: T8) => TR): Plan; + } + interface Pattern9 { + then(selector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6, item7: T7, item8: T8, item9: T9) => TR): Plan; + } + interface Plan { } - //interface Observable { - //} + interface Observable { + and(other: Observable): Pattern2; + then(selector: (item1: T) => TR): Plan; + } + + interface ObservableStatic { + when(plan: Plan): Observable; + } }