Проверка шаблона шины для iOS
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

MeetupId.Generated.swift 2.9KB

11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
11 个月前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. // ВНИМАНИЕ Сгенерировано автоматом из файла MeetupId.yml
  2. // ВНИМАНИЕ Не менять руками!
  3. import AELog
  4. import BusX
  5. import Combine
  6. import Foundation
  7. import MPAKX
  8. import UIKit
  9. // MARK: - Context
  10. public protocol MeetupIdContext {
  11. var finishLoading: Bool { get }
  12. var isLoading: MPAK.Recent<Bool> { get }
  13. var join: Bool { get }
  14. var textUI: MPAK.Recent<String> { get }
  15. }
  16. // MARK: - Controller
  17. extension MeetupId {
  18. final class Controller: MPAK.Controller<MeetupId.Model> {
  19. init() {
  20. super.init(
  21. MeetupId.Model(),
  22. debugClassName: "MeetupICtrl",
  23. debugLog: { aelog($0) }
  24. )
  25. }
  26. }
  27. // MARK: - Model
  28. public struct Model: MeetupIdContext {
  29. public var finishLoading: Bool = false
  30. public var isLoading: MPAK.Recent<Bool> = .init(false)
  31. public var join: Bool = false
  32. public var textUI: MPAK.Recent<String> = .init("")
  33. }
  34. // MARK: - Service
  35. public final class Service {
  36. let ctrl = Controller()
  37. let world: World
  38. var subscriptions = [AnyCancellable]()
  39. static private(set) weak var singleton: Service?
  40. public init(_ world: World) {
  41. self.world = world
  42. Self.singleton = self
  43. SectionGenerated.setupPlatform(ctrl, self, world)
  44. }
  45. }
  46. // MARK: - World
  47. public struct World {
  48. public init(
  49. ) {
  50. }
  51. }
  52. enum SectionGenerated {
  53. // MARK: - SectionGenerated Service
  54. static func setupPlatform(
  55. _ ctrl: Controller,
  56. _ service: Service,
  57. _ world: World
  58. ) {
  59. // MARK: - SectionGenerated Service Actions
  60. ctrl.m
  61. .sink { v in Bus.send("MeetupId", v) }
  62. .store(in: &service.subscriptions)
  63. // MARK: - SectionGenerated Service Pipes
  64. ctrl.pipe(
  65. dbg: "finishL",
  66. sub: nil,
  67. Bus.events.compactMap { Bus.convertKeyValue(K.finishLoading, $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(),
  68. { $0.finishLoading = true },
  69. { $0.finishLoading = false }
  70. )
  71. ctrl.pipeValue(
  72. dbg: "isL",
  73. sub: nil,
  74. Bus.events.compactMap { Bus.convertKeyValue(K.isLoading, $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(),
  75. {
  76. $0.isLoading.value = $1
  77. $0.isLoading.isRecent = true
  78. },
  79. { m, _ in m.isLoading.isRecent = false }
  80. )
  81. ctrl.pipe(
  82. dbg: "join",
  83. sub: nil,
  84. Bus.events.compactMap { Bus.convertKeyValue(K.join, $0) }.map { (k: String, v: Bool) in v }.eraseToAnyPublisher(),
  85. { $0.join = true },
  86. { $0.join = false }
  87. )
  88. ctrl.pipeValue(
  89. dbg: "textUI",
  90. sub: nil,
  91. Bus.events.compactMap { Bus.convertKeyValue(K.textUI, $0) }.map { (k: String, v: String) in v }.eraseToAnyPublisher(),
  92. {
  93. $0.textUI.value = $1
  94. $0.textUI.isRecent = true
  95. },
  96. { m, _ in m.textUI.isRecent = false }
  97. )
  98. }
  99. }
  100. }