public extension Bus { /// Пропускаем далее единственный ключ. static func convertKeyValue( _ key: String, _ v: (key: String, value: Any) ) -> (String, T)? { guard key == v.key, let value = v.value as? T else { return nil } return (key, value) } /// Пропускаем далее множество ключей. static func convertKeyValue( _ keys: Set, _ v: (key: String, value: Any) ) -> (String, T)? { guard keys.contains(v.key), let value = v.value as? T else { return nil } return (v.key, value) } }