Skip to content

Commit c84fe2e

Browse files
authored
Add more zip() and combineLatest()
Add more zip() and combineLatest() functions to ObservableKt
1 parent 97ffa10 commit c84fe2e

File tree

1 file changed

+68
-5
lines changed

1 file changed

+68
-5
lines changed

src/main/kotlin/io/reactivex/rxkotlin/ObservableKt.kt

Lines changed: 68 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,39 @@ object ObservableKt {
3030
io.reactivex.functions.Function5<T1, T2, T3, T4, T5, R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 -> combineFunction(t1,t2, t3, t4, t5) })!!
3131

3232

33-
34-
35-
33+
inline fun <T1,T2,T3,T4,T5,T6,R> combineLatest(source1: Observable<T1>, source2: Observable<T2>,
34+
source3: Observable<T3>, source4: Observable<T4>,
35+
source5: Observable<T5>, source6: Observable<T6>, crossinline combineFunction: (T1,T2, T3, T4, T5, T6) -> R) =
36+
Observable.combineLatest(source1, source2,source3, source4, source5, source6,
37+
io.reactivex.functions.Function6<T1, T2, T3, T4, T5, T6, R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 -> combineFunction(t1,t2, t3, t4, t5, t6) })!!
38+
39+
inline fun <T1,T2,T3,T4,T5,T6,T7,R> combineLatest(source1: Observable<T1>, source2: Observable<T2>,
40+
source3: Observable<T3>, source4: Observable<T4>,
41+
source5: Observable<T5>, source6: Observable<T6>,
42+
source7: Observable<T7>, crossinline combineFunction: (T1,T2, T3, T4, T5, T6, T7) -> R) =
43+
Observable.combineLatest(source1, source2,source3, source4, source5, source6, source7,
44+
io.reactivex.functions.Function7<T1, T2, T3, T4, T5, T6, T7, R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 -> combineFunction(t1,t2, t3, t4, t5, t6, t7) })!!
45+
46+
47+
inline fun <T1,T2,T3,T4,T5,T6,T7,T8,R> combineLatest(source1: Observable<T1>, source2: Observable<T2>,
48+
source3: Observable<T3>, source4: Observable<T4>,
49+
source5: Observable<T5>, source6: Observable<T6>,
50+
source7: Observable<T7>, source8: Observable<T8>,
51+
crossinline combineFunction: (T1,T2, T3, T4, T5, T6, T7, T8) -> R) =
52+
Observable.combineLatest(source1, source2,source3, source4, source5, source6, source7, source8,
53+
io.reactivex.functions.Function8<T1, T2, T3, T4, T5, T6, T7, T8,R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 -> combineFunction(t1,t2, t3, t4, t5, t6, t7, t8) })!!
54+
55+
inline fun <T1,T2,T3,T4,T5,T6,T7,T8,T9,R> combineLatest(source1: Observable<T1>, source2: Observable<T2>,
56+
source3: Observable<T3>, source4: Observable<T4>,
57+
source5: Observable<T5>, source6: Observable<T6>,
58+
source7: Observable<T7>, source8: Observable<T8>,
59+
source9: Observable<T9>, crossinline combineFunction: (T1,T2, T3, T4, T5, T6, T7, T8, T9) -> R) =
60+
Observable.combineLatest(source1, source2,source3, source4, source5, source6, source7, source8, source9,
61+
io.reactivex.functions.Function9<T1, T2, T3, T4, T5, T6, T7, T8,T9,R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9 -> combineFunction(t1,t2, t3, t4, t5, t6, t7, t8, t9) })!!
62+
63+
64+
65+
3666
inline fun <T1,T2,R> zip(source1: Observable<T1>, source2: Observable<T2>, crossinline combineFunction: (T1, T2) -> R) =
3767
Observable.zip(source1, source2,
3868
BiFunction<T1, T2, R> { t1, t2 -> combineFunction(t1,t2) })!!
@@ -46,10 +76,43 @@ object ObservableKt {
4676
io.reactivex.functions.Function4<T1, T2, T3, T4, R> { t1: T1, t2: T2, t3: T3, t4: T4 -> combineFunction(t1,t2, t3, t4) })!!
4777

4878
inline fun <T1,T2,T3,T4,T5,R> zip(source1: Observable<T1>, source2: Observable<T2>,
49-
source3: Observable<T3>, source4: Observable<T4>,
50-
source5: Observable<T5>, crossinline combineFunction: (T1,T2, T3, T4, T5) -> R) =
79+
source3: Observable<T3>, source4: Observable<T4>,
80+
source5: Observable<T5>, crossinline combineFunction: (T1,T2, T3, T4, T5) -> R) =
5181
Observable.zip(source1, source2,source3, source4, source5,
5282
io.reactivex.functions.Function5<T1, T2, T3, T4, T5, R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5 -> combineFunction(t1,t2, t3, t4, t5) })!!
83+
84+
85+
86+
inline fun <T1,T2,T3,T4,T5,T6,R> zip(source1: Observable<T1>, source2: Observable<T2>,
87+
source3: Observable<T3>, source4: Observable<T4>,
88+
source5: Observable<T5>, source6: Observable<T6>, crossinline combineFunction: (T1,T2, T3, T4, T5, T6) -> R) =
89+
Observable.zip(source1, source2,source3, source4, source5, source6,
90+
io.reactivex.functions.Function6<T1, T2, T3, T4, T5, T6, R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6 -> combineFunction(t1,t2, t3, t4, t5, t6) })!!
91+
92+
inline fun <T1,T2,T3,T4,T5,T6,T7,R> zip(source1: Observable<T1>, source2: Observable<T2>,
93+
source3: Observable<T3>, source4: Observable<T4>,
94+
source5: Observable<T5>, source6: Observable<T6>,
95+
source7: Observable<T7>, crossinline combineFunction: (T1,T2, T3, T4, T5, T6, T7) -> R) =
96+
Observable.zip(source1, source2,source3, source4, source5, source6, source7,
97+
io.reactivex.functions.Function7<T1, T2, T3, T4, T5, T6, T7, R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7 -> combineFunction(t1,t2, t3, t4, t5, t6, t7) })!!
98+
99+
100+
inline fun <T1,T2,T3,T4,T5,T6,T7,T8,R> zip(source1: Observable<T1>, source2: Observable<T2>,
101+
source3: Observable<T3>, source4: Observable<T4>,
102+
source5: Observable<T5>, source6: Observable<T6>,
103+
source7: Observable<T7>, source8: Observable<T8>,
104+
crossinline combineFunction: (T1,T2, T3, T4, T5, T6, T7, T8) -> R) =
105+
Observable.zip(source1, source2,source3, source4, source5, source6, source7, source8,
106+
io.reactivex.functions.Function8<T1, T2, T3, T4, T5, T6, T7, T8,R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8 -> combineFunction(t1,t2, t3, t4, t5, t6, t7, t8) })!!
107+
108+
inline fun <T1,T2,T3,T4,T5,T6,T7,T8,T9,R> zip(source1: Observable<T1>, source2: Observable<T2>,
109+
source3: Observable<T3>, source4: Observable<T4>,
110+
source5: Observable<T5>, source6: Observable<T6>,
111+
source7: Observable<T7>, source8: Observable<T8>,
112+
source9: Observable<T9>, crossinline combineFunction: (T1,T2, T3, T4, T5, T6, T7, T8, T9) -> R) =
113+
Observable.zip(source1, source2,source3, source4, source5, source6, source7, source8, source9,
114+
io.reactivex.functions.Function9<T1, T2, T3, T4, T5, T6, T7, T8,T9,R> { t1: T1, t2: T2, t3: T3, t4: T4, t5: T5, t6: T6, t7: T7, t8: T8, t9: T9 -> combineFunction(t1,t2, t3, t4, t5, t6, t7, t8, t9) })!!
115+
53116
}
54117

55118

0 commit comments

Comments
 (0)