extract_javadoc_data.js 882 B

1234567891011121314151617181920212223
  1. 'use strict';
  2. const fs = require('fs');
  3. const py = fs.readFileSync('d:/ylrz_saas_new/java/scripts/add_workflow_subpkg_javadoc.py', 'utf8');
  4. function extractDict(name) {
  5. const re = new RegExp(name + '\\s*=\\s*\\{([\\s\\S]*?)\\n\\}');
  6. const m = py.match(re);
  7. if (!m) return {};
  8. const out = {};
  9. for (const line of m[1].split('\n')) {
  10. const mm = line.match(/"([^"]+)"\s*:\s*"([^"]+)"/);
  11. if (mm) out[mm[1]] = mm[2];
  12. }
  13. return out;
  14. }
  15. const data = {
  16. classDesc: extractDict('CLASS_DESC'),
  17. callers: extractDict('CLASS_CALLERS'),
  18. methodCn: extractDict('METHOD_CN'),
  19. };
  20. fs.writeFileSync('d:/ylrz_saas_new/java/scripts/workflow-subpkg-javadoc-data.json', JSON.stringify(data, null, 2));
  21. console.log('classDesc', Object.keys(data.classDesc).length);
  22. console.log('callers', Object.keys(data.callers).length);
  23. console.log('methodCn', Object.keys(data.methodCn).length);