Object

io.circe.config

syntax

Related Doc: package config

Permalink

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
Visibility
  1. Public
  2. All

Type Members

  1. implicit final class CirceConfigOps extends AnyVal

    Permalink

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

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. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

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

    Permalink

    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.

  7. implicit val configValueDecoder: Decoder[ConfigValue]

    Permalink

    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.

  8. implicit val durationDecoder: Decoder[FiniteDuration]

    Permalink

    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)
  9. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

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

    Permalink

    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))
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped