Andrew Gazelka
07/17/2019, 12:33 AMfun merge(initial: JsonObject, toMerge: JsonObject, overwrite: Boolean = true): JsonObject {
val result = initial.copy()
for ((k, v) in toMerge) {
val current = result[k]
if (current == null) {
result[k] = v
} else {
if (current is JsonObject) {
assert(v is JsonObject)
result[k] = merge(current, v as JsonObject, overwrite) // TODO: is this bad code
} else if (overwrite) {
result[k] = v
}
}
}
return result
}
elect
07/17/2019, 8:54 AM