packages feed

ua-parser 0.7.1 → 0.7.2

raw patch · 6 files changed

+38/−15 lines, 6 filesdep −derivedep ~aesonPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: derive

Dependency ranges changed: aeson

API changes (from Hackage documentation)

- Web.UAParser: instance Data.Aeson.Types.Class.FromJSON Web.UAParser.DevParser
- Web.UAParser: instance Data.Aeson.Types.Class.FromJSON Web.UAParser.OSParser
- Web.UAParser: instance Data.Aeson.Types.Class.FromJSON Web.UAParser.UAConfig
- Web.UAParser: instance Data.Aeson.Types.Class.FromJSON Web.UAParser.UAParser
+ Web.UAParser: instance Data.Aeson.Types.FromJSON.FromJSON Web.UAParser.DevParser
+ Web.UAParser: instance Data.Aeson.Types.FromJSON.FromJSON Web.UAParser.OSParser
+ Web.UAParser: instance Data.Aeson.Types.FromJSON.FromJSON Web.UAParser.UAConfig
+ Web.UAParser: instance Data.Aeson.Types.FromJSON.FromJSON Web.UAParser.UAParser

Files

+ README.md view
@@ -0,0 +1,12 @@+# uap-haskell is the ua-parser library for Haskell+[![Build Status](https://travis-ci.org/ua-parser/uap-haskell.svg?branch=master)](https://travis-ci.org/ua-parser/uap-haskell)+[![Hackage](https://img.shields.io/hackage/v/ua-parser.svg?style=flat)](https://hackage.haskell.org/package/ua-parser)++## Hackage++http://hackage.haskell.org/package/ua-parser++## Github++https://github.com/ua-parser/uap-haskell+
bench/Main.hs view
@@ -6,10 +6,9 @@   --------------------------------------------------------------------------------import           Control.Applicative+import           Control.Applicative     as A import           Control.DeepSeq import           Criterion.Main-import           Data.DeriveTH ------------------------------------------------------------------------------- import           Web.UAParser import           Web.UAParser.SuiteUtils@@ -18,7 +17,7 @@  main :: IO () main = do-  uas <- take 100 <$> loadTests "test_resources/firefox_user_agent_strings.yaml"+  uas <- take 100 A.<$> loadTests "test_resources/firefox_user_agent_strings.yaml"   oses <- take 100 <$> loadTests "test_resources/additional_os_tests.yaml"   devs <- take 100 <$> loadTests "tests/test_device.yaml"   defaultMain [ bench "Parsing 100 UAs" $ nf (map (parseUA . uatcString)) uas@@ -27,4 +26,6 @@               ]  -$(derives [makeNFData] [''UAResult, ''OSResult, ''DevResult])+instance NFData UAResult+instance NFData OSResult+instance NFData DevResult
+ changelog.md view
@@ -0,0 +1,2 @@+0.7.2+* Allow for aeson 1.0
src/Web/UAParser/SuiteUtils.hs view
@@ -9,11 +9,13 @@  ------------------------------------------------------------------------------- import           Control.Applicative-import           Data.Aeson+import           Control.Monad       (join)+import           Data.Aeson          hiding ((.:?))+import qualified Data.Aeson          as A import           Data.ByteString     (ByteString) import           Data.Text           (Text) import qualified Data.Text.Encoding  as T-import           Data.Yaml+import           Data.Yaml           hiding ((.:?)) import           System.FilePath ------------------------------------------------------------------------------- @@ -90,3 +92,10 @@                         <*> o .: "family"                         <*> nonBlank (o .:? "brand")                         <*> nonBlank (o .:? "model")+++-------------------------------------------------------------------------------+-- | Backport a more lenient version of .:? from newer versions of+-- aeson. It accepts an explicit null as well as an omitted field.+(.:?) :: (FromJSON a) => Object -> Text -> Parser (Maybe a)+o .:? k = join <$> (o A..:? k)
test/Main.hs view
@@ -4,7 +4,7 @@   --------------------------------------------------------------------------------import           Control.Applicative+import           Control.Applicative     as A import qualified Data.ByteString.Char8   as B import           Data.Monoid import qualified Data.Text               as T@@ -18,12 +18,11 @@  main :: IO () main = do-  uaCases <- mconcat <$> mapM loadTests ["test_resources/firefox_user_agent_strings.yaml"-                                        ,"test_resources/pgts_browser_list.yaml"-                                        ,"tests/test_ua.yaml"]+  uaCases <- mconcat A.<$> mapM loadTests ["test_resources/firefox_user_agent_strings.yaml"+                                          ,"test_resources/pgts_browser_list.yaml"+                                          ,"tests/test_ua.yaml"]   osCases <- mconcat <$> mapM loadTests [ "test_resources/additional_os_tests.yaml"                                         , "tests/test_os.yaml" ]-  --TODO: stop limiting once tests pass   devCases <- loadTests "tests/test_device.yaml"   defaultMain $ testGroup "ua-parser" [ uaTests uaCases                                       , osTests osCases
ua-parser.cabal view
@@ -1,6 +1,6 @@ name:                ua-parser description:         Please refer to the git/github README on the project for example usage.-version:             0.7.1+version:             0.7.2 synopsis:            A library for parsing User-Agent strings, official Haskell port of ua-parser license:             BSD3 license-file:        LICENSE@@ -14,6 +14,8 @@                    , GHC == 7.10.2  extra-source-files: src/Web/UAParser/SuiteUtils.hs+                    README.md+                    changelog.md  data-files: ./deps/uap-core/*.yaml             ./deps/uap-core/test_resources/*.yaml@@ -40,7 +42,7 @@     , text     , pcre-light     , yaml             >= 0.7 && < 0.9-    , aeson            >= 0.7 && < 0.12+    , aeson            >= 0.7 && < 1.1     , data-default     , file-embed       < 0.1 @@ -63,7 +65,6 @@       base     , bytestring     , text-    , derive     , HUnit     , pcre-light     , yaml >= 0.7@@ -85,7 +86,6 @@                      , ua-parser                      , criterion                      , deepseq-                     , derive                      , bytestring                      , text                      , yaml