packages feed

hoodle-types 0.2 → 0.2.1

raw patch · 5 files changed

+40/−6 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Data.Hoodle.Generic: ghoodle_revisions :: GHoodle cntnr pg -> [Revision]
+ Data.Hoodle.Generic: grevisions :: Simple Lens (GHoodle cntnr pg) [Revision]
+ Data.Hoodle.Select: gselRevisions :: Simple Lens (GSelect a b) [Revision]
+ Data.Hoodle.Select: gselect_revisions :: GSelect a b -> [Revision]
+ Data.Hoodle.Simple: Revision :: !ByteString -> !ByteString -> Revision
+ Data.Hoodle.Simple: _revmd5 :: Revision -> !ByteString
+ Data.Hoodle.Simple: _revtxt :: Revision -> !ByteString
+ Data.Hoodle.Simple: data Revision
+ Data.Hoodle.Simple: hoodle_revisions :: Hoodle -> [Revision]
+ Data.Hoodle.Simple: instance Show Revision
+ Data.Hoodle.Simple: revisions :: Simple Lens Hoodle [Revision]
+ Data.Hoodle.Simple: revmd5 :: Simple Lens Revision ByteString
+ Data.Hoodle.Simple: revtxt :: Simple Lens Revision ByteString
- Data.Hoodle.Generic: GHoodle :: ByteString -> ByteString -> Maybe ByteString -> cntnr pg -> GHoodle cntnr pg
+ Data.Hoodle.Generic: GHoodle :: ByteString -> ByteString -> [Revision] -> Maybe ByteString -> cntnr pg -> GHoodle cntnr pg
- Data.Hoodle.Select: GSelect :: ByteString -> ByteString -> Maybe ByteString -> a -> b -> GSelect a b
+ Data.Hoodle.Select: GSelect :: ByteString -> ByteString -> [Revision] -> Maybe ByteString -> a -> b -> GSelect a b
- Data.Hoodle.Simple: Hoodle :: ByteString -> !Title -> Maybe ByteString -> ![Page] -> Hoodle
+ Data.Hoodle.Simple: Hoodle :: ByteString -> !Title -> [Revision] -> Maybe ByteString -> ![Page] -> Hoodle

Files

hoodle-types.cabal view
@@ -1,5 +1,5 @@ Name:		hoodle-types-Version:	0.2+Version:	0.2.1 Synopsis:	Data types for programs for hoodle file format Description: 	Hoodle file format data type including generic interface License: 	BSD3@@ -37,7 +37,6 @@                    Data.Hoodle.Select                    Data.Hoodle.Simple                    Data.Hoodle.Simple.V0_1_1-                   -- Data.Hoodle.Simple.V0_1_999                    Data.Hoodle.Util                    Data.Hoodle.Zipper  
src/Data/Hoodle/Generic.hs view
@@ -36,6 +36,7 @@ data GHoodle cntnr pg = GHoodle                          { ghoodle_id :: ByteString                          , ghoodle_ttl :: ByteString +                        , ghoodle_revisions :: [Revision]                         , ghoodle_embeddedpdf :: Maybe ByteString                          , ghoodle_pgs :: cntnr pg }   @@ -72,7 +73,7 @@    -- |  instance (Functor cntnr) => Functor (GHoodle cntnr) where-  fmap f (GHoodle hid ttl pdf pgs) = GHoodle hid ttl pdf (fmap f pgs)+  fmap f (GHoodle hid ttl revs pdf pgs) = GHoodle hid ttl revs pdf (fmap f pgs)  ------------------------------ -- lenses for Generic types --@@ -87,6 +88,10 @@ gtitle = lens ghoodle_ttl (\f a -> f { ghoodle_ttl = a } )  -- | +grevisions :: Simple Lens (GHoodle cntnr pg) [Revision]+grevisions = lens ghoodle_revisions (\f a -> f { ghoodle_revisions = a } )++-- |  gembeddedpdf :: Simple Lens (GHoodle cntnr pg) (Maybe ByteString) gembeddedpdf = lens ghoodle_embeddedpdf (\f a -> f { ghoodle_embeddedpdf = a } ) @@ -141,7 +146,7 @@ emptyGHoodle :: (Listable m) => IO (GHoodle m a) emptyGHoodle = do    uuid <- nextRandom-  return $ GHoodle ((pack.show) uuid) "" Nothing (fromList [])+  return $ GHoodle ((pack.show) uuid) "" [] Nothing (fromList [])  -- |  emptyGPage :: (Listable cntnr) => Dimension -> bkg -> GPage bkg cntnr a 
src/Data/Hoodle/Generic/Simple.hs view
@@ -47,6 +47,7 @@ mkSHoodle = GHoodle              <$> view hoodleID             <*> view title +            <*> view revisions             <*> view embeddedPdf              <*> map mkSPage . view pages @@ -60,5 +61,5 @@  -- |  shoodle2Hoodle :: SHoodle -> Hoodle-shoodle2Hoodle (GHoodle hid ttl pdf pgs) = Hoodle hid ttl pdf (map spage2Page pgs)+shoodle2Hoodle (GHoodle hid ttl revs pdf pgs) = Hoodle hid ttl revs pdf (map spage2Page pgs) 
src/Data/Hoodle/Select.hs view
@@ -20,10 +20,12 @@ import Data.ByteString  -- import Data.Hoodle.Generic +import Data.Hoodle.Simple   -- |  data GSelect a b = GSelect { gselect_id :: ByteString                             , gselect_ttl :: ByteString +                           , gselect_revisions :: [Revision]                            , gselect_embeddedpdf :: Maybe ByteString                             , gselect_all :: a                             , gselect_selected :: b@@ -36,6 +38,10 @@ gselTitle :: Simple Lens (GSelect a b) ByteString gselTitle = lens gselect_ttl (\f a -> f {gselect_ttl = a}) +-- | +gselRevisions :: Simple Lens (GSelect a b) [Revision]+gselRevisions = lens gselect_revisions (\f a -> f {gselect_revisions = a } )+ -- | gselEmbeddedPdf :: Simple Lens (GSelect a b) (Maybe ByteString) gselEmbeddedPdf = lens gselect_embeddedpdf (\f a -> f {gselect_embeddedpdf = a})@@ -52,6 +58,7 @@ gSelect2GHoodle :: GSelect (m a) b -> GHoodle m a  gSelect2GHoodle = GHoodle <$> view gselHoodleID                           <*> view gselTitle +                          <*> view gselRevisions                           <*> view gselEmbeddedPdf                            <*> view gselAll  @@ -59,6 +66,7 @@ gHoodle2GSelect :: GHoodle m a -> GSelect (m a) (Maybe b) gHoodle2GSelect = GSelect <$> view ghoodleID                           <*> view gtitle +                          <*> view grevisions                           <*> view gembeddedpdf                           <*> view gpages                           <*> pure Nothing 
src/Data/Hoodle/Simple.hs view
@@ -198,10 +198,17 @@                 | BackgroundEmbedPdf { bkg_type :: ByteString                                      , bkg_pageno :: Int }                  deriving Show +-- | +data Revision = Revision { _revmd5 :: !ByteString +                         , _revtxt :: !ByteString +                         }  +              deriving Show  + -- |  data Hoodle = Hoodle { hoodle_id :: ByteString                      , hoodle_title :: !Title+                     , hoodle_revisions :: [Revision]                      , hoodle_embeddedpdf :: Maybe ByteString                      , hoodle_pages :: ![Page] }              deriving Show @@ -243,6 +250,18 @@ title = lens hoodle_title (\f a -> f { hoodle_title = a } )  -- | +revisions :: Simple Lens Hoodle [Revision]+revisions = lens hoodle_revisions (\f a -> f { hoodle_revisions = a } )++-- | +revmd5 :: Simple Lens Revision ByteString+revmd5 = lens _revmd5 (\f a -> f { _revmd5 = a } )++-- | +revtxt :: Simple Lens Revision ByteString+revtxt = lens _revtxt (\f a -> f { _revtxt = a } )++-- |  embeddedPdf :: Simple Lens Hoodle (Maybe ByteString) embeddedPdf = lens hoodle_embeddedpdf (\f a -> f { hoodle_embeddedpdf = a} ) @@ -250,6 +269,7 @@ pages :: Simple Lens Hoodle [Page] pages = lens hoodle_pages (\f a -> f { hoodle_pages = a } ) + -- |  dimension :: Simple Lens Page Dimension  dimension = lens page_dim (\f a -> f { page_dim = a } )@@ -275,7 +295,7 @@ emptyHoodle :: IO Hoodle emptyHoodle = do   uuid <- nextRandom-  return $ Hoodle ((pack.show) uuid) "" Nothing [] +  return $ Hoodle ((pack.show) uuid) "" [] Nothing []   -- |  emptyLayer :: Layer @@ -304,6 +324,7 @@ defaultHoodle =      (set title "untitled".set embeddedPdf Nothing . set pages [defaultPage])     <$> emptyHoodle + -- |  newPageFromOld :: Page -> Page newPageFromOld page =