packages feed

tagsoup-navigate 0.1.0.4 → 0.1.0.5

raw patch · 3 files changed

+26/−18 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Text.HTML.TagSoup.Navigate.Types.TagTreePosState: breadthFirstFindTree :: (TagTree str -> Bool) -> TagTreePosState str ()
+ Text.HTML.TagSoup.Navigate.Types.TagTreePosState: breadthFirstFindTree :: (TagTree str -> Maybe x) -> TagTreePosState str x
- Text.HTML.TagSoup.Navigate.Types.TagTreePosState: breadthFirstFindTreeT :: Monad f => (TagTree str -> f Bool) -> TagTreePosStateT str f ()
+ Text.HTML.TagSoup.Navigate.Types.TagTreePosState: breadthFirstFindTreeT :: Monad f => (TagTree str -> f (Maybe x)) -> TagTreePosStateT str f x
- Text.HTML.TagSoup.Navigate.Types.TagTreePosState: depthFirstFindTree :: (TagTree str -> Bool) -> TagTreePosState str ()
+ Text.HTML.TagSoup.Navigate.Types.TagTreePosState: depthFirstFindTree :: (TagTree str -> Maybe x) -> TagTreePosState str x
- Text.HTML.TagSoup.Navigate.Types.TagTreePosState: depthFirstFindTreeT :: Monad f => (TagTree str -> f Bool) -> TagTreePosStateT str f ()
+ Text.HTML.TagSoup.Navigate.Types.TagTreePosState: depthFirstFindTreeT :: Monad f => (TagTree str -> f (Maybe x)) -> TagTreePosStateT str f x
- Text.HTML.TagSoup.Navigate.Types.TagTreePosState: findTree :: TagTreePosState str () -> TagTreePosState str () -> (TagTree str -> Bool) -> TagTreePosState str ()
+ Text.HTML.TagSoup.Navigate.Types.TagTreePosState: findTree :: TagTreePosState str a -> TagTreePosState str b -> (TagTree str -> Maybe x) -> TagTreePosState str x
- Text.HTML.TagSoup.Navigate.Types.TagTreePosState: findTreeT :: Monad f => TagTreePosStateT str f a -> TagTreePosStateT str f b -> (TagTree str -> f Bool) -> TagTreePosStateT str f ()
+ Text.HTML.TagSoup.Navigate.Types.TagTreePosState: findTreeT :: Monad f => TagTreePosStateT str f a -> TagTreePosStateT str f b -> (TagTree str -> f (Maybe x)) -> TagTreePosStateT str f x

Files

changelog.md view
@@ -1,3 +1,7 @@+0.1.0.5++* change the search functions in `TagTreePosStateT` to use `Maybe` instead of `Bool`+ 0.1.0.4  * fix bug in breadth/depth first search.
src/Text/HTML/TagSoup/Navigate/Types/TagTreePosState.hs view
@@ -51,7 +51,7 @@ import Control.Applicative(Applicative((<*>), pure), Alternative((<|>), empty), liftA2, (*>)) import Control.Category((.)) import Control.Lens(Rewrapped, Wrapped, Unwrapped, _Wrapped', _Wrapped, iso, view, preview, over, from, _head, _1, _2, _3)-import Control.Monad(Monad(return, (>>=)), unless)+import Control.Monad(Monad(return, (>>=))) import Control.Monad.Morph(MFunctor(hoist)) import Control.Monad.Reader.Class(MonadReader(ask, local, reader)) import Control.Monad.State.Class(MonadState(state, get, put), gets, modify)@@ -361,44 +361,48 @@   Monad f =>   TagTreePosStateT str f a   -> TagTreePosStateT str f b-  -> (TagTree str -> f Bool)-  -> TagTreePosStateT str f ()+  -> (TagTree str -> f (Maybe x))+  -> TagTreePosStateT str f x findTreeT s1 s2 pr =   do  c <- liftTagTreePosState content       z <- lift (pr c)-      unless z ((s1 *> breadthFirstFindTreeT pr) <|> (s2 *> breadthFirstFindTreeT pr))-+      case z of+        Nothing ->+          (s1 *> breadthFirstFindTreeT pr) <|> (s2 *> breadthFirstFindTreeT pr)+        Just x ->+          pure x+   findTree ::-  TagTreePosState str ()-  -> TagTreePosState str ()-  -> (TagTree str -> Bool)-  -> TagTreePosState str ()+  TagTreePosState str a+  -> TagTreePosState str b+  -> (TagTree str -> Maybe x)+  -> TagTreePosState str x findTree s1 s2 pr =   findTreeT s1 s2 (Identity . pr)  depthFirstFindTreeT ::   Monad f =>-  (TagTree str -> f Bool)-  -> TagTreePosStateT str f ()+  (TagTree str -> f (Maybe x))+  -> TagTreePosStateT str f x depthFirstFindTreeT =   findTreeT (liftTagTreePosState firstChild) (liftTagTreePosState nextSibling)  depthFirstFindTree ::-  (TagTree str -> Bool)-  -> TagTreePosState str ()+  (TagTree str -> Maybe x)+  -> TagTreePosState str x depthFirstFindTree pr =   depthFirstFindTreeT (Identity . pr)  breadthFirstFindTreeT ::   Monad f =>-  (TagTree str -> f Bool)-  -> TagTreePosStateT str f ()+  (TagTree str -> f (Maybe x))+  -> TagTreePosStateT str f x breadthFirstFindTreeT =   findTreeT (liftTagTreePosState nextSibling) (liftTagTreePosState firstChild)  breadthFirstFindTree ::-  (TagTree str -> Bool)-  -> TagTreePosState str ()+  (TagTree str -> Maybe x)+  -> TagTreePosState str x breadthFirstFindTree pr =   breadthFirstFindTreeT (Identity . pr) 
tagsoup-navigate.cabal view
@@ -1,5 +1,5 @@ name:                 tagsoup-navigate-version:              0.1.0.4+version:              0.1.0.5 synopsis:             Tagsoup Navigate description:          Lenses and data types for navigating tagsoup license:              BSD3