htoml-megaparsec 2.1.0.4 → 2.1.0.5
raw patch · 4 files changed
+22/−19 lines, 4 filesdep +hspecdep ~aesondep ~tasty-hspecdep ~textPVP ok
version bump matches the API change (PVP)
Dependencies added: hspec
Dependency ranges changed: aeson, tasty-hspec, text, time
API changes (from Hackage documentation)
Files
- CHANGES.md +4/−0
- htoml-megaparsec.cabal +7/−6
- internal/Text/Toml/Parser.hs +10/−13
- test/Text/Toml/Parser/Spec.hs +1/−0
CHANGES.md view
@@ -1,6 +1,10 @@ Change log ========== +### 2.1.0.5++* Remove deprecated time functions+ ### 1.0.0.3 * Switched to megaparsec, resulting in double the speed of the old parser.
htoml-megaparsec.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.0 name: htoml-megaparsec-version: 2.1.0.4+version: 2.1.0.5 license: BSD3 license-file: LICENSE copyright: (c) 2013-2016 Cies Breijs, 2017-2018 Vanessa McHale@@ -45,7 +45,7 @@ base >=4.8 && <5, megaparsec >=6.0.0, htoml-internal,- text >=1.0 && <2,+ text >=1.0 && <2.2, mtl >=2.2, composition-prelude >=0.1.1.0 @@ -71,10 +71,10 @@ megaparsec >=6.0.0, unordered-containers >=0.2, vector >=0.10,- text >=1.0 && <2,+ text >=1.0 && <2.2, mtl >=2.2, deepseq,- time >=1.5.0+ time >=1.9 if !impl(ghc >=7.10) build-depends: void@@ -99,7 +99,7 @@ containers, unordered-containers, vector,- aeson,+ aeson <2.0.0.0, text, time, htoml-megaparsec,@@ -107,7 +107,8 @@ bytestring, file-embed, tasty,- tasty-hspec,+ tasty-hspec >=1.2,+ hspec, tasty-hunit benchmark benchmarks
internal/Text/Toml/Parser.hs view
@@ -9,18 +9,17 @@ ) where import Control.Monad-import Control.Monad.State (evalState)+import Control.Monad.State (evalState) import Data.Functor-import qualified Data.HashMap.Lazy as M-import qualified Data.Set as S-import Data.Text (Text, pack, unpack)-import qualified Data.Text as T-import Data.Time.Format (defaultTimeLocale, iso8601DateFormat,- parseTimeM)-import qualified Data.Vector as V+import qualified Data.HashMap.Lazy as M+import qualified Data.Set as S+import Data.Text (Text, pack, unpack)+import qualified Data.Text as T+import Data.Time.Format.ISO8601 (formatParseM, iso8601Format)+import qualified Data.Vector as V import Data.Void-import Numeric (readHex)-import Text.Megaparsec hiding (noneOf, oneOf)+import Numeric (readHex)+import Text.Megaparsec hiding (noneOf, oneOf) import Text.Megaparsec.CharRW import Text.Toml.Types @@ -183,9 +182,7 @@ datetime :: (TomlM m) => Parser m Node datetime = do d <- manyTill anySingle (char 'Z')- let mt = parseTimeM True defaultTimeLocale (iso8601DateFormat $ Just "%X") d- case mt of Just t -> return $ VDatetime t- Nothing -> throwParser "parsing datetime failed"+ VDatetime <$> formatParseM iso8601Format (d++"Z") -- | Attoparsec 'double' parses scientific "e" notation; reimplement according to Toml spec. float :: (TomlM m) => Parser m Node
test/Text/Toml/Parser/Spec.hs view
@@ -6,6 +6,7 @@ import Data.Time.Calendar (Day (..)) import Data.Time.Clock (UTCTime (..)) import qualified Data.Vector as V+import Test.Hspec import Test.Tasty (TestTree) import Test.Tasty.Hspec import Text.Toml.Parser