init with pagination

This commit is contained in:
2020-09-15 18:57:41 +06:00
parent 97a83250f4
commit c6d0b0920e
22 changed files with 737 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
plugins {
id "org.jetbrains.kotlin.multiplatform"
id "org.jetbrains.kotlin.plugin.serialization"
}
apply from: "$mppProjectWithSerializationPresetPath"
kotlin {
sourceSets {
commonMain {
dependencies {
api internalProject("micro_utils.pagination.common")
}
}
}
}

View File

@@ -0,0 +1,23 @@
package dev.inmo.micro_utils.pagination
const val paginationPageKey = "ppage"
const val paginationSizeKey = "psize"
val Pagination.asUrlQueryParts
get() = mapOf(
paginationPageKey to page.toString(),
paginationSizeKey to size.toString()
)
val Pagination.asUrlQueryArrayParts
get() = arrayOf(
paginationPageKey to page.toString(),
paginationSizeKey to size.toString()
)
val Map<String, String?>.extractPagination: Pagination
get() = SimplePagination(
get(paginationPageKey) ?.toIntOrNull() ?: 0,
get(paginationSizeKey) ?.toIntOrNull() ?: defaultMediumPageSize
)