15 lines
418 B
Swift
15 lines
418 B
Swift
import SwiftUI
|
|
|
|
public extension Binding where Value: Equatable, Value: Sendable {
|
|
|
|
init(_ source: Binding<Value?>, replacingNilWith nilProxy: Value) {
|
|
self.init(
|
|
get: { source.wrappedValue ?? nilProxy },
|
|
set: { newValue in
|
|
if newValue == nilProxy { source.wrappedValue = nil }
|
|
else { source.wrappedValue = newValue }
|
|
}
|
|
)
|
|
}
|
|
}
|