Char

zio.blocks.schema.PrimitiveType.Char
case class Char(validation: Validation[Char]) extends PrimitiveType[Char]

The primitive type of Char. Only Validation.None is useful as its validation: under any other validation, DynamicSchema#check rejects every value.

Attributes

Source
PrimitiveType.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait PrimitiveType[Char]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def toDynamicValue(value: Char): DynamicValue

Wraps value in a DynamicValue.Primitive of the matching PrimitiveValue case.

Wraps value in a DynamicValue.Primitive of the matching PrimitiveValue case.

Attributes

Source
PrimitiveType.scala
def typeId: TypeId[Char]

Returns the type ID of A.

Returns the type ID of A.

Attributes

Source
PrimitiveType.scala

Inherited methods

def binding: Binding[Primitive, Char]

Returns the binding of a primitive node of this type.

Returns the binding of a primitive node of this type.

Attributes

Inherited from:
PrimitiveType
Source
PrimitiveType.scala
def fromDynamicValue(value: DynamicValue): Either[SchemaError, Char]

Converts value into an A, or returns an ExpectationMismatch error such as Expected Int. value must be a DynamicValue.Primitive. The numeric types and Char also accept a primitive value of one of the other numeric types or Char when converting it to this type and back gives the same value; every other type accepts only its own PrimitiveValue case. Because the JVM conversions saturate or wrap, a few lossy conversions pass that check: a Float or Double of 2^63 decodes as Long.MaxValue, a Float of 2^31 as Int.MaxValue, Int.MaxValue as the Float 2^31, Long.MaxValue as the Float or Double 2^63, a Char of 32768 or more as a negative Short (65408 or more as a negative Byte), and a negative Byte or Short as a Char of 65408 or 32768 or more (-1 as Char.MaxValue). The validation is not checked.

Converts value into an A, or returns an ExpectationMismatch error such as Expected Int. value must be a DynamicValue.Primitive. The numeric types and Char also accept a primitive value of one of the other numeric types or Char when converting it to this type and back gives the same value; every other type accepts only its own PrimitiveValue case. Because the JVM conversions saturate or wrap, a few lossy conversions pass that check: a Float or Double of 2^63 decodes as Long.MaxValue, a Float of 2^31 as Int.MaxValue, Int.MaxValue as the Float 2^31, Long.MaxValue as the Float or Double 2^63, a Char of 32768 or more as a negative Short (65408 or more as a negative Byte), and a negative Byte or Short as a Char of 65408 or 32768 or more (-1 as Char.MaxValue). The validation is not checked.

val year = PrimitiveType.Int(Validation.None)

val fromLong = year.fromDynamicValue(
 DynamicValue.Primitive(PrimitiveValue.Long(2021L))
) // Right(2021)
val fromDouble = year.fromDynamicValue(
 DynamicValue.Primitive(PrimitiveValue.Double(2021.5))
) // Left(zio.blocks.schema.SchemaError: Expected Int at: .)

Attributes

Inherited from:
PrimitiveType
Source
PrimitiveType.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