pandoc-types 1.23.0.1 → 1.23.1
raw patch · 3 files changed
+23/−8 lines, 3 filesdep ~QuickCheckdep ~bytestringdep ~deepseq
Dependency ranges changed: QuickCheck, bytestring, deepseq
Files
- changelog +12/−0
- pandoc-types.cabal +3/−6
- src/Text/Pandoc/JSON.hs +8/−2
changelog view
@@ -1,3 +1,15 @@+[1.23.1]++ * Restore toJSONFilter instance for pure `a -> [a]`.+ This went missing after my ill-considered revision to #105,+ commit 183af9d9f1066be974ac55fd23a4c985999d3ce8 . See jgm/pandoc#8976.++ * Generalize ToJSONFilter instance. Previously a pure function `a -> a`+ could only be promoted to a filter in IO. Now we allow it to work with+ any instance of MonadIO. (This adds to #105.)++ * Allow bytestring 0.12.+ [1.23.0.1] * Allow aeson 2.2.
pandoc-types.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 Name: pandoc-types-version: 1.23.0.1+version: 1.23.1 Synopsis: Types for representing a structured document Description: @Text.Pandoc.Definition@ defines the 'Pandoc' data structure, which is used by pandoc to represent@@ -32,9 +32,6 @@ Copyright: (c) 2006-2023 John MacFarlane Category: Text Build-type: Simple-Tested-With: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.2,- GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7,- GHC == 9.0.2, GHC == 9.2.5, GHC == 9.4.4 Extra-Source-Files: changelog Source-repository head type: git@@ -56,7 +53,7 @@ deepseq >= 1.4.1 && < 1.5, syb >= 0.1 && < 0.8, ghc-prim >= 0.2,- bytestring >= 0.9 && < 0.12,+ bytestring >= 0.9 && < 0.13, aeson >= 0.6.2 && < 2.3, transformers >= 0.2 && < 0.7, QuickCheck >= 2.10 && < 2.15@@ -76,7 +73,7 @@ aeson >= 0.6.2 && < 2.3, containers >= 0.3, text,- bytestring >= 0.9 && < 0.12,+ bytestring >= 0.9 && < 0.13, test-framework >= 0.3 && < 0.9, test-framework-hunit >= 0.2 && < 0.4, test-framework-quickcheck2 >= 0.2.9 && < 0.4,
src/Text/Pandoc/JSON.hs view
@@ -103,9 +103,15 @@ class ToJSONFilter m a where toJSONFilter :: a -> m () -instance (Walkable a Pandoc) => ToJSONFilter IO (a -> a) where- toJSONFilter f = BL.getContents >>=+instance (Walkable a Pandoc, MonadIO m) => ToJSONFilter m (a -> a) where+ toJSONFilter f = liftIO $ BL.getContents >>= BL.putStr . encode . (walk f :: Pandoc -> Pandoc) . either error id .+ eitherDecode'++instance (Walkable [a] Pandoc, MonadIO m) => ToJSONFilter m (a -> [a]) where+ toJSONFilter f = liftIO $ BL.getContents >>=+ BL.putStr . encode . (walk (concatMap f) :: Pandoc -> Pandoc) .+ either error id . eitherDecode' instance (Walkable a Pandoc, MonadIO m) => ToJSONFilter m (a -> m a) where