{-# LANGUAGE OverloadedStrings #-}
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