Ciris Ciris

circe-yaml

The ciris-circe-yaml module provides ConfigDecoders for YAML using circe-yaml.

Getting Started

To get started with sbt, add the following line to your build.sbt file.

libraryDependencies += "is.cir" %% "ciris-circe-yaml" % "3.15.2"

Usage

import ciris._
import ciris.circe.yaml._
import io.circe.Decoder

case class SerialNumber(value: String)

object SerialNumber {
  implicit val serialNumberDecoder: Decoder[SerialNumber] =
    Decoder[String].map(apply)

  implicit val serialNumberConfigDecoder: ConfigDecoder[String, SerialNumber] =
    circeYamlConfigDecoder("SerialNumber")
}

env("SERIAL").as[SerialNumber]
// res0: ConfigValue[Effect, SerialNumber] = ConfigValue$372943156