/kc

A fast and type-safe configuration library for Kotlin.

Primary LanguageKotlinMIT LicenseMIT

KC

A fast and type-safe configuration library for Kotlin.

Gradle Installation

repositories {
    maven { url 'http://repo.kunalsheth.info' }
}

dependencies {
    compile group: 'info.kunalsheth.kc', name: 'kc', version: '0.0.1'
}

Usage

  • The KC object manages all configuration values.
  • Delegate "static" properties to KC using kc(default: T).
fun main(args: Array<String>) {
    MySingleton.myString = "modified 1"
    assert(MySingleton.myString == KC[MySingleton::myString])

    KC[MySingleton::myString] = "modified 2"
    assert(MySingleton.myString == KC[MySingleton::myString])
}

object MySingleton {
    val myDouble by kc(PI)
    val myFloat by kc(PI.toFloat())
    val myLong by kc(1234567891011121314)
    val myInt by kc(123456789)
    val myChar by kc(Typography.cent)
    val myShort by kc(12345.toShort())
    val myByte by kc(123.toByte())
    var myString by kc("Hello World")
}

Todo List

  • Make it work.
  • Optimize it.
  • Publish on Maven Central.