holidays-0.4.0.0: src/Holidays/Base.hs
module Holidays.Base (
Holiday (..),
day,
hday,
nullDay,
validDay,
) where
import qualified Data.Text as T
import Data.Time
data Holiday
= Holiday
{ holidayKey :: T.Text,
holidayValue :: Day
}
deriving (Ord, Eq, Show)
-- | Constructor for a Day. Equivalent to the fromGregorian function.
day :: Year -> MonthOfYear -> DayOfMonth -> Day
day = fromGregorian
-- | Constructor for a Holiday.
hday :: T.Text -> Day -> Holiday
hday k d = Holiday {holidayKey = k, holidayValue = d}
-- | Convention for filtering out invalid dates.
nullDay :: Day
nullDay = day 0 0 0
-- | Day is valid if its not a nullDate
validDay :: Day -> Bool
validDay = not . (nullDay ==)