listenModel<T> method
Stream<T?>
listenModel<
T>({ - required DocumentReference<Object?> ref,
- required T fromMap(
- Map<String, dynamic>
),
})
override
Implementation
@override
Stream<T?> listenModel<T>({
required DocumentReference ref,
required T Function(Map<String, dynamic>) fromMap,
}) async* {
try {
yield* ref.snapshots().map((event) {
final data = event.data();
return data != null ? fromMap(data as Map<String, dynamic>) : null;
});
} catch (error) {
_logError('listenModel', error, {'ref': ref, 'id': ref.id});
throw FirebaseServiceException(
'Error listening to model', 'listenModel', error);
}
}