providerQueueMove function

List<ProviderQueueEntry> providerQueueMove(
  1. List<ProviderQueueEntry> entries,
  2. int index,
  3. int newIndex
)

Moves the entry at index to newIndex (reorder/move-to-head).

Implementation

List<ProviderQueueEntry> providerQueueMove(
  List<ProviderQueueEntry> entries,
  int index,
  int newIndex,
) {
  if (index < 0 || index >= entries.length) {
    throw RangeError.index(index, entries, 'index', null, entries.length);
  }
  if (newIndex < 0 || newIndex >= entries.length) {
    throw RangeError.index(newIndex, entries, 'newIndex', null, entries.length);
  }
  final next = [...entries];
  final entry = next.removeAt(index);
  next.insert(newIndex, entry);
  return next;
}