UNPKG

@thisisagile/easy-express

Version:

Straightforward library for building domain-driven microservice architectures

19 lines (18 loc) 1.17 kB
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;