Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
- type Path = [String]
- data Err
- data ExtractionErr = ExtractionErr {}
- type ElementExtractor a = ReaderT (Path, Element) (ResultT ExtractionErr Identity) a
- runElementExtractor :: ElementExtractor a -> Element -> Path -> Result ExtractionErr a
- attrib :: String -> ElementExtractor String
- attribAs :: String -> (String -> Either Err a) -> ElementExtractor a
- children :: ContentsExtractor a -> ElementExtractor a
- contents :: ContentsExtractor a -> ElementExtractor a
- type ContentsExtractor a = StateT Ctx (ResultT ExtractionErr Identity) a
- runContentsExtractor :: ContentsExtractor a -> [Content] -> Int -> Path -> Result ExtractionErr (a, Ctx)
- element :: String -> ElementExtractor a -> ContentsExtractor a
- text :: ContentsExtractor String
- textAs :: (String -> Either Err a) -> ContentsExtractor a
- anyContent :: ContentsExtractor Content
- eoc :: ContentsExtractor ()
Documentation
Location for some content.
For now it is a reversed list of content indices and element names. This may change to something less "stringly typed".
Extraction errors.
Element extraction
type ElementExtractor a = ReaderT (Path, Element) (ResultT ExtractionErr Identity) a Source
runElementExtractor :: ElementExtractor a -> Element -> Path -> Result ExtractionErr a Source
attrib :: String -> ElementExtractor String Source
:: String | name of attribute to extract |
-> (String -> Either Err a) | |
-> ElementExtractor a |
children :: ContentsExtractor a -> ElementExtractor a Source
contents :: ContentsExtractor a -> ElementExtractor a Source
Contents extraction
type ContentsExtractor a = StateT Ctx (ResultT ExtractionErr Identity) a Source
runContentsExtractor :: ContentsExtractor a -> [Content] -> Int -> Path -> Result ExtractionErr (a, Ctx) Source
element :: String -> ElementExtractor a -> ContentsExtractor a Source
eoc :: ContentsExtractor () Source