UNPKG

@nodeswork/kiws

Version:

Koa-based Injectable Web Service

27 lines (26 loc) 874 B
/// <reference types="koa-router" /> import 'reflect-metadata'; import * as Router from 'koa-router'; import { Constructor } from './injection'; export declare const INPUT = "INPUT"; export declare const INPUT_METADATA_KEY: symbol; /** * InputProvider class decorator will register the middlewares declared in * the provider to provide inputs when serving traffic. */ export declare function InputProvider(options?: { tags?: string[]; meta?: object; }): (constructor: Constructor) => void; export declare function InputGenerator(options?: {}): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; export interface InputGeneratorMetadata { provider: string; name: string; } export interface RawInput { type: string; data: any; } export interface InputProvider { $generateInputs(ctx: Router.IRouterContext): RawInput[]; }