@eggjs/aop-decorator
Version:
tegg aop decorator
23 lines • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Advice = Advice;
const core_decorator_1 = require("@eggjs/core-decorator");
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
const tegg_types_1 = require("@eggjs/tegg-types");
const AdviceInfoUtil_1 = require("../util/AdviceInfoUtil");
const defaultAdviceParam = {
accessLevel: tegg_types_1.AccessLevel.PUBLIC,
initType: tegg_types_1.ObjectInitType.CONTEXT,
};
function Advice(param) {
return function (constructor) {
AdviceInfoUtil_1.AdviceInfoUtil.setIsAdvice(true, constructor);
const func = (0, core_decorator_1.Prototype)({
...defaultAdviceParam,
...param,
});
func(constructor);
core_decorator_1.PrototypeUtil.setFilePath(constructor, tegg_common_util_1.StackUtil.getCalleeFromStack(false, 5));
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWR2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RlY29yYXRvci9BZHZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSx3QkFVQztBQXJCRCwwREFBaUU7QUFDakUsOERBQW9EO0FBQ3BELGtEQUFnRTtBQUVoRSwyREFBd0Q7QUFFeEQsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixXQUFXLEVBQUUsd0JBQVcsQ0FBQyxNQUFNO0lBQy9CLFFBQVEsRUFBRSwyQkFBYyxDQUFDLE9BQU87Q0FDakMsQ0FBQztBQUVGLFNBQWdCLE1BQU0sQ0FBQyxLQUF1QjtJQUM1QyxPQUFPLFVBQVMsV0FBdUM7UUFDckQsK0JBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sSUFBSSxHQUFHLElBQUEsMEJBQVMsRUFBQztZQUNyQixHQUFHLGtCQUFrQjtZQUNyQixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEIsOEJBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLDRCQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9