@universal-middleware/srvx
Version:
srvx adapter for universal middlewares
20 lines (16 loc) • 1.44 kB
TypeScript
import { Get, UniversalHandler, UniversalFn, UniversalMiddleware, RuntimeAdapter, EnhancedMiddleware } from '@universal-middleware/core';
import { ServerHandler, ServerMiddleware, ServerRequest } from 'srvx';
type SrvxHandler<In extends Universal.Context> = UniversalFn<UniversalHandler<In>, ServerHandler>;
type SrvxMiddleware<In extends Universal.Context, Out extends Universal.Context> = UniversalFn<UniversalMiddleware<In, Out>, ServerMiddleware>;
/**
* Creates a request handler to be passed to app.all() or any other route function
*/
declare function createHandler<T extends unknown[], InContext extends Universal.Context>(handlerFactory: Get<T, UniversalHandler<InContext>>): Get<T, SrvxHandler<InContext>>;
/**
* Creates a middleware to be passed to app.use() or any route function
*/
declare function createMiddleware<T extends unknown[], InContext extends Universal.Context, OutContext extends Universal.Context>(middlewareFactory: Get<T, UniversalMiddleware<InContext, OutContext>>): Get<T, SrvxMiddleware<InContext, OutContext>>;
declare function getContext<Context extends Universal.Context = Universal.Context>(request: ServerRequest): Context;
declare function getRuntime(request: ServerRequest): RuntimeAdapter;
declare function apply(middlewares: EnhancedMiddleware[]): SrvxHandler<Universal.Context>;
export { type SrvxHandler, type SrvxMiddleware, apply, createHandler, createMiddleware, getContext, getRuntime };