Document zip(with:) on optionals

This commit is contained in:
Mathew Polzin
2019-01-21 15:37:41 -08:00
parent 4dc63167d6
commit 9972d13a4e
@@ -5,6 +5,9 @@
// Created by Mathew Polzin on 1/19/19.
//
/// Zip two optionals together with the given operation performed on
/// the unwrapped contents. If either optional is nil, the zip
/// yields nil.
func zip<X, Y, Z>(_ left: X?, _ right: Y?, with fn: (X, Y) -> Z) -> Z? {
return left.flatMap { lft in right.map { rght in fn(lft, rght) }}
}