deepCopy method
Creates a deep copy of the map, including nested maps, lists, and sets.
Implementation
Map<dynamic, dynamic> deepCopy([Map<dynamic, dynamic>? map]) {
final source = map ?? this;
final copy = <dynamic, dynamic>{};
for (final entry in source.entries) {
final key = entry.key;
final value = entry.value;
switch (value) {
case final Map<dynamic, dynamic> value:
copy[key] = deepCopy(value);
case final List<dynamic> value:
copy[key] = value.deepCopy(value);
case final Set<dynamic> value:
copy[key] = value.deepCopy(value);
default:
copy[key] = value;
}
}
return copy;
}