import Combine import SwiftUI extension BusUI { public final class TextField: ObservableObject { @Published public var v = "a:" var subscriptions = [AnyCancellable]() public init( _ textApp: String, _ textUI: String ) { Bus.sendSync( textUI, $v .removeDuplicates() .compactMap(onlyUIText) .eraseToAnyPublisher(), &subscriptions ) Bus.receiveSync( [textApp], { [weak self] (_, v: String) in self?.v = "a:\(v)" }, &subscriptions ) } } }