This commit is contained in:
Михаил Капелько
2023-12-16 11:05:22 +03:00
parent 1e36ef3d71
commit fb6b5cba24
2 changed files with 9 additions and 5 deletions

View File

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

View File

@@ -32,11 +32,11 @@ enum MeetupId {
}
init() {
Bus.registerProcessing(
Bus.processSync(
&subscriptions,
Keys.meetupIdTextUI.rawValue,
Keys.meetupIdTextApp.rawValue,
MeetupId.shouldFormat
shouldFormat
)
/**/print("ИГР MeetupIF.init")
}