Collection of tools for coding in Kotlin
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
InsanusMokrassar a1830ebb82
Merge pull request #269 from InsanusMokrassar/0.19.2
0.19.2
3 days ago
.github/workflows remove redundant fix of android 32 dx files from worflows 6 months ago
android migration onto toml 1 year ago
common improve old diff API 1 month ago
coroutines start 0.18.1 and add SmartMutex 1 month ago
crypto update dependencies 2 weeks ago
dokka fixes in source roots of dokka 6 months ago
fsm Update DefaultStatesManager.kt 3 months ago
gradle Update libs.versions.toml 3 days ago
koin Koin.get and Scope.get with opportunity to get dependency by its type and definition 2 weeks ago
ktor update dependencies 2 weeks ago
language_codes Update build.gradle 4 months ago
matrix update matrix test 2 years ago
mime_types experimentally add linuxx64 and mingwx64 as target platforms 2 months ago
pagination improvements in ReadKeyValueFromCRUDRepo 4 months ago
repos Revert "Get back some functional of "trying to update up to gradle wrapper 8.1.1"" 1 month ago
safe_wrapper improve default runCatchingSafely/safelyWithResult and add suspend variances of safe/unsafe SafeWrapper interface 6 months ago
selector/common migration onto toml 1 year ago
serialization add android manifest to mapper module 3 months ago
startup fixes 4 weeks ago
.gitignore ignore kotlin-js-store folder 1 year ago
CHANGELOG.md Update CHANGELOG.md 3 days ago
LICENSE Initial commit 3 years ago
README.md update readme 2 years ago
_config.yml Set theme jekyll-theme-cayman 3 years ago
build.gradle update dependencies and fill changelog 2 months ago
build_and_publish.sh update publishing scripts 3 years ago
changelog_parser.sh Update and rename changelog_info_retriever to changelog_parser.sh 3 years ago
defaultAndroidSettings.gradle Revert "Get back some functional of "trying to update up to gradle wrapper 8.1.1"" 1 month ago
extensions.gradle add support of native in startup 2 months ago
github_release.gradle Update github_release.gradle 11 months ago
gradle.properties start 0.19.2 3 days ago
gradlew init with pagination 3 years ago
gradlew.bat init with pagination 3 years ago
jvm.publish.gradle Revert "Get back some functional of "trying to update up to gradle wrapper 8.1.1"" 1 month ago
jvm.publish.kpsb add generator for koin definitions 3 months ago
mppAndroidProject.gradle updates in scripts and update core ktx 2 years ago
mppJavaProject.gradle updates in scripts and update core ktx 2 years ago
mppJvmJsLinuxMingwProject.gradle add support of native in startup 2 months ago
mppProjectWithSerialization.gradle experimentally add linuxx64 and mingwx64 as target platforms 2 months ago
mppProjectWithSerializationAndCompose.gradle now all android modules depends on jvm 3 months ago
publish.gradle Revert "Get back some functional of "trying to update up to gradle wrapper 8.1.1"" 1 month ago
publish.kpsb add gitea repo 7 months ago
renovate.json Add renovate.json 2 months ago
settings.gradle Revert "Get back some functional of "trying to update up to gradle wrapper 8.1.1"" 1 month ago

README.md

MicroUtils

This is a library with collection of tools for working in Kotlin environment. First of all, this library collection is oriented to use next technologies:

Android environment

You always can look at the properties file to get information about current project dependencies, compile and build tools for Android target.

Projects

  • common contains common tools for platform which usually are absent out-of-the-box when you starting project
  • selector contains tools to use Selector interface with things like RecyclerView in android or other selection needs
  • coroutines is a module for Kotlin Coroutines with different things like subscribing on flows (onEach + launchIn shortcut :) )
  • ktor is a set of modules for clients and servers
  • mime_types is NOT lightweight set of MimeTypes with a lot of different objected and serializable (with Kotlin Serialization) mime types
  • pagination is a complex of modules (explanation in Complex modules structure section) for lightweight pagination
  • serialization is a collection of projects with serializers for kotlinx.serialization
  • repos is a complex of modules (explanation in Complex modules structure section) for KeyValue/OneToMany/CRUD repos created to be able to exclude some heavy dependencies when you need some simple and lightweight typical repositories

Complex modules structure

Most of complex modules are built with next hierarchy:

  • common submodule for API things which are common for all platforms
  • exposed submodule contains realizations for exposed tables
  • ktor submodule is usually unavailable directly, because it contains its own submodules for clients and servers
    • common part contains routes which are common for clients and servers
    • client submodule contains clients which are usually using UnifiedRequester to make requests using routes from ktor/common module and some internal logic of requests
    • server submodule (in most cases JVM-only) contains some extensions for Route instances which usually will give opportunity to proxy internet requests from ktor/client realization to some proxy object