From a4dd609bbef58f631f5ceaa1f034deb0ecf12db1 Mon Sep 17 00:00:00 2001 From: Zach Smith Date: Tue, 6 Mar 2018 15:00:16 -0800 Subject: Add DayOfWeek type --- src/main/scala/xyz/driver/core/date.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/main/scala/xyz/driver/core/date.scala') diff --git a/src/main/scala/xyz/driver/core/date.scala b/src/main/scala/xyz/driver/core/date.scala index d6f64e4..fe35c91 100644 --- a/src/main/scala/xyz/driver/core/date.scala +++ b/src/main/scala/xyz/driver/core/date.scala @@ -5,6 +5,7 @@ import java.util.Calendar import scala.util.Try import scalaz.std.anyVal._ +import scalaz.Scalaz.stringInstance import scalaz.syntax.equal._ /** @@ -14,6 +15,21 @@ import scalaz.syntax.equal._ */ object date { + sealed trait DayOfWeek + object DayOfWeek { + case object Monday extends DayOfWeek + case object Tuesday extends DayOfWeek + case object Wednesday extends DayOfWeek + case object Thursday extends DayOfWeek + case object Friday extends DayOfWeek + case object Saturday extends DayOfWeek + case object Sunday extends DayOfWeek + + val All: Set[DayOfWeek] = Set(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday) + + def fromString(day: String): Option[DayOfWeek] = All.find(_.toString === day) + } + type Day = Int @@ Day.type object Day { -- cgit v1.2.3