Object

io.circe.config

parser

Related Doc: package config

Permalink

object parser extends Parser

Utilities for parsing com.typesafe.config.Config sources to io.circe.Json as well as decoding to a specific type.

If you are working in something like cats.effect.IO, or some other type F[_] that provides a cats.ApplicativeError, there're also decoders for loading such types.

Source
parser.scala
Example:
  1. scala> import com.typesafe.config.ConfigFactory
    scala> import io.circe.config.parser
    scala> val config = ConfigFactory.parseString("server { host = localhost, port = 8080 }")
    scala> val json: Either[io.circe.ParsingFailure, io.circe.Json] = parser.parse(config)
    scala> json.right.get.noSpaces
    res0: String = {"server":{"port":8080,"host":"localhost"}}
    scala> import io.circe.generic.auto._
    scala> case class ServerSettings(host: String, port: Int)
    scala> case class AppSettings(server: ServerSettings)
    scala> parser.decode[AppSettings](config)
    res1: Either[io.circe.Error, AppSettings] = Right(AppSettings(ServerSettings(localhost,8080)))
    scala> parser.decodePath[ServerSettings](config, "server")
    res2: Either[io.circe.Error, ServerSettings] = Right(ServerSettings(localhost,8080))
    scala> import cats.effect.IO
    scala> parser.decodePathF[IO, ServerSettings](config, "server")
    res3: cats.effect.IO[ServerSettings] = IO(ServerSettings(localhost,8080))
See also

syntax.configDecoder for how to map io.circe.Json to com.typesafe.config.Config

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

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. final def decode[A](config: Config)(implicit arg0: Decoder[A]): Either[Error, A]

    Permalink

    Load the default configuration and decode an instance at a specific path.

    Load the default configuration and decode an instance at a specific path.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> case class HttpSettings(server: ServerSettings)
      scala> case class AppSettings(http: HttpSettings)
      scala> import com.typesafe.config.ConfigFactory
      scala> val config = ConfigFactory.load()
      scala> parser.decode[AppSettings](config)
      res0: Either[io.circe.Error, AppSettings] = Right(AppSettings(HttpSettings(ServerSettings(localhost,8080))))
  7. final def decode[A]()(implicit arg0: Decoder[A]): Either[Error, A]

    Permalink

    Load the default configuration and decode an instance at a specific path.

    Load the default configuration and decode an instance at a specific path.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> case class HttpSettings(server: ServerSettings)
      scala> case class AppSettings(http: HttpSettings)
      scala> parser.decode[AppSettings]()
      res0: Either[io.circe.Error, AppSettings] = Right(AppSettings(HttpSettings(ServerSettings(localhost,8080))))
  8. final def decode[A](input: String)(implicit arg0: Decoder[A]): Either[Error, A]

    Permalink
    Definition Classes
    Parser
  9. final def decodeAccumulating[A](config: Config)(implicit arg0: Decoder[A]): ValidatedNel[Error, A]

    Permalink
  10. final def decodeAccumulating[A](input: String)(implicit arg0: Decoder[A]): ValidatedNel[Error, A]

    Permalink
    Definition Classes
    Parser
  11. final def decodeF[F[_], A](config: Config)(implicit arg0: Decoder[A], ev: ApplicativeError[F, Throwable]): F[A]

    Permalink

    Decode an instance supporting cats.ApplicativeError.

    Decode an instance supporting cats.ApplicativeError.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> case class HttpSettings(server: ServerSettings)
      scala> case class AppSettings(http: HttpSettings)
      scala> import com.typesafe.config.ConfigFactory
      scala> val config = ConfigFactory.load()
      scala> import cats.effect.IO
      scala> parser.decodeF[IO, AppSettings](config)
      res0: cats.effect.IO[AppSettings] = IO(AppSettings(HttpSettings(ServerSettings(localhost,8080))))
  12. final def decodeF[F[_], A]()(implicit arg0: Decoder[A], ev: ApplicativeError[F, Throwable]): F[A]

    Permalink

    Load default configuration and decode an instance supporting cats.ApplicativeError.

    Load default configuration and decode an instance supporting cats.ApplicativeError.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> case class HttpSettings(server: ServerSettings)
      scala> case class AppSettings(http: HttpSettings)
      scala> import cats.effect.IO
      scala> parser.decodeF[IO, AppSettings]()
      res0: cats.effect.IO[AppSettings] = IO(AppSettings(HttpSettings(ServerSettings(localhost,8080))))
  13. final def decodeFile[A](file: File)(implicit arg0: Decoder[A]): Either[Error, A]

    Permalink

    Load configuration from file and decode an instance.

    Load configuration from file and decode an instance.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> case class HttpSettings(server: ServerSettings)
      scala> case class AppSettings(http: HttpSettings)
      scala> parser.decodeFile[AppSettings](new java.io.File("src/test/resources/application.conf"))
      res0: Either[io.circe.Error, AppSettings] = Right(AppSettings(HttpSettings(ServerSettings(localhost,8080))))
  14. final def decodeFileAccumulating[A](file: File)(implicit arg0: Decoder[A]): ValidatedNel[Error, A]

    Permalink
  15. final def decodePath[A](config: Config, path: String)(implicit arg0: Decoder[A]): Either[Error, A]

    Permalink

    Decode of an instance at a specific path.

    Decode of an instance at a specific path.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> import com.typesafe.config.ConfigFactory
      scala> val config = ConfigFactory.load()
      scala> parser.decodePath[ServerSettings](config, "http.server")
      res0: Either[io.circe.Error, ServerSettings] = Right(ServerSettings(localhost,8080))
  16. final def decodePath[A](path: String)(implicit arg0: Decoder[A]): Either[Error, A]

    Permalink

    Load the default configuration and decode an instance.

    Load the default configuration and decode an instance.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> parser.decodePath[ServerSettings]("http.server")
      res0: Either[io.circe.Error, ServerSettings] = Right(ServerSettings(localhost,8080))
  17. final def decodePathF[F[_], A](config: Config, path: String)(implicit arg0: Decoder[A], ev: ApplicativeError[F, Throwable]): F[A]

    Permalink

    Decode an instance supporting cats.ApplicativeError at a specific path.

    Decode an instance supporting cats.ApplicativeError at a specific path.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> import com.typesafe.config.ConfigFactory
      scala> val config = ConfigFactory.load()
      scala> import cats.effect.IO
      scala> import io.circe.config.parser
      scala> parser.decodePathF[IO, ServerSettings](config, "http.server")
      res0: cats.effect.IO[ServerSettings] = IO(ServerSettings(localhost,8080))
  18. final def decodePathF[F[_], A](path: String)(implicit arg0: Decoder[A], ev: ApplicativeError[F, Throwable]): F[A]

    Permalink

    Load default configuration and decode an instance supporting cats.ApplicativeError at a specific path.

    Load default configuration and decode an instance supporting cats.ApplicativeError at a specific path.

    Example:
    1. scala> import io.circe.generic.auto._
      scala> case class ServerSettings(host: String, port: Int)
      scala> import cats.effect.IO
      scala> parser.decodePathF[IO, ServerSettings]("http.server")
      res0: cats.effect.IO[ServerSettings] = IO(ServerSettings(localhost,8080))
  19. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. final def finishDecode[A](input: Either[ParsingFailure, Json])(implicit decoder: Decoder[A]): Either[Error, A]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Parser
  23. final def finishDecodeAccumulating[A](input: Either[ParsingFailure, Json])(implicit decoder: Decoder[A]): ValidatedNel[Error, A]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Parser
  24. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Any
  27. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  30. final def parse(input: String): Either[ParsingFailure, Json]

    Permalink
    Definition Classes
    parser → Parser
  31. final def parse(config: Config): Either[ParsingFailure, Json]

    Permalink
  32. final def parse(): Either[ParsingFailure, Json]

    Permalink
  33. final def parseFile(file: File): Either[ParsingFailure, Json]

    Permalink
  34. final def parsePath(config: Config, path: String): Either[ParsingFailure, Json]

    Permalink
  35. final def parsePath(path: String): Either[ParsingFailure, Json]

    Permalink
  36. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from Parser

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped