update index.js and util.js

main
MohammadHoseinPaymard 2 weeks ago
parent 6cc85ddf43
commit 02c85d18fc
  1. 5
      index.js
  2. 35
      util.js

@ -1,7 +1,7 @@
const path = require('path');
const fs = require('fs');
const { sleep } = require('./util');
const { sleep, saveLargeObject } = require('./util');
const { getAllWorkflows } = require('./workflow');
const { getAllProcesses, getProcessPaths, getProcessPathsSubFlow } = require('./process');
@ -106,7 +106,8 @@ require(path.join(process.cwd(), "..", "server", "dist", "database.js"));
}
// console.log("allWorkFlowInfo", JSON.stringify(allWorkFlowInfo, null, 2));
fs.writeFileSync("./result-pretty.json", JSON.stringify(allWorkFlowInfo, null, 2));
// fs.writeFileSync("./result-pretty.json", JSON.stringify(allWorkFlowInfo, null, 2));
saveLargeObject(allWorkFlowInfo,"./result-pretty.json")
fs.writeFileSync("./result.json", JSON.stringify(allWorkFlowInfo));
console.timeEnd("WorkflowTester");
console.log("DONE");

@ -1,3 +1,5 @@
const fs = require('fs');
const sleep = (ms) => {
return new Promise(resolve => {
console.log(`${(ms / 1000).toFixed(2)}s SHOULD WAIT`);
@ -383,6 +385,36 @@ function isValidRegex(str) {
return false;
}
}
async function saveLargeObject(obj, filename) {
const ws = fs.createWriteStream(filename, { encoding: 'utf8' });
ws.write('{\n');
const entries = Object.entries(obj);
for (let i = 0; i < entries.length; i++) {
const [key, value] = entries[i];
// stringify مقدار
const chunk = JSON.stringify(value, null, 2)
.split('\n')
.map((line, idx) => idx === 0
? ` "${key}": ${line}`
: ` ${line}`)
.join('\n');
// اگر اولین نیست، قبلش کاما بگذار
ws.write((i > 0 ? ',\n' : '') + chunk);
}
ws.write('\n}\n');
ws.end();
await new Promise((res, rej) => {
ws.on('finish', res);
ws.on('error', rej);
});
console.log(`فایل ${filename} ذخیره شد.`);
}
module.exports = {
sleep,
convertStringToJson,
@ -396,5 +428,6 @@ module.exports = {
isBoolean,
checkingConditionTypes,
checkingOptions,
checkCondition
checkCondition,
saveLargeObject
}
Loading…
Cancel
Save