UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

57 lines (55 loc) 3.04 kB
"use strict"; 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