Given the following Kotlin enum:
@kotlinx.serialization.Serializable
enum class MyEnum {
@SerialName("One") ONE,
@SerialName("Two") TWO,
@SerialName("Three") THREE
}
I can call the following generated function:
MyEnum.serialize()
Sometimes I need to pipe this through an kotlinx.serialization.builtins.ArraySerializer
:
ArraySerializer(MyEnum.serializer())
Which could be wrapped in an extension function:
inline fun <reified T : Any> KSerializer<T>.asArray(): KSerializer<Array<T>> {
return ArraySerializer(this)
}
as used like this:
MyEnum.serialize().asArray()
How can I write a generic extension function to do ...?
MyEnum.serializeAsArray()