You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
809 B
42 lines
809 B
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'num_ext.dart';
|
|
|
|
extension WidgetListExt on List<Widget> {
|
|
List<Widget> sepWidget({Widget? separate}) {
|
|
if (isEmpty) return [];
|
|
return List.generate(length * 2 - 1, (index) {
|
|
if (index.isEven) {
|
|
return this[index ~/ 2];
|
|
} else {
|
|
return separate ?? 10.wb;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
extension OddListExt<T> on List<T> {
|
|
List<T> oddList() {
|
|
List<T> newList = [];
|
|
for (var element in this) {
|
|
if (indexOf(element).isEven) {
|
|
newList.add(element);
|
|
}
|
|
}
|
|
return newList;
|
|
}
|
|
}
|
|
|
|
extension EvenListExt<T> on List<T> {
|
|
List<T> evenList() {
|
|
List<T> newList = [];
|
|
forEach((element) {
|
|
if (indexOf(element).isOdd) {
|
|
newList.add(element);
|
|
}
|
|
});
|
|
return newList;
|
|
}
|
|
}
|