Retrieve a ConfigSource
from yaml path.
Retrieve a ConfigSource
from yaml path.
A complete example usage:
case class MyConfig(port: Int, url: String) val result: Either[ReadError[String], MyConfig] = YamlConfigSource.fromYamlFile(new File("/path/to/file.yaml")) .flatMap(source => read(descriptor[MyConfig] from source)))
Retrieve a ConfigSource
from yaml path.
Retrieve a ConfigSource
from yaml path.
A complete example usage:
case class MyConfig(port: Int, url: String) val result: Either[ReadError[String], MyConfig] = YamlConfigSource.fromYamlPath(Path.of("/path/to/file.yaml")) .flatMap(source => read(descriptor[MyConfig] from source)))
Retrieve a ConfigSource
from yaml reader.
Retrieve a ConfigSource
from yaml reader.
A complete example usage:
import zio.* import scala.io.Source import java.io.InputStreamReader import zio.config.yaml.YamlConfigSource case class MyConfig(port: Int, url: String) def acquire(yamlResourcePath: String) = ZIO.effect(Source.fromResource(yamlResourcePath).reader) def release(reader: InputStreamReader) = ZIO.effectTotal(reader.close()) val myConfig: InputStreamReader => IO[ReadError[String], MyConfig] = reader => IO.fromEither( for { source <- YamlConfigSource.fromYamlReader(reader) myConfig <- read(descriptor[MyConfig] from source) } yield myConfig ) val result: Task[MyConfig] = ZManaged.make(acquire("relative/path/to/your/application/resource.yml"))(release).use(myConfig)
Retrieve a ConfigSource
from yaml path.
Retrieve a ConfigSource
from yaml path.
A complete example usage:
val yamlString = ??? case class MyConfig(port: Int, url: String) val result: Either[ReadError[String], MyConfig] = YamlConfigSource.fromYamlString(yamlString)) .flatMap(source => read(descriptor[MyConfig] from source)))