@lcap/nasl
Version:
NetEase Application Specific Language
61 lines • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.combineScope = exports.getProcessScopeWords = exports.getViewScopeWords = exports.getLogicScopeWords = void 0;
function getLogicScopeWords(logic) {
const scope = {
Param: logic ? logic.params.map((p) => p.name) : [],
Return: logic ? logic.returns.map((p) => p.name) : [],
Variable: logic ? logic.variables.map((p) => p.name) : [],
Constant: [],
Logic: [],
};
return scope;
}
exports.getLogicScopeWords = getLogicScopeWords;
function getViewScopeWords(view) {
const scope = {
Param: view.params.map((p) => p.name),
Variable: view.variables.map((p) => p.name),
Return: [],
Constant: [],
Logic: view.logics.map((l) => l.name),
};
return scope;
}
exports.getViewScopeWords = getViewScopeWords;
function getProcessScopeWords(process) {
const processName = process.name;
const scope = {
Param: process.params.map((p) => `${processName}.${p.name}`),
Return: process.returns.map((p) => `${processName}.${p.name}`),
Constant: process.constants.map((p) => `${processName}.${p.name}`),
Variable: [],
Logic: [],
};
process.elements.forEach((el) => {
const elname = el.name;
el.variables.forEach((v) => {
scope.Variable.push(`${processName}.${elname}.${v.name}`);
});
el.returns.forEach((v) => {
scope.Return.push(`${processName}.${elname}.${v.name}`);
});
el.constants.forEach((v) => {
scope.Constant.push(`${processName}.${elname}.${v.name}`);
});
});
return scope;
}
exports.getProcessScopeWords = getProcessScopeWords;
function combineScope(a, b) {
const scope = {
Param: [...a.Param, ...b.Param],
Return: [...a.Return, ...b.Return],
Constant: [...a.Constant, ...b.Constant],
Variable: [...a.Variable, ...b.Variable],
Logic: [...a.Logic, ...b.Logic],
};
return scope;
}
exports.combineScope = combineScope;
//# sourceMappingURL=getScope.js.map