Skip to content

Commit

Permalink
Trying to fix the enum warnings that might prevent publish artifacts. (
Browse files Browse the repository at this point in the history
  • Loading branch information
ithinkicancode committed Nov 12, 2022
1 parent 87c977e commit 467bc6c
Showing 1 changed file with 14 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,45 +11,45 @@ package object enumeratum {
def nonEmptyString: ConfigDescriptor[String] =
string.transformOrFailLeft(str => if (str.isEmpty) Left("Empty string") else Right(str))(identity)

def enum[A <: EnumEntry](enum: Enum[A])(implicit ct: ClassTag[A]): ConfigDescriptor[A] =
nonEmptyString.transformOrFailLeft(s => enum.withNameEither(s).swap.map(_.getMessage()).swap)(_.entryName)
def `enum`[A <: EnumEntry](`enum`: Enum[A])(implicit ct: ClassTag[A]): ConfigDescriptor[A] =
nonEmptyString.transformOrFailLeft(s => `enum`.withNameEither(s).swap.map(_.getMessage()).swap)(_.entryName)

def intEnum[A <: IntEnumEntry](enum: IntEnum[A])(implicit
def intEnum[A <: IntEnumEntry](`enum`: IntEnum[A])(implicit
ct: ClassTag[A]
): ConfigDescriptor[A] =
nonEmptyString
.transformOrFailLeft(v => enum.withValueEither(v.toInt).swap.map(_.getMessage()).swap)(_.value.toString)
.transformOrFailLeft(v => `enum`.withValueEither(v.toInt).swap.map(_.getMessage()).swap)(_.value.toString)

def longEnum[A <: LongEnumEntry](enum: LongEnum[A])(implicit
def longEnum[A <: LongEnumEntry](`enum`: LongEnum[A])(implicit
ct: ClassTag[A]
): ConfigDescriptor[A] =
nonEmptyString
.transformOrFailLeft[A](v => enum.withValueEither(v.toLong).swap.map(_.getMessage()).swap)(_.value.toString)
.transformOrFailLeft[A](v => `enum`.withValueEither(v.toLong).swap.map(_.getMessage()).swap)(_.value.toString)

def shortEnum[A <: ShortEnumEntry](enum: ShortEnum[A])(implicit
def shortEnum[A <: ShortEnumEntry](`enum`: ShortEnum[A])(implicit
ct: ClassTag[A]
): ConfigDescriptor[A] =
nonEmptyString
.transformOrFailLeft[A](v => enum.withValueEither(v.toShort).swap.map(_.getMessage()).swap)(_.value.toString)
.transformOrFailLeft[A](v => `enum`.withValueEither(v.toShort).swap.map(_.getMessage()).swap)(_.value.toString)

def stringEnum[A <: StringEnumEntry](enum: StringEnum[A])(implicit
def stringEnum[A <: StringEnumEntry](`enum`: StringEnum[A])(implicit
ct: ClassTag[A]
): ConfigDescriptor[A] =
string
.transformOrFailLeft[A](v => enum.withValueEither(v).swap.map(_.getMessage()).swap)(_.value.toString)
.transformOrFailLeft[A](v => `enum`.withValueEither(v).swap.map(_.getMessage()).swap)(_.value.toString)

def byteEnum[A <: ByteEnumEntry](enum: ByteEnum[A])(implicit
def byteEnum[A <: ByteEnumEntry](`enum`: ByteEnum[A])(implicit
ct: ClassTag[A]
): ConfigDescriptor[A] =
nonEmptyString
.transformOrFailLeft[A](v => enum.withValueEither(v.toByte).swap.map(_.getMessage()).swap)(_.value.toString)
.transformOrFailLeft[A](v => `enum`.withValueEither(v.toByte).swap.map(_.getMessage()).swap)(_.value.toString)

def charEnum[A <: CharEnumEntry](enum: CharEnum[A])(implicit
def charEnum[A <: CharEnumEntry](`enum`: CharEnum[A])(implicit
ct: ClassTag[A]
): ConfigDescriptor[A] =
nonEmptyString.transformOrFailLeft(v =>
v.toList match {
case h :: Nil => enum.withValueEither(h).swap.map(_.getMessage()).swap
case h :: Nil => `enum`.withValueEither(h).swap.map(_.getMessage()).swap
case s => Left(s"Failed to read a character from ${s}")
}
)(_.value.toString)
Expand Down

0 comments on commit 467bc6c

Please sign in to comment.