arekolek
05/09/2018, 8:11 AMinline fun <reified K, reified V> Any?.asLinkedMap(): LinkedHashMap<K, V>? {
return (this as? Map<*, *>)
?.takeIf {
it.entries.all { (key, value) -> key is K && value is V }
}
?.map { (key, value) -> Pair(key as K, value as V) }
?.toMap(LinkedHashMap())
}
wcaokaze
05/09/2018, 9:09 AMit.values.all { it != null }
is also needed.wcaokaze
05/09/2018, 9:11 AMmapKaysTo
is not needed.wcaokaze
05/09/2018, 9:14 AMmapKeysTo
, the type of the key is not String. I was wrongarekolek
05/09/2018, 9:14 AMwcaokaze
05/09/2018, 9:34 AM