Trait

zio.config

ConfigStringModule

Related Doc: package config

Permalink

trait ConfigStringModule extends ConfigModule with ConfigSourceStringModule

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConfigStringModule
  2. ConfigSourceStringModule
  3. ConfigModule
  4. ReadModule
  5. ConfigDocsModule
  6. WriteModule
  7. ConfigDescriptorModule
  8. ConfigSourceModule
  9. KeyValueModule
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait ConfigDescriptor[A] extends AnyRef

    Permalink
    Definition Classes
    ConfigDescriptorModule
  2. trait ConfigDescriptorFunctions extends AnyRef

    Permalink
    Definition Classes
    ConfigDescriptorModule
  3. sealed trait ConfigDocs extends AnyRef

    Permalink
    Definition Classes
    ConfigDocsModule
  4. trait ConfigSource extends AnyRef

    Permalink
    Definition Classes
    ConfigSourceModule
  5. trait ConfigSourceFunctions extends AnyRef

    Permalink
    Definition Classes
    ConfigSourceModule
  6. case class ConfigSourceName(name: String) extends Product with Serializable

    Permalink
    Definition Classes
    ConfigSourceModule
  7. type K = String

    Permalink
  8. case class LazyConfigDescriptor[A](get: () ⇒ ConfigDescriptor[A]) extends Product with Serializable

    Permalink
    Definition Classes
    ConfigDescriptorModule
  9. sealed trait LeafForSequence extends AnyRef

    Permalink

    To specify if a singleton leaf should be considered as a valid sequence or not.

    To specify if a singleton leaf should be considered as a valid sequence or not.

    Definition Classes
    ConfigSourceModule
  10. case class Table(rows: List[TableRow]) extends Product with Serializable

    Permalink

    Definition Classes
    ConfigDocsModule
  11. type V = String

    Permalink
  12. type ZConfig[A] = Has[A]

    Permalink
    Definition Classes
    ConfigModule

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. object ConfigDescriptor extends ConfigDescriptorFunctions

    Permalink
  5. object ConfigDescriptorAdt

    Permalink
    Definition Classes
    ConfigDescriptorModule
  6. object ConfigDocs

    Permalink
    Definition Classes
    ConfigDocsModule
  7. object ConfigSource extends ConfigSourceFunctions

    Permalink
    Definition Classes
    ConfigSourceStringModule
  8. object ConfigSourceFunctions extends ConfigSourceFunctions

    Permalink
    Attributes
    protected
    Definition Classes
    ConfigSourceModule
  9. object LeafForSequence

    Permalink
    Definition Classes
    ConfigSourceModule
  10. object Table extends Serializable

    Permalink
    Definition Classes
    ConfigDocsModule
  11. object ZConfig

    Permalink

    Use functions in this Config object when you need to retrieve your instance of config in terms of zio.Layer.

    Use functions in this Config object when you need to retrieve your instance of config in terms of zio.Layer.

    For example:

    final case class MyConfig(dburl: String, port: Int)
    
    val myConfigDesc: ConfigDescriptor[MyConfig]             = (string("dburl") |@| int("port"))(MyConfig.apply, MyConfig.unapply)
    val myConfig: Layer[ReadError[String], Config[MyConfig]] = Config.fromSystemEnv(myConfigDesc)

    By using Config.fromSystemEnv(myConfigDesc), it internally extends your description which is myConfigDesc to include the ConfigSource. In the above example, it is the ConfigSource corresponding to sys.env. It then calls zio.config.read with this new description that includes the source information.

    Extending an existing config description to include a ConfigSource is as simple as

    myConfigDesc from configSource

    Also, note that Config[MyConfig] in the above example is a simple type alias to Has[MyConfig].

    If you want to retrieve your config as scala.Either instead of zio.Layer, then you will have to extend your description to include the information on ConfigSource manually.

    For example:

    import zio.config._, ConfigDescriptor._
    final case class MyConfig(dburl: String, port: Int)
    
    val myConfig: ConfigDescriptor[MyConfig]         = (string("dburl") |@| int("port"))(MyConfig.apply, MyConfig.unapply)
    val constantSource: ConfigSource                 = ConfigSource.fromMap(Map("dburl" -> "xyz", "port" -> "8080"))
    val result: Either[ReadError[String], MyConfig]  = read(myConfig from constantSource)

    Note: With the above approach, we got a simple scala.Either instead of retrieving them in terms of ZIO. Instead of the above approach, if we use Config.fromMap(constantMap, myConfig), then we will get a Layer[ReadError[String], MyConfig]

    The above approach is especially useful when we have a custom ConfigSource. For instance, we can form a custom ConfigSource by composing a few existing ConfigSources.

    For example:

    import zio.config._, ConfigDescriptor._
    
    final case class MyConfig(dburl: String, port: Int)
    
    val myConfig: ConfigDescriptor[MyConfig]     = (string("dburl") |@| int("port"))(MyConfig.apply, MyConfig.unapply)
    val sysEnvSource: UIO[MyConfig]              = ConfigSource.fromSystemEnv
    val constantSource: ConfigSource             = ConfigSource.fromMap(Map("dburl" -> "xyz", "port" -> "8080"))
    val result: IO[ReadError[String], MyConfig]  = configSource.flatMap(source => read(myConfig from sysEnvSource.orElse(constantSource))

    In the above example, the results returned an UIO because of the existence of ConfigSource corresponding to sys.env.

  12. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. def dump[A](config: ConfigDescriptor[A]): String

    Permalink
    Definition Classes
    ConfigDescriptorModule
  15. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def foldReadError[B](error: ReadError[K])(alternative: B)(f: PartialFunction[ReadError[K], B])(g: (B, B) ⇒ B, zero: B): B

    Permalink
    Definition Classes
    ReadModule
  19. final def generateDocs[A](config: ConfigDescriptor[A]): ConfigDocs

    Permalink

    Generate documentation based on the ConfigDescriptor, where a ConfigDescriptor is a structure representing the logic to fetch the application config from various sources.

    Generate documentation based on the ConfigDescriptor, where a ConfigDescriptor is a structure representing the logic to fetch the application config from various sources.

    Definition Classes
    ConfigDocsModule
  20. def generateReport[A](config: ConfigDescriptor[A], value: A): Either[String, ConfigDocs]

    Permalink

    Generate a report based on the ConfigDescriptor and an A, where a ConfigDescriptor represents the logic to fetch the application config from various sources, and A represents the actual config value that was retrieved.

    Generate a report based on the ConfigDescriptor and an A, where a ConfigDescriptor represents the logic to fetch the application config from various sources, and A represents the actual config value that was retrieved.

    Definition Classes
    ConfigDocsModule
  21. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def getConfig[A](implicit tag: zio.Tag[A]): ZIO[ZConfig[A], Nothing, A]

    Permalink
    Definition Classes
    ConfigModule
  23. def getConfigSource(sourceNames: Set[ConfigSourceName], getTree: (List[K]) ⇒ PropertyTree[K, V], isLeafValidSequence: LeafForSequence): ConfigSource

    Permalink
    Attributes
    protected
    Definition Classes
    ConfigSourceModule
  24. def handleDefaultValues[A, B](error: ReadError[K], config: ConfigDescriptor[A], default: B): Either[ReadError[K], AnnotatedRead[B]]

    Permalink
    Definition Classes
    ReadModule
  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. def parseErrorMessage(given: String, expectedType: String): String

    Permalink
    Definition Classes
    ReadModule
  31. final def read[A](configuration: ConfigDescriptor[A]): Either[ReadError[K], A]

    Permalink
    Definition Classes
    ReadModule
  32. final def requiredZipAndOrFields[A](config: ConfigDescriptor[A]): Int

    Permalink
    Definition Classes
    ReadModule
  33. def sizeOfZipAndOrErrors(error: ReadError[K]): Int

    Permalink
    Definition Classes
    ReadModule
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  35. final def thunk[A](config: ⇒ ConfigDescriptor[A]): LazyConfigDescriptor[A]

    Permalink
    Definition Classes
    ConfigDescriptorModule
  36. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def write[A](config: ConfigDescriptor[A], a: A): Either[String, PropertyTree[K, V]]

    Permalink
    Definition Classes
    WriteModule

Inherited from ConfigSourceStringModule

Inherited from ConfigModule

Inherited from ReadModule

Inherited from ConfigDocsModule

Inherited from WriteModule

Inherited from ConfigDescriptorModule

Inherited from ConfigSourceModule

Inherited from KeyValueModule

Inherited from AnyRef

Inherited from Any

Ungrouped