deepCopySet<T> function

Set<T>? deepCopySet<T>(
  1. Set<T>? set
)

Deeply copies list.

Implementation

Set<T>? deepCopySet<T>(Set<T>? set) {
  if (set == null) return null;

  if (set is Set<String>) {
    return Set<String>.from(set) as Set<T>;
  } else if (set is Set<int>) {
    return Set<int>.from(set) as Set<T>;
  } else if (set is Set<double>) {
    return Set<double>.from(set) as Set<T>;
  } else if (set is Set<num>) {
    return Set<num>.from(set) as Set<T>;
  } else if (set is Set<bool>) {
    return Set<bool>.from(set) as Set<T>;
  }

  if (set.isEmpty) return <T>{};
  return set.map<T>((T e) => deepCopy(e) as T).toSet();
}