All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.atlassian.aws.swf.JsonCodecs.scala Maven / Gradle / Ivy

There is a newer version: 8.0.3
Show newest version
package io.atlassian.aws.swf

import java.util.concurrent.TimeUnit

import argonaut.Argonaut._
import argonaut.{ DecodeJson, EncodeJson, CodecJson }

import scala.concurrent.duration.FiniteDuration

object JsonCodecs {
  implicit val ActivityCodecJson: CodecJson[Activity] =
    casecodec2(Activity.apply, Activity.unapply)("name", "version")

  implicit val FiniteDurationEncodeJson: EncodeJson[FiniteDuration] =
    implicitly[EncodeJson[Long]].contramap { _.toMillis }

  implicit val FiniteDurationDecodeJson: DecodeJson[FiniteDuration] =
    implicitly[DecodeJson[Long]].map { l => FiniteDuration(l, TimeUnit.MILLISECONDS) }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy