|
- 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
- )
- }
- }
- }
|