streamQuery method
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);
});
}