{-# LANGUAGE OverloadedStrings #-}
module Holidays.UnitedStates (
holidays,
) where
import Data.Time
import Holidays.Base
import Holidays.DateFinder
import Holidays.DateTransform
holidays :: ([Year -> Holiday], [DateTransform])
holidays :: ([Year -> Holiday], [DateTransform])
holidays =
( [ Text -> Day -> Holiday
hday Text
"new_years_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Year -> Day
newYearsDay,
Text -> Day -> Holiday
hday Text
"martin_luther_kings_birthday" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Year
3 `mon`) ((Year -> Maybe DayOfWeek -> Day) -> Day)
-> (Year -> Year -> Maybe DayOfWeek -> Day) -> Year -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Day -> Year -> Maybe DayOfWeek -> Day
after (Day -> Year -> Maybe DayOfWeek -> Day)
-> (Year -> Day) -> Year -> Year -> Maybe DayOfWeek -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
jan DayOfMonth
1,
Text -> Day -> Holiday
hday Text
"george_washingtons_birthday" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Year
3 `mon`) ((Year -> Maybe DayOfWeek -> Day) -> Day)
-> (Year -> Year -> Maybe DayOfWeek -> Day) -> Year -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Day -> Year -> Maybe DayOfWeek -> Day
after (Day -> Year -> Maybe DayOfWeek -> Day)
-> (Year -> Day) -> Year -> Year -> Maybe DayOfWeek -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
feb DayOfMonth
1,
Text -> Day -> Holiday
hday Text
"memorial_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Year
1 `mon`) ((Year -> Maybe DayOfWeek -> Day) -> Day)
-> (Year -> Year -> Maybe DayOfWeek -> Day) -> Year -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Day -> Year -> Maybe DayOfWeek -> Day
before (Day -> Year -> Maybe DayOfWeek -> Day)
-> (Year -> Day) -> Year -> Year -> Maybe DayOfWeek -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
jun DayOfMonth
1,
Text -> Day -> Holiday
hday Text
"juneteenth_independence_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
jun DayOfMonth
19,
Text -> Day -> Holiday
hday Text
"independence_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
jul DayOfMonth
4,
Text -> Day -> Holiday
hday Text
"labor_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Year
1 `mon`) ((Year -> Maybe DayOfWeek -> Day) -> Day)
-> (Year -> Year -> Maybe DayOfWeek -> Day) -> Year -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Day -> Year -> Maybe DayOfWeek -> Day
after (Day -> Year -> Maybe DayOfWeek -> Day)
-> (Year -> Day) -> Year -> Year -> Maybe DayOfWeek -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
sep DayOfMonth
1,
Text -> Day -> Holiday
hday Text
"columbus_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Year
2 `mon`) ((Year -> Maybe DayOfWeek -> Day) -> Day)
-> (Year -> Year -> Maybe DayOfWeek -> Day) -> Year -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Day -> Year -> Maybe DayOfWeek -> Day
after (Day -> Year -> Maybe DayOfWeek -> Day)
-> (Year -> Day) -> Year -> Year -> Maybe DayOfWeek -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
oct DayOfMonth
1,
Text -> Day -> Holiday
hday Text
"veterans_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
nov DayOfMonth
11,
Text -> Day -> Holiday
hday Text
"thanksgiving_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Year
4 `thurs`) ((Year -> Maybe DayOfWeek -> Day) -> Day)
-> (Year -> Year -> Maybe DayOfWeek -> Day) -> Year -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Day -> Year -> Maybe DayOfWeek -> Day
after (Day -> Year -> Maybe DayOfWeek -> Day)
-> (Year -> Day) -> Year -> Year -> Maybe DayOfWeek -> Day
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DayOfMonth -> Year -> Day
nov DayOfMonth
1,
Text -> Day -> Holiday
hday Text
"christmas_day" (Day -> Holiday) -> (Year -> Day) -> Year -> Holiday
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Year -> Day
christmasDay
],
[]
)