d
This commit is contained in:
@@ -90,16 +90,20 @@ public extension Bus {
|
||||
}
|
||||
|
||||
public extension Bus {
|
||||
static func registerProcessing<Src, Dst>(
|
||||
static func processSync<Src, Dst>(
|
||||
_ subscriptions: inout Set<AnyCancellable>,
|
||||
_ keyIn: String,
|
||||
_ keyOut: String,
|
||||
_ handler: @escaping ((Src) -> Dst?)
|
||||
) {
|
||||
Service.singleton?.broadcaster
|
||||
.filter { $0.key == keyIn }
|
||||
.compactMap {
|
||||
guard let vIn = $0.value as? Src else { return nil }
|
||||
guard
|
||||
$0.key == keyIn,
|
||||
let vIn = $0.value as? Src
|
||||
else {
|
||||
return nil
|
||||
}
|
||||
return handler(vIn)
|
||||
}
|
||||
.sink { vOut in Service.singleton?.send(keyOut, vOut) }
|
||||
|
||||
@@ -32,11 +32,11 @@ enum MeetupId {
|
||||
}
|
||||
|
||||
init() {
|
||||
Bus.registerProcessing(
|
||||
Bus.processSync(
|
||||
&subscriptions,
|
||||
Keys.meetupIdTextUI.rawValue,
|
||||
Keys.meetupIdTextApp.rawValue,
|
||||
MeetupId.shouldFormat
|
||||
shouldFormat
|
||||
)
|
||||
/**/print("ИГР MeetupIF.init")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user