Index: pkg/stack_trace/lib/src/utils.dart |
diff --git a/pkg/stack_trace/lib/src/utils.dart b/pkg/stack_trace/lib/src/utils.dart |
index 08b3b960ec8a9599c0c57f6f44bc455d81680bf6..62a282085662d84baf6db0b38e3dc669c838f4ea 100644 |
--- a/pkg/stack_trace/lib/src/utils.dart |
+++ b/pkg/stack_trace/lib/src/utils.dart |
@@ -18,3 +18,19 @@ String padRight(String string, int length) { |
return result.toString(); |
} |
+/// Flattens nested lists inside an iterable into a single list containing only |
+/// non-list elements. |
+List flatten(Iterable nested) { |
+ var result = []; |
+ helper(list) { |
+ for (var element in list) { |
+ if (element is List) { |
+ helper(element); |
+ } else { |
+ result.add(element); |
+ } |
+ } |
+ } |
+ helper(nested); |
+ return result; |
+} |