DynamoFormat

Companion:
class
trait Derivation[DynamoFormat]
trait SealedTraitDerivation
trait CommonDerivation[DynamoFormat]
class Object
trait Matchable
class Any

Type members

Classlikes

Companion:
class
trait ObjectFormat[T] extends DynamoFormat[T]

DynamoFormats for object-like structures

DynamoFormats for object-like structures

Note:

All data types used as the carrier type in Table operations should derive an instance from this class

Companion:
object

Inherited types

Inherited from:
FormatDerivation (hidden)
type Typeclass[A] = DynamoFormat[A]
Inherited from:
FormatDerivation (hidden)
type Valid[A] = Either[Type[(FieldName, DynamoReadError)], A]
Inherited from:
FormatDerivation (hidden)

Value members

Concrete methods

def apply[T](implicit D: DynamoFormat[T]): DynamoFormat[T]
def coercedXmap[A, B : DynamoFormat, T >: Null <: Throwable : ClassTag](read: B => A, write: A => B): DynamoFormat[A]

Returns a DynamoFormat for the case where A can always be converted B, with write, but read may throw an exception for some value of B

Returns a DynamoFormat for the case where A can always be converted B, with write, but read may throw an exception for some value of B

def iso[A, B](r: B => A, w: A => B)(implicit f: DynamoFormat[B]): DynamoFormat[A]

Returns a DynamoFormat for the case where A and B are isomorphic, i.e. an A can always be converted to a B and vice versa.

Returns a DynamoFormat for the case where A and B are isomorphic, i.e. an A can always be converted to a B and vice versa.

If there are some values of B that have no corresponding value in A, use DynamoFormat.xmap or DynamoFormat.coercedXmap.

def xmap[A, B](r: B => Either[DynamoReadError, A], w: A => B)(implicit f: DynamoFormat[B]): DynamoFormat[A]

Returns a DynamoFormat for the case where A and B form an epimorphism, i.e. an A can always be converted to a B but the opposite is not necessarily true.

Returns a DynamoFormat for the case where A and B form an epimorphism, i.e. an A can always be converted to a B but the opposite is not necessarily true.

Inherited methods

inline def `getParams__`[T, Labels <: Tuple, Params <: Tuple](annotations: Map[String, List[Any]], inheritedAnnotations: Map[String, List[Any]], typeAnnotations: Map[String, List[Any]], repeated: Map[String, Boolean], defaults: Map[String, Option[() => Any]], idx: Int): List[Param[Typeclass, T]]
Inherited from:
CommonDerivation
inline override protected def deriveSubtype[s](m: Of[s]): TypeClass[s]
Definition Classes
Derivation -> SealedTraitDerivation
Inherited from:
Derivation
inline def derived[A](using Of[A]): TypeClass[A]
Inherited from:
Derivation
inline def derivedMirror[A](using mirror: Of[A]): TypeClass[A]
Inherited from:
Derivation
inline def derivedMirrorProduct[A](product: ProductOf[A]): TypeClass[A]
Inherited from:
CommonDerivation
inline def derivedMirrorSum[A](sum: SumOf[A]): TypeClass[A]
Inherited from:
Derivation
inline def getParams[T, Labels <: Tuple, Params <: Tuple](annotations: Map[String, List[Any]], typeAnnotations: Map[String, List[Any]], repeated: Map[String, Boolean], idx: Int): List[Param[Typeclass, T]]
Inherited from:
CommonDerivation
inline def getParams_[T, Labels <: Tuple, Params <: Tuple](annotations: Map[String, List[Any]], inheritedAnnotations: Map[String, List[Any]], typeAnnotations: Map[String, List[Any]], repeated: Map[String, Boolean], idx: Int): List[Param[Typeclass, T]]
Inherited from:
CommonDerivation
def join[T](cc: CaseClass[Typeclass, T]): DynamoFormat[T]
Inherited from:
FormatDerivation (hidden)
inline protected def sealedTraitFromMirror[A](m: SumOf[A]): SealedTrait[Typeclass, A]
Inherited from:
SealedTraitDerivation
def split[T](st: SealedTrait[Typeclass, T]): DynamoFormat[T]
Inherited from:
FormatDerivation (hidden)
transparent inline def subtypes[T, SubtypeTuple <: Tuple](m: SumOf[T], idx: Int): List[Subtype[Typeclass, T, _]]
Inherited from:
Derivation
transparent inline protected def subtypesFromMirror[A, SubtypeTuple <: Tuple](m: SumOf[A], idx: Int): List[Subtype[Typeclass, A, _]]
Inherited from:
SealedTraitDerivation

Implicits

Implicits

implicit def arrayFormat[T : ClassTag](implicit evidence$6: ClassTag[T], f: DynamoFormat[T]): DynamoFormat[Array[T]]
implicit val byteBufferFormat: DynamoFormat[ByteBuffer]
implicit def genericSet[T : DynamoFormat]: DynamoFormat[Set[T]]
implicit val instantAsLongFormat: DynamoFormat[Instant]

Format for dealing with points in time stored as the number of milliseconds since Epoch.

Format for dealing with points in time stored as the number of milliseconds since Epoch.

implicit val intFormat: DynamoFormat[Int]
implicit def listFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[List[T]]
implicit def mapFormat[V](implicit f: DynamoFormat[V]): DynamoFormat[Map[String, V]]
implicit val offsetDateTimeFormat: DynamoFormat[OffsetDateTime]

Format for dealing with date-times with an offset from UTC.

Format for dealing with date-times with an offset from UTC.

implicit def optionFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Option[T]]
implicit def seqFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Seq[T]]
implicit def someFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Some[T]]

This ensures that if, for instance, you specify an update with Some(5) rather than making the type of Option explicit, it doesn't fall back to auto-derivation

This ensures that if, for instance, you specify an update with Some(5) rather than making the type of Option explicit, it doesn't fall back to auto-derivation

implicit val uuidFormat: DynamoFormat[UUID]
implicit def vectorFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Vector[T]]
implicit val zonedDateTimeFormat: DynamoFormat[ZonedDateTime]

Format for dealing with date-times with a time zone in the ISO-8601 calendar system.

Format for dealing with date-times with a time zone in the ISO-8601 calendar system.

Inherited implicits

implicit def generic[A](implicit A: Exported[DynamoFormat[A]]): DynamoFormat[A]
Inherited from:
PlatformSpecificFormat