deepCopy method

Set deepCopy([
  1. Set? list
])

Creates a deep copy of the set, including nested maps, lists, and sets.

Implementation

Set<dynamic> deepCopy([Set<dynamic>? list]) {
  final source = list ?? this;
  final copy = <dynamic>{};

  for (final item in source) {
    switch (item) {
      case final Map<dynamic, dynamic> value:
        copy.add(value.deepCopy(value));
      case final List<dynamic> value:
        copy.add(value.deepCopy(value));
      case final Set<dynamic> value:
        copy.add(value.deepCopy(value));
      default:
        copy.add(item);
    }
  }
  return copy;
}