-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Closed
Labels
Milestone
Description
Calling combineLatest from Kotlin is a bit awkward. The function has a lot of different parameters, including Iterable, Array as well as 2-x call sites for passing multiple Observables.
Is it possible to prefix these so we have some kind of combineLatestFromIterable which takes the Iterable<T>:
-public static <T, R> Observable<R> combineLatest(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super Object[], ? extends R> combiner) {
+public static <T, R> Observable<R> combineLatestFromIterable(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super Object[], ? extends R> combiner) {and then combineLatest which takes the 2-x call sites.
public static <T1, T2, R> Observable<R> combineLatest(
ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2,
BiFunction<? super T1, ? super T2, ? extends R> combiner) {The array call we could call combineLatestFromArray.
-public static <T, R> Observable<R> combineLatest(ObservableSource<? extends T>[] sources, Function<? super Object[], ? extends R> combiner) {
+public static <T, R> Observable<R> combineLatestFromArray(ObservableSource<? extends T>[] sources, Function<? super Object[], ? extends R> combiner) {What should we do with?
public static <T, R> Observable<R> combineLatest(Function<? super Object[], ? extends R> combiner, int bufferSize, ObservableSource<? extends T>... sources) {Is it really required? Callers could just use the array overload.
combineLatestDelayError is equivalent and could get the method name improvements as well.
Other methods, such as concat/merge could benefit from this change too.