mnemo_cards/lib/utils/iterable_helper.dart

29 lines
668 B
Dart
Raw Normal View History

2024-05-22 20:48:44 +00:00
import 'dart:math';
import 'package:flutter/material.dart';
extension IterableHelper<T> on Iterable<T> {
T? firstWhereOrNull(bool Function(T) test) => where(test).firstOrNull;
}
extension NullableIterableHelper<T> on Iterable<T?> {
Iterable<T> whereNotNull() => where((element) => element != null).cast();
}
extension ListHelper<T> on List<T> {
// List<T> shuffle([int? seed]) {
// Random r = Random(seed);
// var items = [...this];
// for (var i = length - 1; i > 0; i--) {
// var n = r.nextInt(i + 1);
//
// var temp = items[i];
// items[i] = items[n];
// items[n] = temp;
// }
//
// return items;
// }
}