deepMerge function

Map<String, dynamic> deepMerge(
  1. Map<String, dynamic> base,
  2. Map<String, dynamic> update
)

Implementation

Map<String, dynamic> deepMerge(
  Map<String, dynamic> base,
  Map<String, dynamic> update,
) {
  final result = {...base};
  update.forEach((key, value) {
    if (value is Map<String, dynamic> && base[key] is Map) {
      result[key] = deepMerge(base[key], value);
    } else {
      result[key] = value;
    }
  });
  return result;
}