SchemaPartition

smithy4s.schema.SchemaPartition
See theSchemaPartition companion trait

Attributes

Companion
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

final case class NoMatch[A]() extends SchemaPartition[A]

Indicates that no field matched the condition.

Indicates that no field matched the condition.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SchemaPartition[A]
class Object
trait Matchable
class Any
Show all
final case class SplittingMatch[A](matching: Schema[PartialData[A]], notMatching: Schema[PartialData[A]]) extends SchemaPartition[A]

Indicates that only a subset of fields matched the partitioning condition. This datatype contains two schemas representing the partial data resulting from the partitioning. For instance : http-header fields and non-http-header fields.

Indicates that only a subset of fields matched the partitioning condition. This datatype contains two schemas representing the partial data resulting from the partitioning. For instance : http-header fields and non-http-header fields.

The schemas can be dispatched to the correct SchemaVisitors to produce the relevant codecs. The partial-data produced by either parts can be reconciled to create the total data.

Value parameters

matching

the partial schema resulting from the matching fields

notMatching

the partial schema resulting from the non-matching fields

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SchemaPartition[A]
class Object
trait Matchable
class Any
Show all
final case class TotalMatch[A](schema: Schema[A]) extends SchemaPartition[A]

Indicates that all fields of a schema matched a condition.

Indicates that all fields of a schema matched a condition.

Value parameters

schema

The schema resulting from the total match might not be the same as the input-schema: if the partition aimed at finding a payload field, and if the whole data can be constructed from a single payload field, the resulting schema would be a bijection from that payload field to the larger datatype.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SchemaPartition[A]
class Object
trait Matchable
class Any
Show all

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror