what about something like:

items.where((i) => !i.done).length ?