@@ -1,4 +1,4 @@
1−{-# LANGUAGE CPP, DerivingStrategies, DeriveAnyClass #-}
1+{-# LANGUAGE CPP #-}
2module Data.Time.LocalTime.Short
2module Data.Time.LocalTime.Short
3 ( ShortZonedTime
3 ( ShortZonedTime
4 , shortZonedTime
4 , shortZonedTime
@@ -21,11 +21,11 @@ import Control.Lens
21import Control.Monad.State
21import Control.Monad.State
22import Data.Aeson
22import Data.Aeson
23import Data.Binary (Binary)
23import Data.Binary (Binary)
24−import Data.Binary.Instances.Time ()
25import Data.Coerce
24import Data.Coerce
26import Data.Ord (comparing)
25import Data.Ord (comparing)
27import Data.Time as T
26import Data.Time as T
28import Data.Time.Fmt
27import Data.Time.Fmt
28+import Data.Time.LocalTime.Instances ()
29import Data.Time.Utils
29import Data.Time.Utils
30import GHC.Generics (Generic)
30import GHC.Generics (Generic)
31import Test.QuickCheck (Arbitrary)
31import Test.QuickCheck (Arbitrary)
@@ -43,8 +43,7 @@ import Data.Time.Format.Internal
43newtype ShortZonedTime
43newtype ShortZonedTime
44 = ShortZonedTime
44 = ShortZonedTime
45 { unShortZonedTime :: T.ZonedTime
45 { unShortZonedTime :: T.ZonedTime
46− } deriving stock (Generic)
47− deriving newtype (FormatTime, NFData, FromJSON, ToJSON)
46+ } deriving (FormatTime, NFData, Generic, FromJSON, ToJSON)
49shortZonedLocalDay :: ShortZonedTime -> T.Day
48shortZonedLocalDay :: ShortZonedTime -> T.Day
50shortZonedLocalDay = T.localDay . T.zonedTimeToLocalTime . unShortZonedTime
49shortZonedLocalDay = T.localDay . T.zonedTimeToLocalTime . unShortZonedTime
@@ -70,7 +69,6 @@ shortZonedTime = coerce . clipZonedTime
70instance ParseTime ShortZonedTime where
69instance ParseTime ShortZonedTime where
71 buildTime tl ps = shortZonedTime <$> buildTime tl ps
70 buildTime tl ps = shortZonedTime <$> buildTime tl ps
72#if MIN_VERSION_time(1,9,0)
71#if MIN_VERSION_time(1,9,0)
73− substituteTimeSpecifier _ = substituteTimeSpecifier (Proxy @T.ZonedTime)
74 parseTimeSpecifier _ = parseTimeSpecifier (Proxy @T.ZonedTime)
72 parseTimeSpecifier _ = parseTimeSpecifier (Proxy @T.ZonedTime)
@@ -96,9 +94,7 @@ instance Ord ShortZonedTime where
96newtype ShortLocalTime
94newtype ShortLocalTime
97 = ShortLocalTime
95 = ShortLocalTime
98 { unShortLocalTime :: T.LocalTime
96 { unShortLocalTime :: T.LocalTime
99− } deriving stock (Eq, Ord, Generic)
97+ } deriving (Eq, Ord, FormatTime, NFData, Generic)
100− deriving newtype (FormatTime)
101− deriving newtype (NFData)
103instance Binary ShortLocalTime
99instance Binary ShortLocalTime
@@ -113,7 +109,6 @@ shortLocalTime = coerce . clipLocalTime
113instance ParseTime ShortLocalTime where
109instance ParseTime ShortLocalTime where
114 buildTime tl ps = shortLocalTime <$> buildTime tl ps
110 buildTime tl ps = shortLocalTime <$> buildTime tl ps
115#if MIN_VERSION_time(1,9,0)
111#if MIN_VERSION_time(1,9,0)
116− substituteTimeSpecifier _ = substituteTimeSpecifier (Proxy @T.ZonedTime)
117 parseTimeSpecifier _ = parseTimeSpecifier (Proxy @T.LocalTime)
112 parseTimeSpecifier _ = parseTimeSpecifier (Proxy @T.LocalTime)