sortBy function

List sortBy(
  1. List objects,
  2. FlutterFileUtilsSorting? by, {
  3. bool reversed = false,
})

Implementation

List<dynamic> sortBy(List<dynamic> objects, FlutterFileUtilsSorting? by,
    {bool reversed: false}) {
  switch (by) {
    case FlutterFileUtilsSorting.Alpha:
      objects
          .sort((a, b) => getBaseName(a.path).compareTo(getBaseName(b.path)));
      break;

    case FlutterFileUtilsSorting.Date:
      objects.sort((a, b) {
        return a
            .statSync()
            .modified
            .millisecondsSinceEpoch
            .compareTo(b.statSync().modified.millisecondsSinceEpoch);
      });
      break;

    case FlutterFileUtilsSorting.Size:
      objects.sort((a, b) {
        return a.statSync().size.compareTo(b.statSync().size);
      });
      break;

    case FlutterFileUtilsSorting.Type:
      objects.sort((a, b) {
        return pathlib.extension(a.path).compareTo(pathlib.extension(b.path));
      });

      break;
    default:
      objects
          .sort((a, b) => getBaseName(a.path).compareTo(getBaseName(b.path)));
  }
  if (reversed == true) {
    return objects.reversed.toList();
  }
  return objects;
}