codecs.basic.SetJSONDecoderCodec.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fluid-json-coding Show documentation
Show all versions of fluid-json-coding Show documentation
A JSON library written in pure Kotlin (coding extension)
package com.github.fluidsonic.fluid.json
object SetJSONDecoderCodec : AbstractJSONDecoderCodec, JSONCodingContext>() {
override fun JSONDecoder.decode(valueType: JSONCodingType>): Set<*> {
val elementType = valueType.arguments.single()
return mutableSetOf().also { set ->
readFromListByElement {
set += readValueOfTypeOrNull(elementType)
}
}
}
val nonRecursive: JSONDecoderCodec, JSONCodingContext> = NonRecursiveJSONDecoderCodec.create()
}