None

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

Represents the absence of a discriminator strategy for serializing and deserializing sealed hierarchy subtypes or union types.

When this strategy is used, subtype differentiation is performed without adding any explicit discriminator field or key to the serialized TOON. Instead, deserialization attempts to match the input TOON data sequentially against all possible subtypes of the sealed hierarchy until a successful match is found.

This approach relies on the order and structure of subtype definitions and may result in parsing errors if no matching subtype is found.

Beware that this strategy hides error messages of underlying parsing errors and parsing be too slow for large hierarchies of subtypes or deeply nested or recursive data structures.

Don't use it for untrusted input that should be parsed into deeply nested or recursive data structures to avoid potential security vulnerabilities of DoS/DoW attacks.

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
None.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