packages feed

attoparsec-iso8601 1.0.1.0 → 1.0.2.0

raw patch · 4 files changed

+41/−49 lines, 4 filesdep +base-compat-batteriesdep +time-compatdep −base-compatdep ~attoparsecdep ~basedep ~textsetup-changedPVP ok

version bump matches the API change (PVP)

Dependencies added: base-compat-batteries, time-compat

Dependencies removed: base-compat

Dependency ranges changed: attoparsec, base, text, time

API changes (from Hackage documentation)

+ Data.Attoparsec.Time: month :: Parser Month
+ Data.Attoparsec.Time: quarter :: Parser Quarter

Files

Data/Attoparsec/Time.hs view
@@ -19,6 +19,8 @@     , timeZone     , utcTime     , zonedTime+    , month+    , quarter     ) where  import Prelude.Compat@@ -33,6 +35,8 @@ import Data.Int (Int64) import Data.Maybe (fromMaybe) import Data.Time.Calendar (Day, fromGregorianValid)+import Data.Time.Calendar.Quarter.Compat (Quarter, QuarterOfYear (..), fromYearQuarter)+import Data.Time.Calendar.Month.Compat (Month, fromYearMonthValid) import Data.Time.Clock (UTCTime(..)) import qualified Data.Text as T import qualified Data.Time.LocalTime as Local@@ -45,6 +49,28 @@   m <- (twoDigits <* char '-') <|> fail "date must be of form [+,-]YYYY-MM-DD"   d <- twoDigits <|> fail "date must be of form [+,-]YYYY-MM-DD"   maybe (fail "invalid date") return (fromGregorianValid (absOrNeg y) m d)++-- | Parse a month of the form @[+,-]YYYY-MM@.+month :: Parser Month+month = do+  absOrNeg <- negate <$ char '-' <|> id <$ char '+' <|> pure id+  y <- (decimal <* char '-') <|> fail "month must be of form [+,-]YYYY-MM"+  m <- twoDigits <|> fail "month must be of form [+,-]YYYY-MM"+  maybe (fail "invalid month") return (fromYearMonthValid (absOrNeg y) m)++-- | Parse a quarter of the form @[+,-]YYYY-QN@.+quarter :: Parser Quarter+quarter = do+  absOrNeg <- negate <$ char '-' <|> id <$ char '+' <|> pure id+  y <- (decimal <* char '-') <|> fail "month must be of form [+,-]YYYY-MM"+  _ <- char 'q' <|> char 'Q'+  q <- parseQ+  return $! fromYearQuarter (absOrNeg y) q+  where+    parseQ = Q1 <$ char '1'+      <|> Q2 <$ char '2'+      <|> Q3 <$ char '3'+      <|> Q4 <$ char '4'  -- | Parse a two-digit integer (e.g. day of month, hour). twoDigits :: Parser Int
Data/Attoparsec/Time/Internal.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE NoImplicitPrelude #-} -- | -- Module:      Data.Aeson.Internal.Time@@ -19,50 +18,16 @@  import Prelude.Compat +import Data.Fixed (Fixed(MkFixed), Pico) import Data.Int (Int64)-import Data.Time-import Unsafe.Coerce (unsafeCoerce)--#if MIN_VERSION_time(1,6,0)--import Data.Time.Clock (diffTimeToPicoseconds)--#endif--#if MIN_VERSION_base(4,7,0)--import Data.Fixed (Pico, Fixed(MkFixed))--#else--import Data.Fixed (Pico)--#endif--#if !MIN_VERSION_time(1,6,0)--diffTimeToPicoseconds :: DiffTime -> Integer-diffTimeToPicoseconds = unsafeCoerce--#endif--#if MIN_VERSION_base(4,7,0)+import Data.Time (TimeOfDay(..))+import Data.Time.Clock.Compat  toPico :: Integer -> Pico toPico = MkFixed  fromPico :: Pico -> Integer fromPico (MkFixed i) = i--#else--toPico :: Integer -> Pico-toPico = unsafeCoerce--fromPico :: Pico -> Integer-fromPico = unsafeCoerce--#endif  -- | Like TimeOfDay, but using a fixed-width integer for seconds. data TimeOfDay64 = TOD {-# UNPACK #-} !Int
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
attoparsec-iso8601.cabal view
@@ -1,5 +1,5 @@ name:            attoparsec-iso8601-version:         1.0.1.0+version:         1.0.2.0 synopsis:        Parsing of ISO 8601 dates, originally from aeson. description:     Parsing of ISO 8601 dates, originally from aeson. license:         BSD3@@ -11,9 +11,10 @@ maintainer:      Adam Bergmark <adam@bergmark.nl> stability:       experimental cabal-version:   >=1.10-homepage:        https://github.com/bos/aeson-bug-reports:     https://github.com/bos/aeson/issues+homepage:        https://github.com/haskell/aeson+bug-reports:     https://github.com/haskell/aeson/issues build-type:      Simple+tested-with:     GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1 extra-source-files:   README.md @@ -35,11 +36,12 @@     Data.Attoparsec.Time.Internal     Data.Attoparsec.Time   build-depends:-    attoparsec >= 0.13.0.1,-    base >= 4.5 && < 5,-    base-compat >= 0.9.1 && < 0.11,-    text >= 1.1.1.0,-    time >= 1.1.1.4+    attoparsec >= 0.13.0.1 && < 0.14.0.0,+    base >= 4.7 && < 5,+    base-compat-batteries >= 0.10.0 && < 0.12,+    time-compat >= 1.9.4 && < 1.10,+    text >= 1.1.1.0 && < 1.3.0.0,+    time >= 1.1.1.4 && < 1.12    if flag(fast)     ghc-options: -O0@@ -52,4 +54,5 @@  source-repository head   type:     git-  location: git://github.com/bos/aeson.git+  location: git://github.com/haskell/aeson.git+  subdir:   attoparsec-iso8601