1*57b5a4a6SAndroid Build Coastguard Worker // This file was automatically generated from formats.md by Knit tool. Do not edit. 2*57b5a4a6SAndroid Build Coastguard Worker package example.exampleFormats10 3*57b5a4a6SAndroid Build Coastguard Worker 4*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.* 5*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.descriptors.* 6*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.encoding.* 7*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.modules.* 8*57b5a4a6SAndroid Build Coastguard Worker 9*57b5a4a6SAndroid Build Coastguard Worker class ListEncoder : AbstractEncoder() { 10*57b5a4a6SAndroid Build Coastguard Worker val list = mutableListOf<Any>() 11*57b5a4a6SAndroid Build Coastguard Worker 12*57b5a4a6SAndroid Build Coastguard Worker override val serializersModule: SerializersModule = EmptySerializersModule() 13*57b5a4a6SAndroid Build Coastguard Worker encodeValuenull14*57b5a4a6SAndroid Build Coastguard Worker override fun encodeValue(value: Any) { 15*57b5a4a6SAndroid Build Coastguard Worker list.add(value) 16*57b5a4a6SAndroid Build Coastguard Worker } 17*57b5a4a6SAndroid Build Coastguard Worker } 18*57b5a4a6SAndroid Build Coastguard Worker encodeToListnull19*57b5a4a6SAndroid Build Coastguard Workerfun <T> encodeToList(serializer: SerializationStrategy<T>, value: T): List<Any> { 20*57b5a4a6SAndroid Build Coastguard Worker val encoder = ListEncoder() 21*57b5a4a6SAndroid Build Coastguard Worker encoder.encodeSerializableValue(serializer, value) 22*57b5a4a6SAndroid Build Coastguard Worker return encoder.list 23*57b5a4a6SAndroid Build Coastguard Worker } 24*57b5a4a6SAndroid Build Coastguard Worker encodeToListnull25*57b5a4a6SAndroid Build Coastguard Workerinline fun <reified T> encodeToList(value: T) = encodeToList(serializer(), value) 26*57b5a4a6SAndroid Build Coastguard Worker 27*57b5a4a6SAndroid Build Coastguard Worker @Serializable 28*57b5a4a6SAndroid Build Coastguard Worker data class Project(val name: String, val owner: User, val votes: Int) 29*57b5a4a6SAndroid Build Coastguard Worker 30*57b5a4a6SAndroid Build Coastguard Worker @Serializable 31*57b5a4a6SAndroid Build Coastguard Worker data class User(val name: String) 32*57b5a4a6SAndroid Build Coastguard Worker 33*57b5a4a6SAndroid Build Coastguard Worker fun main() { 34*57b5a4a6SAndroid Build Coastguard Worker val data = Project("kotlinx.serialization", User("kotlin"), 9000) 35*57b5a4a6SAndroid Build Coastguard Worker println(encodeToList(data)) 36*57b5a4a6SAndroid Build Coastguard Worker } 37