@@ -3,12 +3,69 @@ package io.reactivex.rxkotlin
3
3
import io.reactivex.Single
4
4
import io.reactivex.SingleSource
5
5
import io.reactivex.functions.BiFunction
6
+ import io.reactivex.functions.Function3
7
+ import io.reactivex.functions.Function4
8
+ import io.reactivex.functions.Function5
9
+ import io.reactivex.functions.Function6
10
+ import io.reactivex.functions.Function7
11
+ import io.reactivex.functions.Function8
12
+ import io.reactivex.functions.Function9
6
13
7
14
8
15
object Singles {
9
16
inline fun <T , U , R > zip (s1 : SingleSource <T >, s2 : SingleSource <U >, crossinline zipper : (T , U ) -> R ): Single <R >
10
- = Single .zip(s1,s2, BiFunction { t, u -> zipper.invoke(t, u) })
17
+ = Single .zip(s1, s2, BiFunction { t, u -> zipper.invoke(t, u) })
18
+
19
+ inline fun <T1 , T2 , T3 , R >
20
+ zip (s1 : SingleSource <T1 >, s2 : SingleSource <T2 >, s3 : SingleSource <T3 >,
21
+ crossinline zipper : (T1 , T2 , T3 ) -> R ): Single <R >
22
+ = Single .zip(s1, s2, s3, Function3 { t1, t2, t3 -> zipper.invoke(t1, t2, t3) })
23
+
24
+ inline fun <T1 , T2 , T3 , T4 , R >
25
+ zip (s1 : SingleSource <T1 >, s2 : SingleSource <T2 >,
26
+ s3 : SingleSource <T3 >, s4 : SingleSource <T4 >,
27
+ crossinline zipper : (T1 , T2 , T3 , T4 ) -> R ): Single <R >
28
+ = Single .zip(s1, s2, s3, s4, Function4 { t1, t2, t3, t4 -> zipper.invoke(t1, t2, t3, t4) })
29
+
30
+ inline fun <T1 , T2 , T3 , T4 , T5 , R >
31
+ zip (s1 : SingleSource <T1 >, s2 : SingleSource <T2 >,
32
+ s3 : SingleSource <T3 >, s4 : SingleSource <T4 >,
33
+ s5 : SingleSource <T5 >,
34
+ crossinline zipper : (T1 , T2 , T3 , T4 , T5 ) -> R ): Single <R >
35
+ = Single .zip(s1, s2, s3, s4, s5, Function5 { t1, t2, t3, t4, t5 -> zipper.invoke(t1, t2, t3, t4, t5) })
36
+
37
+ inline fun <T1 , T2 , T3 , T4 , T5 , T6 , R >
38
+ zip (s1 : SingleSource <T1 >, s2 : SingleSource <T2 >,
39
+ s3 : SingleSource <T3 >, s4 : SingleSource <T4 >,
40
+ s5 : SingleSource <T5 >, s6 : SingleSource <T6 >,
41
+ crossinline zipper : (T1 , T2 , T3 , T4 , T5 , T6 ) -> R ): Single <R >
42
+ = Single .zip(s1, s2, s3, s4, s5, s6, Function6 { t1, t2, t3, t4, t5, t6 -> zipper.invoke(t1, t2, t3, t4, t5, t6) })
43
+
44
+ inline fun <T1 , T2 , T3 , T4 , T5 , T6 , T7 , R >
45
+ zip (s1 : SingleSource <T1 >, s2 : SingleSource <T2 >,
46
+ s3 : SingleSource <T3 >, s4 : SingleSource <T4 >,
47
+ s5 : SingleSource <T5 >, s6 : SingleSource <T6 >,
48
+ s7 : SingleSource <T7 >,
49
+ crossinline zipper : (T1 , T2 , T3 , T4 , T5 , T6 , T7 ) -> R ): Single <R >
50
+ = Single .zip(s1, s2, s3, s4, s5, s6, s7, Function7 { t1, t2, t3, t4, t5, t6, t7 -> zipper.invoke(t1, t2, t3, t4, t5, t6, t7) })
51
+
52
+ inline fun <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , R >
53
+ zip (s1 : SingleSource <T1 >, s2 : SingleSource <T2 >,
54
+ s3 : SingleSource <T3 >, s4 : SingleSource <T4 >,
55
+ s5 : SingleSource <T5 >, s6 : SingleSource <T6 >,
56
+ s7 : SingleSource <T7 >, s8 : SingleSource <T8 >,
57
+ crossinline zipper : (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ) -> R ): Single <R >
58
+ = Single .zip(s1, s2, s3, s4, s5, s6, s7, s8, Function8 { t1, t2, t3, t4, t5, t6, t7, t8 -> zipper.invoke(t1, t2, t3, t4, t5, t6, t7, t8) })
59
+
60
+ inline fun <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , R >
61
+ zip (s1 : SingleSource <T1 >, s2 : SingleSource <T2 >,
62
+ s3 : SingleSource <T3 >, s4 : SingleSource <T4 >,
63
+ s5 : SingleSource <T5 >, s6 : SingleSource <T6 >,
64
+ s7 : SingleSource <T7 >, s8 : SingleSource <T8 >,
65
+ s9 : SingleSource <T9 >,
66
+ crossinline zipper : (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ) -> R ): Single <R >
67
+ = Single .zip(s1, s2, s3, s4, s5, s6, s7, s8, s9, Function9 { t1, t2, t3, t4, t5, t6, t7, t8, t9 -> zipper.invoke(t1, t2, t3, t4, t5, t6, t7, t8, t9) })
11
68
}
12
69
13
70
inline fun <T , U , R > Single<T>.zipWith (other : SingleSource <U >, crossinline zipper : (T , U ) -> R ): Single <R >
14
- = zipWith(other, BiFunction { t, u -> zipper.invoke(t, u) })
71
+ = zipWith(other, BiFunction { t, u -> zipper.invoke(t, u) })
0 commit comments