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

30 lines
654B

  1. public extension Bus {
  2. /// Пропускаем далее единственный ключ.
  3. static func convertKeyValue<T>(
  4. _ key: String,
  5. _ v: (key: String, value: Any)
  6. ) -> (String, T)? {
  7. guard
  8. key == v.key,
  9. let value = v.value as? T
  10. else {
  11. return nil
  12. }
  13. return (key, value)
  14. }
  15. /// Пропускаем далее множество ключей.
  16. static func convertKeyValue<T>(
  17. _ keys: Set<String>,
  18. _ v: (key: String, value: Any)
  19. ) -> (String, T)? {
  20. guard
  21. keys.contains(v.key),
  22. let value = v.value as? T
  23. else {
  24. return nil
  25. }
  26. return (v.key, value)
  27. }
  28. }