Key

zio.blocks.schema.toon.DiscriminatorKind.Key
case object Key extends DiscriminatorKind

Represents a discriminator strategy where the subtype identifier is encoded as the key of a TOON record.

It is a default strategy for serializing and deserializing of all kinds of variants (sealed hierarchies, union types, etc.).

In this strategy, the serialized representation of the subtype wraps the encoded value in a nested record keyed by the subtype's discriminator, e.g., SubtypeIdentifier: followed by indented fields.

This approach enables subtype differentiation based solely on the key of the TOON record for the sealed hierarchy.

Attributes

Source
DiscriminatorKind.scala
Graph
Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
Key.type

Members list

Type members

Inherited types

type MirroredElemLabels = EmptyTuple

The names of the product elements.

The names of the product elements.

Attributes

Inherited from:
Singleton
Source
Mirror.scala
type MirroredElemTypes = EmptyTuple

Attributes

Inherited from:
Singleton
Source
Mirror.scala
type MirroredMonoType = this.type

The mirrored *-type.

The mirrored *-type.

Attributes

Inherited from:
Singleton
Source
Mirror.scala
type MirroredType = this.type

Attributes

Inherited from:
Singleton
Source
Mirror.scala

Inherited and Abstract types

type MirroredLabel <: String

The name of the type.

The name of the type.

Attributes

Inherited from:
Mirror
Source
Mirror.scala

Value members

Inherited methods

def fromProduct(p: Product): MirroredMonoType

Creates a new instance of type T with elements taken from product p.

Creates a new instance of type T with elements taken from product p.

Attributes

Inherited from:
Singleton
Source
Mirror.scala
def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
Source
Product.scala
def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product
Source
Product.scala