UNPKG

@nodeswork/kiws

Version:

Koa-based Injectable Web Service

36 lines (35 loc) 1.17 kB
/// <reference types="koa-router" /> /// <reference types="koa" /> import 'reflect-metadata'; import * as Koa from 'koa'; import * as Router from 'koa-router'; import { Constructor } from './injection'; export declare const MIDDLEWARE = "MIDDLEWARE"; export declare const MIDDLEWARE_TARGET_APP = "app"; export declare const MIDDLEWARE_TARGET_ROUTER = "router"; /** * MiddlewareProvider class decorator will register the middlewares declared in * the provider to Koa and KoaRouter. */ export declare function MiddlewareProvider(options?: { tags?: string[]; meta?: object; }): (constructor: Constructor) => void; export declare function AppMiddleware(options?: { later?: boolean; }): (target: any, propertyName: string) => void; export declare function RouterMiddleware(options?: { later?: boolean; }): (target: any, propertyName: string) => void; export interface MiddlewareMetadata { target: string; provider: string; name: string; later: boolean; } export interface Middleware extends MiddlewareMetadata { fn: Router.IMiddleware | Koa.Middleware; } export interface MiddlewareProvider { $getMiddlewares(): Middleware[]; }