@@ -247,3 +247,13 @@ instance (Data a) => ToJsonFilter (a -> a) where
247instance (Data a) => ToJsonFilter (a -> IO a) where
247instance (Data a) => ToJsonFilter (a -> IO a) where
248 toJsonFilter f = getContents >>= (bottomUpM f :: Pandoc -> IO Pandoc) . decodeJSON
248 toJsonFilter f = getContents >>= (bottomUpM f :: Pandoc -> IO Pandoc) . decodeJSON
249 >>= putStr . encodeJSON
249 >>= putStr . encodeJSON
251+instance (Data a) => ToJsonFilter (a -> [a]) where
252+ toJsonFilter f = getContents
253+ >>= putStr . encodeJSON . (bottomUp (concatMap f) :: Pandoc -> Pandoc) . decodeJSON
255+instance (Data a) => ToJsonFilter (a -> IO [a]) where
256+ toJsonFilter f = getContents
257+ >>= (bottomUpM (fmap concat . mapM f) :: Pandoc -> IO Pandoc) . decodeJSON
258+ >>= putStr . encodeJSON