@eggjs/tegg-aop-plugin
Version:
tegg aop plugin
35 lines • 3.77 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const aop_1 = require("@eggjs/tegg/aop");
const tegg_aop_runtime_1 = require("@eggjs/tegg-aop-runtime");
const AopContextHook_1 = require("./lib/AopContextHook");
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
class AopAppHook {
constructor(app) {
this.app = app;
this.crosscutAdviceFactory = new aop_1.CrosscutAdviceFactory();
this.loadUnitAopHook = new tegg_aop_runtime_1.LoadUnitAopHook(this.crosscutAdviceFactory);
this.eggPrototypeCrossCutHook = new tegg_aop_runtime_1.EggPrototypeCrossCutHook(this.crosscutAdviceFactory);
this.eggObjectAopHook = new tegg_aop_runtime_1.EggObjectAopHook();
}
configDidLoad() {
this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.eggPrototypeCrossCutHook);
this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitAopHook);
this.app.eggObjectLifecycleUtil.registerLifecycle(this.eggObjectAopHook);
tegg_metadata_1.GlobalGraph.instance.registerBuildHook(tegg_aop_runtime_1.crossCutGraphHook);
tegg_metadata_1.GlobalGraph.instance.registerBuildHook(tegg_aop_runtime_1.pointCutGraphHook);
}
async didLoad() {
await this.app.moduleHandler.ready();
this.aopContextHook = new AopContextHook_1.AopContextHook(this.app.moduleHandler);
this.app.eggContextLifecycleUtil.registerLifecycle(this.aopContextHook);
}
beforeClose() {
this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.eggPrototypeCrossCutHook);
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.loadUnitAopHook);
this.app.eggObjectLifecycleUtil.deleteLifecycle(this.eggObjectAopHook);
this.app.eggContextLifecycleUtil.deleteLifecycle(this.aopContextHook);
}
}
exports.default = AopAppHook;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EseUNBQXdEO0FBQ3hELDhEQU1pQztBQUNqQyx5REFBc0Q7QUFDdEQsd0RBQW1EO0FBRW5ELE1BQXFCLFVBQVU7SUFTN0IsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLDJCQUFxQixFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGtDQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksMkNBQXdCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksbUNBQWdCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RSwyQkFBVyxDQUFDLFFBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxvQ0FBaUIsQ0FBQyxDQUFDO1FBQzNELDJCQUFXLENBQUMsUUFBUyxDQUFDLGlCQUFpQixDQUFDLG9DQUFpQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksK0JBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0Y7QUFyQ0QsNkJBcUNDIn0=