intersect

This commit is contained in:
2021-11-17 14:22:45 +06:00
parent aa45a4ab13
commit fb63de7568
4 changed files with 39 additions and 0 deletions

View File

@@ -5,3 +5,13 @@ plugins {
}
apply from: "$mppProjectWithSerializationPresetPath"
kotlin {
sourceSets {
commonMain {
dependencies {
api project(":micro_utils.common")
}
}
}
}

View File

@@ -1,5 +1,6 @@
package dev.inmo.micro_utils.pagination
import dev.inmo.micro_utils.common.intersect
import kotlin.math.ceil
import kotlin.math.floor
@@ -27,6 +28,12 @@ interface Pagination : ClosedRange<Int> {
get() = lastIndex
}
fun Pagination.intersect(
other: Pagination
): Pagination? = (this as ClosedRange<Int>).intersect(other as ClosedRange<Int>) ?.let {
PaginationByIndexes(it.first, it.second)
}
/**
* Logical shortcut for comparison that page is 0
*/