BigDecimal

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

The primitive type of scala.BigDecimal. Its validation can be a Validation.Numeric, such as Positive or Range.

Attributes

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

Members list

Value members

Concrete methods

def numeric: Numeric[BigDecimal]

Returns the Numeric instance of A.

Returns the Numeric instance of A.

Attributes

Source
PrimitiveType.scala
def toDynamicValue(value: BigDecimal): 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

Returns the tag of this numeric type in DynamicSchemaExpr.

Returns the tag of this numeric type in DynamicSchemaExpr.

Attributes

Source
PrimitiveType.scala
def typeId: TypeId[BigDecimal]

Returns the type ID of A.

Returns the type ID of A.

Attributes

Source
PrimitiveType.scala

Inherited methods

def binding: Binding[Primitive, BigDecimal]

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, BigDecimal]

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
def schema: Schema[BigDecimal]

Returns a schema whose node is a primitive node of this type, with its validation.

Returns a schema whose node is a primitive node of this type, with its validation.

Attributes

Inherited from:
NumericPrimitiveType
Source
PrimitiveType.scala