UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

27 lines (26 loc) 951 B
import 'reflect-metadata'; import { MethodMetadata } from '../metadatas/index'; import { Providers } from '../../types'; import { MetadataAdapter, MetadataExtends } from './DecoratorFactory'; /** * Method decorator. * * @export * @interface IMethodDecorator */ export interface IMethodDecorator<T extends MethodMetadata> { (providers?: Providers[]): MethodDecorator; (metadata?: T): MethodDecorator; (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<any>): void; } /** * create method decorator. * * @export * @template T metadata type. * @param {string} name decorator name. * @param {MetadataAdapter} [adapter] metadata adapter * @param {MetadataExtends<T>} [metadataExtends] add extents for metadata. * @returns */ export declare function createMethodDecorator<T extends MethodMetadata>(name: string, adapter?: MetadataAdapter, metadataExtends?: MetadataExtends<T>): IMethodDecorator<T>;