@lcap/nasl
Version:
NetEase Application Specific Language
24 lines • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transform2ValidationRule = void 0;
const transform2LogicItem_1 = require("./transform2LogicItem");
const utils_1 = require("./utils");
function transform2ValidationRule(node, parseState) {
const callee = (0, utils_1.generate)(node.callee).code;
const calleeArr = callee.split('.');
const calleeName = calleeArr.pop();
const calleeNamespace = calleeArr.join('.');
if (calleeNamespace && calleeNamespace !== 'nasl.validation') {
return (0, utils_1.throwError)(parseState, 'rules 中的函数命令空间可以不填或必须为 nasl.validation', node);
}
const rule = new utils_1.naslTypes.ValidationRule({
calleeNamespace: 'nasl.validation',
calleeName,
arguments: node.arguments.map((arg) => new utils_1.naslTypes.Argument({
expression: (0, transform2LogicItem_1.transform2LogicItem)(arg, { ...parseState, transformType: 'attr' }),
})),
});
return rule;
}
exports.transform2ValidationRule = transform2ValidationRule;
//# sourceMappingURL=transform2ValidationRule.js.map