Skip to content

# MicroUtils

`MicroUtils` is a set of libraries to help me (and, I hope, you too) in some routine doings of coding.

First of all, this library collection is oriented to use next technologies:

- `Kotlin Coroutines`
- `Kotlin Serialization`
- `Kotlin Exposed`
- `Ktor`
- `Koin`
- `Korlibs`

Warning

Due to complexity of this library, it is possible that some things will be missed or inactual. Me and the users of this library will try hard to keep its docs as actual as possible, but in case you will find some inconsistency of docs and library work (signatures, behaviour, API) you may write me directly in my telegram

flowchart LR %% Project Build & Infrastructure subgraph "Project Build & Infrastructure" gradleWrapper("Gradle Wrapper & Plugins"):::buildInfra CI("CI Workflows"):::buildInfra templates("Gradle Templates"):::buildInfra end %% Core Utility Layer subgraph "Core Utility Layer" common("common"):::core colors("colors"):::core safe_wrapper("safe_wrapper"):::core resources("resources"):::core end %% Feature-Specific Modules subgraph "Feature-Specific Modules" crypto("crypto"):::feature mime_types("mime_types"):::feature language_codes("language_codes"):::feature matrix("matrix"):::feature selector("selector"):::feature transactions("transactions"):::feature end %% Asynchronous Helpers subgraph "Asynchronous Helpers" coroutines("coroutines"):::async compose("coroutines/compose"):::async end %% Serialization Helpers subgraph "Serialization Helpers" base64("serialization/base64"):::serialization encapsulator("serialization/encapsulator"):::serialization mapper("serialization/mapper"):::serialization typed_serializer("serialization/typed_serializer"):::serialization end %% Repository Abstractions subgraph "Repository Abstractions" repos_common("repos/common (API)"):::repos repos_inmemory("repos/inmemory"):::repos repos_cache("repos/cache"):::repos repos_exposed("repos/exposed"):::repos repos_ktor_client("repos/ktor/client"):::repos repos_ktor_common("repos/ktor/common"):::repos repos_ktor_server("repos/ktor/server"):::repos end %% Ktor Extensions subgraph "Ktor Extensions" ktor_common("ktor/common"):::ktor ktor_client("ktor/client"):::ktor ktor_server("ktor/server"):::ktor end %% Dependency Injection (Koin) subgraph "Dependency Injection (Koin)" koin_api("koin/src"):::di koin_generator("koin/generator"):::di end %% KSP Code-Generation Modules subgraph "KSP Code-Generation Modules" ksp_classcasts("ksp/classcasts"):::ksp ksp_sealed("ksp/sealed"):::ksp ksp_variations("ksp/variations"):::ksp ksp_generator("ksp/generator"):::ksp end %% Android UI Wrappers subgraph "Android UI Wrappers" alerts("android/alerts"):::android pickers("android/pickers"):::android recyclerview("android/recyclerview"):::android smalltextfield("android/smalltextfield"):::android end %% Startup Plugins & Templates subgraph "Startup Plugins & Templates" startup_plugin("startup/plugin"):::startup startup_launcher("startup/launcher"):::startup startup_template("startup/template"):::startup end %% Dependencies Arrows common -->|feeds into| crypto common -->|feeds into| mime_types common -->|feeds into| language_codes common -->|feeds into| matrix common -->|feeds into| selector common -->|feeds into| transactions common -->|feeds into| coroutines coroutines -->|extends| compose common -->|feeds into| base64 common -->|feeds into| encapsulator common -->|feeds into| mapper common -->|feeds into| typed_serializer common -->|feeds into| repos_common repos_common -->|implemented by| repos_inmemory repos_common -->|implemented by| repos_cache repos_common -->|implemented by| repos_exposed repos_common -->|implemented by| repos_ktor_client repos_common -->|implemented by| repos_ktor_common repos_common -->|implemented by| repos_ktor_server ktor_common -->|used by| ktor_client ktor_common -->|used by| ktor_server ksp_generator -->|used by| koin_generator ksp_generator -->|used by| ksp_classcasts ksp_generator -->|used by| ksp_sealed ksp_generator -->|used by| ksp_variations common -->|feeds into| alerts common -->|feeds into| pickers common -->|feeds into| recyclerview common -->|feeds into| smalltextfield %% Click Events click templates "https://github.com/insanusmokrassar/microutils/tree/master/gradle/templates/" click common "https://github.com/insanusmokrassar/microutils/tree/master/common/" click colors "https://github.com/insanusmokrassar/microutils/tree/master/colors/" click safe_wrapper "https://github.com/insanusmokrassar/microutils/tree/master/safe_wrapper/" click resources "https://github.com/insanusmokrassar/microutils/tree/master/resources/" click crypto "https://github.com/insanusmokrassar/microutils/tree/master/crypto/" click mime_types "https://github.com/insanusmokrassar/microutils/tree/master/mime_types/" click language_codes "https://github.com/insanusmokrassar/microutils/tree/master/language_codes/" click matrix "https://github.com/insanusmokrassar/microutils/tree/master/matrix/" click selector "https://github.com/insanusmokrassar/microutils/tree/master/selector/" click transactions "https://github.com/insanusmokrassar/microutils/tree/master/transactions/" click coroutines "https://github.com/insanusmokrassar/microutils/tree/master/coroutines/" click compose "https://github.com/insanusmokrassar/microutils/tree/master/coroutines/compose/" click base64 "https://github.com/insanusmokrassar/microutils/tree/master/serialization/base64/" click encapsulator "https://github.com/insanusmokrassar/microutils/tree/master/serialization/encapsulator/" click mapper "https://github.com/insanusmokrassar/microutils/tree/master/serialization/mapper/" click typed_serializer "https://github.com/insanusmokrassar/microutils/tree/master/serialization/typed_serializer/" click repos_common "https://github.com/insanusmokrassar/microutils/tree/master/repos/common/" click repos_inmemory "https://github.com/insanusmokrassar/microutils/tree/master/repos/inmemory/" click repos_cache "https://github.com/insanusmokrassar/microutils/tree/master/repos/cache/" click repos_exposed "https://github.com/insanusmokrassar/microutils/tree/master/repos/exposed/" click repos_ktor_client "https://github.com/insanusmokrassar/microutils/tree/master/repos/ktor/client/" click repos_ktor_common "https://github.com/insanusmokrassar/microutils/tree/master/repos/ktor/common/" click repos_ktor_server "https://github.com/insanusmokrassar/microutils/tree/master/repos/ktor/server/" click koin_api "https://github.com/insanusmokrassar/microutils/tree/master/koin/src/" click koin_generator "https://github.com/insanusmokrassar/microutils/tree/master/koin/generator/" click ksp_classcasts "https://github.com/insanusmokrassar/microutils/tree/master/ksp/classcasts/" click ksp_sealed "https://github.com/insanusmokrassar/microutils/tree/master/ksp/sealed/" click ksp_variations "https://github.com/insanusmokrassar/microutils/tree/master/ksp/variations/" click ksp_generator "https://github.com/insanusmokrassar/microutils/tree/master/ksp/generator/" click alerts "https://github.com/insanusmokrassar/microutils/tree/master/android/alerts/" click pickers "https://github.com/insanusmokrassar/microutils/tree/master/android/pickers/" click recyclerview "https://github.com/insanusmokrassar/microutils/tree/master/android/recyclerview/" click smalltextfield "https://github.com/insanusmokrassar/microutils/tree/master/android/smalltextfield/" click startup_plugin "https://github.com/insanusmokrassar/microutils/tree/master/startup/plugin/" click startup_launcher "https://github.com/insanusmokrassar/microutils/tree/master/startup/launcher/" click startup_template "https://github.com/insanusmokrassar/microutils/tree/master/startup/template/" %% Styles %% classDef buildInfra fill:#eee,stroke:#666,stroke-width:1px; %% classDef core fill:#cce5ff,stroke:#004085,stroke-width:1px; %% classDef feature fill:#e2e3e5,stroke:#636f83,stroke-width:1px; %% classDef async fill:#d1ecf1,stroke:#0c5460,stroke-width:1px; %% classDef serialization fill:#fff3cd,stroke:#856404,stroke-width:1px; %% classDef repos fill:#d4edda,stroke:#155724,stroke-width:1px; %% classDef ktor fill:#ffe5b4,stroke:#ff8c00,stroke-width:1px; %% classDef di fill:#f5c6cb,stroke:#721c24,stroke-width:1px; %% classDef ksp fill:#f8d7da,stroke:#721c24,stroke-width:1px; %% classDef android fill:#e2e7ec,stroke:#1f2a36,stroke-width:1px; %% classDef startup fill:#f0f3bd,stroke:#a2a04f,stroke-width:1px;

Generated with gitdiagram and edited then