git.iko.soy/typeable/extra-time
on 23a874b help sign in
3 files changed+77−40
since splitsnapshots
unifiedsplit
extra-time.cabal+37−39 src/Data/Time/LocalTime/Instances.hs+39 src/Data/Time/LocalTime/Short.hs+1−1
extra-time.cabal+37−39
@@ -1,13 +1,12 @@
1−cabal-version: 2.4
2−name: extra-time
3−version: 0.0.0.0
4−license-file: LICENSE
5−author: typeable.io
6−maintainer: giorgio@marinel.li
7−build-type: Simple
8−extra-source-files:
9− data/opm-holidays.csv
10− README.md
1+cabal-version: 2.4
2+
3+name: extra-time
4+version: 0.0.0.0
5+license-file: LICENSE
6+author: typeable.io
7+maintainer: giorgio@marinel.li
8+build-type: Simple
9+extra-source-files: README.md, data/opm-holidays.csv
1110
1211library
1312 hs-source-dirs: src
@@ -27,35 +26,33 @@ library
2726 StandaloneDeriving
2827 TemplateHaskell
2928 TypeApplications
30−
3129 build-depends:
32− , aeson
33− , base >=4.11 && <5
34− , binary
35− , binary-instances
36− , bytestring
37− , cassava
38− , cassava-embed
39− , containers >=0.5.8
40− , deepseq
41− , file-embed >=0.0.10
42− , generic-arbitrary
43− , http-api-data
44− , lens >=4.17
45− , mtl >=2.2
46− , QuickCheck
47− , quickcheck-instances
48− , text
49− , th-lift
50− , time >=1.6
51− , timezone-series
52− , vector
53−
54− if !(impl(ghcjs) || arch(javascript) || arch(wasm32))
30+ -- | from ghc
31+ base >= 4.7 && < 5 ,
32+ binary ,
33+ bytestring ,
34+ containers ,
35+ cassava ,
36+ cassava-embed ,
37+ file-embed ,
38+ deepseq ,
39+ mtl >= 2.2 ,
40+ text ,
41+ th-lift ,
42+ time,
43+ -- | from hackage
44+ aeson ,
45+ generic-arbitrary ,
46+ http-api-data ,
47+ lens >= 4.17 ,
48+ QuickCheck ,
49+ quickcheck-instances ,
50+ timezone-series ,
51+ vector ,
52+ if !impl(ghcjs)
5553 build-depends:
56− , dom-parser >=2.0
57− , xml-conduit-writer
58−
54+ dom-parser ,
55+ xml-conduit-writer ,
5956 exposed-modules:
6057 Data.Time.Extra
6158 Data.Time.FastSeries
@@ -63,5 +60,6 @@ library
6360 Data.Time.Holidays
6461 Data.Time.LocalTime.Short
6562 Data.Time.Utils
66−
67− other-modules: Holidays.EDay
63+ other-modules:
64+ Data.Time.LocalTime.Instances
65+ Holidays.EDay
src/Data/Time/LocalTime/Instances.hsnew file+39
@@ -0,0 +1,39 @@
1+{-# OPTIONS_GHC -fno-warn-orphans #-}
2+
3+module Data.Time.LocalTime.Instances where
4+
5+import Data.Binary (Binary(..))
6+import Data.Fixed (Fixed(..))
7+import Data.Time
8+import GHC.Generics (Generic)
9+
10+
11+deriving instance Generic TimeZone
12+
13+instance Binary TimeZone
14+
15+deriving instance Generic Day
16+
17+instance Binary Day
18+
19+deriving instance Generic (Fixed a)
20+
21+deriving instance Generic TimeOfDay
22+
23+instance Binary TimeOfDay
24+
25+deriving instance Generic LocalTime
26+
27+instance Binary LocalTime
28+
29+deriving instance Generic ZonedTime
30+
31+instance Binary ZonedTime
32+
33+instance Binary DiffTime where
34+ put = put . toRational
35+ get = fromRational <$> get
36+
37+deriving instance Generic UTCTime
38+
39+instance Binary UTCTime
src/Data/Time/LocalTime/Short.hs+1−1
@@ -21,11 +21,11 @@ import Control.Lens
2121import Control.Monad.State
2222import Data.Aeson
2323import Data.Binary (Binary)
24−import Data.Binary.Instances.Time ()
2524import Data.Coerce
2625import Data.Ord (comparing)
2726import Data.Time as T
2827import Data.Time.Fmt
28+import Data.Time.LocalTime.Instances ()
2929import Data.Time.Utils
3030import GHC.Generics (Generic)
3131import Test.QuickCheck (Arbitrary)