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.

table.js 639B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. module.exports = table;
  2. function table(log, data, pre, sep) {
  3. var sep = sep || " ";
  4. pre = pre || "";
  5. var lengths = [];
  6. var i = 0;
  7. while (true) {
  8. var longest = -1;
  9. for (var j in data) {
  10. var d = data[j];
  11. if (d[i] == null)
  12. continue;
  13. if (d[i].length > longest)
  14. longest = d[i].length;
  15. }
  16. if (longest === -1)
  17. break;
  18. else
  19. lengths[i] = longest;
  20. i += 1;
  21. }
  22. for (var i in data) {
  23. var d = data[i];
  24. var str = "";
  25. for (var j in d) {
  26. var s = d[j];
  27. var len = lengths[j];
  28. str +=
  29. s +
  30. (j == d.length - 1 ? "" : sep) +
  31. new Array(len - s.length + 1).join(" ");
  32. }
  33. log(pre+str);
  34. }
  35. }