const fs = require('fs'); const text = fs.readFileSync('C:/ScriptoriumAI/scriptoriumai-ui/src/__tests__/Runboard.telemetry-lockstep-parity.test.tsx', 'utf8'); const regex = /^\s*it\([\'\"\].*?[\'\"\],\s*(?:async\s*)?\(\)\s*=>\s*\{/gm; let matches = []; let match; while ((match = regex.exec(text)) !== null) { matches.push(match.index); } let tailIdx = text.lastIndexOf('})'); let prefix = text.substring(0, matches[0]); let suffix = text.substring(tailIdx); let batchSize = Math.ceil(matches.length / 4); for (let i = 0; i < 4; i++) { let chunk = matches.slice(i * batchSize, (i + 1) * batchSize); if (!chunk.length) break; let start = chunk[0]; let end = (i === 3 || !matches[(i+1)*batchSize]) ? tailIdx : matches[(i+1)*batchSize]; let body = text.substring(start, end); fs.writeFileSync('C:/ScriptoriumAI/scriptoriumai-ui/src/__tests__/Runboard.telemetry-lockstep.part' + (i+1) + '.test.tsx', prefix + body + suffix); } fs.unlinkSync('C:/ScriptoriumAI/scriptoriumai-ui/src/__tests__/Runboard.telemetry-lockstep-parity.test.tsx');