module Toml.Codec.Combinator.Time
( zonedTime
, localTime
, day
, timeOfDay
) where
import Data.Time (Day, LocalTime, TimeOfDay, ZonedTime)
import Toml.Codec.BiMap.Conversion (_Day, _LocalTime, _TimeOfDay, _ZonedTime)
import Toml.Codec.Combinator.Common (match)
import Toml.Codec.Types (TomlCodec)
import Toml.Type.Key (Key)
zonedTime :: Key -> TomlCodec ZonedTime
zonedTime :: Key -> TomlCodec ZonedTime
zonedTime = TomlBiMap ZonedTime AnyValue -> Key -> TomlCodec ZonedTime
forall a. TomlBiMap a AnyValue -> Key -> TomlCodec a
match TomlBiMap ZonedTime AnyValue
_ZonedTime
{-# INLINE zonedTime #-}
localTime :: Key -> TomlCodec LocalTime
localTime :: Key -> TomlCodec LocalTime
localTime = TomlBiMap LocalTime AnyValue -> Key -> TomlCodec LocalTime
forall a. TomlBiMap a AnyValue -> Key -> TomlCodec a
match TomlBiMap LocalTime AnyValue
_LocalTime
{-# INLINE localTime #-}
day :: Key -> TomlCodec Day
day :: Key -> TomlCodec Day
day = TomlBiMap Day AnyValue -> Key -> TomlCodec Day
forall a. TomlBiMap a AnyValue -> Key -> TomlCodec a
match TomlBiMap Day AnyValue
_Day
{-# INLINE day #-}
timeOfDay :: Key -> TomlCodec TimeOfDay
timeOfDay :: Key -> TomlCodec TimeOfDay
timeOfDay = TomlBiMap TimeOfDay AnyValue -> Key -> TomlCodec TimeOfDay
forall a. TomlBiMap a AnyValue -> Key -> TomlCodec a
match TomlBiMap TimeOfDay AnyValue
_TimeOfDay
{-# INLINE timeOfDay #-}