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

com.supersonic.util.DurationUtil.scala Maven / Gradle / Ivy

The newest version!
package com.supersonic.util

import spray.json._
import scala.concurrent.duration.{Duration, FiniteDuration}

object DurationUtil {

  implicit object FiniteDurationFormat extends JsonFormat[FiniteDuration] {
    def write(fd: FiniteDuration) = JsString(fd.toString)

    def read(json: JsValue) = {
      def error() = deserializationError(s"Expected a finite duration but got: $json")

      json match {
        case JsString(duration) => Duration(duration) match {
          case finite: FiniteDuration => finite
          case _ => error()
        }
        case _ => error()
      }
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy