diff --git a/src/PDF/Pages.hs b/src/PDF/Pages.hs index 14ad8fa..deee4ab 100755 --- a/src/PDF/Pages.hs +++ b/src/PDF/Pages.hs @@ -1,4 +1,7 @@ {-# LANGUAGE NamedFieldPuns #-} +{-# LANGUAGE TypeSynonymInstances #-} +{-# LANGUAGE FlexibleInstances #-} +{-# LANGUAGE MultiParamTypeClasses #-} module PDF.Pages ( Page(..) , get @@ -109,6 +112,11 @@ loadPage source = do contents <- extractText =<< objectById source return $ Page {contents, source} +data Pages = Pages + +instance Box T Pages Layer (Map ObjectId Page) +instance Box T ObjectId Layer Page + getAll :: Layer -> Either String (Map Int Page) getAll content = runError $ fst <$> evalRWST getPages content Map.empty where