| 1 | extension EnhancedList<T> on Iterable<T> { |
| 2 | T? firstWhereOrNull(bool Function(T element) test) { |
| 3 | try { |
| 4 | return firstWhere(test); |
| 5 | } catch (e) { |
| 6 | return null; |
| 7 | } |
| 8 | } |
| 9 | } |
| 10 | |
| 11 | String middleTruncate(String s, int head, int tail) { |
| 12 | if (s.length <= head + tail + 3) return s; |
| 13 | return s.substring(0, head) + '...' + s.substring(s.length - tail); |
| 14 | } |