• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pureconfig / pureconfig / 16844894943

09 Aug 2025 03:28AM UTC coverage: 94.686% (-0.04%) from 94.726%
16844894943

Pull #1838

web-flow
Merge 12f0062cf into 38f73c635
Pull Request #1838: Rid of deprecated URL constructor

1 of 1 new or added line in 1 file covered. (100.0%)

95 existing lines in 26 files now uncovered.

2744 of 2898 relevant lines covered (94.69%)

2.43 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/modules/enumeratum/src/main/scala/pureconfig/module/enumeratum/package.scala
1
package pureconfig.module
2

3
import scala.reflect.ClassTag
4

5
import _root_.enumeratum._
6
import _root_.enumeratum.values._
7

8
import pureconfig.ConfigConvert
9
import pureconfig.ConfigConvert.{viaNonEmptyString, viaNonEmptyStringOpt, viaStringOpt}
10
import pureconfig.error.CannotConvert
11

12
package object enumeratum {
13

UNCOV
14
  implicit def enumeratumConfigConvert[A <: EnumEntry](implicit e: Enum[A], ct: ClassTag[A]): ConfigConvert[A] =
UNCOV
15
    viaNonEmptyStringOpt[A](e.withNameOption, _.entryName)
1✔
16

17
  implicit def enumeratumIntConfigConvert[A <: IntEnumEntry](implicit
1✔
18
      e: IntEnum[A],
19
      ct: ClassTag[A]
20
  ): ConfigConvert[A] =
21
    viaNonEmptyStringOpt[A](v => e.withValueOpt(v.toInt), _.value.toString)
2✔
22

23
  implicit def enumeratumLongConfigConvert[A <: LongEnumEntry](implicit
1✔
24
      e: LongEnum[A],
25
      ct: ClassTag[A]
26
  ): ConfigConvert[A] =
UNCOV
27
    viaNonEmptyStringOpt[A](v => e.withValueOpt(v.toLong), _.value.toString)
1✔
28

29
  implicit def enumeratumShortConfigConvert[A <: ShortEnumEntry](implicit
1✔
30
      e: ShortEnum[A],
31
      ct: ClassTag[A]
32
  ): ConfigConvert[A] =
33
    viaNonEmptyStringOpt[A](v => e.withValueOpt(v.toShort), _.value.toString)
2✔
34

35
  implicit def enumeratumStringConfigConvert[A <: StringEnumEntry](implicit
1✔
36
      e: StringEnum[A],
37
      ct: ClassTag[A]
38
  ): ConfigConvert[A] =
39
    viaStringOpt[A](v => e.withValueOpt(v), _.value.toString)
2✔
40

41
  implicit def enumeratumByteConfigConvert[A <: ByteEnumEntry](implicit
1✔
42
      e: ByteEnum[A],
43
      ct: ClassTag[A]
44
  ): ConfigConvert[A] =
45
    viaNonEmptyStringOpt[A](v => e.withValueOpt(v.toByte), _.value.toString)
2✔
46

47
  implicit def enumeratumCharConfigConvert[A <: CharEnumEntry](implicit
1✔
48
      e: CharEnum[A],
49
      ct: ClassTag[A]
50
  ): ConfigConvert[A] =
51
    viaNonEmptyString[A](
2✔
52
      s =>
53
        ensureOneChar(s) match {
1✔
54
          case Right(v) => Right(e.withValue(v))
1✔
55
          case Left(msg) => Left(CannotConvert(s, ct.runtimeClass.getSimpleName, msg))
1✔
56
        },
UNCOV
57
      _.value.toString
58
    )
59

60
  private val ensureOneChar: Seq[Char] => Either[String, Char] = {
61
    case Seq(c) => Right(c)
2✔
62
    case s => Left(s"""Cannot read a character value from "$s"""")
2✔
63
  }
64
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc