diff --git a/pagination/common/src/commonMain/kotlin/dev/inmo/micro_utils/pagination/utils/IterableExtensions.kt b/pagination/common/src/commonMain/kotlin/dev/inmo/micro_utils/pagination/utils/IterableExtensions.kt index f28f1fc62f2..8c9829a150a 100644 --- a/pagination/common/src/commonMain/kotlin/dev/inmo/micro_utils/pagination/utils/IterableExtensions.kt +++ b/pagination/common/src/commonMain/kotlin/dev/inmo/micro_utils/pagination/utils/IterableExtensions.kt @@ -21,7 +21,12 @@ fun Iterable.paginate(with: Pagination): PaginationResult { } fun List.paginate(with: Pagination): PaginationResult { - return subList(maxOf(with.firstIndex, 0), minOf(with.lastIndexExclusive, size)).createPaginationResult( + val firstIndex = maxOf(with.firstIndex, 0) + val lastIndex = minOf(with.lastIndexExclusive, size) + if (firstIndex > lastIndex) { + return emptyPaginationResult() + } + return subList(firstIndex, lastIndex).createPaginationResult( with, size.toLong() )