ItemId<T extends Object> typedef

ItemId<T extends Object> = Object Function(T item)

Extracts a stable identity key from an item, for de-duplicating overlapping pages.

Passed to ListSmith.async as itemId. Any item whose key already appeared is dropped before it renders, so an offset-based source whose pages overlap doesn't show a row twice. Keys compare by == / hashCode, so use an int, a String, or a composite like '${item.a}:${item.b}'. Null (the default) de-duplicates nothing.

Implementation

typedef ItemId<T extends Object> = Object Function(T item);