UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

28 lines (27 loc) 1.1 kB
import 'reflect-metadata'; import { ParamPropMetadata } from '../metadatas/index'; import { MetadataAdapter, MetadataExtends } from './DecoratorFactory'; import { Token } from '../../types'; export declare type PropParamDecorator = (target: Object, propertyKey: string | symbol, parameterIndex?: number) => void; /** * Parameter and Property decorator. * * @export * @interface IParamPropDecorator */ export interface IParamPropDecorator<T extends ParamPropMetadata> { (provider: Token<any>): PropParamDecorator; (metadata?: T): PropParamDecorator; (target: object, propertyKey: string | symbol, parameterIndex?: number): void; } /** * create parameter or property decorator * * @export * @template T * @param {string} name * @param {MetadataAdapter} [adapter] metadata adapter * @param {MetadataExtends<T>} [metadataExtends] add extents for metadata. * @returns {IParamPropDecorator<T>} */ export declare function createParamPropDecorator<T extends ParamPropMetadata>(name: string, adapter?: MetadataAdapter, metadataExtends?: MetadataExtends<T>): IParamPropDecorator<T>;