From 8bb677258f083d1807d00e5665a9b7f8e472eb14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BF?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BA=D0=BE?= Date: Fri, 9 Feb 2024 08:17:13 +0300 Subject: [PATCH] d --- .../MicX/MicItem/src/MicItem.Generated.swift | 130 ++++++++++++++++++ Modules/MicX/MicItem/src/MicItem.WillBe.swift | 56 -------- app/Podfile.lock | 4 +- 3 files changed, 132 insertions(+), 58 deletions(-) create mode 100644 Modules/MicX/MicItem/src/MicItem.Generated.swift delete mode 100644 Modules/MicX/MicItem/src/MicItem.WillBe.swift diff --git a/Modules/MicX/MicItem/src/MicItem.Generated.swift b/Modules/MicX/MicItem/src/MicItem.Generated.swift new file mode 100644 index 0000000..c88e5a5 --- /dev/null +++ b/Modules/MicX/MicItem/src/MicItem.Generated.swift @@ -0,0 +1,130 @@ +// ВНИМАНИЕ Сгенерировано автоматом из файла MicItem.yml +// ВНИМАНИЕ Не менять руками! + +import AELog +import BusX +import Combine +import Foundation +import MPAKX +import UIKit + +// MARK: - Context + +public protocol MicItemContext { + var activityDates: MPAK.Recent { get } + var exReallyTest1: Bool? { get } + var reallyTest1: Bool { get } + var test2: Bool { get } + var test3: Bool { get } + var test4: Bool { get } + var test5: MPAK.Recent { get } + var test6: MPAK.Recent { get } + var test7: MPAK.Recent { get } + var timeout: Bool { get } +} + +extension MicItem { + + // MARK: - Model + + public struct Model: MicItemContext { + public var activityDates: MPAK.Recent = .init(nil) + public var exReallyTest1: Bool? = nil + public var reallyTest1: Bool = false + public var test2: Bool = false + public var test3: Bool = false + public var test4: Bool = false + public var test5: MPAK.Recent = .init(false) + public var test6: MPAK.Recent = .init(false) + public var test7: MPAK.Recent = .init(false) + public var timeout: Bool = false + } + + // MARK: - Controller + + final class Controller: MPAK.Controller { + init(_ id: String? = nil) { + var sid = "" + if let id { + sid = " : \(id)" + } + super.init( + MicItem.Model(), + debugClassName: "MicItemCtrl", + debugLog: { aelog("\($0)\(sid)") } + ) + + // Отправляем модель в Шину. + m + .sink { v in Bus.send(Bus.keyId("MicItem", id), v) } + .store(in: &subscriptions) + + pipeValue( + dbg: "activityD", + Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(K.activityDates, id), $0) }.map { (k: String, v: Date?) in v }.eraseToAnyPublisher(), + { + $0.activityDates.value = $1 + $0.activityDates.isRecent = true + }, + { m, _ in m.activityDates.isRecent = false } + ) + pipeValue( + dbg: "reallyT", + Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(K.reallyTest1, id), $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(), + { + $0.reallyTest1.value = $1 + $0.reallyTest1.isRecent = true + }, + { + $0.reallyTest1.isRecent = false + $0.exReallyTest1 = $1 + } + ) + pipeValue( + dbg: "test2", + Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(K.test2, id), $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(), + { $0.test2 = $1 } + ) + pipeValue( + dbg: "test3", + Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(K.test3, id), $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(), + { $0.test3 = $1 }, + { m, _ in m.test3 = nil } + ) + pipeValue( + dbg: "test5", + Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(D.test5, id), $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(), + { + $0.test5.value = $1 + $0.test5.isRecent = true + }, + { m, _ in m.test5.isRecent = false } + ) + pipeValue( + dbg: "test6", + Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(K.abc, id), $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(), + { + $0.test6.value = $1 + $0.test6.isRecent = true + }, + { m, _ in m.test6.isRecent = false } + ) + pipeValue( + dbg: "test7", + Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(D.def, id), $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(), + { + $0.test7.value = $1 + $0.test7.isRecent = true + }, + { m, _ in m.test7.isRecent = false } + ) + pipe( + dbg: "timeout", + Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(K.timeout, id), $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(), + { $0.timeout = true }, + { $0.timeout = false } + ) + + } + } +} diff --git a/Modules/MicX/MicItem/src/MicItem.WillBe.swift b/Modules/MicX/MicItem/src/MicItem.WillBe.swift deleted file mode 100644 index 0efe274..0000000 --- a/Modules/MicX/MicItem/src/MicItem.WillBe.swift +++ /dev/null @@ -1,56 +0,0 @@ -import BusX -import MPAKX - -public protocol MicItemContext { - var activityDate: MPAK.Recent { get } - var timeout: Bool { get } -} - -extension MicItem { - public struct Model: MicItemContext { - public var activityDate: MPAK.Recent = .init(nil) - public var timeout: Bool = false - } -} - -extension MicItem { - final class Controller: MPAK.Controller { - init(_ id: String? = nil) { - var sid = "" - if let id { - sid = " : \(id)" - } - super.init( - MicItem.Model(), - debugClassName: "MicICtrl", - debugLog: { print("\($0)\(sid)") } - ) - - - // Нижеследующее предстоит сгенерить. - m - .sink { v in Bus.send(Bus.keyId(K.MI, id), v) } - .store(in: &subscriptions) - - pipeValue( - dbg: "activityD", - sub: nil, - Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(K.activityDate, id), $0) }.map { (k: String, v: Date?) in v }.eraseToAnyPublisher(), - { - $0.activityDate.value = $1 - $0.activityDate.isRecent = true - }, - { m, _ in m.activityDate.isRecent = false } - ) - - pipe( - dbg: "timeout", - sub: nil, - Bus.events.compactMap { Bus.convertKeyValue(Bus.keyId(K.timeout, id), $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(), - { $0.timeout = true }, - { $0.timeout = false } - ) - - } - } -} diff --git a/app/Podfile.lock b/app/Podfile.lock index 031288f..34ece9e 100644 --- a/app/Podfile.lock +++ b/app/Podfile.lock @@ -1,6 +1,6 @@ PODS: - AELog (0.6.3) - - BusX (2024.01.29) + - BusX (2024.02.01) - MeetupIdX (2023.12.31): - AELog - BusX @@ -34,7 +34,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: AELog: f732b70f7a9d1b4c6a3676304192b3908f362133 - BusX: 99cabace42f33d20aca0ce7941cc62493a1672d9 + BusX: c7f39f1d1ffb7d23323609038d54959ab7ed51c7 MeetupIdX: 2fa9fb27717aa8878ff495c1abe960c96e524308 MicX: 6ffa81f29a477a66cde277e3ade3de8ce2d47b91 MPAKX: dc592434f55edf34709f6e4f37c9ec90dcd95185