| Copyright | © 2016–present Stack Buliders |
|---|---|
| License | BSD 3 clause |
| Maintainer | Mark Karpov <markkarpov92@gmail.com> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Text.Mustache.Type
Description
Types used in the package. You don't usually need to import the module, because Text.Mustache re-exports everything you may need, import that module instead.
Synopsis
- data Template = Template {
- templateActual :: PName
- templateCache :: Map PName [Node]
- data Node
- newtype Key = Key {}
- showKey :: Key -> Text
- newtype PName = PName {}
- newtype MustacheException = MustacheParserException (ParseErrorBundle Text Void)
- data MustacheWarning
- displayMustacheWarning :: MustacheWarning -> String
Documentation
Mustache template as the name of the “top-level” template and a collection of all available templates (partials).
Template is a Semigroup. This means that you can combine Templates
(and their caches) using the ( operator, the resulting <>)Template
will have the same currently selected template as the left one. Union of
caches is also left-biased.
Constructors
| Template | |
Fields
| |
Instances
| Semigroup Template # | |||||
| Data Template # | |||||
Defined in Text.Mustache.Type Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Template -> c Template # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Template # toConstr :: Template -> Constr # dataTypeOf :: Template -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Template) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Template) # gmapT :: (forall b. Data b => b -> b) -> Template -> Template # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Template -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Template -> r # gmapQ :: (forall d. Data d => d -> u) -> Template -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Template -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Template -> m Template # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Template -> m Template # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Template -> m Template # | |||||
| Generic Template # | |||||
Defined in Text.Mustache.Type Associated Types
| |||||
| Show Template # | |||||
| Eq Template # | |||||
| Ord Template # | |||||
Defined in Text.Mustache.Type | |||||
| Lift Template # | Since: 2.1.0 | ||||
| type Rep Template # | |||||
Defined in Text.Mustache.Type type Rep Template = D1 ('MetaData "Template" "Text.Mustache.Type" "stache-2.3.4-12n8t6Z2eXACjf6tDo3vkh" 'False) (C1 ('MetaCons "Template" 'PrefixI 'True) (S1 ('MetaSel ('Just "templateActual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PName) :*: S1 ('MetaSel ('Just "templateCache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PName [Node])))) | |||||
A structural element of a template.
Constructors
| TextBlock Text | Plain text contained between tags |
| EscapedVar Key | HTML-escaped variable |
| UnescapedVar Key | Unescaped variable |
| Section Key [Node] | Mustache section |
| InvertedSection Key [Node] | Inverted section |
| Partial PName (Maybe Pos) | Partial with indentation level ( |
Instances
Identifier for values to interpolate.
The representation is the following:
[]—empty list means implicit iterators;[text]—single key is a normal identifier;[text1, text2]—multiple keys represent dotted names.
Instances
| NFData Key # | |||||
Defined in Text.Mustache.Type | |||||
| Monoid Key # | |||||
| Semigroup Key # | |||||
| Data Key # | |||||
Defined in Text.Mustache.Type Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Key -> c Key # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Key # dataTypeOf :: Key -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Key) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Key) # gmapT :: (forall b. Data b => b -> b) -> Key -> Key # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Key -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Key -> r # gmapQ :: (forall d. Data d => d -> u) -> Key -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Key -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Key -> m Key # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Key -> m Key # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Key -> m Key # | |||||
| Generic Key # | |||||
Defined in Text.Mustache.Type Associated Types
| |||||
| Show Key # | |||||
| Eq Key # | |||||
| Ord Key # | |||||
| Lift Key # | Since: 2.1.0 | ||||
| type Rep Key # | |||||
Defined in Text.Mustache.Type | |||||
Pretty-print a key. This is helpful, for example, if you want to display an error message.
Since: 0.2.0
Identifier for partials. Note that with the OverloadedStrings
extension you can use just string literals to create values of this type.
Instances
| NFData PName # | |||||
Defined in Text.Mustache.Type | |||||
| Data PName # | |||||
Defined in Text.Mustache.Type Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PName -> c PName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PName # dataTypeOf :: PName -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PName) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PName) # gmapT :: (forall b. Data b => b -> b) -> PName -> PName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PName -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PName -> r # gmapQ :: (forall d. Data d => d -> u) -> PName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PName -> m PName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PName -> m PName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PName -> m PName # | |||||
| IsString PName # | |||||
Defined in Text.Mustache.Type Methods fromString :: String -> PName # | |||||
| Generic PName # | |||||
Defined in Text.Mustache.Type Associated Types
| |||||
| Show PName # | |||||
| Eq PName # | |||||
| Ord PName # | |||||
| Lift PName # | Since: 2.1.0 | ||||
| type Rep PName # | |||||
Defined in Text.Mustache.Type | |||||
newtype MustacheException #
Exception that is thrown when parsing of a template fails or referenced values are not provided.
Constructors
| MustacheParserException (ParseErrorBundle Text Void) | Template parser has failed. This contains the parse error. Before version 0.2.0 it was called The |
Instances
| Exception MustacheException # | |||||
Defined in Text.Mustache.Type Methods toException :: MustacheException -> SomeException # fromException :: SomeException -> Maybe MustacheException # | |||||
| Generic MustacheException # | |||||
Defined in Text.Mustache.Type Associated Types
Methods from :: MustacheException -> Rep MustacheException x # to :: Rep MustacheException x -> MustacheException # | |||||
| Show MustacheException # | |||||
Defined in Text.Mustache.Type Methods showsPrec :: Int -> MustacheException -> ShowS # show :: MustacheException -> String # showList :: [MustacheException] -> ShowS # | |||||
| Eq MustacheException # | |||||
Defined in Text.Mustache.Type Methods (==) :: MustacheException -> MustacheException -> Bool # (/=) :: MustacheException -> MustacheException -> Bool # | |||||
| type Rep MustacheException # | |||||
Defined in Text.Mustache.Type type Rep MustacheException = D1 ('MetaData "MustacheException" "Text.Mustache.Type" "stache-2.3.4-12n8t6Z2eXACjf6tDo3vkh" 'True) (C1 ('MetaCons "MustacheParserException" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ParseErrorBundle Text Void)))) | |||||
data MustacheWarning #
Warning that may be generated during rendering of a Template.
Since: 1.1.1
Constructors
| MustacheVariableNotFound Key | The template contained a variable for which there was no data in the current context. |
| MustacheDirectlyRenderedValue Key | A complex value such as an |
Instances
| Generic MustacheWarning # | |||||
Defined in Text.Mustache.Type Associated Types
Methods from :: MustacheWarning -> Rep MustacheWarning x # to :: Rep MustacheWarning x -> MustacheWarning # | |||||
| Show MustacheWarning # | |||||
Defined in Text.Mustache.Type Methods showsPrec :: Int -> MustacheWarning -> ShowS # show :: MustacheWarning -> String # showList :: [MustacheWarning] -> ShowS # | |||||
| Eq MustacheWarning # | |||||
Defined in Text.Mustache.Type Methods (==) :: MustacheWarning -> MustacheWarning -> Bool # (/=) :: MustacheWarning -> MustacheWarning -> Bool # | |||||
| type Rep MustacheWarning # | |||||
Defined in Text.Mustache.Type type Rep MustacheWarning = D1 ('MetaData "MustacheWarning" "Text.Mustache.Type" "stache-2.3.4-12n8t6Z2eXACjf6tDo3vkh" 'False) (C1 ('MetaCons "MustacheVariableNotFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Key)) :+: C1 ('MetaCons "MustacheDirectlyRenderedValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Key))) | |||||
displayMustacheWarning :: MustacheWarning -> String #
Pretty-print a MustacheWarning.
Since: 1.1.1