30 lines
654 B
Swift
30 lines
654 B
Swift
public extension Bus {
|
||
/// Пропускаем далее единственный ключ.
|
||
static func convertKeyValue<T>(
|
||
_ 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<T>(
|
||
_ keys: Set<String>,
|
||
_ 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)
|
||
}
|
||
}
|