Object/Trait

com.gu.scanamo

DynamoFormat

Related Docs: trait DynamoFormat | package scanamo

Permalink

object DynamoFormat extends DerivedDynamoFormat with Serializable

Linear Supertypes
Serializable, Serializable, DerivedDynamoFormat, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DynamoFormat
  2. Serializable
  3. Serializable
  4. DerivedDynamoFormat
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait AllOps[T] extends Ops[T]

    Permalink
  2. trait ConstructedDynamoFormat[T] extends AnyRef

    Permalink
    Definition Classes
    DerivedDynamoFormat
  3. trait Ops[T] extends AnyRef

    Permalink
  4. trait ToDynamoFormatOps extends AnyRef

    Permalink
  5. type ValidatedPropertiesError[T] = Validated[InvalidPropertiesError, T]

    Permalink
    Definition Classes
    DerivedDynamoFormat

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply[T](implicit instance: DynamoFormat[T]): DynamoFormat[T]

    Permalink
    Annotations
    @inline()
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. implicit val booleanFormat: DynamoFormat[Boolean]

    Permalink

    prop> (b: Boolean) =>
        | DynamoFormat[Boolean].read(DynamoFormat[Boolean].write(b)) == cats.data.Xor.right(b)
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def coercedXmap[A, B, T >: Null <: Throwable](read: (B) ⇒ A)(write: (A) ⇒ B)(implicit f: DynamoFormat[B], T: ClassTag[T], NT: NotNull[T]): DynamoFormat[A]

    Permalink

    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

    >>> import org.joda.time._
    
    >>> val jodaStringFormat = DynamoFormat.coercedXmap[LocalDate, String, IllegalArgumentException](
    ...   LocalDate.parse
    ... )(
    ...   _.toString
    ... )
    >>> jodaStringFormat.read(jodaStringFormat.write(new LocalDate(2007, 8, 18)))
    Right(2007-08-18)
    
    >>> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    >>> jodaStringFormat.read(new AttributeValue().withS("Togtogdenoggleplop"))
    Left(TypeCoercionError(java.lang.IllegalArgumentException: Invalid format: "Togtogdenoggleplop"))
  9. implicit val doubleFormat: DynamoFormat[Double]

    Permalink

    prop> (d: Double) =>
        | DynamoFormat[Double].read(DynamoFormat[Double].write(d)) == cats.data.Xor.right(d)
  10. implicit val doubleSetFormat: DynamoFormat[Set[Double]]

    Permalink

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> (s: Set[Double]) =>
        | val av = new AttributeValue().withNS(s.map(_.toString).toList: _*)
        | DynamoFormat[Set[Double]].write(s) == av &&
        |   DynamoFormat[Set[Double]].read(av) == cats.data.Xor.right(s)
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. implicit def generic[T, R](implicit gen: Aux[T, R], formatR: Lazy[ConstructedDynamoFormat[R]]): DynamoFormat[T]

    Permalink
    Definition Classes
    DerivedDynamoFormat
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. implicit def hcons[K <: Symbol, V, T <: HList](implicit headFormat: Lazy[DynamoFormat[V]], tailFormat: Lazy[ConstructedDynamoFormat[T]], fieldWitness: Aux[K]): ConstructedDynamoFormat[::[FieldType[K, V], T]]

    Permalink
    Definition Classes
    DerivedDynamoFormat
  18. implicit val hnil: ConstructedDynamoFormat[HNil]

    Permalink
    Definition Classes
    DerivedDynamoFormat
  19. implicit val intFormat: DynamoFormat[Int]

    Permalink

    prop> (i: Int) =>
        | DynamoFormat[Int].read(DynamoFormat[Int].write(i)) == cats.data.Xor.right(i)
  20. implicit val intSetFormat: DynamoFormat[Set[Int]]

    Permalink

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> (s: Set[Int]) =>
        | val av = new AttributeValue().withNS(s.map(_.toString).toList: _*)
        | DynamoFormat[Set[Int]].write(s) == av &&
        |   DynamoFormat[Set[Int]].read(av) == cats.data.Xor.right(s)
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. val javaListFormat: DynamoFormat[List[AttributeValue]]

    Permalink
  23. implicit def listFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[List[T]]

    Permalink

    prop> (l: List[String]) =>
        | DynamoFormat[List[String]].read(DynamoFormat[List[String]].write(l)) ==
        |   cats.data.Xor.right(l)
  24. implicit val longFormat: DynamoFormat[Long]

    Permalink

    prop> (l: Long) =>
        | DynamoFormat[Long].read(DynamoFormat[Long].write(l)) == cats.data.Xor.right(l)
  25. implicit val longSetFormat: DynamoFormat[Set[Long]]

    Permalink

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> (s: Set[Long]) =>
        | val av = new AttributeValue().withNS(s.map(_.toString).toList: _*)
        | DynamoFormat[Set[Long]].write(s) == av &&
        |   DynamoFormat[Set[Long]].read(av) == cats.data.Xor.right(s)
  26. implicit def mapFormat[V](implicit f: DynamoFormat[V]): DynamoFormat[Map[String, V]]

    Permalink

    prop> (m: Map[String, Int]) =>
        | DynamoFormat[Map[String, Int]].read(DynamoFormat[Map[String, Int]].write(m)) ==
        |   cats.data.Xor.right(m)
  27. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  28. object nonInheritedOps extends ToDynamoFormatOps

    Permalink
  29. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  31. object ops

    Permalink
  32. implicit def optionFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Option[T]] { val default: Some[None.type] }

    Permalink

    prop> (o: Option[Long]) =>
        | DynamoFormat[Option[Long]].read(DynamoFormat[Option[Long]].write(o)) ==
        |   cats.data.Xor.right(o)
  33. implicit def someFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Some[T]]

    Permalink

    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

  34. implicit val stringFormat: DynamoFormat[String]

    Permalink

    prop> (s: String) =>
        | DynamoFormat[String].read(DynamoFormat[String].write(s)) == cats.data.Xor.right(s)
  35. implicit val stringSetFormat: DynamoFormat[Set[String]]

    Permalink

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> (s: Set[String]) =>
        | val av = new AttributeValue().withSS(s.toList: _*)
        | DynamoFormat[Set[String]].write(s) == av &&
        |   DynamoFormat[Set[String]].read(av) == cats.data.Xor.right(s)
  36. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  37. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  38. implicit def vectorFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Vector[T]]

    Permalink

    prop> (l: Vector[String]) =>
        | DynamoFormat[Vector[String]].read(DynamoFormat[Vector[String]].write(l)) ==
        |   cats.data.Xor.right(l)
  39. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. def xmap[A, B](r: (B) ⇒ Xor[DynamoReadError, A])(w: (A) ⇒ B)(implicit f: DynamoFormat[B]): DynamoFormat[A]

    Permalink

    >>> import org.joda.time._
    >>> import cats.data.Xor
    >>> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    
    >>> implicit val jodaLongFormat = DynamoFormat.xmap[DateTime, Long](
    ...   l => Xor.right(new DateTime(l).withZone(DateTimeZone.UTC))
    ... )(
    ...   _.withZone(DateTimeZone.UTC).getMillis
    ... )
    >>> DynamoFormat[DateTime].read(new AttributeValue().withN("0"))
    Right(1970-01-01T00:00:00.000Z)

Inherited from Serializable

Inherited from Serializable

Inherited from DerivedDynamoFormat

Inherited from AnyRef

Inherited from Any

Ungrouped