Instant

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

The primitive type of java.time.Instant. 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
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

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

Returns the type ID of A.

Returns the type ID of A.

Attributes

Source
PrimitiveType.scala

Inherited methods

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

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