From bdf9ec57f213eb652ba5fb3b21973d028034d40e Mon Sep 17 00:00:00 2001 From: Sergey Nastich Date: Tue, 3 Apr 2018 10:57:14 -0700 Subject: Add enumeratum support to JSON format and generators (#144) * Add enumeratum support to JSON format and generators * Move enumeratum serializers into their own object. Add enumeratum unmarshaller. Add entities to derive JsonFormats instead of having to type them externally. --- src/main/scala/xyz/driver/core/generators.scala | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/main/scala/xyz/driver/core/generators.scala') diff --git a/src/main/scala/xyz/driver/core/generators.scala b/src/main/scala/xyz/driver/core/generators.scala index 143044c..3c85447 100644 --- a/src/main/scala/xyz/driver/core/generators.scala +++ b/src/main/scala/xyz/driver/core/generators.scala @@ -1,5 +1,6 @@ package xyz.driver.core +import enumeratum._ import java.math.MathContext import java.util.UUID @@ -91,6 +92,8 @@ object generators { def oneOf[T](items: Set[T]): T = items.toSeq(nextInt(items.size)) + def oneOf[T <: EnumEntry](enum: Enum[T]): T = oneOf(enum.values: _*) + def arrayOf[T: ClassTag](generator: => T, maxLength: Int = DefaultMaxLength, minLength: Int = 0): Array[T] = Array.fill(nextInt(maxLength, minLength))(generator) -- cgit v1.2.3