timezone-series 0.1.8 → 0.1.9
raw patch · 8 files changed
+54/−78 lines, 8 filesdep ~time
Dependency ranges changed: time
Files
- Data/Time/LocalTime/TimeZone/Internal/TimeVersion.hs +40/−0
- Data/Time/LocalTime/TimeZone/Series.hs +8/−2
- LICENSE +1/−1
- README.md +1/−1
- time_1_6_and_1_7/Data/Time/LocalTime/TimeZone/Internal/TimeVersion.hs +0/−16
- time_post_1_8/Data/Time/LocalTime/TimeZone/Internal/TimeVersion.hs +0/−17
- time_pre_1_6/Data/Time/LocalTime/TimeZone/Internal/TimeVersion.hs +0/−16
- timezone-series.cabal +4/−25
+ Data/Time/LocalTime/TimeZone/Internal/TimeVersion.hs view
@@ -0,0 +1,40 @@+{-# LANGUAGE CPP #-}++-- | Functions that depend on the version of the @time@ library++module Data.Time.LocalTime.TimeZone.Internal.TimeVersion+(+ mapBuiltTime+ , mapFormatCharacter+)+where++#if MIN_VERSION_time(1,6,0)++mapBuiltTime :: Functor f => (a -> b) -> f a -> f b+mapBuiltTime = fmap++#else++mapBuiltTime :: a -> a+mapBuiltTime = id++#endif++#if MIN_VERSION_time(1,9,1)++mapFormatCharacter :: (a -> b) -> Maybe (x -> b -> String) -> Maybe (x -> a -> String)+mapFormatCharacter f = fmap (\g x -> g x . f)++#elif MIN_VERSION_time(1,8,0)++mapFormatCharacter ::+ (a -> b) -> (c -> d -> e -> b -> z) -> c -> d -> e -> a -> z+mapFormatCharacter f g locale mpado mwidth = g locale mpado mwidth . f++#else++mapFormatCharacter :: (a -> b) -> (c -> d -> b -> z) -> c -> d -> a -> z+mapFormatCharacter f g locale mpado = g locale mpado . f++#endif
Data/Time/LocalTime/TimeZone/Series.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE CPP #-}+ -- | A @TimeZoneSeries@ describes a timezone by specifying the various -- clock settings that occurred in the past and are scheduled to occur -- in the future for the timezone.@@ -28,8 +30,12 @@ import Data.Time (UTCTime, LocalTime, TimeZone(timeZoneSummerOnly), ZonedTime(ZonedTime),- ParseTime(buildTime), FormatTime(formatCharacter), utcToLocalTime, localTimeToUTC)+#if MIN_VERSION_time(1,9,1)+import Data.Time.Format.Internal (FormatTime(formatCharacter), ParseTime(buildTime))+#else+import Data.Time (FormatTime(formatCharacter), ParseTime(buildTime))+#endif import Data.List (partition) import Data.Maybe (listToMaybe, fromMaybe) import Data.Typeable (Typeable)@@ -97,7 +103,7 @@ tzs = map snd cs instance FormatTime TimeZoneSeries where- formatCharacter = + formatCharacter = fmap (mapFormatCharacter latestNonSummer) . formatCharacter
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2010-2016 Yitzchak Gale. All rights reserved.+Copyright (c) 2010-2018 Yitzchak Gale. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are
README.md view
@@ -43,7 +43,7 @@ packages for more information about reading and creating Olson timezone files. -Copyright (c) 2010-2016 Yitzchak Gale. All rights reserved.+Copyright (c) 2010-2018 Yitzchak Gale. All rights reserved. For licensing information, see the BSD3-style license in the file LICENSE that was originally distributed by the author together with
− time_1_6_and_1_7/Data/Time/LocalTime/TimeZone/Internal/TimeVersion.hs
@@ -1,16 +0,0 @@--- | Functions that depend on the version of the @time@ library--module Data.Time.LocalTime.TimeZone.Internal.TimeVersion-(- mapBuiltTime- , mapFormatCharacter-)-where---- | Map over 'Maybe' for 'buildTime' for post-1.6 time library.-mapBuiltTime :: Functor f => (a -> b) -> f a -> f b-mapBuiltTime = fmap---- | Map for 'formatCharacter' for pre-1.8 time library.-mapFormatCharacter :: (a -> b) -> (c -> d -> b -> z) -> c -> d -> a -> z-mapFormatCharacter f g locale mpado = g locale mpado . f
− time_post_1_8/Data/Time/LocalTime/TimeZone/Internal/TimeVersion.hs
@@ -1,17 +0,0 @@--- | Functions that depend on the version of the @time@ library--module Data.Time.LocalTime.TimeZone.Internal.TimeVersion-(- mapBuiltTime- , mapFormatCharacter-)-where---- | Map over 'Maybe' for 'buildTime' for post-1.6 time library.-mapBuiltTime :: Functor f => (a -> b) -> f a -> f b-mapBuiltTime = fmap---- | Map for 'formatCharacter' for post-1.8 time library.-mapFormatCharacter ::- (a -> b) -> (c -> d -> e -> b -> z) -> c -> d -> e -> a -> z-mapFormatCharacter f g locale mpado mwidth = g locale mpado mwidth . f
− time_pre_1_6/Data/Time/LocalTime/TimeZone/Internal/TimeVersion.hs
@@ -1,16 +0,0 @@--- | Functions that depend on the version of the @time@ library--module Data.Time.LocalTime.TimeZone.Internal.TimeVersion-(- mapBuiltTime- , mapFormatCharacter-)-where---- | No mapping needed for 'buildTime' for pre-1.6 time library.-mapBuiltTime :: a -> a-mapBuiltTime = id---- | Map for 'formatCharacter' for pre-1.8 time library.-mapFormatCharacter :: (a -> b) -> (c -> d -> b -> z) -> c -> d -> a -> z-mapFormatCharacter f g locale mpado = g locale mpado . f
timezone-series.cabal view
@@ -1,5 +1,5 @@ Name: timezone-series-Version: 0.1.8+Version: 0.1.9 Synopsis: Enhanced timezone handling for Data.Time Description: This package endows Data.Time, from the time package, with several data types and functions@@ -14,44 +14,23 @@ License-file: LICENSE Author: Yitzchak Gale Maintainer: yitz@sefer.org-Copyright: Copyright (c) 2010-2015 Yitzchak Gale. All rights reserved.+Copyright: Copyright (c) 2010-2018 Yitzchak Gale. All rights reserved. Category: Data Build-type: Simple Extra-source-files: README.md Cabal-version: >=1.10-Tested-with: GHC > 7.4 && < 8.1+Tested-with: GHC > 7.4 && < 8.5 Source-repository HEAD type: git location: https://github.com/ygale/timezone-series.git -Flag time_pre_1_6- Description: Use version < 1.6 of the time library- Default: False--Flag time_1_6_and_1_7- Description: Use version >= 1.6 and < 1.8 of the time library- Default: False- Library Default-language: Haskell2010 Hs-source-dirs: .- if flag(time_pre_1_6)- Hs-source-dirs: time_pre_1_6- else- if flag(time_1_6_and_1_7)- Hs-source-dirs: time_1_6_and_1_7- else- Hs-source-dirs: time_post_1_8 Exposed-modules: Data.Time.LocalTime.TimeZone.Series Other-modules: Data.Time.LocalTime.TimeZone.Internal.TimeVersion Default-extensions: DeriveDataTypeable Build-depends: base >= 4.4 && < 5 , deepseq- if flag(time_pre_1_6)- Build-depends: time >= 1.1.4 && < 1.6- else- if flag(time_1_6_and_1_7)- Build-depends: time >= 1.6 && < 1.8- else- Build-depends: time >= 1.8 && < 1.9+ , time (>= 1.1.4 && < 1.9) || (>= 1.9.1 && < 1.10)