-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
It may be intended, but right now circe-config is inconsistent with original config for Boolean values written as strings:
scala> import com.typesafe.config.ConfigFactory
import com.typesafe.config.ConfigFactory
scala> import io.circe.config.parser
import io.circe.config.parser
scala> val config = ConfigFactory.parseString("server { host = localhost, port = 8080 }")
config: com.typesafe.config.Config = Config(SimpleConfigObject({"server":{"host":"localhost","port":8080}}))
scala> val config = ConfigFactory.parseString("server { host = localhost, port = 8080, enabled = on }")
config: com.typesafe.config.Config = Config(SimpleConfigObject({"server":{"enabled":"on","host":"localhost","port":8080}}))
scala> val json: Either[io.circe.ParsingFailure, io.circe.Json] = parser.parse(config)
json: Either[io.circe.ParsingFailure,io.circe.Json] =
Right({
"server" : {
"enabled" : "on",
"port" : 8080,
"host" : "localhost"
}
})
scala> config.getBoolean("server.enabled")
res0: Boolean = true
It is possible to work around it, but it is not very convenient when passing config values via ENV_VARIABLES in K8s -- it disallows unquoted strings. :(
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels