tsioc
Version:
tsioc is AOP, Ioc container, via typescript decorator
57 lines (55 loc) • 3.04 kB
JavaScript
;
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./actions/index"));
__export(require("./decorators/index"));
__export(require("./joinpoints/index"));
__export(require("./access/index"));
__export(require("./Advisor"));
__export(require("./AdviceMatcher"));
__export(require("./isValideAspectTarget"));
var index_1 = require("./decorators/index");
var Advisor_1 = require("./Advisor");
var index_2 = require("../utils/index");
var index_3 = require("./actions/index");
var AdviceMatcher_1 = require("./AdviceMatcher");
var index_4 = require("../core/index");
var AopActionFactory_1 = require("./actions/AopActionFactory");
var types_1 = require("../types");
var index_5 = require("./joinpoints/index");
var index_6 = require("./access/index");
/**
* register aop for container.
*
* @export
* @param {IContainer} container
*/
function registerAops(container) {
container.register(index_5.Joinpoint);
container.register(index_6.AdvisorChainFactory);
container.register(index_6.ReturningRecognizer);
container.register(index_6.SyncProceeding);
container.register(index_6.AsyncPromiseProceeding);
container.register(index_6.AsyncObservableProceeding);
container.register(index_6.AdvisorChain);
container.register(index_6.ProxyMethod);
container.register(Advisor_1.Advisor);
container.register(AdviceMatcher_1.AdviceMatcher);
// container.registerSingleton(symbols.IProxyMethod, () => new ProxyMethod(container));
// container.registerSingleton(symbols.IAdvisor, () => new Advisor(container));
// container.registerSingleton(symbols.IAdviceMatcher, () => new AdviceMatcher(container));
var lifeScope = container.get(index_2.symbols.LifeScope);
var factory = new AopActionFactory_1.AopActionFactory();
lifeScope.addAction(factory.create(index_3.AopActions.registAspect), index_4.DecoratorType.Class, types_1.IocState.design);
lifeScope.addAction(factory.create(index_3.AopActions.matchPointcut), index_4.DecoratorType.Class, types_1.IocState.runtime);
lifeScope.addAction(factory.create(index_3.AopActions.bindMethodPointcut), index_4.DecoratorType.Method);
// lifeScope.addAction(factory.create(AopActions.bindPropertyPointcut), DecoratorType.Property);
lifeScope.addAction(factory.create(index_3.AopActions.invokeBeforeConstructorAdvices), index_4.DecoratorType.Class, index_4.CoreActions.beforeConstructor);
lifeScope.addAction(factory.create(index_3.AopActions.exetndsInstance), index_4.DecoratorType.Class, index_4.CoreActions.afterConstructor);
lifeScope.addAction(factory.create(index_3.AopActions.invokeAfterConstructorAdvices), index_4.DecoratorType.Class, index_4.CoreActions.afterConstructor);
lifeScope.registerDecorator(index_1.Aspect, index_3.AopActions.registAspect, index_3.AopActions.exetndsInstance);
}
exports.registerAops = registerAops;
//# sourceMappingURL=sourcemaps/index.js.map