mirror of
https://github.com/InsanusMokrassar/SDI.git
synced 2024-11-23 18:48:52 +00:00
Simple dependency injection, based on KotlinSerialization
gradle/wrapper | ||
src | ||
.gitignore | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
maven.publish.gradle | ||
publish.gradle | ||
README.md | ||
settings.gradle |
SDI
It is simple (in comparison with other systems) DI, which aim to be compatible and predictable.
Availability platforms
- JVM
- JS
- Native
Required environment
To use this library you will need two things:
- Json serializer
- Json config
Unfortunately, currently not supported other formats (due to issue in Kotlinx.serialization)
Rules
Full examples of usage you can find in tests. In two words, there are a few rules for constructing of config:
- Config root is an Json Object
- Config root names will be used as dependency names
- In the config dependency names can be used everywhere
- In places, where dependency will be injected, must be used
@ContextualSerializer
annotation or@Serializer(ContextSerializer::class)