|
- // ВНИМАНИЕ Сгенерировано автоматом из файла MeetupId.yml
- // ВНИМАНИЕ Не менять руками!
-
- import AELog
- import BusX
- import Combine
- import CordX
- import Foundation
- import MPAKX
- import UIKit
-
- // MARK: - Context
-
- public protocol MeetupIdContext {
- var textApp: MPAK.Recent<String> { get }
- var textUI: MPAK.Recent<String> { get }
- }
-
- // MARK: - Controller
-
- extension MeetupId {
- final class Controller: MPAK.Controller<MeetupId.Model> {
- init() {
- super.init(
- MeetupId.Model(),
- debugClassName: "MeetupICtrl",
- debugLog: { aelog($0) }
- )
- }
- }
-
-
-
- // MARK: - Model
-
- public struct Model: MeetupIdContext {
- public var textApp: MPAK.Recent<String> = .init("")
- public var textUI: MPAK.Recent<String> = .init("")
- }
-
- // MARK: - Service
-
- public final class Service {
- let ctrl = Controller()
- let world: World
-
- var subscriptions = [AnyCancellable]()
- static private(set) weak var singleton: Service?
-
- public init(_ world: World) {
- self.world = world
- Self.singleton = self
- SectionGenerated.setupPlatform(ctrl, self, world)
- }
- }
-
- // MARK: - World
-
- public struct World {
- let textApp = PassthroughSubject<String, Never>()
- let textUI = PassthroughSubject<String, Never>()
-
- public init(
-
- ) {
-
- }
- }
-
- enum SectionGenerated {
-
-
-
- // MARK: - SectionGenerated Service
-
- static func setupPlatform(
- _ ctrl: Controller,
- _ service: Service,
- _ world: World
- ) {
- // MARK: - SectionGenerated Service Actions
-
-
-
- // MARK: - SectionGenerated Service Pipes
-
- ctrl.pipeValue(
- dbg: "textA",
- sub: nil,
- Bus.events.compactMap { Bus.convertKeyValue(K.meetupIdTextApp.rawValue, $0) }.map { (k: String, v: String) in v }.eraseToAnyPublisher().eraseToAnyPublisher(),
- {
- $0.textApp.value = $1
- $0.textApp.isRecent = true
- },
- { m, _ in m.textApp.isRecent = false }
- )
-
-
-
- ctrl.pipeValue(
- dbg: "textUI",
- sub: nil,
- Bus.events.compactMap { Bus.convertKeyValue(K.meetupIdTextUI.rawValue, $0) }.map { (k: String, v: String) in v }.eraseToAnyPublisher().eraseToAnyPublisher(),
- {
- $0.textUI.value = $1
- $0.textUI.isRecent = true
- },
- { m, _ in m.textUI.isRecent = false }
- )
-
-
-
-
- }
-
- }
- }
|