mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-08 08:31:13 +00:00
28 lines
763 B
Swift
28 lines
763 B
Swift
import Foundation
|
|
|
|
public func map<T, E, R>(f: T -> R)(signal: Signal<T, E>) -> Signal<R, E> {
|
|
return Signal<R, E> { subscriber in
|
|
return signal.start(next: { next in
|
|
subscriber.putNext(f(next))
|
|
}, error: { error in
|
|
subscriber.putError(error)
|
|
}, completed: {
|
|
subscriber.putCompletion()
|
|
})
|
|
}
|
|
}
|
|
|
|
public func filter<T, E>(f: T -> Bool)(signal: Signal<T, E>) -> Signal<T, E> {
|
|
return Signal<T, E> { subscriber in
|
|
return signal.start(next: { next in
|
|
if f(next) {
|
|
subscriber.putNext(next)
|
|
}
|
|
}, error: { error in
|
|
subscriber.putError(error)
|
|
}, completed: {
|
|
subscriber.putCompletion()
|
|
})
|
|
}
|
|
}
|