Safe Haskell | None |
---|---|
Language | Haskell98 |
Network.URI.Template.Types
- 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 #
data TemplateValue a where #
All values must reduce to a single value pair, an associative list of keys and values, or a list of values without keys.
Constructors
Single :: String -> TemplateValue Single | |
Associative :: [(TemplateValue Single, TemplateValue Single)] -> TemplateValue Associative | |
List :: [TemplateValue Single] -> TemplateValue List |
Instances
Show (TemplateValue a) # | |
data WrappedValue where #
Constructors
WrappedValue :: TemplateValue a -> WrappedValue |
newtype TemplateString #
A simple wrapper for interpolating Haskell 98 strings into templates.
Constructors
String | |
Fields
|
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.
Instances
(Eq v, Eq k) => Eq (AList k v) # | |
(Read v, Read k) => Read (AList k v) # | |
(Show v, Show k) => Show (AList k v) # | |
(ToTemplateValue k, (~) * (TemplateRep k) Single, ToTemplateValue v, (~) * (TemplateRep v) Single) => ToTemplateValue (AList k v) # | |
type TemplateRep (AList k v) # | |
class ToTemplateValue a where #
Minimal complete definition
Associated Types
type TemplateRep a :: * #
Methods
toTemplateValue :: a -> TemplateValue (TemplateRep a) #
Instances
timeToString :: FormatTime t => String -> t -> String #
data ValueModifier #
Instances
Constructors
Variable | |
Fields |
data TemplateSegment #
Constructors
Literal String | A literal string. No URI escaping will be performed |
Embed Modifier [Variable] | An interpolation can have multiple variables (separated by commas in the textual format) |
Instances
type UriTemplate = [TemplateSegment] #
A URI template is fundamentally a bunch of segments that are either constants or else an interpolation