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.

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 v, Eq k) => Eq (AList k v) # 

Methods

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

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

(Read v, Read k) => Read (AList k v) # 
(Show v, Show k) => Show (AList k v) # 

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) # 

Associated Types

type TemplateRep (AList k v) :: * #

type TemplateRep (AList k v) # 

class ToTemplateValue a where #

Minimal complete definition

toTemplateValue

Associated Types

type TemplateRep a :: * #

Instances

ToTemplateValue Bool # 

Associated Types

type TemplateRep Bool :: * #

ToTemplateValue Double # 

Associated Types

type TemplateRep Double :: * #

ToTemplateValue Float # 

Associated Types

type TemplateRep Float :: * #

ToTemplateValue Int # 

Associated Types

type TemplateRep Int :: * #

ToTemplateValue Int8 # 

Associated Types

type TemplateRep Int8 :: * #

ToTemplateValue Int16 # 

Associated Types

type TemplateRep Int16 :: * #

ToTemplateValue Int32 # 

Associated Types

type TemplateRep Int32 :: * #

ToTemplateValue Int64 # 

Associated Types

type TemplateRep Int64 :: * #

ToTemplateValue Integer # 
ToTemplateValue Natural # 
ToTemplateValue Ordering # 
ToTemplateValue Word # 

Associated Types

type TemplateRep Word :: * #

ToTemplateValue Word8 # 

Associated Types

type TemplateRep Word8 :: * #

ToTemplateValue Word16 # 

Associated Types

type TemplateRep Word16 :: * #

ToTemplateValue Word32 # 

Associated Types

type TemplateRep Word32 :: * #

ToTemplateValue Word64 # 

Associated Types

type TemplateRep Word64 :: * #

ToTemplateValue () # 

Associated Types

type TemplateRep () :: * #

ToTemplateValue Text # 

Associated Types

type TemplateRep Text :: * #

ToTemplateValue Text # 

Associated Types

type TemplateRep Text :: * #

ToTemplateValue Version # 
ToTemplateValue All # 

Associated Types

type TemplateRep All :: * #

ToTemplateValue Any # 

Associated Types

type TemplateRep Any :: * #

ToTemplateValue ZonedTime # 
ToTemplateValue LocalTime # 
ToTemplateValue TimeOfDay # 
ToTemplateValue UTCTime # 
ToTemplateValue NominalDiffTime # 
ToTemplateValue Day # 

Associated Types

type TemplateRep Day :: * #

ToTemplateValue UUID # 

Associated Types

type TemplateRep UUID :: * #

ToTemplateValue TemplateString # 
(ToTemplateValue a, (~) * (TemplateRep a) Single) => ToTemplateValue [a] # 

Associated Types

type TemplateRep [a] :: * #

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

Associated Types

type TemplateRep (Maybe a) :: * #

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

Associated Types

type TemplateRep (NonEmpty a) :: * #

ToTemplateValue a => ToTemplateValue (Identity a) # 

Associated Types

type TemplateRep (Identity a) :: * #

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

Associated Types

type TemplateRep (Dual a) :: * #

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

Associated Types

type TemplateRep (Sum a) :: * #

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

Associated Types

type TemplateRep (Product a) :: * #

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

Associated Types

type TemplateRep (First a) :: * #

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

Associated Types

type TemplateRep (Last a) :: * #

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

Associated Types

type TemplateRep (Vector a) :: * #

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

Associated Types

type TemplateRep (Either a b) :: * #

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

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) # 

Associated Types

type TemplateRep (Map k v) :: * #

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

Associated Types

type TemplateRep (HashMap k v) :: * #

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

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) # 

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) # 

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) # 

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) # 

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) # 

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 &