onData property
Handles data updates from the Firestore stream.
Updates the local state when new data arrives from Firestore.
If user
is null, clears the local state.
Implementation
@override
Future<void> Function(List<T>? value, User? user) get onData {
return (value, user) async {
final docs = value ?? [];
if (user != null) {
log.debug('Updating docs for user ${user.uid}');
docsPerIdInformer.update(
docs.toIdMap((element) => element.id),
);
_isReady.completeIfNotComplete();
log.debug('Updated ${docs.length} docs');
} else {
log.debug('User is null, clearing docs');
docsPerIdInformer.update(
{},
);
}
};
}