diff options
Diffstat (limited to 'src/main/kotlin')
-rw-r--r-- | src/main/kotlin/moe/nea/firm/EnumRenderer.kt | 8 | ||||
-rw-r--r-- | src/main/kotlin/moe/nea/firm/ManagedConfig.kt | 8 | ||||
-rw-r--r-- | src/main/kotlin/moe/nea/firm/ManagedOption.kt | 10 | ||||
-rw-r--r-- | src/main/kotlin/moe/nea/firm/User.kt | 19 |
4 files changed, 4 insertions, 41 deletions
diff --git a/src/main/kotlin/moe/nea/firm/EnumRenderer.kt b/src/main/kotlin/moe/nea/firm/EnumRenderer.kt index 3ffd6d3..03f5f95 100644 --- a/src/main/kotlin/moe/nea/firm/EnumRenderer.kt +++ b/src/main/kotlin/moe/nea/firm/EnumRenderer.kt @@ -1,13 +1,7 @@ package moe.nea.firm interface EnumRenderer<E: Any> { - fun getName(option: ManagedOption<E>, value: E): String companion object { - fun <E: Enum<E>> default() = object: EnumRenderer<E> { - override fun getName(option: ManagedOption<E>, value: E): String { - return value.name.lowercase() - } - - } + fun <E: Enum<E>> default() = object: EnumRenderer<E> {} } }
\ No newline at end of file diff --git a/src/main/kotlin/moe/nea/firm/ManagedConfig.kt b/src/main/kotlin/moe/nea/firm/ManagedConfig.kt index 0c2b8b4..741d6aa 100644 --- a/src/main/kotlin/moe/nea/firm/ManagedConfig.kt +++ b/src/main/kotlin/moe/nea/firm/ManagedConfig.kt @@ -4,16 +4,14 @@ import ext.StringIdentifiable import kotlin.enums.enumEntries -abstract class ManagedConfig(val identifier: String) { +abstract class ManagedConfig { protected fun <E : Any> choice( codec: Codec<E>, renderer: EnumRenderer<E>, - ): ManagedOption<E> { - return TODO() - } + ) {} protected inline fun <reified E> choice( - ): ManagedOption<E> where E : Enum<E>, E : StringIdentifiable { + ) where E : Enum<E>, E : StringIdentifiable { return choice( StringIdentifiable.createCodec { enumValues<E>() }, EnumRenderer.default(), diff --git a/src/main/kotlin/moe/nea/firm/ManagedOption.kt b/src/main/kotlin/moe/nea/firm/ManagedOption.kt deleted file mode 100644 index d51d693..0000000 --- a/src/main/kotlin/moe/nea/firm/ManagedOption.kt +++ /dev/null @@ -1,10 +0,0 @@ -package moe.nea.firm - -import kotlin.properties.ReadOnlyProperty -import kotlin.reflect.KProperty - -class ManagedOption<T : Any> : ReadOnlyProperty<Any?, T> { - override fun getValue(thisRef: Any?, property: KProperty<*>): T { - return TODO() - } -} diff --git a/src/main/kotlin/moe/nea/firm/User.kt b/src/main/kotlin/moe/nea/firm/User.kt deleted file mode 100644 index 080f93a..0000000 --- a/src/main/kotlin/moe/nea/firm/User.kt +++ /dev/null @@ -1,19 +0,0 @@ -package moe.nea.firm - -import ext.StringIdentifiable -import kotlin.enums.enumEntries - -object User : ManagedConfig("test") { - val option by choice<TestEnum>() - val optionAlt by choice<TestEnum>(enumEntries<TestEnum>(), - StringIdentifiable.createCodec { enumValues<TestEnum>() }, - EnumRenderable.default(), - ) - - enum class TestEnum : StringIdentifiable { - A, B, C; - } -} -fun main() { - User.option -} |