hw-json 1.3.2.5 → 1.3.3.0
raw patch · 5 files changed
+26/−24 lines, 5 filesdep +prettyprinterdep −ansi-wl-pprintPVP ok
version bump matches the API change (PVP)
Dependencies added: prettyprinter
Dependencies removed: ansi-wl-pprint
API changes (from Hackage documentation)
Files
- hw-json.cabal +4/−5
- src/HaskellWorks/Data/Json/Internal/Doc.hs +19/−3
- src/HaskellWorks/Data/Json/Internal/Orphans.hs +0/−11
- src/HaskellWorks/Data/Json/LightJson.hs +1/−1
- src/HaskellWorks/Data/Json/PartialValue.hs +2/−4
hw-json.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.2 name: hw-json-version: 1.3.2.5+version: 1.3.3.0 synopsis: Memory efficient JSON parser description: Memory efficient JSON parser. Please see README.md category: Data@@ -12,7 +12,7 @@ copyright: 2016-2021 John Ky license: BSD-3-Clause license-file: LICENSE-tested-with: GHC == 9.2.2, GHC == 9.0.2, GHC == 8.10.7, GHC == 8.8.4, GHC == 8.6.5+tested-with: GHC == 9.8.2, GHC == 9.6.6 build-type: Simple extra-source-files: README.md corpus/5000B.json@@ -40,7 +40,6 @@ common base { build-depends: base >= 4.11 && < 5 } common aeson { build-depends: aeson >= 2.0 && < 2.3 }-common ansi-wl-pprint { build-depends: ansi-wl-pprint >= 0.6.8.2 && < 2 } common array { build-depends: array >= 0.5 && < 0.6 } common attoparsec { build-depends: attoparsec >= 0.13 && < 0.15 } common attoparsec-aeson { build-depends: attoparsec-aeson >= 2 && < 3 }@@ -69,6 +68,7 @@ common lens { build-depends: lens >= 4 && < 6 } common mmap { build-depends: mmap >= 0.5 && < 0.6 } common optparse-applicative { build-depends: optparse-applicative >= 0.14 && < 0.19 }+common prettyprinter { build-depends: prettyprinter >= 1 && < 2 } common scientific { build-depends: scientific >= 0.3.6.2 && < 0.4 } common text { build-depends: text >= 1.2 && < 3 } common transformers { build-depends: transformers >= 0.4 && < 0.7 }@@ -91,7 +91,6 @@ library import: base, config , aeson- , ansi-wl-pprint , attoparsec , attoparsec-aeson , bits-extra@@ -108,6 +107,7 @@ , hw-rankselect-base , hw-simd , mmap+ , prettyprinter , scientific , text , vector@@ -120,7 +120,6 @@ HaskellWorks.Data.Json.Internal.CharLike HaskellWorks.Data.Json.Internal.Doc HaskellWorks.Data.Json.Internal.Index- HaskellWorks.Data.Json.Internal.Orphans HaskellWorks.Data.Json.Internal.PartialIndex HaskellWorks.Data.Json.Internal.Slurp HaskellWorks.Data.Json.Internal.Standard.Cursor.Token
src/HaskellWorks/Data/Json/Internal/Doc.hs view
@@ -1,11 +1,27 @@ module HaskellWorks.Data.Json.Internal.Doc- ( hEncloseSep+ ( hEncloseSep,+ text,+ red,+ dullgreen,+ cyan, ) where -import Text.PrettyPrint.ANSI.Leijen+import Prettyprinter -hEncloseSep :: Doc -> Doc -> Doc -> [Doc] -> Doc+hEncloseSep :: Doc a -> Doc a -> Doc a -> [Doc a] -> Doc a hEncloseSep l r s ds = case ds of [] -> l <> r [d] -> l <> d <> r _ -> hcat (zipWith (<>) (l : repeat s) ds) <> r++text :: String -> Doc a+text = pretty++red :: Doc a -> Doc a+red = id++dullgreen :: Doc a -> Doc a+dullgreen = id++cyan :: Doc a -> Doc a+cyan = id
− src/HaskellWorks/Data/Json/Internal/Orphans.hs
@@ -1,11 +0,0 @@-{-# OPTIONS_GHC -fno-warn-orphans #-}--module HaskellWorks.Data.Json.Internal.Orphans where--import Data.Text-import Text.PrettyPrint.ANSI.Leijen hiding ((<$>))--import qualified Data.Text as T--instance Pretty Text where- pretty s = pretty (T.unpack s)
src/HaskellWorks/Data/Json/LightJson.hs view
@@ -31,7 +31,7 @@ import HaskellWorks.Data.TreeCursor import HaskellWorks.Data.Uncons import Prelude hiding (drop)-import Text.PrettyPrint.ANSI.Leijen+import Prettyprinter import qualified Data.ByteString as BS import qualified Data.ByteString.Unsafe as BSU
src/HaskellWorks/Data/Json/PartialValue.hs view
@@ -25,7 +25,6 @@ import Data.Text (Text) import HaskellWorks.Data.Bits.BitWise import HaskellWorks.Data.Json.Internal.Doc-import HaskellWorks.Data.Json.Internal.Orphans () import HaskellWorks.Data.Json.Internal.PartialIndex import HaskellWorks.Data.Json.Internal.Value import HaskellWorks.Data.Json.Standard.Cursor.Generic@@ -39,7 +38,7 @@ import HaskellWorks.Data.RankSelect.Base.Rank1 import HaskellWorks.Data.RankSelect.Base.Select1 import Prelude hiding (drop)-import Text.PrettyPrint.ANSI.Leijen hiding ((<$>))+import Prettyprinter import qualified Data.Attoparsec.ByteString.Char8 as ABC import qualified Data.ByteString as BS@@ -150,10 +149,9 @@ pretty mjpv = case mjpv of Mini (JsonPartialString s ) -> dullgreen (text (show s)) Mini (JsonPartialNumber n ) -> cyan (text (show n))- Mini (JsonPartialObject [] ) -> text "{}" Mini (JsonPartialObject kvs ) -> case kvs of- (_:_:_:_:_:_:_:_:_:_:_:_:_) -> text "{" <> prettyKvs kvs <> text ", ..}" [] -> text "{}"+ (_:_:_:_:_:_:_:_:_:_:_:_:_) -> text "{" <> prettyKvs kvs <> text ", ..}" _ -> text "{" <> prettyKvs kvs <> text "}" Mini (JsonPartialArray [] ) -> text "[]" Mini (JsonPartialArray vs ) | vs `atLeastSize` 11 -> text "[" <> nest 2 (prettyVs (Micro `map` take 10 vs)) <> text ", ..]"