{"id":15040924,"url":"https://github.com/05nelsonm/component-request","last_synced_at":"2025-04-14T19:34:37.470Z","repository":{"id":39443096,"uuid":"386803970","full_name":"05nelsonm/component-request","owner":"05nelsonm","description":"Kotlin Multiplatform library for modularized processing of requests, agnostic of type. A light weight framework that is highly customizable.","archived":false,"fork":false,"pushed_at":"2023-01-09T11:50:40.000Z","size":380,"stargazers_count":4,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T07:51:16.218Z","etag":null,"topics":["android","android-lib","android-libraries","android-library","android-libs","kotlin","kotlin-android","kotlin-multiplatform","kotlin-multiplatform-library","kotlin-multiplatform-mobile"],"latest_commit_sha":null,"homepage":"https://kotlin-components.matthewnelson.io","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/05nelsonm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-17T01:12:08.000Z","updated_at":"2023-06-03T19:59:15.000Z","dependencies_parsed_at":"2023-02-08T10:31:22.615Z","dependency_job_id":null,"html_url":"https://github.com/05nelsonm/component-request","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/05nelsonm%2Fcomponent-request","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/05nelsonm%2Fcomponent-request/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/05nelsonm%2Fcomponent-request/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/05nelsonm%2Fcomponent-request/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/05nelsonm","download_url":"https://codeload.github.com/05nelsonm/component-request/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248946519,"owners_count":21187515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-lib","android-libraries","android-library","android-libs","kotlin","kotlin-android","kotlin-multiplatform","kotlin-multiplatform-library","kotlin-multiplatform-mobile"],"created_at":"2024-09-24T20:45:17.435Z","updated_at":"2025-04-14T19:34:37.430Z","avatar_url":"https://github.com/05nelsonm.png","language":"Kotlin","readme":"# component-request\n[![badge-license]][url-license]\n[![badge-latest-release]][url-latest-release]\n\n[![badge-kotlin]][url-kotlin]\n[![badge-coroutines]][url-coroutines]\n\n![badge-platform-android]\n![badge-platform-jvm]\n![badge-platform-js]\n![badge-platform-js-node]\n![badge-platform-linux]\n![badge-platform-macos]\n![badge-platform-ios]\n![badge-platform-tvos]\n![badge-platform-watchos]\n![badge-platform-windows]\n![badge-support-apple-silicon]\n![badge-support-js-ir]\n\nAgnostic and modularized framework for facilitating multi-module requests\nwhereby module decoupling can be maximized. See the sample android project\nwhere it is used for navigation.\n\nA full list of `kotlin-components` projects can be found [HERE](https://kotlin-components.matthewnelson.io)\n\n### Get Started\n\n\u003c!-- TAG_VERSION --\u003e\n\n```kotlin\n// build.gradle.kts\ndependencies {\n    val vRequest = \"3.0.6\"\n\n    // `request-feature` will provide `request-concept`\n    implementation(\"io.matthewnelson.kotlin-components:request-feature:$vRequest\")\n\n    // If your project is modularized and/or you only need the abstractions\n    implementation(\"io.matthewnelson.kotlin-components:request-concept:$vRequest\")\n\n\n    // EXTENSIONS - navigation\n\n    // navigation extension (provides `request-concept`)\n    implementation(\"io.matthewnelson.kotlin-components:request-extension-navigation:$vRequest\")\n\n    // alternatively, use the androidx navigation library extension (provides\n    // `request-extension-navigation`). (android target only)\n    implementation(\"io.matthewnelson.kotlin-components:request-extension-navigation-androidx:$vRequest\")\n}\n```\n\n\u003c!-- TAG_VERSION --\u003e\n\n```groovy\n// build.gradle\ndependencies {\n    def vRequest = \"3.0.6\"\n\n    // `request-feature` will provide `request-concept`\n    implementation \"io.matthewnelson.kotlin-components:request-feature:$vRequest\"\n\n    // If your project is modularized and/or you only need the abstractions\n    implementation \"io.matthewnelson.kotlin-components:request-concept:$vRequest\"\n\n\n    // EXTENSIONS - navigation\n\n    // navigation extension (provides `request-concept`)\n    implementation \"io.matthewnelson.kotlin-components:request-extension-navigation:$vRequest\"\n\n    // alternatively, use the androidx navigation library extension (provides\n    // `request-extension-navigation`). (android target only)\n    implementation \"io.matthewnelson.kotlin-components:request-extension-navigation-androidx:$vRequest\"\n}\n```\n\n### Kotlin Version Compatibility\n\n**Note:** as of `3.0.0`, the experimental memory model for Kotlin Native is enabled.\n\n\u003c!-- TAG_VERSION --\u003e\n\n| request | kotlin | kotlinx-coroutines |\n|:-------:|:------:|:------------------:|\n|  3.0.6  | 1.8.0  |       1.6.4        |\n|  3.0.5  | 1.7.20 |       1.6.4        |\n|  3.0.4  | 1.6.21 |       1.6.3        |\n|  3.0.3  | 1.6.21 |       1.6.1        |\n|  3.0.2  | 1.6.21 |       1.6.1        |\n|  3.0.1  | 1.6.10 |       1.6.0        |\n|  3.0.0  | 1.6.10 |       1.6.0        |\n|  2.0.0  | 1.5.31 |       1.5.2        |\n\n### Git\n\nThis project utilizes git submodules. You will need to initialize them when \ncloning the repository via:\n\n```bash\n$ git clone --recursive https://github.com/05nelsonm/component-request.git\n```\n\nIf you've already cloned the repository, run:\n```bash\n$ git checkout master\n$ git pull\n$ git submodule update --init\n```\n\nIn order to keep submodules updated when pulling the latest code, run:\n```bash\n$ git pull --recurse-submodules\n```\n\n\u003c!-- TAG_VERSION --\u003e\n[badge-latest-release]: https://img.shields.io/badge/latest--release-3.0.6-blue.svg?style=flat\n[badge-license]: https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat\n\n\u003c!-- TAG_DEPENDENCIES --\u003e\n[badge-kotlin]: https://img.shields.io/badge/kotlin-1.8.0-blue.svg?logo=kotlin\n[badge-coroutines]: https://img.shields.io/badge/coroutines-1.6.4-blue.svg?logo=kotlin\n\n\u003c!-- TAG_PLATFORMS --\u003e\n[badge-platform-android]: http://img.shields.io/badge/-android-6EDB8D.svg?style=flat\n[badge-platform-jvm]: http://img.shields.io/badge/-jvm-DB413D.svg?style=flat\n[badge-platform-js]: http://img.shields.io/badge/-js-F8DB5D.svg?style=flat\n[badge-platform-js-node]: https://img.shields.io/badge/-nodejs-68a063.svg?style=flat\n[badge-platform-linux]: http://img.shields.io/badge/-linux-2D3F6C.svg?style=flat\n[badge-platform-macos]: http://img.shields.io/badge/-macos-111111.svg?style=flat\n[badge-platform-ios]: http://img.shields.io/badge/-ios-CDCDCD.svg?style=flat\n[badge-platform-tvos]: http://img.shields.io/badge/-tvos-808080.svg?style=flat\n[badge-platform-watchos]: http://img.shields.io/badge/-watchos-C0C0C0.svg?style=flat\n[badge-platform-wasm]: https://img.shields.io/badge/-wasm-624FE8.svg?style=flat\n[badge-platform-windows]: http://img.shields.io/badge/-windows-4D76CD.svg?style=flat\n[badge-support-android-native]: http://img.shields.io/badge/support-[AndroidNative]-6EDB8D.svg?style=flat\n[badge-support-apple-silicon]: http://img.shields.io/badge/support-[AppleSilicon]-43BBFF.svg?style=flat\n[badge-support-js-ir]: https://img.shields.io/badge/support-[js--IR]-AAC4E0.svg?style=flat\n\n[url-latest-release]: https://github.com/05nelsonm/component-request/releases/latest\n[url-license]: https://www.apache.org/licenses/LICENSE-2.0.txt\n[url-kotlin]: https://kotlinlang.org\n[url-coroutines]: https://github.com/Kotlin/kotlinx.coroutines\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F05nelsonm%2Fcomponent-request","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F05nelsonm%2Fcomponent-request","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F05nelsonm%2Fcomponent-request/lists"}