deepMerge method

Map<K, V> deepMerge(
  1. Map<K, V> other
)

Recursively merges two maps.

Implementation

Map<K, V> deepMerge(Map<K, V> other) {
  final result = Map<K, V>.from(this);
  other.forEach((key, value) {
    if (result.containsKey(key) && result[key] is Map && value is Map) {
      result[key] = (result[key] as Map).deepMerge(value as Map) as V;
    } else {
      result[key] = value;
    }
  });
  return result;
}