I got annoyed that a lot of stuff sucked and/or wasn't multiplatform so I made a repo with everything I need and also multiplatform for everything.
Everything is licensed BSD 3-Clause (NON-AI), PRs are welcome.
- Multiplatform WeakRef/WeakMap/WeakValueMap
- Binary editing tools (ByteArray only)
- Kotlinx.coroutines GraphQL implementation
- Only server is multiplatform
- Subscriptions use the
graphql-transport-ws
protocol. - JVM-only codegen is provided in the
graphql-client-codegen
directory.
- Validation library
- URI
- Domain
- Logger
- Uses SLF4J on JVM/Android
- BigNum (A loose port of OmegaNum)
repositories {
maven("https://maven.martmists.com/releases")
}
dependencies {
implementation("com.martmists.multiplatform-everything:multiplatform-everything:1.2.0")
}
Alternatively you can just lift the code you need as-is, provided you respect the LICENSE file.
Note: For BigNum, you need to enable
CustomEqualsInValueClasses
:withType<KotlinCompile> { compilerOptions { jvmTarget = JvmTarget.JVM_17 freeCompilerArgs.add("-XXLanguage:+CustomEqualsInValueClasses") } }