GenericRecord

zio.schema.Schema$.GenericRecord
sealed case class GenericRecord(id: TypeId, fieldSet: FieldSet, annotations: Chunk[Any]) extends Record[ListMap[String, _]]

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Record[ListMap[String, _]]
trait Schema[ListMap[String, _]]
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Types

type Accessors[Lens[_, _, _], Prism[_, _, _], Traversal[_, _]] = Accessors[ListMap[String, _], Lens, Prism, Traversal]
type Terms = Terms

Value members

Concrete methods

override def annotate(annotation: Any): GenericRecord

Returns a new schema that with annotation

Returns a new schema that with annotation

Attributes

Definition Classes
override def construct(values: Chunk[Any])(implicit unsafe: Unsafe): Either[String, ListMap[String, _]]

Attributes

Definition Classes
override def deconstruct(values: ListMap[String, _])(implicit unsafe: Unsafe): Chunk[Any]

Attributes

Definition Classes
override def fields: Chunk[Field[ListMap[String, _], _]]

Attributes

Definition Classes

Attributes

Definition Classes

Inherited methods

def <*>[B](that: Schema[B]): Schema[(A, B)]

A symbolic operator for zip.

A symbolic operator for zip.

Attributes

Inherited from:
Schema
def <+>[B](that: Schema[B]): Schema[Either[A, B]]

A symbolic operator for orElseEither.

A symbolic operator for orElseEither.

Attributes

Inherited from:
Schema
def ?: Schema[Option[A]]

A symbolic operator for optional.

A symbolic operator for optional.

Attributes

Inherited from:
Schema

Attributes

Inherited from:
Schema
def coerce[B](newSchema: Schema[B]): Either[String, Schema[B]]

Convert to Schema[B] iff B and A are homomorphic.

Convert to Schema[B] iff B and A are homomorphic.

This can be used to e.g convert between a case class and it's "generic" representation as a ListMap[String,_]

Attributes

Inherited from:
Schema

The default value for a Schema of type A.

The default value for a Schema of type A.

Attributes

Inherited from:
Record
def diff(thisValue: ListMap[String, _], thatValue: ListMap[String, _]): Patch[A]

Performs a diff between thisValue and thatValue. See zio.schema.Differ for details on the default diff algorithms.

Performs a diff between thisValue and thatValue. See zio.schema.Differ for details on the default diff algorithms.

Attributes

Inherited from:
Schema

Attributes

Inherited from:
Schema
def migrate[B](newSchema: Schema[B]): Either[String, A => Either[String, B]]

Generate a homomorphism from A to B iff A and B are homomorphic

Generate a homomorphism from A to B iff A and B are homomorphic

Attributes

Inherited from:
Schema

Returns a new schema that modifies the type produced by this schema to be optional.

Returns a new schema that modifies the type produced by this schema to be optional.

Attributes

Inherited from:
Schema
def orElseEither[B](that: Schema[B]): Schema[Either[A, B]]

Returns a new schema that combines this schema and the specified schema together, modeling their either composition.

Returns a new schema that combines this schema and the specified schema together, modeling their either composition.

Attributes

Inherited from:
Schema

Attributes

Inherited from:
Schema
def patch(oldValue: ListMap[String, _], diff: Patch[ListMap[String, _]]): Either[String, A]

Patch value with a Patch.

Patch value with a Patch.

Attributes

Inherited from:
Schema

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

Attributes

Inherited from:
Schema

Attributes

Inherited from:
Schema

Attributes

Inherited from:
Schema
def transform[B](f: ListMap[String, _] => B, g: B => ListMap[String, _])(implicit loc: SourceLocation): Schema[B]

Transforms this Schema[A] into a Schema[B], by supplying two functions that can transform between A and B, without possibility of failure.

Transforms this Schema[A] into a Schema[B], by supplying two functions that can transform between A and B, without possibility of failure.

Attributes

Inherited from:
Schema
def transformOrFail[B](f: ListMap[String, _] => Either[String, B], g: B => Either[String, ListMap[String, _]])(implicit loc: SourceLocation): Schema[B]

Transforms this Schema[A] into a Schema[B], by supplying two functions that can transform between A and B (possibly failing in some cases).

Transforms this Schema[A] into a Schema[B], by supplying two functions that can transform between A and B (possibly failing in some cases).

Attributes

Inherited from:
Schema
def validate(value: ListMap[String, _])(implicit schema: Schema[ListMap[String, _]]): Chunk[ValidationError]

Attributes

Inherited from:
Schema
def zip[B](that: Schema[B]): Schema[(A, B)]

Returns a new schema that combines this schema and the specified schema together, modeling their tuple composition.

Returns a new schema that combines this schema and the specified schema together, modeling their tuple composition.

Attributes

Inherited from:
Schema