deepReverse method

List<E> deepReverse()

Returns new instance of recursively reversed List. It reverses nested List, Set or Map (primitive collections), nested primitive collections inside nested primitive collections and so on.

Implementation

List<E> deepReverse() {
  var result = <E>[];
  for (var i = length - 1; i >= 0; i--) {
    var element;
    element = elementAt(i);
    if (element is Set) {
      element = element.deepReverse();
    } else if (element is List) {
      element = element.deepReverse();
    } else if (element is Map) {
      element = element.deepReverse();
    }

    result.add(element);
  }

  return result;
}