Архитектурный шаблон "Мрак в моделях" на нескольких языках и платформах
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
805B

  1. #!/usr/bin/env node
  2. if (process.argv.length < 4) {
  3. console.error("Usage: toSwift SRC DST");
  4. process.exit(1);
  5. }
  6. var fs = require("fs");
  7. let fileSrc = process.argv[2];
  8. let fileDst = process.argv[3];
  9. let replacements = {
  10. "function": "func",
  11. "number": "Float",
  12. "):": ") ->",
  13. };
  14. console.log(`Converting '${fileSrc}' to '${fileDst}'`);
  15. var linesDst = [];
  16. let linesSrc = fs.readFileSync(fileSrc).toString().split(/\r?\n/);
  17. for (let i in linesSrc) {
  18. let ln = linesSrc[i];
  19. linesDst.push(convert(ln));
  20. }
  21. let contentsDst = linesDst.join("\r\n");
  22. fs.writeFileSync(fileDst, contentsDst);
  23. // Functions making decisions.
  24. function convert(line) {
  25. var result = line;
  26. for (let src in replacements) {
  27. let dst = replacements[src];
  28. result = result.replace(src, dst);
  29. }
  30. return result;
  31. }