{-# LANGUAGE KindSignatures #-}
module Scrappy.Types where
import Control.Concurrent (ThreadId)
import Control.Monad.Trans.Except (ExceptT)
import Control.Monad.Trans.State.Lazy (StateT)
import Data.Text (Text)
import Text.Parsec (ParsecT, parserZero)
mapMaybe :: (a -> Maybe b) -> ParsecT s u m a -> ParsecT s u m b
mapMaybe :: forall a b s u (m :: * -> *).
(a -> Maybe b) -> ParsecT s u m a -> ParsecT s u m b
mapMaybe a -> Maybe b
f ParsecT s u m a
ma = do
a
x <- ParsecT s u m a
ma
case a -> Maybe b
f a
x of
Just b
a -> b -> ParsecT s u m b
forall a. a -> ParsecT s u m a
forall (f :: * -> *) a. Applicative f => a -> f a
pure b
a
Maybe b
Nothing -> ParsecT s u m b
forall s u (m :: * -> *) a. ParsecT s u m a
parserZero
data ScrapeFail = Eof | NonMatch deriving Int -> ScrapeFail -> ShowS
[ScrapeFail] -> ShowS
ScrapeFail -> String
(Int -> ScrapeFail -> ShowS)
-> (ScrapeFail -> String)
-> ([ScrapeFail] -> ShowS)
-> Show ScrapeFail
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ScrapeFail -> ShowS
showsPrec :: Int -> ScrapeFail -> ShowS
$cshow :: ScrapeFail -> String
show :: ScrapeFail -> String
$cshowList :: [ScrapeFail] -> ShowS
showList :: [ScrapeFail] -> ShowS
Show
type Html = String