performSortInIsolate function

List<int> performSortInIsolate(
  1. SortParameters params
)

Top-level function that performs sorting in an isolate Must be top-level or static to work with compute()

Implementation

List<int> performSortInIsolate(SortParameters params) {
  final indices = List<int>.generate(params.rowCount, (i) => i);

  indices.sort((aIdx, bIdx) {
    final aValue = params.columnValues[aIdx];
    final bValue = params.columnValues[bIdx];

    final comparison = _compareValues(aValue, bValue);

    if (comparison != 0) {
      return params.direction == SortDirection.ascending ? comparison : -comparison;
    }
    return 0;
  });

  return indices;
}