Проверка шаблона шины для iOS
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
575B

  1. import Combine
  2. public extension Bus {
  3. final class Processor<Src, Dst> {
  4. var subscriptions = [AnyCancellable]()
  5. public init(
  6. _ keyIn: String,
  7. _ keyOut: String,
  8. _ handler: @escaping ((Src) -> Dst?),
  9. opt: [Option] = []
  10. ) {
  11. Bus.process([keyIn], keyOut, handler, opt: opt, sub: &subscriptions)
  12. }
  13. public init(
  14. _ keysIn: Set<String>,
  15. _ keyOut: String,
  16. _ handler: @escaping ((Src) -> Dst?),
  17. opt: [Option] = []
  18. ) {
  19. Bus.process(keysIn, keyOut, handler, opt: opt, sub: &subscriptions)
  20. }
  21. }
  22. }