-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Parsing & Quasiquoting for RFC 6570 URI Templates
--   
--   Parsing &amp; Quasiquoting for RFC 6570 URI Templates
@package uri-templater
@version 0.2.1.0

module Network.URI.Template.Types
data Single
data Associative
data List
data TemplateValue a
[Single] :: String -> TemplateValue Single
[Associative] :: [(TemplateValue Single, TemplateValue Single)] -> TemplateValue Associative
[List] :: [TemplateValue Single] -> TemplateValue List
data WrappedValue
[WrappedValue] :: TemplateValue a -> WrappedValue
newtype TemplateString
String :: String -> TemplateString
[fromString] :: TemplateString -> String
newtype AList k v
AList :: [(k, v)] -> AList k v
[fromAList] :: AList k v -> [(k, v)]
class ToTemplateValue a where type TemplateRep a where {
    type family TemplateRep a;
}
toTemplateValue :: ToTemplateValue a => a -> TemplateValue (TemplateRep a)
data ValueModifier
Normal :: ValueModifier
Explode :: ValueModifier
MaxLength :: Int -> ValueModifier
data Variable
Variable :: String -> ValueModifier -> Variable
[variableName] :: Variable -> String
[variableValueModifier] :: Variable -> ValueModifier
data TemplateSegment
Literal :: String -> TemplateSegment
Embed :: Modifier -> [Variable] -> TemplateSegment
type UriTemplate = [TemplateSegment]
data Modifier
Simple :: Modifier
Reserved :: Modifier
Fragment :: Modifier
Label :: Modifier
PathSegment :: Modifier
PathParameter :: Modifier
Query :: Modifier
QueryContinuation :: Modifier
Alias :: Modifier
instance GHC.Classes.Eq Network.URI.Template.Types.TemplateSegment
instance GHC.Show.Show Network.URI.Template.Types.TemplateSegment
instance GHC.Read.Read Network.URI.Template.Types.TemplateSegment
instance GHC.Classes.Eq Network.URI.Template.Types.Modifier
instance GHC.Show.Show Network.URI.Template.Types.Modifier
instance GHC.Read.Read Network.URI.Template.Types.Modifier
instance GHC.Classes.Eq Network.URI.Template.Types.Variable
instance GHC.Show.Show Network.URI.Template.Types.Variable
instance GHC.Read.Read Network.URI.Template.Types.Variable
instance GHC.Classes.Eq Network.URI.Template.Types.ValueModifier
instance GHC.Show.Show Network.URI.Template.Types.ValueModifier
instance GHC.Read.Read Network.URI.Template.Types.ValueModifier
instance Data.String.IsString Network.URI.Template.Types.TemplateString
instance GHC.Classes.Eq Network.URI.Template.Types.TemplateString
instance GHC.Show.Show Network.URI.Template.Types.TemplateString
instance GHC.Read.Read Network.URI.Template.Types.TemplateString
instance GHC.Show.Show (Network.URI.Template.Types.TemplateValue a)
instance Network.URI.Template.Types.ToTemplateValue GHC.Types.Int
instance Network.URI.Template.Types.ToTemplateValue Network.URI.Template.Types.TemplateString
instance (Network.URI.Template.Types.ToTemplateValue a, Network.URI.Template.Types.TemplateRep a ~ Network.URI.Template.Types.Single) => Network.URI.Template.Types.ToTemplateValue [a]
instance (Network.URI.Template.Types.ToTemplateValue k, Network.URI.Template.Types.TemplateRep k ~ Network.URI.Template.Types.Single, Network.URI.Template.Types.ToTemplateValue v, Network.URI.Template.Types.TemplateRep v ~ Network.URI.Template.Types.Single) => Network.URI.Template.Types.ToTemplateValue (Network.URI.Template.Types.AList k v)
instance (Network.URI.Template.Types.ToTemplateValue a, Network.URI.Template.Types.TemplateRep a ~ Network.URI.Template.Types.Single) => Network.URI.Template.Types.ToTemplateValue (Data.Vector.Vector a)
instance Network.URI.Template.Types.ToTemplateValue Data.Text.Internal.Text
instance Network.URI.Template.Types.ToTemplateValue Data.Text.Internal.Lazy.Text
instance (Network.URI.Template.Types.ToTemplateValue k, Network.URI.Template.Types.TemplateRep k ~ Network.URI.Template.Types.Single, Network.URI.Template.Types.ToTemplateValue v, Network.URI.Template.Types.TemplateRep v ~ Network.URI.Template.Types.Single) => Network.URI.Template.Types.ToTemplateValue (Data.HashMap.Base.HashMap k v)
instance (Network.URI.Template.Types.ToTemplateValue k, Network.URI.Template.Types.TemplateRep k ~ Network.URI.Template.Types.Single, Network.URI.Template.Types.ToTemplateValue v, Network.URI.Template.Types.TemplateRep v ~ Network.URI.Template.Types.Single) => Network.URI.Template.Types.ToTemplateValue (Data.Map.Base.Map k v)

module Network.URI.Template.Parser
range :: Char -> Char -> Parser Char
ranges :: [(Char, Char)] -> Parser Char
ucschar :: Parser Char
iprivate :: Parser Char
pctEncoded :: Parser String
literalChar :: Parser Char
literal :: Parser TemplateSegment
variables :: Parser TemplateSegment
means :: Parser a -> b -> Parser b
charMeans :: Char -> b -> Parser b
modifier :: Parser Modifier
variable :: Parser Variable
embed :: Parser TemplateSegment
uriTemplate :: Parser UriTemplate
parseTemplate :: String -> Either Doc UriTemplate

module Network.URI.Template.Internal
type StringBuilder = Writer (DList Char)
addChar :: Char -> StringBuilder ()
addString :: String -> StringBuilder ()
data Allow
Unreserved :: Allow
UnreservedOrReserved :: Allow
allowEncoder :: Allow -> String -> String
data ProcessingOptions
ProcessingOptions :: Maybe Char -> Char -> Bool -> Maybe Char -> Allow -> ProcessingOptions
[modifierPrefix] :: ProcessingOptions -> Maybe Char
[modifierSeparator] :: ProcessingOptions -> Char
[modifierSupportsNamed] :: ProcessingOptions -> Bool
[modifierIfEmpty] :: ProcessingOptions -> Maybe Char
[modifierAllow] :: ProcessingOptions -> Allow
type BoundValue = (String, WrappedValue)
option :: Maybe Char -> Char -> Bool -> Maybe Char -> Allow -> ProcessingOptions
options :: Modifier -> ProcessingOptions
templateValueIsEmpty :: TemplateValue a -> Bool
namePrefix :: ProcessingOptions -> String -> TemplateValue a -> StringBuilder ()
processVariable :: Modifier -> Bool -> Variable -> WrappedValue -> StringBuilder ()
processVariables :: [(String, WrappedValue)] -> Modifier -> [Variable] -> StringBuilder ()
render :: UriTemplate -> [BoundValue] -> String
render' :: UriTemplate -> [BoundValue] -> String

module Network.URI.Template.TH
variableNames :: UriTemplate -> [String]
segmentToExpr :: TemplateSegment -> Q Exp
templateToExp :: UriTemplate -> Q Exp
quasiEval :: String -> Q Exp
uri :: QuasiQuoter

module Network.URI.Template
uri :: QuasiQuoter
render :: UriTemplate -> [BoundValue] -> String
parseTemplate :: String -> Either Doc UriTemplate
type UriTemplate = [TemplateSegment]
data TemplateSegment
Literal :: String -> TemplateSegment
Embed :: Modifier -> [Variable] -> TemplateSegment
data Modifier
Simple :: Modifier
Reserved :: Modifier
Fragment :: Modifier
Label :: Modifier
PathSegment :: Modifier
PathParameter :: Modifier
Query :: Modifier
QueryContinuation :: Modifier
Alias :: Modifier
data ValueModifier
Normal :: ValueModifier
Explode :: ValueModifier
MaxLength :: Int -> ValueModifier
data TemplateValue a
[Single] :: String -> TemplateValue Single
[Associative] :: [(TemplateValue Single, TemplateValue Single)] -> TemplateValue Associative
[List] :: [TemplateValue Single] -> TemplateValue List
class ToTemplateValue a where type TemplateRep a where {
    type family TemplateRep a;
}
toTemplateValue :: ToTemplateValue a => a -> TemplateValue (TemplateRep a)
newtype AList k v
AList :: [(k, v)] -> AList k v
[fromAList] :: AList k v -> [(k, v)]
newtype TemplateString
String :: String -> TemplateString
[fromString] :: TemplateString -> String
