I would like to extend SwiftUI Binding when its value is any optional type. Is it possible
extension Binding where Value == Optional {
func filter(_ predicate: @escaping (Value) -> Bool) -> Binding<Value> {
Binding<Value>(
get: {
if predicate(wrappedValue) { return nil }
return wrappedValue
},
set: {
wrappedValue = $0
}
)
}
}
It works if I use some concrete type like Error? But I want to have more general solution.