@nodeswork/kiws
Version:
Koa-based Injectable Web Service
26 lines (25 loc) • 826 B
TypeScript
import 'reflect-metadata';
import { Constructor } from './injection';
export declare const HANDLER = "HANDLER";
export declare const ENDPOINT_METADATA_KEY: symbol;
/**
* Handler class decorator will register the endpoints declared in the provider
* to KoaRouter.
*/
export declare function Handler(options?: {
tags?: string[];
meta?: object;
}): (constructor: Constructor) => void;
export interface EndpointOptions {
method?: string | string[];
path: string;
meta?: object;
}
export interface EndpointMetadata extends EndpointOptions {
name: string;
handler: string;
}
export declare function Endpoint(options: EndpointOptions): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
export interface Handler extends Constructor {
$getEndpoints(): EndpointMetadata[];
}