@@ -151,12 +151,21 @@ object Observables {
151151inline fun <T , U , R > Observable<T>.withLatestFrom (other : ObservableSource <U >, crossinline combiner : (T , U ) -> R ): Observable <R >
152152 = withLatestFrom(other, BiFunction <T , U , R > { t, u -> combiner.invoke(t, u) })
153153
154+ /* *
155+ * Emits a `Pair`
156+ */
157+ inline fun <T , U , R > Observable<T>.withLatestFrom (other : ObservableSource <U >): Observable <Pair <T ,U >>
158+ = withLatestFrom(other, BiFunction { t, u -> Pair (t,u) })
159+
154160/* *
155161 * An alias to [Observable.withLatestFrom], but allowing for cleaner lambda syntax.
156162 */
157163inline fun <T , T1 , T2 , R > Observable<T>.withLatestFrom (o1 : ObservableSource <T1 >, o2 : ObservableSource <T2 >, crossinline combiner : (T , T1 , T2 ) -> R ): Observable <R >
158164 = withLatestFrom(o1, o2, Function3 <T , T1 , T2 , R > { t, t1, t2 -> combiner.invoke(t, t1, t2) })
159165
166+ inline fun <T , T1 , T2 > Observable<T>.withLatestFrom (o1 : ObservableSource <T1 >, o2 : ObservableSource <T2 >): Observable <Triple <T ,T1 ,T2 >>
167+ = withLatestFrom(o1, o2, Function3 { t, t1, t2 -> Triple (t, t1, t2) })
168+
160169/* *
161170 * An alias to [Observable.withLatestFrom], but allowing for cleaner lambda syntax.
162171 */
@@ -175,3 +184,8 @@ inline fun <T, T1, T2, T3, T4, R> Observable<T>.withLatestFrom(o1: ObservableSou
175184inline fun <T , U , R > Observable<T>.zipWith (other : ObservableSource <U >, crossinline zipper : (T , U ) -> R ): Observable <R >
176185 = zipWith(other, BiFunction { t, u -> zipper.invoke(t, u) })
177186
187+ /* *
188+ * Emits a zipped `Pair`
189+ */
190+ inline fun <T , U > Observable<T>.zipWith (other : ObservableSource <U >): Observable <Pair <T ,U >>
191+ = zipWith(other, BiFunction { t, u -> Pair (t,u) })
0 commit comments