d
This commit is contained in:
@@ -45,12 +45,13 @@ public extension Bus {
|
||||
_ subscriptions: inout [AnyCancellable]
|
||||
) {
|
||||
node
|
||||
.sink { v in e.send((key, v)) }
|
||||
.sink { v in send(key, v) }
|
||||
.store(in: &subscriptions)
|
||||
}
|
||||
|
||||
/// Единоразово синхронно отправляем событие в шину.
|
||||
static func send(_ key: String, _ value: Any) {
|
||||
/**/print("ИГР Bus.send k/v: '\(key)'/'\(value)'")
|
||||
e.send((key, value))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,17 @@ extension BusUI {
|
||||
public let v = PassthroughSubject<Void, Never>()
|
||||
var subscriptions = [AnyCancellable]()
|
||||
|
||||
public init(_ key: String) {
|
||||
public init(
|
||||
_ key: String,
|
||||
_ id: String? = nil
|
||||
) {
|
||||
var k = key
|
||||
if let id {
|
||||
k = k + id
|
||||
}
|
||||
|
||||
Bus.sendSync(
|
||||
key,
|
||||
k,
|
||||
v.map { true }.eraseToAnyPublisher(),
|
||||
&subscriptions
|
||||
)
|
||||
|
||||
@@ -8,10 +8,18 @@ extension BusUI {
|
||||
|
||||
public init(
|
||||
_ textApp: String,
|
||||
_ textUI: String
|
||||
_ textUI: String,
|
||||
_ id: String? = nil
|
||||
) {
|
||||
var ka = textApp
|
||||
var ku = textUI
|
||||
if let id {
|
||||
ka = ka + id
|
||||
ku = ku + id
|
||||
}
|
||||
|
||||
Bus.sendSync(
|
||||
textUI,
|
||||
ku,
|
||||
$v
|
||||
.removeDuplicates()
|
||||
.compactMap(onlyUIText)
|
||||
@@ -20,7 +28,7 @@ extension BusUI {
|
||||
)
|
||||
|
||||
Bus.receiveSync(
|
||||
[textApp],
|
||||
[ka],
|
||||
{ [weak self] (_, v: String) in self?.v = "a:\(v)" },
|
||||
&subscriptions
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user