tsioc
Version:
tsioc is AOP, Ioc container, via typescript decorator
27 lines (26 loc) • 951 B
TypeScript
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>;