module Pdf.Toolbox.Document.Monad
(
MonadPdf(..),
deref
)
where
import Data.Int
import Pdf.Toolbox.Core
import Pdf.Toolbox.Document.Encryption
class Monad m => MonadPdf m where
lookupObject :: Ref -> PdfE m (Object Int64)
streamContent :: Ref -> Stream Int64 -> PdfE m (Stream IS)
getDecryptor :: PdfE m (Maybe Decryptor)
getRIS :: PdfE m RIS
getStreamFilters :: PdfE m [StreamFilter]
deref :: (MonadPdf m, Show a) => Object a -> PdfE m (Object ())
deref (ORef ref) = do
o <- lookupObject ref
deref o
deref o = return $ mapObject (const ()) o