@lcap/nasl
Version:
NetEase Application Specific Language
33 lines • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.splitInstructList = void 0;
const uuid_1 = require("uuid");
const createId = () => (0, uuid_1.v4)().replace(/-/g, '');
/**
* 将指令列表拆分成每个指令最多200条指令的数组
*
* @description 因为服务端(孙浩然),单个actions太多,会导致服务端处理超时,事务超时。
* 所以在这里把请求拆开,然后存储一下原来的 uuid,然后再请求的时候给一个新的uuid,表示事务不一样
*/
function splitInstructList(instructList) {
if (!Array.isArray(instructList)) {
return instructList;
}
const transformedArr = [];
instructList.forEach((item) => {
let tempActions = [...item.actions];
if (tempActions.length > 200) {
const { uuid: oldUUid, riskList } = item;
while (tempActions.length > 200) {
transformedArr.push({ oldUUid, uuid: createId(), actions: tempActions.splice(0, 200), riskList });
}
transformedArr.push({ oldUUid, uuid: createId(), actions: tempActions, riskList });
}
else {
transformedArr.push(item);
}
});
return transformedArr;
}
exports.splitInstructList = splitInstructList;
//# sourceMappingURL=utils.js.map