calamity-0.3.0.0: A library for writing discord bots in haskell
Safe HaskellNone
LanguageHaskell2010

Calamity.HTTP.Internal.Route

Description

The route type Why I did this I don't know

Synopsis

Documentation

giveID :: forall t reqs. Typeable t => Snowflake t -> RouteBuilder reqs -> RouteBuilder ('('IDRequirement t, 'Satisfied) ': reqs) Source #

giveParam :: forall (s :: Symbol) reqs. KnownSymbol s => Text -> RouteBuilder reqs -> RouteBuilder ('('PSRequirement s, 'Satisfied) ': reqs) Source #

buildRoute :: forall (reqs :: [(RequirementType, RouteRequirement)]). EnsureFulfilled reqs => RouteBuilder reqs -> Route Source #

data RouteBuilder (reqstate :: [(RequirementType, RouteRequirement)]) Source #

data RouteRequirement Source #

Instances

Instances details
Eq RouteRequirement Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Show RouteRequirement Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Generic RouteRequirement Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Associated Types

type Rep RouteRequirement :: Type -> Type #

type Rep RouteRequirement Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

type Rep RouteRequirement = D1 ('MetaData "RouteRequirement" "Calamity.HTTP.Internal.Route" "calamity-0.3.0.0-inplace" 'False) (C1 ('MetaCons "NotNeeded" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Required" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Satisfied" 'PrefixI 'False) (U1 :: Type -> Type)))

data Route Source #

Instances

Instances details
Show Route Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Methods

showsPrec :: Int -> Route -> ShowS #

show :: Route -> String #

showList :: [Route] -> ShowS #

Generic Route Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Associated Types

type Rep Route :: Type -> Type #

Methods

from :: Route -> Rep Route x #

to :: Rep Route x -> Route #

type Rep Route Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

newtype S Source #

A static string fragment of a route

Constructors

S Text 

Instances

Instances details
RouteFragmentable S reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Associated Types

type ConsRes S reqs Source #

Methods

(//) :: RouteBuilder reqs -> S -> ConsRes S reqs Source #

type ConsRes S reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

type ConsRes S reqs = RouteBuilder reqs

data PS (s :: Symbol) Source #

A parameterised string fragment of a route

Constructors

PS 

Instances

Instances details
KnownSymbol s => RouteFragmentable (PS s) reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Associated Types

type ConsRes (PS s) reqs Source #

Methods

(//) :: RouteBuilder reqs -> PS s -> ConsRes (PS s) reqs Source #

type ConsRes (PS s) reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

type ConsRes (PS s) reqs

data ID a Source #

An id fragment of a route

Constructors

ID 

Instances

Instances details
Typeable a => RouteFragmentable (ID a) reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Associated Types

type ConsRes (ID a) reqs Source #

Methods

(//) :: RouteBuilder reqs -> ID a -> ConsRes (ID a) reqs Source #

type ConsRes (ID a) reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

type ConsRes (ID a) reqs

class Typeable a => RouteFragmentable a reqs where Source #

Associated Types

type ConsRes a reqs Source #

Methods

(//) :: RouteBuilder reqs -> a -> ConsRes a reqs infixl 5 Source #

Instances

Instances details
RouteFragmentable S reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Associated Types

type ConsRes S reqs Source #

Methods

(//) :: RouteBuilder reqs -> S -> ConsRes S reqs Source #

KnownSymbol s => RouteFragmentable (PS s) reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Associated Types

type ConsRes (PS s) reqs Source #

Methods

(//) :: RouteBuilder reqs -> PS s -> ConsRes (PS s) reqs Source #

Typeable a => RouteFragmentable (ID a) reqs Source # 
Instance details

Defined in Calamity.HTTP.Internal.Route

Associated Types

type ConsRes (ID a) reqs Source #

Methods

(//) :: RouteBuilder reqs -> ID a -> ConsRes (ID a) reqs Source #