deepMerge method

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

New map where other wins and nested maps are merged too. defaults.deepMerge(overrides)

Implementation

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