groostav
10/04/2019, 10:31 PMKClass<T>
+ `value: String`into an instance of T
, given that you know T
is a reasonable value type (Double
, Int
, Enum
, or String
)?groostav
10/04/2019, 10:32 PMfun KType.fromString(valueString: String) = when(val typeClassifier = classifier){
Double::class -> valueString.toDouble()
Int::class -> valueString.toInt()
String::class -> valueString
is KClass<*> -> {
if(Enum::class.isSuperclassOf(typeClassifier)){
Enum.valueOf()
}
TODO()
else -> TODO("$valueString as $typeClassifier")
}
Nikky
10/07/2019, 5:09 PMgroostav
10/07/2019, 7:41 PMsandwwraith
10/16/2019, 2:13 PMJson.parse(kclass.serializer(), string)
would probably do the trick due to https://github.com/Kotlin/kotlinx.serialization/blob/master/runtime/commonMain/src/kotlinx/serialization/internal/Primitives.kt#L106 (except enums)