servant-aeson-generics-typescript-0.0.0.2: Generates a TypeScript client for Servant APIs
Safe HaskellSafe-Inferred
LanguageGHC2021

Servant.Client.TypeScript

Synopsis

Generator functions

gen :: forall (api :: Type). GenAll api => String Source #

Obtain the String for the client a la carte without type definitions

tsClient :: forall xs api. (TypeDecls xs, GenAll api) => String Source #

Generate complete TypeScript client for a given api

Type Classes

class Fletch route where Source #

Type class that iterates over the servant type and seperates out inputs and outputs

Instances

Instances details
(TypeError ('Text "\128160 EmptyAPI's cannot be Fletched as they do not make a request") :: Constraint) => Fletch EmptyAPI Source # 
Instance details

Defined in Servant.Client.TypeScript

(FieldTypeName i, FieldTypeName o) => Fletch (WebSocketConduit i o) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, KnownSymbol s) => Fletch (s :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, KnownSymbol doc, FieldTypeName arg) => Fletch (Capture' _ys doc arg :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, KnownSymbol doc, FieldTypeName arg) => Fletch (CaptureAll doc arg :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(KnownSymbol s, Fletch xs) => Fletch (Description s :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(KnownSymbol s, Fletch xs) => Fletch (Summary s :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, KnownSymbol s) => Fletch (AuthProtect s :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, FieldTypeName x) => Fletch (Fragment x :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, KnownSymbol doc, FieldTypeName arg) => Fletch (Header' _ys doc arg :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, KnownSymbol doc) => Fletch (QueryFlag doc :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, KnownSymbol doc, FieldTypeName arg) => Fletch (QueryParam' _ys doc arg :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, KnownSymbol doc, FieldTypeName arg) => Fletch (QueryParams doc arg :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(Fletch xs, FieldTypeName x) => Fletch (ReqBody' _ys '[JSON] x :> xs) Source # 
Instance details

Defined in Servant.Client.TypeScript

(FieldTypeName x, ReflectMethod method) => Fletch (Verb method 200 (JSON ': _ms) x) Source # 
Instance details

Defined in Servant.Client.TypeScript

class GenAll a where Source #

The type class for iterating over the API type

Methods

genAll :: String Source #

Instances

Instances details
(TypeError ('Text "\128160 EmptyAPI's cannot be GenAll as they do not make a request") :: Constraint) => GenAll EmptyAPI Source # 
Instance details

Defined in Servant.Client.TypeScript

Methods

genAll :: String Source #

Fletch route => GenAll route Source #

Handle right association of routes (IE parens on the left)

Instance details

Defined in Servant.Client.TypeScript

Methods

genAll :: String Source #

(GenAll (route :<|> subrest), GenAll rest) => GenAll ((route :<|> subrest) :<|> rest) Source #

Handle left association of routes (IE parens on the left)

Instance details

Defined in Servant.Client.TypeScript

Methods

genAll :: String Source #

(Fletch route, GenAll rest) => GenAll (route :<|> rest) Source #

Handle right association of routes (IE parens on the left)

Instance details

Defined in Servant.Client.TypeScript

Methods

genAll :: String Source #

AST data types

data DocType Source #

What kind of API documentation are we using for this route?

Constructors

Summary' 
Description' 

Instances

Instances details
Show DocType Source # 
Instance details

Defined in Servant.Client.TypeScript

data InputMethod Source #

What is the means of input for this URIBit?

Instances

Instances details
Show InputMethod Source # 
Instance details

Defined in Servant.Client.TypeScript

Eq InputMethod Source # 
Instance details

Defined in Servant.Client.TypeScript

data URIBit Source #

An input chunk of the URI

Instances

Instances details
Show URIBit Source # 
Instance details

Defined in Servant.Client.TypeScript

Orphan instances

FieldTypeName Jwt Source # 
Instance details

FieldTypeName NoContent Source # 
Instance details

(FieldTypeName x, FieldTypeName hs) => FieldTypeName (Headers hs x :: Type) Source # 
Instance details

Methods

fieldTypeName :: Proxy (Headers hs x) -> FieldSpec #

FieldTypeName ('[] :: [k]) Source # 
Instance details

Methods

fieldTypeName :: Proxy '[] -> FieldSpec #

(FieldTypeName hs, FieldTypeName x) => FieldTypeName (Header' ts doc x ': hs :: [Type]) Source # 
Instance details

Methods

fieldTypeName :: Proxy (Header' ts doc x ': hs) -> FieldSpec #

(ToJSON x, FromHList xs) => ToJSON (Headers xs x) Source # 
Instance details

Methods

toJSON :: Headers xs x -> Value #

toEncoding :: Headers xs x -> Encoding #

toJSONList :: [Headers xs x] -> Value #

toEncodingList :: [Headers xs x] -> Encoding #