flatten static method

List flatten(
  1. Iterable list, {
  2. int depth = -1,
})

Flattens a nested iterable into a single-level list.

depth limits how deep to flatten; -1 means unlimited.

Implementation

static List flatten(Iterable list, {int depth = -1}) {
  final result = [];
  for (final item in list) {
    if (item is Iterable && depth != 0) {
      result.addAll(flatten(item, depth: depth - 1));
    } else {
      result.add(item);
    }
  }
  return result;
}