UNPKG

@lcap/nasl

Version:

NetEase Application Specific Language

33 lines 1.33 kB
"use strict"; 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