{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Data.Validity.Time.Format where
import Data.Time.Format
import Data.Validity
import Data.Validity.Time.LocalTime ()
instance Validity TimeLocale where
validate :: TimeLocale -> Validation
validate TimeLocale {String
[(String, String)]
[TimeZone]
(String, String)
wDays :: TimeLocale -> [(String, String)]
months :: TimeLocale -> [(String, String)]
amPm :: TimeLocale -> (String, String)
dateTimeFmt :: TimeLocale -> String
dateFmt :: TimeLocale -> String
timeFmt :: TimeLocale -> String
time12Fmt :: TimeLocale -> String
knownTimeZones :: TimeLocale -> [TimeZone]
knownTimeZones :: [TimeZone]
time12Fmt :: String
timeFmt :: String
dateFmt :: String
dateTimeFmt :: String
amPm :: (String, String)
months :: [(String, String)]
wDays :: [(String, String)]
..} =
[Validation] -> Validation
forall a. Monoid a => [a] -> a
mconcat
[ [(String, String)] -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate [(String, String)]
wDays String
"wDays",
[(String, String)] -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate [(String, String)]
months String
"months",
(String, String) -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate (String, String)
amPm String
"amPm",
String -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate String
dateTimeFmt String
"dateTimeFmt",
String -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate String
dateFmt String
"dateFmt",
String -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate String
timeFmt String
"timeFmt",
String -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate String
time12Fmt String
"time12Fmt",
[TimeZone] -> String -> Validation
forall a. Validity a => a -> String -> Validation
annotate [TimeZone]
knownTimeZones String
"knownTimeZones"
]