packages feed

hora 2.0.1 → 2.0.2

raw patch · 5 files changed

+26/−26 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Time.Hora.Zone: class ToTimeZone a b
- Data.Time.Hora.Zone: instance GHC.Real.Integral a => Data.Time.Hora.Zone.ToTimeZone (Data.Time.Hora.Type.Tz (Data.Time.Hora.Type.DatePart a)) (GHC.Base.Maybe (Data.Time.Hora.Type.Tz (Data.Time.Hora.Type.DatePart a)))
- Data.Time.Hora.Zone: instance GHC.Real.Integral a => Data.Time.Hora.Zone.ToTimeZone Data.Time.Clock.UTC.UTCTime (Data.Time.Hora.Type.Tz (Data.Time.Hora.Type.DatePart a))
- Data.Time.Hora.Zone: toTimeZone :: ToTimeZone a b => TimeZoneSeries -> a -> b
+ Data.Time.Hora.Zone: toTimeZone :: (TwoInt a b, Tz' tz) => tz -> (Tz (DatePart a)) -> (Maybe (Tz (DatePart b)))

Files

changelog.md view
@@ -1,3 +1,11 @@+#####   2.0.2+    changes to Data.Time.Hora.Zone:+    +        remove redundant  ToTimeZone UTCTime (Tz (DatePart a)) instance: +        +        use Data.Time.Hora.Part fromUtc'+        + #####   2.0.1     include test data files 
hora.cabal view
@@ -1,10 +1,10 @@ name:                hora-version:             2.0.1+version:             2.0.2 build-type:          Simple cabal-version:       >=1.10  synopsis:            date time-description:         pico precision * timestamps * timezones+description:         pico precision * timestamps * timezones * format author:              Imants Cekusins maintainer:          Imants Cekusins category:            System, Time
src/Data/Time/Hora/Type.hs view
@@ -18,6 +18,8 @@  {- | serializeable structure for essential Date, Time parts +may also be used to construct 'UTCTime'     + see "Data.Time.Hora.Part" for conversion between 'UTCTime' and 'DatePart'   -} data DatePart a = DatePart {     year::a,@@ -83,7 +85,7 @@ data Tz a = Tz TimeZone a  deriving (Show,Functor)  --- | 'TimeZone' | 'TimeZoneSeries' +-- | 'TimeZone' | 'TimeZoneSeries' class Tz' tz where     tz'::tz -> UTCTime -> TimeZone @@ -92,7 +94,9 @@  instance Tz' TimeZoneSeries where     tz' = timeZoneFromSeries--- ^ see "Data.Time.Hora.Zone" re: 'TimeZoneSeries'+{- ^ see "Data.Time.Hora.Zone" re: 'TimeZoneSeries'++use of 'TimeZoneSeries' is preferred when converting from 'UTCTime' to 'DatePart' -}   {- | second and fractions
src/Data/Time/Hora/Zone.hs view
@@ -15,29 +15,16 @@ @       -} module Data.Time.Hora.Zone where -import Data.Time.Clock-import Data.Time.LocalTime.TimeZone.Series import Data.Time.Hora.Part import Data.Time.Hora.Type  -{-| convert __a__ to __b__ in specified 'TimeZone' -}-class ToTimeZone a b where-    toTimeZone::TimeZoneSeries -> a -> b-    -    -instance Integral a => -            ToTimeZone UTCTime -                        (Tz (DatePart a)) where-    toTimeZone series0 utc0 = -        let tz1 = timeZoneFromSeries series0 utc0-        in fromUtc' tz1 utc0--- ^ similar to 'fromUtc'' but safer around dates when e.g. Summer time changes   ---instance Integral a => -            ToTimeZone (Tz (DatePart a))-                        (Maybe (Tz (DatePart a))) where-    toTimeZone series0 dp0 = toUtc dp0 >>= Just . (toTimeZone series0) -- ^ convert 'DatePart' from one 'TimeZone' to another        +toTimeZone::(TwoInt a b, Tz' tz) => +    tz -- ^ target timezone+    -> (Tz (DatePart a)) -- ^ local (to source timezone) date & time +        -> (Maybe (Tz (DatePart b))) {- ^ local (to target timezone) date & time+            +                        'Nothing' if source date is invalid-} +toTimeZone series0 dp0 = toUtc dp0 >>= Just . (fromUtc' series0)                 
test/Test/TestZone.hs view
@@ -5,10 +5,11 @@ import Data.Time.Clock import Data.Time.LocalTime.TimeZone.Olson import Data.Time.LocalTime.TimeZone.Series-import Data.Time.Hora.Zone import Data.Time.Hora.Stamp import Data.Time.Hora.Type+import Data.Time.Hora.Part + main::IO() main = hspec $ do        describe "Test.TestZone" $ do@@ -23,4 +24,4 @@   ttz::TimeZoneSeries -> UTCTime -> Tz (DatePart Int)-ttz = toTimeZone            +ttz = fromUtc'