listenModel<T> method

  1. @override
Stream<T?> listenModel<T>({
  1. required DocumentReference<Object?> ref,
  2. required T fromMap(
    1. 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);
  }
}