All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.app.bsky.embed.recordView.kt Maven / Gradle / Ivy

The newest version!
@file:Suppress("DEPRECATION")

package app.bsky.embed

import app.bsky.feed.GeneratorView
import app.bsky.graph.ListView
import app.bsky.graph.StarterPackViewBasic
import app.bsky.labeler.LabelerView
import kotlin.Suppress
import kotlin.jvm.JvmInline
import kotlinx.serialization.KSerializer
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import sh.christian.ozone.api.model.JsonContent
import sh.christian.ozone.api.runtime.valueClassSerializer

@Serializable
public sealed interface RecordViewRecordUnion {
  public class ViewRecordSerializer : KSerializer by valueClassSerializer(
    serialName = "app.bsky.embed.record#viewRecord",
    constructor = ::ViewRecord,
    valueProvider = ViewRecord::value,
    valueSerializerProvider = { RecordViewRecord.serializer() },
  )

  @JvmInline
  @Serializable(with = ViewRecordSerializer::class)
  @SerialName("app.bsky.embed.record#viewRecord")
  public value class ViewRecord(
    public val `value`: RecordViewRecord,
  ) : RecordViewRecordUnion

  public class ViewNotFoundSerializer : KSerializer by valueClassSerializer(
    serialName = "app.bsky.embed.record#viewNotFound",
    constructor = ::ViewNotFound,
    valueProvider = ViewNotFound::value,
    valueSerializerProvider = { RecordViewNotFound.serializer() },
  )

  @JvmInline
  @Serializable(with = ViewNotFoundSerializer::class)
  @SerialName("app.bsky.embed.record#viewNotFound")
  public value class ViewNotFound(
    public val `value`: RecordViewNotFound,
  ) : RecordViewRecordUnion

  public class ViewBlockedSerializer : KSerializer by valueClassSerializer(
    serialName = "app.bsky.embed.record#viewBlocked",
    constructor = ::ViewBlocked,
    valueProvider = ViewBlocked::value,
    valueSerializerProvider = { RecordViewBlocked.serializer() },
  )

  @JvmInline
  @Serializable(with = ViewBlockedSerializer::class)
  @SerialName("app.bsky.embed.record#viewBlocked")
  public value class ViewBlocked(
    public val `value`: RecordViewBlocked,
  ) : RecordViewRecordUnion

  public class ViewDetachedSerializer : KSerializer by valueClassSerializer(
    serialName = "app.bsky.embed.record#viewDetached",
    constructor = ::ViewDetached,
    valueProvider = ViewDetached::value,
    valueSerializerProvider = { RecordViewDetached.serializer() },
  )

  @JvmInline
  @Serializable(with = ViewDetachedSerializer::class)
  @SerialName("app.bsky.embed.record#viewDetached")
  public value class ViewDetached(
    public val `value`: RecordViewDetached,
  ) : RecordViewRecordUnion

  public class FeedGeneratorViewSerializer : KSerializer by valueClassSerializer(
    serialName = "app.bsky.feed.defs#generatorView",
    constructor = ::FeedGeneratorView,
    valueProvider = FeedGeneratorView::value,
    valueSerializerProvider = { GeneratorView.serializer() },
  )

  @JvmInline
  @Serializable(with = FeedGeneratorViewSerializer::class)
  @SerialName("app.bsky.feed.defs#generatorView")
  public value class FeedGeneratorView(
    public val `value`: GeneratorView,
  ) : RecordViewRecordUnion

  public class GraphListViewSerializer : KSerializer by valueClassSerializer(
    serialName = "app.bsky.graph.defs#listView",
    constructor = ::GraphListView,
    valueProvider = GraphListView::value,
    valueSerializerProvider = { ListView.serializer() },
  )

  @JvmInline
  @Serializable(with = GraphListViewSerializer::class)
  @SerialName("app.bsky.graph.defs#listView")
  public value class GraphListView(
    public val `value`: ListView,
  ) : RecordViewRecordUnion

  public class LabelerLabelerViewSerializer : KSerializer by valueClassSerializer(
    serialName = "app.bsky.labeler.defs#labelerView",
    constructor = ::LabelerLabelerView,
    valueProvider = LabelerLabelerView::value,
    valueSerializerProvider = { LabelerView.serializer() },
  )

  @JvmInline
  @Serializable(with = LabelerLabelerViewSerializer::class)
  @SerialName("app.bsky.labeler.defs#labelerView")
  public value class LabelerLabelerView(
    public val `value`: LabelerView,
  ) : RecordViewRecordUnion

  public class GraphStarterPackViewBasicSerializer : KSerializer by valueClassSerializer(
    serialName = "app.bsky.graph.defs#starterPackViewBasic",
    constructor = ::GraphStarterPackViewBasic,
    valueProvider = GraphStarterPackViewBasic::value,
    valueSerializerProvider = { StarterPackViewBasic.serializer() },
  )

  @JvmInline
  @Serializable(with = GraphStarterPackViewBasicSerializer::class)
  @SerialName("app.bsky.graph.defs#starterPackViewBasic")
  public value class GraphStarterPackViewBasic(
    public val `value`: StarterPackViewBasic,
  ) : RecordViewRecordUnion

  @JvmInline
  @Serializable
  public value class Unknown(
    public val `value`: JsonContent,
  ) : RecordViewRecordUnion
}

@Serializable
public data class RecordView(
  public val record: RecordViewRecordUnion,
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy