Проверка шаблона шины для iOS
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

MeetupId.Generated.swift 2.9KB

11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
11 meses atrás
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. }