tsioc
Version:
tsioc is AOP, Ioc container, via typescript decorator
36 lines (35 loc) • 1.01 kB
TypeScript
import { IContainer } from '../IContainer';
import { MapSet } from '../utils/index';
import { Type, ObjectMap } from '../types';
import { Advices } from './advices/index';
import { AdviceMetadata } from './metadatas/index';
import { IAdvisor } from './IAdvisor';
/**
* for global aop advisor.
*
* @export
* @class Advisor
*/
export declare class Advisor implements IAdvisor {
private container;
/**
* aspects.
*
* @type {MapSet<Type<any>, ObjectMap<AdviceMetadata[]>>}
* @memberof AspectManager
*/
aspects: MapSet<Type<any>, ObjectMap<AdviceMetadata[]>>;
/**
* method advices.
*
* @type {MapSet<string, Advices>}
* @memberof AspectManager
*/
advices: MapSet<string, Advices>;
constructor(container: IContainer);
setAdvices(key: string, advices: Advices): void;
getAdvices(key: string): Advices;
hasRegisterAdvices(targetType: Type<any>): boolean;
add(aspect: Type<any>): void;
static classAnnations: any;
}