Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Single
- data Associative
- data List
- data TemplateValue a where
- Single :: String -> TemplateValue Single
- Associative :: [(TemplateValue Single, TemplateValue Single)] -> TemplateValue Associative
- List :: [TemplateValue Single] -> TemplateValue List
- data WrappedValue where
- WrappedValue :: TemplateValue a -> WrappedValue
- newtype TemplateString = String {
- fromString :: String
- newtype AList k v = AList {
- fromAList :: [(k, v)]
- class ToTemplateValue a where
- type TemplateRep a :: *
- timeToString :: FormatTime t => String -> t -> String
- data ValueModifier
- data Variable = Variable {}
- data TemplateSegment
- type UriTemplate = [TemplateSegment]
- data Modifier
Documentation
data Associative Source #
data TemplateValue a where Source #
All values must reduce to a single value pair, an associative list of keys and values, or a list of values without keys.
Single :: String -> TemplateValue Single | |
Associative :: [(TemplateValue Single, TemplateValue Single)] -> TemplateValue Associative | |
List :: [TemplateValue Single] -> TemplateValue List |
Show (TemplateValue a) Source # | |
data WrappedValue where Source #
WrappedValue :: TemplateValue a -> WrappedValue |
newtype TemplateString Source #
A simple wrapper for interpolating Haskell 98 strings into templates.
A simple list of key value pairs. Useful when you want to be able to have multiple duplicate
keys, which Map
and HashMap
don't support.
(Eq v, Eq k) => Eq (AList k v) Source # | |
(Read v, Read k) => Read (AList k v) Source # | |
(Show v, Show k) => Show (AList k v) Source # | |
(ToTemplateValue k, (~) * (TemplateRep k) Single, ToTemplateValue v, (~) * (TemplateRep v) Single) => ToTemplateValue (AList k v) Source # | |
type TemplateRep (AList k v) Source # | |
class ToTemplateValue a where Source #
type TemplateRep a :: * Source #
toTemplateValue :: a -> TemplateValue (TemplateRep a) Source #
timeToString :: FormatTime t => String -> t -> String Source #
data ValueModifier Source #
data TemplateSegment Source #
type UriTemplate = [TemplateSegment] Source #
A URI template is fundamentally a bunch of segments that are either constants or else an interpolation
How an interpolated value should be rendered
Simple | No prefix |
Reserved | Prefixed by |
Fragment | Prefixed by |
Label | Prefixed by |
PathSegment | Prefixed by |
PathParameter | Prefixed by |
Query | Prefixed by |
QueryContinuation | Prefixed by |