@syncable/core
Version:
29 lines • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const _utils_1 = require("../@utils");
function AccessControlRule(explicitName) {
return (target, name, descriptor) => {
let ruleName = (explicitName || name);
let test = descriptor.value;
if (_utils_1.hasOwnProperty(target, '__accessControlRuleMap')) {
target.__accessControlRuleMap.set(ruleName, { test });
}
else {
let accessControlRules;
if (target.__accessControlRuleMap) {
accessControlRules = [
...target.__accessControlRuleMap,
[ruleName, { test }],
];
}
else {
accessControlRules = [[ruleName, { test }]];
}
Object.defineProperty(target, '__accessControlRuleMap', {
value: new Map(accessControlRules),
});
}
};
}
exports.AccessControlRule = AccessControlRule;
//# sourceMappingURL=access-control-rule-decorator.js.map