deletedIds<ID, E> function

Iterable<ID> deletedIds<ID, E>(
  1. Iterable<E> previous,
  2. Iterable<E> current,
  3. ID toID(
    1. int index,
    2. E element
    )
)

Returns the IDs present in previous but not in current.

Used internally by ForEachStore to clean up cached widgets for removed elements.

Implementation

Iterable<ID> deletedIds<ID, E>(
  Iterable<E> previous,
  Iterable<E> current,
  ID Function(int index, E element) toID,
) {
  final previousIds = previous.mapIndexed(toID).toSet();
  final currentIds = current.mapIndexed(toID).toSet();

  return previousIds.difference(currentIds);
}