Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Tidied form of Publisher.prefixInclusive(while:).
extension Publisher {
func prefixInclusive(while predicate: @escaping (Output) -> Bool) -> AnyPublisher<Output, Failure> {
flatMap { value in
.append(!predicate(value) ? [.end] : [])
.setFailureType(to: Failure.self)
.prefix(while: \.isPredicatePassingValueOrIncluded)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment