packages feed

pdf-toolbox-core 0.0.2.1 → 0.0.3.0

raw patch · 8 files changed

+43/−9 lines, 8 filesdep +scientificdep ~attoparsecPVP ok

version bump matches the API change (PVP)

Dependencies added: scientific

Dependency ranges changed: attoparsec

API changes (from Hackage documentation)

+ Pdf.Toolbox.Core.Writer: instance (Monad m, Functor m) => Applicative (PdfWriter m)
+ Pdf.Toolbox.Core.Writer: instance Functor m => Functor (PdfWriter m)

Files

+ changelog.md view
@@ -0,0 +1,7 @@++0.0.3.0++* add Functor and Applicative instances to fix AMP warnings+* fix attoparsec module deprication warnings+* add scientific dependency+  latest attoparsec uses it for numbers
lib/Pdf/Toolbox/Core/IO.hs view
@@ -23,7 +23,7 @@  import Data.Int import Data.Functor-import Data.Attoparsec (Parser)+import Data.Attoparsec.ByteString (Parser) import Data.ByteString (ByteString) import Control.Monad.IO.Class import Control.Exception
lib/Pdf/Toolbox/Core/Object/Builder.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE CPP #-}  -- | Render 'Object' to bytestring @@ -23,7 +24,12 @@ import qualified Data.ByteString.Char8 as BS8 import qualified Data.ByteString.Lazy as BSL import Data.ByteString.Lazy.Builder++#if MIN_VERSION_bytestring(0, 10, 4)+#else import Data.ByteString.Lazy.Builder.ASCII+#endif+ import Text.Printf  import Pdf.Toolbox.Core.Object.Types
lib/Pdf/Toolbox/Core/Parsers/Object.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE CPP #-}  -- | This module contains parsers for pdf objects @@ -25,8 +26,13 @@ import Data.Char import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BS8-import Data.Attoparsec (Parser)+import Data.Attoparsec.ByteString (Parser) import qualified Data.Attoparsec.ByteString.Char8 as P++#if MIN_VERSION_attoparsec(0, 12, 0)+import qualified Data.Scientific as Scientific+#endif+ import Control.Applicative  import Pdf.Toolbox.Core.Object.Types@@ -75,12 +81,18 @@ -- Right (NumReal 1.0e-2) parseNumber :: Parser Number parseNumber = P.choice [-  toNum <$> P.number,+  number,   NumReal <$> (P.signed $ read . ("0."++) . BS8.unpack <$> (P.char '.' >> P.takeWhile1 isDigit))   ]   where+#if MIN_VERSION_attoparsec(0, 12, 0)+  number = toNum <$> P.scientific+  toNum = either NumReal NumInt . Scientific.floatingOrInteger+#else+  number = toNum <$> P.number   toNum (P.I i) = NumInt $ fromIntegral i   toNum (P.D d) = NumReal d+#endif  -- | -- >>> parseOnly parseStr "(hello)"
lib/Pdf/Toolbox/Core/Parsers/Util.hs view
@@ -7,7 +7,7 @@ ) where -import Data.Attoparsec (Parser)+import Data.Attoparsec.ByteString (Parser) import qualified Data.Attoparsec.ByteString.Char8 as P import Control.Applicative (many) 
lib/Pdf/Toolbox/Core/Parsers/XRef.hs view
@@ -13,7 +13,7 @@ where  import Data.Int-import Data.Attoparsec (Parser)+import Data.Attoparsec.ByteString (Parser) import qualified Data.Attoparsec.ByteString.Char8 as P import Control.Applicative (many) 
lib/Pdf/Toolbox/Core/Writer.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE CPP #-}  -- | Write PDF files --@@ -29,9 +30,15 @@ import Data.ByteString (ByteString) import qualified Data.ByteString.Lazy as BSL import Data.ByteString.Lazy.Builder++#if MIN_VERSION_bytestring(0, 10, 4)+#else import Data.ByteString.Lazy.Builder.ASCII+#endif+ import Data.Function import Data.Monoid+import Control.Applicative import Control.Monad import Control.Monad.Trans.Class import Control.Monad.Trans.State@@ -44,7 +51,7 @@  -- | The monad newtype PdfWriter m a = PdfWriter (StateT PdfState m a)-  deriving (Monad, MonadIO, MonadTrans)+  deriving (Functor, Applicative, Monad, MonadIO, MonadTrans)  -- | Execute writer action runPdfWriter :: MonadIO m
pdf-toolbox-core.cabal view
@@ -1,15 +1,16 @@ name:                pdf-toolbox-core-version:             0.0.2.1+version:             0.0.3.0 synopsis:            A collection of tools for processing PDF files. license:             BSD3 license-file:        LICENSE author:              Yuras Shumovich maintainer:          Yuras Shumovich <shumovichy@gmail.com>-copyright:           Copyright (c) Yuras Shumovich 2012-2013+copyright:           Copyright (c) Yuras Shumovich 2012-2014 category:            PDF build-type:          Simple cabal-version:       >=1.8 homepage:            https://github.com/Yuras/pdf-toolbox+extra-source-files:  changelog.md description:   Low level tools for processing PDF files.   .@@ -49,7 +50,8 @@   build-depends:       base >= 4.6 && < 4.8,                        bytestring,                        io-streams,-                       attoparsec,+                       attoparsec >= 0.10,+                       scientific,                        errors,                        transformers,                        containers,