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 resolved ctx. ApiRecord api apiRow => RowToList apiRow apiRL => APIHandlers apiRL handlers => ResolveHandlers handlers resolved => RegisterAPI resolved => Record handlers -> OmLayer (fastify :: Fastify | ctx) () (Record ())#RegisterAPI Source
class RegisterAPI :: Row Type -> Constraintclass RegisterAPI (handlers :: Row Type) where
Members
registerAPI :: Record handlers -> Fastify -> Effect Unit
Instances
(RowToList handlers rl, RegisterAPIRL rl handlers) => RegisterAPI handlers
#RegisterAPIRL Source
class RegisterAPIRL :: RowList Type -> Row Type -> Constraintclass RegisterAPIRL (rl :: RowList Type) (handlers :: Row Type) where
Members
Instances
RegisterAPIRL Nil handlers(IsSymbol label, Cons label (Handler route ctx) rest handlers, RegisterHandler (Handler route), RegisterAPIRL tail handlers) => RegisterAPIRL (Cons label (Handler route ctx) tail) handlers(IsSymbol label, Cons label handler rest handlers, RegisterHandler handler, RegisterAPIRL tail handlers) => RegisterAPIRL (Cons label handler tail) handlers
#RegisterHandler Source
class RegisterHandler handler whereMembers
registerHandler :: handler -> Fastify -> Effect Unit
Instances
(Union partialRequest o_ (body :: fullEncoding, cookies :: Record fullCookies, headers :: Record fullHeaders), DefaultRequestFields partialRequest fullHeaders fullCookies fullEncoding, RenderMethod method, PathPattern segments, SegmentPathParams segments pathParams, SegmentQueryParams segments queryParams, EncodingBody fullEncoding body, ParsePathParams pathParams, ParseQueryParamsFromObject queryParams, ParseHeaders fullHeaders, ParseBody fullEncoding body, ConvertResponseVariant userResp respVariant, HandleResponse respVariant, RouteHandler (Route method segments (Request (Record partialRequest)) userResp) pathParams queryParams fullHeaders body respVariant) => RegisterHandler (Handler (Route method segments (Request (Record partialRequest)) userResp))(RegisterHandler (Handler (Route method segments (Request (Record partialRequest)) userResp))) => RegisterHandler (Handler (Route method segments (Record partialRequest) userResp))
#ResolveHandlers Source
class ResolveHandlers :: Row Type -> Row Type -> Constraintclass ResolveHandlers (handlers :: Row Type) (resolved :: Row Type) | handlers -> resolved where
Members
resolveHandlers :: forall ctx. Record ctx -> Record handlers -> Record resolved
Instances
(RowToList handlers rl, ResolveHandlersRL rl handlers resolved) => ResolveHandlers handlers resolved
#ResolveHandlersRL Source
class ResolveHandlersRL :: RowList Type -> Row Type -> Row Type -> Constraintclass ResolveHandlersRL (rl :: RowList Type) (handlers :: Row Type) (resolved :: Row Type) | rl -> resolved where
Members
resolveHandlersRL :: forall ctx. Proxy rl -> Record ctx -> Record handlers -> Builder (Record ()) (Record resolved)
Instances
ResolveHandlersRL Nil handlers ()(IsSymbol label, Cons label (Handler route handlerCtx) rest handlers, ResolveHandlersRL tail handlers tailResolved, Cons label (Handler route) tailResolved resolved, Lacks label tailResolved) => ResolveHandlersRL (Cons label (Handler route handlerCtx) tail) handlers resolved
#APIHandlers Source
class APIHandlers :: RowList Type -> Row Type -> Constraintclass APIHandlers (rl :: RowList Type) (handlers :: Row Type) | rl -> handlers
Instances
APIHandlers Nil ()(APIHandlers tail tailHandlers, Cons label (Handler route handlerCtx) tailHandlers handlers, Lacks label tailHandlers) => APIHandlers (Cons label route tail) handlers