List of common RxSwift Operators
Event sequence:
A: a --- b ---- c
B: x ---- y
combineLatest(A,B) → emit (latestA, latestB) whenever A or B emits (after both have at least one).
Example timeline (letters are emissions; time flows →):
combineLatest(A,B):
(a,x) (b,x) (b,y) (c,y)
zip(A,B): (a,x) (b,y) // c waits for a 3rd value from B
merge(A,B): a b x y c
// these are all equivalent:
.map { q, _ in q } // destructure params
.map { tuple in let (q, _) = tuple; return q } // explicit tuple
.map { $0.0 } // take first element