io.circe.config

syntax

object syntax

Implicits for decoding Typesafe Config values and instances using circe decoders.

In addition to syntax.durationDecoder and syntax.memorySizeDecoder for reading Typesafe Config specific value formats, this module also provides syntax.CirceConfigOps for decoding loaded configurations.

Source
syntax.scala
Example:
  1. scala> import io.circe.generic.auto._
    scala> import io.circe.config.syntax._
    scala> import scala.concurrent.duration.FiniteDuration
    scala> case class ServerSettings(port: Int, host: String, timeout: FiniteDuration)
    scala> val config = com.typesafe.config.ConfigFactory.parseString("port = 7357, host = localhost, timeout = 5 s")
    scala> config.as[ServerSettings]
    res0: Either[io.circe.Error, ServerSettings] = Right(ServerSettings(7357,localhost,5 seconds))
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. syntax
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. implicit final class CirceConfigOps extends AnyVal

    Enriches com.typesafe.config.Config instances with methods to decode to a specific type.

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. implicit val configDecoder: Decoder[Config]

    Decoder for converting io.circe.Json to com.typesafe.config.Config.

    Decoder for converting io.circe.Json to com.typesafe.config.Config.

    Converts a circe JSON object to a Typesafe Config instance.

    Example:
    1. scala> import io.circe.Json
      scala> import com.typesafe.config.Config
      scala> import io.circe.config.syntax._
      
      scala> val hostJson = Json.fromString("localhost")
      scala> val portJson = Json.fromInt(8080)
      scala> val serverJson = Json.obj("host" -> hostJson, "port" -> portJson)
      
      scala> configDecoder.decodeJson(Json.obj("host" -> hostJson))
      res0: io.circe.Decoder.Result[Config] = Right(Config(SimpleConfigObject({"host":"localhost"})))
      scala> serverJson.as[Config]
      res1: io.circe.Decoder.Result[Config] = Right(Config(SimpleConfigObject({"host":"localhost","port":8080})))
      
      scala> portJson.as[Config]
      res2: io.circe.Decoder.Result[Config] = Left(DecodingFailure(JSON must be an object, was type NUMBER, List()))
    See also

    configValueDecoder for decoding any circe JSON AST.

  9. implicit val configValueDecoder: Decoder[ConfigValue]

    Decoder for converting io.circe.Json to com.typesafe.config.ConfigValue.

    Decoder for converting io.circe.Json to com.typesafe.config.ConfigValue.

    Maps any circe JSON AST to the Typesafe Config AST.

    Example:
    1. scala> import io.circe.Json
      scala> import com.typesafe.config.ConfigValue
      scala> import io.circe.config.syntax._
      
      scala> val hostJson = Json.fromString("localhost")
      scala> val portJson = Json.fromInt(8080)
      scala> val serverJson = Json.obj("host" -> hostJson, "port" -> portJson)
      
      scala> configValueDecoder.decodeJson(hostJson)
      res0: io.circe.Decoder.Result[ConfigValue] = Right(Quoted("localhost"))
      
      scala> configValueDecoder.decodeJson(portJson)
      res1: io.circe.Decoder.Result[ConfigValue] = Right(ConfigLong(8080))
      
      scala> serverJson.as[ConfigValue]
      res2: io.circe.Decoder.Result[ConfigValue] = Right(SimpleConfigObject({"host":"localhost","port":8080}))
    See also

    configDecoder for decoding circe JSON objects to a Typesafe Config instance.

  10. implicit val durationDecoder: Decoder[FiniteDuration]

    Decoder for reading duration formats.

    Decoder for reading duration formats.

    Example:
    1. scala> import io.circe.Json
      scala> import io.circe.config.syntax._
      scala> import scala.concurrent.duration.FiniteDuration
      
      scala> durationDecoder.decodeJson(Json.fromString("5 seconds"))
      res0: io.circe.Decoder.Result[FiniteDuration] = Right(5 seconds)
      scala> durationDecoder.decodeJson(Json.fromString("1 hour"))
      res1: io.circe.Decoder.Result[FiniteDuration] = Right(1 hour)
      
      scala> Json.fromString("200 ms").as[FiniteDuration]
      res2: io.circe.Decoder.Result[FiniteDuration] = Right(200 milliseconds)
  11. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  17. implicit val memorySizeDecoder: Decoder[ConfigMemorySize]

    Decoder for reading memory size in bytes format into a com.typesafe.config.ConfigMemorySize.

    Example:
    1. scala> import io.circe.Json
      scala> import io.circe.config.syntax._
      scala> import com.typesafe.config.ConfigMemorySize
      
      scala> memorySizeDecoder.decodeJson(Json.fromString("128M"))
      res0: io.circe.Decoder.Result[ConfigMemorySize] = Right(ConfigMemorySize(134217728))
      scala> memorySizeDecoder.decodeJson(Json.fromString("4096 KiB"))
      res1: io.circe.Decoder.Result[ConfigMemorySize] = Right(ConfigMemorySize(4194304))
      
      scala> Json.fromString("32 GB").as[ConfigMemorySize]
      res2: io.circe.Decoder.Result[ConfigMemorySize] = Right(ConfigMemorySize(32000000000))
  18. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  22. def toString(): String

    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped