Михаил Капелько 10 months ago
parent
commit
02e8794bf9
1 changed files with 6 additions and 5 deletions
  1. +6
    -5
      Modules/BusX/Bus/src/Bus.swift

+ 6
- 5
Modules/BusX/Bus/src/Bus.swift View File

@@ -3,6 +3,7 @@ import Foundation


public enum Bus { public enum Bus {
static let e = PassthroughSubject<(key: String, value: Any), Never>() static let e = PassthroughSubject<(key: String, value: Any), Never>()
/**/static var subscriptions = [AnyCancellable]()
} }


public extension Bus { public extension Bus {
@@ -70,20 +71,20 @@ public extension Bus {
if isAsync { if isAsync {
subscription = node subscription = node
.receive(on: DispatchQueue.main) .receive(on: DispatchQueue.main)
.sink { v in Self.e.send(key, v) }
.sink { v in Self.e.send((key, v)) }
} }


// Sync. // Sync.
if !isAsync { if !isAsync {
subscription = node subscription = node
.sink { v in Self.e.send(key, v) }
.sink { v in Self.e.send((key, v)) }
} }


subscribe(subscription, sub) subscribe(subscription, sub)
} }
static func send(_ key: String, _ value: Any) { static func send(_ key: String, _ value: Any) {
Self.e.send(key, value)
Self.e.send((key, value))
} }
} }


@@ -103,14 +104,14 @@ public extension Bus {
subscription = Self.events subscription = Self.events
.compactMap { processKeysValue($0, keysIn, handler) } .compactMap { processKeysValue($0, keysIn, handler) }
.receive(on: DispatchQueue.main) .receive(on: DispatchQueue.main)
.sink { vOut in Self.e.send(keyOut, vOut) }
.sink { vOut in Self.e.send((keyOut, vOut)) }
} }


// Sync. // Sync.
if !isAsync { if !isAsync {
subscription = Self.events subscription = Self.events
.compactMap { processKeysValue($0, keysIn, handler) } .compactMap { processKeysValue($0, keysIn, handler) }
.sink { vOut in Self.e.send(keyOut, vOut) }
.sink { vOut in Self.e.send((keyOut, vOut)) }
} }


subscribe(subscription, sub) subscribe(subscription, sub)


Loading…
Cancel
Save