Object/Trait

zio.config.shapeless

DeriveConfigDescriptor

Related Docs: trait DeriveConfigDescriptor | package shapeless

Permalink

object DeriveConfigDescriptor extends DeriveConfigDescriptor

zio-config-shapeless is an alternative to zio-config-magnolia to support scala 2.11 projects. It will be deprecated once we find users have moved on from scala 2.11.

DeriveConfigDescriptor.descriptor[Config] gives an automatic ConfigDescriptor for the case class Config recursively

DeriveConfigDescriptor.descriptor[X] gives an automatic ConfigDescriptor for the sealed trait X (coproduct)

// Given
final case class Config(username: String, age: Int)

// should work with no additional code
val description = descriptor[Config]

val config = Config.fromSystemEnv(description)

Please find more (complex) examples in the examples module in zio-config

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DeriveConfigDescriptor
  2. DeriveConfigDescriptor
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class ClassDescriptor[T](desc: config.ConfigDescriptor[T], name: String, isObject: Boolean) extends Product with Serializable

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  2. trait CollectClassFields[L <: HList, Names <: HList, Descs <: HList, Defaults <: HList] extends AnyRef

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  3. trait CollectSum[Repr <: Coproduct] extends AnyRef

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  4. case class Descriptor[T](configDescriptor: config.ConfigDescriptor[T]) extends Product with Serializable

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  5. trait LowPriorityOptAnnotation extends AnyRef

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  6. trait OptAnnotation[A, T] extends AnyRef

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  7. trait SumCase[C] extends AnyRef

    Permalink
    Definition Classes
    DeriveConfigDescriptor

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 CollectClassFields

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  5. object CollectSum

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  6. object Descriptor extends Serializable

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  7. object OptAnnotation extends LowPriorityOptAnnotation

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  8. def apply[T](implicit arg0: NeedsDerive[T], arg1: ClassDescriptor[T]): Descriptor[T]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. implicit def classDescriptor[T, Repr <: HList, Names <: HList, Descs <: HList, Defaults <: HList](implicit gen: Aux[T, Repr], typeName: TypeName[T], optName: OptAnnotation[name, T], optDesc: OptAnnotation[describe, T], names: Aux[name, T, Names], descs: Aux[describe, T, Descs], defaults: Aux[T, Defaults], collectFields: CollectClassFields[Repr, Names, Descs, Defaults]): ClassDescriptor[T]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. implicit def descriptor[T](implicit arg0: Descriptor[T]): config.ConfigDescriptor[T]

    Permalink
  13. def eitherDesc[A, B](left: config.ConfigDescriptor[A], right: config.ConfigDescriptor[B]): config.ConfigDescriptor[Either[A, B]]

    Permalink
    Attributes
    protected
    Definition Classes
    DeriveConfigDescriptor
  14. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. implicit def getDescriptor[T](implicit arg0: NeedsDerive[T], arg1: ClassDescriptor[T]): Descriptor[T]

    Permalink

    By default this method is not implicit to allow custom non-recursive derivation

    By default this method is not implicit to allow custom non-recursive derivation

    Definition Classes
    DeriveConfigDescriptorDeriveConfigDescriptor
  19. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  20. implicit val implicitBigDecimalDesc: Descriptor[BigDecimal]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  21. implicit val implicitBigIntDesc: Descriptor[BigInt]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  22. implicit val implicitBooleanDesc: Descriptor[Boolean]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  23. implicit val implicitByteDesc: Descriptor[Byte]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  24. implicit val implicitDoubleDesc: Descriptor[Double]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  25. implicit val implicitDurationDesc: Descriptor[Duration]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  26. implicit def implicitEitherDesc[A, B](implicit arg0: Descriptor[A], arg1: Descriptor[B]): Descriptor[Either[A, B]]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  27. implicit val implicitFileDesc: Descriptor[File]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  28. implicit val implicitFloatDesc: Descriptor[Float]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  29. implicit val implicitInstantDesc: Descriptor[Instant]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  30. implicit val implicitIntDesc: Descriptor[Int]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  31. implicit val implicitJavaFilePathDesc: Descriptor[Path]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  32. implicit def implicitListDesc[A](implicit arg0: Descriptor[A]): Descriptor[List[A]]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  33. implicit val implicitLocalDateDesc: Descriptor[LocalDate]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  34. implicit val implicitLocalDateTimeDesc: Descriptor[LocalDateTime]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  35. implicit val implicitLocalTimeDesc: Descriptor[LocalTime]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  36. implicit val implicitLongDesc: Descriptor[Long]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  37. implicit def implicitMapDesc[A](implicit arg0: Descriptor[A]): Descriptor[Map[String, A]]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  38. implicit def implicitOptionDesc[A](implicit arg0: Descriptor[A]): Descriptor[Option[A]]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  39. implicit val implicitScalaDurationDesc: Descriptor[Duration]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  40. implicit def implicitSetDesc[A](implicit arg0: Descriptor[A]): Descriptor[Set[A]]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  41. implicit val implicitShortDesc: Descriptor[Short]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  42. implicit val implicitStringDesc: Descriptor[String]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  43. implicit val implicitUUIDDesc: Descriptor[UUID]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  44. implicit val implicitUriDesc: Descriptor[URI]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  45. implicit val implicitUrlDesc: Descriptor[URL]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  46. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  47. def listDesc[A](desc: config.ConfigDescriptor[A]): config.ConfigDescriptor[List[A]]

    Permalink
    Attributes
    protected
    Definition Classes
    DeriveConfigDescriptor
  48. def mapClassName(name: String): String

    Permalink
  49. def mapDesc[A](desc: config.ConfigDescriptor[A]): config.ConfigDescriptor[Map[String, A]]

    Permalink
    Attributes
    protected
    Definition Classes
    DeriveConfigDescriptor
  50. def mapFieldName(name: String): String

    Permalink
  51. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  54. implicit def objectDescriptor[T](implicit gen: Aux[T, HNil], typeName: TypeName[T], optName: OptAnnotation[name, T], optDesc: OptAnnotation[describe, T]): ClassDescriptor[T]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  55. def optionDesc[A](desc: config.ConfigDescriptor[A]): config.ConfigDescriptor[Option[A]]

    Permalink
    Attributes
    protected
    Definition Classes
    DeriveConfigDescriptor
  56. def setDesc[A](desc: config.ConfigDescriptor[A]): config.ConfigDescriptor[Set[A]]

    Permalink
    Attributes
    protected
    Definition Classes
    DeriveConfigDescriptor
  57. implicit def sumDescriptor[T, Repr <: Coproduct](implicit gen: Aux[T, Repr], cs: CollectSum[Repr], typeName: TypeName[T], optName: OptAnnotation[name, T]): ClassDescriptor[T]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  58. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wrapSealedTrait[T](label: String, desc: config.ConfigDescriptor[T]): config.ConfigDescriptor[T]

    Permalink
    Definition Classes
    DeriveConfigDescriptor
  64. val wrapSealedTraitClasses: Boolean

    Permalink
  65. val wrapSealedTraits: Boolean

    Permalink

Inherited from DeriveConfigDescriptor

Inherited from AnyRef

Inherited from Any

Ungrouped