yate-0.1.0.3: Yet Another Template Engine

Safe HaskellNone
LanguageHaskell2010

Text.Yate.Types

Synopsis

Documentation

data Path Source #

Path to traverse in a YateValue (e.g. author.address.city)

Constructors

AbsolutePath [Text]

e.g. thing.stuff

RelativePath [Text]

e.g. .stuff (see in and forall statements)

Instances
Eq Path Source # 
Instance details

Defined in Text.Yate.Types

Methods

(==) :: Path -> Path -> Bool #

(/=) :: Path -> Path -> Bool #

Show Path Source # 
Instance details

Defined in Text.Yate.Types

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

data Template a Source #

Template which needs a given type of input data

Constructors

Content Text

Raw content, nothing special

Variable Path

= statement

If Path (Template a) (Template a)

if/else statement

For Text Path (Template a)

for x in xs statement

In Path (Template a)

in statement

Parts [Template a]

Template parts following each other

Instances
Eq (Template a) Source # 
Instance details

Defined in Text.Yate.Types

Methods

(==) :: Template a -> Template a -> Bool #

(/=) :: Template a -> Template a -> Bool #

Show (Template a) Source # 
Instance details

Defined in Text.Yate.Types

Methods

showsPrec :: Int -> Template a -> ShowS #

show :: Template a -> String #

showList :: [Template a] -> ShowS #

data YateValue Source #

Data to feed to a template

Instances
Eq YateValue Source # 
Instance details

Defined in Text.Yate.Types

Show YateValue Source # 
Instance details

Defined in Text.Yate.Types

ToYate YateValue Source # 
Instance details

Defined in Text.Yate.Types

class ToYate a where Source #

Methods

toYate :: a -> YateValue Source #

Instances
ToYate Bool Source # 
Instance details

Defined in Text.Yate.Types

ToYate Double Source # 
Instance details

Defined in Text.Yate.Types

ToYate () Source # 
Instance details

Defined in Text.Yate.Types

Methods

toYate :: () -> YateValue Source #

ToYate Text Source # 
Instance details

Defined in Text.Yate.Types

ToYate Value Source # 
Instance details

Defined in Text.Yate.Types

ToYate YateValue Source # 
Instance details

Defined in Text.Yate.Types

ToYate a => ToYate [a] Source # 
Instance details

Defined in Text.Yate.Types

Methods

toYate :: [a] -> YateValue Source #

ToYate a => ToYate (Maybe a) Source # 
Instance details

Defined in Text.Yate.Types

Methods

toYate :: Maybe a -> YateValue Source #

ToYate a => ToYate (Vector a) Source # 
Instance details

Defined in Text.Yate.Types

Methods

toYate :: Vector a -> YateValue Source #