streamQuery method

  1. @override
Stream<List<T>> streamQuery({
  1. Query query = const AllQuery(),
})
override

Creates a real-time stream of query results.

Implementation

@override
Stream<List<T>> streamQuery({Query query = const AllQuery()}) {
  var firestoreQuery = nativeQuery;
  if (firestoreQuery == null) {
    if (query is AllQuery) {
      firestoreQuery = store.collection(path);
    } else {
      firestoreQuery ??= queryBuilder?.build(query);
    }
  }
  assert(firestoreQuery != null, 'query missing, native or builder required');
  return firestoreQuery!.snapshots().map((snapshot) {
    return snapshot.docs
        .map(
          (snapshot) => fromFirestore(
            snapshot.reference,
            RepositoryFirestore.typeConversionFromFirebase.convert(
              source: snapshot.data(),
            ),
          ),
        )
        .toList(growable: false);
  });
}