deepCopyList<T> function

List<T>? deepCopyList<T>(
  1. List<T>? list
)

Deeply copies list.

Implementation

List<T>? deepCopyList<T>(List<T>? list) {
  if (list == null) return null;

  if (list is List<String>) {
    return List<String>.from(list) as List<T>;
  } else if (list is Uint8List) {
    return Uint8List.fromList(list as Uint8List) as List<T>;
  } else if (list is Int8List) {
    return Int8List.fromList(list as Int8List) as List<T>;
  } else if (list is List<int>) {
    return List<int>.from(list) as List<T>;
  } else if (list is List<double>) {
    return List<double>.from(list) as List<T>;
  } else if (list is List<num>) {
    return List<num>.from(list) as List<T>;
  } else if (list is List<bool>) {
    return List<bool>.from(list) as List<T>;
  }

  if (list.isEmpty) return <T>[];
  return list.map<T>((T e) => deepCopy(e) as T).toList();
}