dave08
fun MutableMap<String, Any>.mergeWith(mapOverride: Map<String, Any>?) { entries.forEach { baseMap -> val mainValue = baseMap.value if (mainValue is String) { val resolved = mapOverride?.get(baseMap.key) as? String resolved?.let { this.put(baseMap.key, resolved) } } else if (mainValue is Set<*>) { val resolved = mapOverride?.get(baseMap.key) as? Set<String> resolved?.let { this.put(baseMap.key, (mainValue as Set<String>).union(resolved)) } } } }
A modern programming language that makes developers happier.