deepMerge method
Recursively merges two maps.
Nested maps are merged key-by-key; any other value from other wins.
Implementation
Map<K, V> deepMerge(Map<K, V> other) {
final result = Map<K, V>.from(this);
other.forEach((key, value) {
final existing = result[key];
if (existing is Map && value is Map) {
result[key] = Map<dynamic, dynamic>.from(existing)
.deepMerge(Map<dynamic, dynamic>.from(value)) as V;
} else {
result[key] = value;
}
});
return result;
}