packages feed

hora 1.0.1 → 1.0.2

raw patch · 8 files changed

+62/−15 lines, 8 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Time.Hora.Future: timeDiffMs :: UTCTime -> UTCTime -> Int
+ Data.Time.Hora.Future: (-) :: PicoDiff a => a -> a -> TimeSpan Integer
+ Data.Time.Hora.Future: class PicoDiff a
+ Data.Time.Hora.Future: instance Data.Time.Hora.Future.PicoDiff Data.Fixed.Pico
+ Data.Time.Hora.Future: instance Data.Time.Hora.Future.PicoDiff Data.Time.Clock.UTC.UTCTime
+ Data.Time.Hora.Type.Time: instance GHC.Base.Functor Data.Time.Hora.Type.Time.Tz

Files

changelog.md view
@@ -1,6 +1,12 @@+#####   1.0.2+    Tz derive Functor+    +    Data.Time.Hora.Future :++        PicoDiff class+ #####   1.0.1     DmyHmp derive Binary-      #####   1.0     initial version
hora.cabal view
@@ -1,5 +1,5 @@ name:                hora-version:             1.0.1+version:             1.0.2 build-type:          Simple cabal-version:       >=1.10 @@ -53,8 +53,9 @@                         GeneralizedNewtypeDeriving                         RecordWildCards                         DeriveGeneric-                       +                        DeriveFunctor + test-suite spec   default-language:Haskell2010   type: exitcode-stdio-1.0@@ -73,6 +74,7 @@                         GeneralizedNewtypeDeriving                         RecordWildCards                         DeriveGeneric+                        DeriveFunctor    main-is: Main.hs   other-modules:@@ -82,6 +84,7 @@           Test.TestTime           Test.TestDmyHm           Test.TestPico+          Test.TestPico2    build-depends:  base >= 4.8,                   hspec >= 2.1.7,
src/Data/Time/Hora/Future.hs view
@@ -3,6 +3,8 @@ import Data.Time.Clock import Data.Time.Hora.Type.Time import Data.Time.Hora.Convert+import Prelude as P+import Data.Fixed   {- | 'getCurrentTime' +/- offset@@ -23,12 +25,22 @@                 pure . (addUTCTime diff1)     where diff1 = nominalDiff ts0 +{- | Difference between times with pico precision+    +    return TimeSpan for ease of conversion with "Data.Time.Hora.Convert"    -}+class PicoDiff a where+    (-)::a -> a -> TimeSpan Integer --- | time diff in milli-timeDiffMs::UTCTime -> UTCTime -> Int-timeDiffMs t1 t2 =-    let t1_ = utctDayTime t1-        t2_ = utctDayTime t2-        d3 = diffTimeToPicoseconds $ t2_ - t1_-    in toMilli $ Pico d3-                ++instance PicoDiff UTCTime where+    (-) t2 t1 =+        let t1_ = utctDayTime t1+            t2_ = utctDayTime t2+            d3 = diffTimeToPicoseconds $ t2_ P.- t1_+        in Pico d3+-- ^ assuming both times are in the same date. Day part is discarded + ++instance PicoDiff Pico where+    (-) (MkFixed t2) (MkFixed t1) = Pico $ t2 P.- t1+-- ^ e.g. Pico part in 'DmyHmp' 
src/Data/Time/Hora/Type/Time.hs view
@@ -8,8 +8,7 @@     | Milli a deriving (Show, Eq, Ord)  -data Tz a = Tz TimeZone a  deriving Show-+data Tz a = Tz TimeZone a  deriving (Show,Functor)  -- | constraint type TwoInt a b = (Integral a, Integral b)
test/Main.hs view
@@ -5,8 +5,10 @@ import qualified Test.TestFuture as Fut import qualified Test.TestTime as Tt import qualified Test.TestPico as P+import qualified Test.TestPico2 as P2 import qualified Test.TestDmyHm as D  + main::IO() main = do         T.main@@ -15,3 +17,4 @@         Tt.main         P.main         D.main+        P2.main
test/Test/TestDiffTime.hs view
@@ -5,7 +5,7 @@ import Data.Time.Clock import Control.Concurrent import Data.Time.Hora.Timestamp-import Data.Time.Hora.Future+import Data.Time.Hora.Future as F import Data.Time.Hora.Type.Time  @@ -17,7 +17,7 @@             t1 <- getCurrentTime             threadDelay 7000             t2 <- getCurrentTime-            let diff3 = timeDiffMs t1 t2+            let diff3 = t1 F.- t2             traceIO $ show diff3             1 `shouldBe` 1           it "DmyHmP" $ do
test/Test/TestPico.hs view
@@ -3,6 +3,7 @@ import Test.Hspec import Debug.Trace import Data.Time.Hora.Parse+import Data.Time.Hora.Future as F import Data.Time.Clock import Data.Time.Hora.Type.DmyHm import Data.Time.LocalTime@@ -27,4 +28,12 @@                 let f1 = parse' z1 t1                 traceIO $ show f1             1 `shouldBe` 1+          it "- pico" $ do+            t1 <- getCurrentTime +            t2 <- getCurrentTime+            let DmyHmp (_,d1) = parse t1::DmyHmp+                DmyHmp (_,d2) = parse t2::DmyHmp+                diff1 = t2 F.- t1+                diff2 = d2 F.- d1            +            diff1 `shouldBe` diff2             
+ test/Test/TestPico2.hs view
@@ -0,0 +1,15 @@+module Test.TestPico2 where++import Test.Hspec+import Debug.Trace+import Data.Fixed+++main::IO()+main = hspec $ do+       describe "Test.TestPico2" $ do+          it "case 1" $ do+            traceIO $ show p1+            let MkFixed p2 = p1+            p2 `shouldBe` 33458700000000+            where p1 = MkFixed 33458700000000::Fixed E12