Module

Yoga.Fastify.Om.API

Package
purescript-yoga-fastify-om
Repository
rowtype-yoga/purescript-yoga-fastify-om

#registerAPILayer Source

registerAPILayer :: forall @api apiRow apiRL handlers handlerRL resolved ctx. ApiRecord api apiRow => RowToList apiRow apiRL => RowToList handlers handlerRL => ValidateAPIHandlers apiRL handlerRL handlers => NoExtraHandlers handlerRL apiRL apiRow => ResolveHandlers (fastify :: Fastify | ctx) handlers resolved => RegisterAPI resolved => Record handlers -> OmLayer (fastify :: Fastify | ctx) () (Record ())

#RegisterAPI Source

class RegisterAPI :: Row Type -> Constraintclass RegisterAPI (handlers :: Row Type)  where

Members

Instances

#RegisterAPIRL Source

class RegisterAPIRL :: RowList Type -> Row Type -> Constraintclass RegisterAPIRL (rl :: RowList Type) (handlers :: Row Type)  where

Members

Instances

#RegisterHandler Source

class RegisterHandler handler  where

Members

Instances

#ResolveHandlers Source

class ResolveHandlers :: Row Type -> Row Type -> Row Type -> Constraintclass ResolveHandlers (ctx :: Row Type) (handlers :: Row Type) (resolved :: Row Type) | ctx handlers -> resolved where

Members

Instances

#ResolveHandlersRL Source

class ResolveHandlersRL :: RowList Type -> Row Type -> Row Type -> Row Type -> Constraintclass ResolveHandlersRL (rl :: RowList Type) (ctx :: Row Type) (handlers :: Row Type) (resolved :: Row Type) | rl handlers -> resolved where

Members

Instances

#ResolveHandlerCtx Source

class ResolveHandlerCtx :: Symbol -> Row Type -> Row Type -> Constraintclass ResolveHandlerCtx (apiLabel :: Symbol) (handlerCtx :: Row Type) (ctx :: Row Type) 

Instances

#ResolveHandlerCtxRL Source

class ResolveHandlerCtxRL :: Symbol -> Row Type -> RowList Type -> Row Type -> RowList Type -> Constraintclass ResolveHandlerCtxRL (apiLabel :: Symbol) (handlerCtx :: Row Type) (required :: RowList Type) (ctx :: Row Type) (available :: RowList Type) 

Instances

#CheckHandlerDependency Source

class CheckHandlerDependency :: Symbol -> Symbol -> Type -> RowList Type -> Row Type -> Row Type -> Constraintclass CheckHandlerDependency (apiLabel :: Symbol) (label :: Symbol) (ty :: Type) (available :: RowList Type) (handlerCtx :: Row Type) (ctx :: Row Type) 

Instances

#ValidateAPIHandlers Source

class ValidateAPIHandlers :: RowList Type -> RowList Type -> Row Type -> Constraintclass ValidateAPIHandlers (apiRL :: RowList Type) (handlerRL :: RowList Type) (handlers :: Row Type) 

Instances

#CheckAPIHandler Source

class CheckAPIHandler :: Symbol -> Type -> RowList Type -> Constraintclass CheckAPIHandler (label :: Symbol) (route :: Type) (handlerRL :: RowList Type) 

Instances

#NoExtraHandlers Source

class NoExtraHandlers :: RowList Type -> RowList Type -> Row Type -> Constraintclass NoExtraHandlers (handlerRL :: RowList Type) (apiRL :: RowList Type) (apiRow :: Row Type) 

Instances

#CheckAPIFieldExists Source

class CheckAPIFieldExists :: Symbol -> RowList Type -> Row Type -> Constraintclass CheckAPIFieldExists (label :: Symbol) (apiRL :: RowList Type) (apiRow :: Row Type) 

Instances

#APIHandlers Source

class APIHandlers :: RowList Type -> Row Type -> Constraintclass APIHandlers (rl :: RowList Type) (handlers :: Row Type) | rl -> handlers

Instances