Skip to content

Kotlin Multiplatform library for modularized processing of requests, agnostic of type. A light weight framework that is highly customizable.

License

Notifications You must be signed in to change notification settings

05nelsonm/component-request

Repository files navigation

component-request

badge-license badge-latest-release

badge-kotlin badge-coroutines

badge-platform-android badge-platform-jvm badge-platform-js badge-platform-js-node badge-platform-linux badge-platform-macos badge-platform-ios badge-platform-tvos badge-platform-watchos badge-platform-windows badge-support-apple-silicon badge-support-js-ir

Agnostic and modularized framework for facilitating multi-module requests whereby module decoupling can be maximized. See the sample android project where it is used for navigation.

A full list of kotlin-components projects can be found HERE

Get Started

// build.gradle.kts
dependencies {
    val vRequest = "3.0.6"

    // `request-feature` will provide `request-concept`
    implementation("io.matthewnelson.kotlin-components:request-feature:$vRequest")

    // If your project is modularized and/or you only need the abstractions
    implementation("io.matthewnelson.kotlin-components:request-concept:$vRequest")


    // EXTENSIONS - navigation

    // navigation extension (provides `request-concept`)
    implementation("io.matthewnelson.kotlin-components:request-extension-navigation:$vRequest")

    // alternatively, use the androidx navigation library extension (provides
    // `request-extension-navigation`). (android target only)
    implementation("io.matthewnelson.kotlin-components:request-extension-navigation-androidx:$vRequest")
}
// build.gradle
dependencies {
    def vRequest = "3.0.6"

    // `request-feature` will provide `request-concept`
    implementation "io.matthewnelson.kotlin-components:request-feature:$vRequest"

    // If your project is modularized and/or you only need the abstractions
    implementation "io.matthewnelson.kotlin-components:request-concept:$vRequest"


    // EXTENSIONS - navigation

    // navigation extension (provides `request-concept`)
    implementation "io.matthewnelson.kotlin-components:request-extension-navigation:$vRequest"

    // alternatively, use the androidx navigation library extension (provides
    // `request-extension-navigation`). (android target only)
    implementation "io.matthewnelson.kotlin-components:request-extension-navigation-androidx:$vRequest"
}

Kotlin Version Compatibility

Note: as of 3.0.0, the experimental memory model for Kotlin Native is enabled.

request kotlin kotlinx-coroutines
3.0.6 1.8.0 1.6.4
3.0.5 1.7.20 1.6.4
3.0.4 1.6.21 1.6.3
3.0.3 1.6.21 1.6.1
3.0.2 1.6.21 1.6.1
3.0.1 1.6.10 1.6.0
3.0.0 1.6.10 1.6.0
2.0.0 1.5.31 1.5.2

Git

This project utilizes git submodules. You will need to initialize them when cloning the repository via:

$ git clone --recursive https://github.com/05nelsonm/component-request.git

If you've already cloned the repository, run:

$ git checkout master
$ git pull
$ git submodule update --init

In order to keep submodules updated when pulling the latest code, run:

$ git pull --recurse-submodules