final case class EitherSchema[A, B](left: Schema[A], right: Schema[B], annotations: Chunk[Any] = Chunk.empty) extends Schema[Either[A, B]] with Product with Serializable
- Self Type
- EitherSchema[A, B]
- Alphabetic
- By Inheritance
- EitherSchema
- Serializable
- Product
- Equals
- Schema
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new EitherSchema(left: Schema[A], right: Schema[B], annotations: Chunk[Any] = Chunk.empty)
Type Members
- type Accessors[Lens[_, _], Prism[_, _], Traversal[_, _]] = (Prism[Either[A, B], Right[Nothing, B]], Prism[Either[A, B], Left[A, Nothing]])
- Definition Classes
- EitherSchema → Schema
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def <*>[B](that: Schema[B]): Schema[(Either[A, B], B)]
A symbolic operator for zip.
- def <+>[B](that: Schema[B]): Schema[Either[Either[A, B], B]]
A symbolic operator for orElseEither.
A symbolic operator for orElseEither.
- Definition Classes
- Schema
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def ?: Schema[Option[Either[A, B]]]
A symbolic operator for optional.
- def annotate(annotation: Any): EitherSchema[A, B]
Returns a new schema that with
annotationReturns a new schema that with
annotation- Definition Classes
- EitherSchema → Schema
- val annotations: Chunk[Any]
Chunk of annotations for this schema
Chunk of annotations for this schema
- Definition Classes
- EitherSchema → Schema
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def ast: SchemaAst
- Definition Classes
- Schema
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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,_]
- Definition Classes
- Schema
- def defaultValue: Either[String, Either[A, B]]
The default value for a
Schemaof typeA.The default value for a
Schemaof typeA.- Definition Classes
- EitherSchema → Schema
- def diff(thisValue: Either[A, B], thatValue: Either[A, B], differ: Option[Differ[Either[A, B]]] = None): Diff[Either[A, B]]
Performs a diff between thisValue and thatValue.
Performs a diff between thisValue and thatValue. See zio.schema.Differ for details on the default diff algorithms.
A custom zio.schema.Differ can be supplied if the default behavior is not acceptable.
- Definition Classes
- Schema
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def fromDynamic(value: DynamicValue): Either[String, Either[A, B]]
- Definition Classes
- Schema
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val left: Schema[A]
- val leftSchema: Schema[Left[A, Nothing]]
- def makeAccessors(b: AccessorBuilder): (Prism[Either[A, B], Right[Nothing, B]], Prism[Either[A, B], Left[A, Nothing]])
- Definition Classes
- EitherSchema → Schema
- def migrate[B](newSchema: Schema[B]): Either[String, (Either[A, B]) => 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
- Definition Classes
- Schema
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def optional: Schema[Option[Either[A, B]]]
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.
- Definition Classes
- Schema
- def orElseEither[B](that: Schema[B]): Schema[Either[Either[A, B], 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.
- Definition Classes
- Schema
- def ordering: Ordering[Either[A, B]]
- Definition Classes
- Schema
- def patch(oldValue: Either[A, B], diff: Diff[Either[A, B]]): Either[String, Either[A, B]]
Patch value with a Diff.
Patch value with a Diff.
- Definition Classes
- Schema
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def repeated: Schema[Chunk[Either[A, B]]]
- Definition Classes
- Schema
- val right: Schema[B]
- val rightSchema: Schema[Right[Nothing, B]]
- def serializable: Schema[Schema[Either[A, B]]]
- Definition Classes
- Schema
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toDynamic(value: Either[A, B]): DynamicValue
- Definition Classes
- Schema
- val toEnum: Schema.Enum2[Right[Nothing, B], Left[A, Nothing], Either[A, B]]
- def toSemiDynamic: Schema[(Either[A, B], Schema[Either[A, B]])]
- Definition Classes
- Schema
- def transform[B](f: (Either[A, B]) => B, g: (B) => Either[A, B])(implicit loc: SourceLocation): Schema[B]
Transforms this
Schema[A]into aSchema[B], by supplying two functions that can transform betweenAandB, without possibility of failure.Transforms this
Schema[A]into aSchema[B], by supplying two functions that can transform betweenAandB, without possibility of failure.- Definition Classes
- Schema
- def transformOrFail[B](f: (Either[A, B]) => Either[String, B], g: (B) => Either[String, Either[A, B]])(implicit loc: SourceLocation): Schema[B]
Transforms this
Schema[A]into aSchema[B], by supplying two functions that can transform betweenAandB(possibly failing in some cases).Transforms this
Schema[A]into aSchema[B], by supplying two functions that can transform betweenAandB(possibly failing in some cases).- Definition Classes
- Schema
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def zip[B](that: Schema[B]): Schema[(Either[A, B], 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.
- Definition Classes
- Schema