module Data.Holiday.Korea where
import Data.Aeson.Types ( FromJSON
, (.:)
, parseJSON
, withObject
)
import Data.Holiday.Model ( Date(..)
, Holiday(..)
)
import Data.Maybe ( fromJust
, listToMaybe
)
import Util.Config ( holidays )
getHoliday
:: Integer
-> Int
-> Int
-> Maybe Holiday
getHoliday year month day = listToMaybe $ filter match holidays
where
match :: Holiday -> Bool
match Holiday { date = YMD (y, m, d) } | y == year && m == month && d == day =
True
match Holiday { date = MD (m, d) } | m == month && d == day = True
match _ = False