UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

27 lines (26 loc) 953 B
import 'reflect-metadata'; import { ParameterMetadata } from '../metadatas/index'; import { MetadataAdapter, MetadataExtends } from './DecoratorFactory'; import { Token } from '../../types'; /** * Parameter decorator. * * @export * @interface IParameterDecorator */ export interface IParameterDecorator<T extends ParameterMetadata> { (provider: Token<T>): ParameterDecorator; (metadata?: T): ParameterDecorator; (target: object, propertyKey: string | symbol, parameterIndex: number): void; } /** * create parameter 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 createParamDecorator<T extends ParameterMetadata>(name: string, adapter?: MetadataAdapter, metadataExtends?: MetadataExtends<T>): IParameterDecorator<T>;