Safe Haskell | None |
---|---|
Language | Haskell2010 |
Text.RSS.Extensions
Description
Support for RSS extensions. Cf specification at http://web.resource.org/rss/1.0/modules/.
Synopsis
- class ParseRssExtension a where
- parseRssChannelExtension :: MonadThrow m => ConduitT Event o m (RssChannelExtension a)
- parseRssItemExtension :: MonadThrow m => ConduitT Event o m (RssItemExtension a)
- type ParseRssExtensions (e :: [*]) = (AllConstrained ParseRssExtension e, SingI e)
- parseRssChannelExtensions :: ParseRssExtensions e => MonadThrow m => ConduitT Event o m (RssChannelExtensions e)
- parseRssItemExtensions :: ParseRssExtensions e => MonadThrow m => ConduitT Event o m (RssItemExtensions e)
- class RenderRssExtension e where
- renderRssChannelExtension :: Monad m => RssChannelExtension e -> ConduitT () Event m ()
- renderRssItemExtension :: Monad m => RssItemExtension e -> ConduitT () Event m ()
- type RenderRssExtensions (e :: [*]) = AllConstrained RenderRssExtension e
- renderRssChannelExtensions :: Monad m => RenderRssExtensions e => RssChannelExtensions e -> ConduitT () Event m ()
- renderRssItemExtensions :: Monad m => RenderRssExtensions e => RssItemExtensions e -> ConduitT () Event m ()
Parsing
class ParseRssExtension a where Source #
Class of RSS extensions that can be parsed.
Methods
parseRssChannelExtension :: MonadThrow m => ConduitT Event o m (RssChannelExtension a) Source #
This parser will be fed with all Event
s within the <channel>
element.
Therefore, it is expected to ignore Event
s unrelated to the RSS extension.
parseRssItemExtension :: MonadThrow m => ConduitT Event o m (RssItemExtension a) Source #
Instances
type ParseRssExtensions (e :: [*]) = (AllConstrained ParseRssExtension e, SingI e) Source #
Requirement on a list of extension tags to be able to parse and combine them.
parseRssChannelExtensions :: ParseRssExtensions e => MonadThrow m => ConduitT Event o m (RssChannelExtensions e) Source #
Parse a combination of RSS extensions at <channel>
level.
parseRssItemExtensions :: ParseRssExtensions e => MonadThrow m => ConduitT Event o m (RssItemExtensions e) Source #
Parse a combination of RSS extensions at <item>
level.
Rendering
class RenderRssExtension e where Source #
Class of RSS extensions that can be rendered.
Methods
renderRssChannelExtension :: Monad m => RssChannelExtension e -> ConduitT () Event m () Source #
Render extension for the <channel>
element.
renderRssItemExtension :: Monad m => RssItemExtension e -> ConduitT () Event m () Source #
Render extension for the <item>
element.
Instances
type RenderRssExtensions (e :: [*]) = AllConstrained RenderRssExtension e Source #
Requirement on a list of extension tags to be able to render them.
renderRssChannelExtensions :: Monad m => RenderRssExtensions e => RssChannelExtensions e -> ConduitT () Event m () Source #
Render a set of <channel>
extensions.
renderRssItemExtensions :: Monad m => RenderRssExtensions e => RssItemExtensions e -> ConduitT () Event m () Source #
Render a set of <item>
extensions.