aeson-value-parser 0.12.3 → 0.12.4
raw patch · 2 files changed
+29/−17 lines, 2 filesdep +bytestringPVP ok
version bump matches the API change (PVP)
Dependencies added: bytestring
API changes (from Hackage documentation)
+ Aeson.ValueParser: numberAsInt :: Value Int
+ Aeson.ValueParser: stringAsBytes :: Value ByteString
Files
- aeson-value-parser.cabal +15/−17
- library/Aeson/ValueParser.hs +14/−0
aeson-value-parser.cabal view
@@ -1,16 +1,16 @@ name: aeson-value-parser version:- 0.12.3+ 0.12.4 synopsis: An API for parsing "aeson" JSON tree into Haskell types description: category: Data, JSON, Parsing homepage:- https://github.com/sannsyn/aeson-value-parser + https://github.com/sannsyn/aeson-value-parser bug-reports:- https://github.com/sannsyn/aeson-value-parser/issues + https://github.com/sannsyn/aeson-value-parser/issues author: Nikita Volkov <nikita.y.volkov@mail.ru> maintainer:@@ -26,14 +26,12 @@ cabal-version: >=1.10 - source-repository head type: git location: git://github.com/sannsyn/aeson-value-parser.git - library hs-source-dirs: library@@ -41,21 +39,21 @@ Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples default-language: Haskell2010- other-modules: exposed-modules: Aeson.ValueParser build-depends: --- aeson == 1.*,- json-pointer == 0.1.*,- json-pointer-aeson == 0.1.*,- -- - unordered-containers == 0.2.*,- vector >= 0.10 && < 0.13,- scientific == 0.3.*,- text == 1.*,+ aeson ==1.*,+ json-pointer ==0.1.*,+ json-pointer-aeson ==0.1.*, --+ unordered-containers ==0.2.*,+ vector >=0.10 && <0.13,+ scientific ==0.3.*,+ text ==1.*,+ bytestring >=0.10 && <0.12,+ -- foldl >=1.3 && <2,- transformers >= 0.5 && < 0.7,- mtl-prelude < 3,- base-prelude >= 0.1.19 && < 2+ transformers >=0.5 && <0.7,+ mtl-prelude <3,+ base-prelude >=0.1.19 && <2
library/Aeson/ValueParser.hs view
@@ -10,7 +10,9 @@ null, nullable, string,+ stringAsBytes, number,+ numberAsInt, bool, fromJSON, pointed,@@ -35,10 +37,12 @@ import MTLPrelude import Data.Text (Text) import Data.Scientific (Scientific)+import Data.ByteString (ByteString) import Control.Foldl (Fold(..)) import qualified Data.Aeson as A import qualified Data.HashMap.Strict as B import qualified Data.Vector as C+import qualified Data.Text.Encoding as F import qualified JSONPointer.Model as D import qualified JSONPointer.Aeson.Interpreter as E @@ -107,6 +111,11 @@ _ -> Left "Not a string" +{-# INLINE stringAsBytes #-}+stringAsBytes :: Value ByteString+stringAsBytes =+ F.encodeUtf8 <$> string+ {-# INLINE number #-} number :: Value Scientific number =@@ -115,6 +124,11 @@ pure x _ -> Left "Not a number"++{-# INLINE numberAsInt #-}+numberAsInt :: Value Int+numberAsInt =+ round <$> number {-# INLINE bool #-} bool :: Value Bool