@thisisagile/easy-express
Version:
Straightforward library for building domain-driven microservice architectures
19 lines (18 loc) • 1.17 kB
TypeScript
import { Express, RequestHandler, Response } from 'express';
import { AppProvider, Endpoint, Handler, Resource, RouteRequires, Service, VerbOptions } from '@thisisagile/easy-service';
export type ExpressVerb = 'get' | 'post' | 'put' | 'patch' | 'delete';
export declare class ExpressProvider implements AppProvider {
protected app: Express;
constructor(app?: Express);
use: (handler: Handler) => void;
route: (service: Service, resource: Resource) => void;
listen: (port: number, message?: string) => void;
protected addSecurityMiddleware(requires: RouteRequires): RequestHandler[];
protected handle: (endpoint: Endpoint, options?: VerbOptions, requires?: RouteRequires) => RequestHandler;
protected toResponse(res: Response, result: unknown, options: Required<VerbOptions>): void;
protected json(res: Response, result: unknown, options: Required<VerbOptions>): void;
protected rawJson(res: Response, result: unknown, options: Required<VerbOptions>): void;
protected stream(res: Response, result: unknown): void;
protected text(res: Response, data: unknown): void;
}
export declare const service: (name: string) => Service;