deepMerge function

DeepPartialMap deepMerge(
  1. DeepPartialMap base,
  2. DeepPartialMap partial
)

ตัวอย่าง function สำหรับ merge default + partial config สามารถนำไปใช้กับ token / theme

Implementation

DeepPartialMap deepMerge(DeepPartialMap base, DeepPartialMap partial) {
  final result = Map<String, dynamic>.from(base);

  partial.forEach((key, value) {
    if (value is Map<String, dynamic> && result[key] is Map<String, dynamic>) {
      result[key] = deepMerge(result[key] as DeepPartialMap, value);
    } else {
      result[key] = value;
    }
  });

  return result;
}