areMoreElementsAvailable<T> method
Future<bool>
areMoreElementsAvailable<
T>({ - required Query<Object?> query,
- required DocumentSnapshot<Object?> lastDocumentSnapshot,
- required T onDocumentSnapshot(
- DocumentSnapshot<Object?> documentSnapshot
),
})
Implementation
Future<bool> areMoreElementsAvailable<T>({
required Query query,
required DocumentSnapshot lastDocumentSnapshot,
required T Function(DocumentSnapshot documentSnapshot) onDocumentSnapshot,
}) async {
_loggingService.log('FirestoreGenericService.areMoreElementsAvailable: Last Document ID: ${lastDocumentSnapshot.id}');
final List<T>? elements = await getElements<T>(
query: query..limit(1),
logReference: 'FirestoreGenericService.areMoreElementsAvailable',
onDocumentSnapshot: (documentSnapshot) => onDocumentSnapshot(documentSnapshot),
lastDocumentSnapshot: lastDocumentSnapshot,
);
if (elements == null || elements.isEmpty) {
_loggingService.log('FirestoreGenericService.areMoreElementsAvailable: No more elements');
return false;
} else {
_loggingService.log('FirestoreGenericService.areMoreElementsAvailable: More elements exists.');
return true;
}
}