tipsy
08/01/2017, 4:44 PMfun mapKeysOrReturnNullIfAnyNulls(keys: Array<out String>, f: (s: String) -> String?): List<String>? = try {
keys.map { f.invoke(it) }.requireNoNulls().toList()
} catch (e: IllegalArgumentException) {
null
}
michaelsims
08/01/2017, 4:52 PM@Suppress("UNCHECKED_CAST")
fun Array<out String>.mapKeysOrReturnNullIfAnyNulls(f: (s: String) -> String?): List<String>? =
map(f).takeIf { it.all { it != null }} as List<String>?