UnknownMemberSerializer

abstract class UnknownMemberSerializer<T : UnknownOpenUnionMember>(serialName: String) : KSerializer<T>

Base serializer for a generator-emitted Unknown variant.

A concrete subclass fills in construct with the data class constructor reference for the owning union's Unknown member, and passes a unique serial name (conventionally the Kotlin FQN of the Unknown class).

Example generator output:

object MediaUnknownSerializer : UnknownMemberSerializer<Media.Unknown>(
"io.github.kikin81.atproto.app.bsky.embed.recordWithMedia.Media.Unknown"
) {
override fun construct(type: String, raw: JsonObject) = Media.Unknown(type, raw)
}

Constructors

Link copied to clipboard
constructor(serialName: String)

Properties

Link copied to clipboard
open override val descriptor: SerialDescriptor

Functions

Link copied to clipboard
open override fun deserialize(decoder: Decoder): T
Link copied to clipboard
open override fun serialize(encoder: Encoder, value: T)