uri-templater-0.3.1.0: Parsing & Quasiquoting for RFC 6570 URI Templates

Safe HaskellNone
LanguageHaskell98

Network.URI.Template.Types

Synopsis

Documentation

data Single #

data List #

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.

Instances
Show (TemplateValue a) # 
Instance details

Defined in Network.URI.Template.Types

data WrappedValue where #

newtype AList k v #

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.

Constructors

AList 

Fields

Instances
(Eq k, Eq v) => Eq (AList k v) # 
Instance details

Defined in Network.URI.Template.Types

Methods

(==) :: AList k v -> AList k v -> Bool #

(/=) :: AList k v -> AList k v -> Bool #

(Read k, Read v) => Read (AList k v) # 
Instance details

Defined in Network.URI.Template.Types

(Show k, Show v) => Show (AList k v) # 
Instance details

Defined in Network.URI.Template.Types

Methods

showsPrec :: Int -> AList k v -> ShowS #

show :: AList k v -> String #

showList :: [AList k v] -> ShowS #

(ToTemplateValue k, TemplateRep k ~ Single, ToTemplateValue v, TemplateRep v ~ Single) => ToTemplateValue (AList k v) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (AList k v) :: * #

type TemplateRep (AList k v) # 
Instance details

Defined in Network.URI.Template.Types

class ToTemplateValue a where #

Minimal complete definition

toTemplateValue

Associated Types

type TemplateRep a :: * #

Instances
ToTemplateValue Bool # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Bool :: * #

ToTemplateValue Double # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Double :: * #

ToTemplateValue Float # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Float :: * #

ToTemplateValue Int # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Int :: * #

ToTemplateValue Int8 # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Int8 :: * #

ToTemplateValue Int16 # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Int16 :: * #

ToTemplateValue Int32 # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Int32 :: * #

ToTemplateValue Int64 # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Int64 :: * #

ToTemplateValue Integer # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Integer :: * #

ToTemplateValue Natural # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Natural :: * #

ToTemplateValue Ordering # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Ordering :: * #

ToTemplateValue Word # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Word :: * #

ToTemplateValue Word8 # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Word8 :: * #

ToTemplateValue Word16 # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Word16 :: * #

ToTemplateValue Word32 # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Word32 :: * #

ToTemplateValue Word64 # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Word64 :: * #

ToTemplateValue () # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep () :: * #

ToTemplateValue Text # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Text :: * #

ToTemplateValue Text # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Text :: * #

ToTemplateValue Version # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Version :: * #

ToTemplateValue All # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep All :: * #

ToTemplateValue Any # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Any :: * #

ToTemplateValue ZonedTime # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep ZonedTime :: * #

ToTemplateValue LocalTime # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep LocalTime :: * #

ToTemplateValue TimeOfDay # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep TimeOfDay :: * #

ToTemplateValue UTCTime # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep UTCTime :: * #

ToTemplateValue NominalDiffTime # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep NominalDiffTime :: * #

ToTemplateValue Day # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep Day :: * #

ToTemplateValue UUID # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep UUID :: * #

ToTemplateValue TemplateString # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep TemplateString :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue [a] # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep [a] :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue (Maybe a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Maybe a) :: * #

ToTemplateValue a => ToTemplateValue (Identity a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Identity a) :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue (First a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (First a) :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue (Last a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Last a) :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue (Dual a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Dual a) :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue (Sum a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Sum a) :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue (Product a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Product a) :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue (NonEmpty a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (NonEmpty a) :: * #

(ToTemplateValue a, TemplateRep a ~ Single) => ToTemplateValue (Vector a) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Vector a) :: * #

(ToTemplateValue a, ToTemplateValue b, TemplateRep a ~ Single, TemplateRep b ~ Single) => ToTemplateValue (Either a b) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Either a b) :: * #

(ToTemplateValue a, TemplateRep a ~ Single, ToTemplateValue b, TemplateRep b ~ Single) => ToTemplateValue (a, b) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (a, b) :: * #

Methods

toTemplateValue :: (a, b) -> TemplateValue (TemplateRep (a, b)) #

(ToTemplateValue k, TemplateRep k ~ Single, ToTemplateValue v, TemplateRep v ~ Single) => ToTemplateValue (Map k v) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (Map k v) :: * #

(ToTemplateValue k, TemplateRep k ~ Single, ToTemplateValue v, TemplateRep v ~ Single) => ToTemplateValue (HashMap k v) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (HashMap k v) :: * #

(ToTemplateValue k, TemplateRep k ~ Single, ToTemplateValue v, TemplateRep v ~ Single) => ToTemplateValue (AList k v) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (AList k v) :: * #

(ToTemplateValue a, TemplateRep a ~ Single, ToTemplateValue b, TemplateRep b ~ Single, ToTemplateValue c, TemplateRep c ~ Single) => ToTemplateValue (a, b, c) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (a, b, c) :: * #

Methods

toTemplateValue :: (a, b, c) -> TemplateValue (TemplateRep (a, b, c)) #

(ToTemplateValue a, TemplateRep a ~ Single, ToTemplateValue b, TemplateRep b ~ Single, ToTemplateValue c, TemplateRep c ~ Single, ToTemplateValue d, TemplateRep d ~ Single) => ToTemplateValue (a, b, c, d) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (a, b, c, d) :: * #

Methods

toTemplateValue :: (a, b, c, d) -> TemplateValue (TemplateRep (a, b, c, d)) #

(ToTemplateValue a, TemplateRep a ~ Single, ToTemplateValue b, TemplateRep b ~ Single, ToTemplateValue c, TemplateRep c ~ Single, ToTemplateValue d, TemplateRep d ~ Single, ToTemplateValue e, TemplateRep e ~ Single) => ToTemplateValue (a, b, c, d, e) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (a, b, c, d, e) :: * #

Methods

toTemplateValue :: (a, b, c, d, e) -> TemplateValue (TemplateRep (a, b, c, d, e)) #

(ToTemplateValue a, TemplateRep a ~ Single, ToTemplateValue b, TemplateRep b ~ Single, ToTemplateValue c, TemplateRep c ~ Single, ToTemplateValue d, TemplateRep d ~ Single, ToTemplateValue e, TemplateRep e ~ Single, ToTemplateValue f, TemplateRep f ~ Single) => ToTemplateValue (a, b, c, d, e, f) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (a, b, c, d, e, f) :: * #

Methods

toTemplateValue :: (a, b, c, d, e, f) -> TemplateValue (TemplateRep (a, b, c, d, e, f)) #

(ToTemplateValue a, TemplateRep a ~ Single, ToTemplateValue b, TemplateRep b ~ Single, ToTemplateValue c, TemplateRep c ~ Single, ToTemplateValue d, TemplateRep d ~ Single, ToTemplateValue e, TemplateRep e ~ Single, ToTemplateValue f, TemplateRep f ~ Single, ToTemplateValue g, TemplateRep g ~ Single) => ToTemplateValue (a, b, c, d, e, f, g) # 
Instance details

Defined in Network.URI.Template.Types

Associated Types

type TemplateRep (a, b, c, d, e, f, g) :: * #

Methods

toTemplateValue :: (a, b, c, d, e, f, g) -> TemplateValue (TemplateRep (a, b, c, d, e, f, g)) #

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)

type UriTemplate = [TemplateSegment] #

A URI template is fundamentally a bunch of segments that are either constants or else an interpolation

data Modifier #

How an interpolated value should be rendered

Constructors

Simple

No prefix

Reserved

Prefixed by +

Fragment

Prefixed by #

Label

Prefixed by .

PathSegment

Prefixed by /

PathParameter

Prefixed by ;

Query

Prefixed by ?

QueryContinuation

Prefixed by &