js_lib.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package javascript
  2. const jsLib = `
  3. function pp(object) {
  4. var str = "";
  5. if(object instanceof Array) {
  6. str += "[ ";
  7. for(var i = 0, l = object.length; i < l; i++) {
  8. str += pp(object[i]);
  9. if(i < l-1) {
  10. str += ", ";
  11. }
  12. }
  13. str += " ]";
  14. } else if(typeof(object) === "object") {
  15. str += "{ ";
  16. var last = Object.keys(object).sort().pop()
  17. for(var k in object) {
  18. str += k + ": " + pp(object[k]);
  19. if(k !== last) {
  20. str += ", ";
  21. }
  22. }
  23. str += " }";
  24. } else if(typeof(object) === "string") {
  25. str += "\033[32m'" + object + "'";
  26. } else if(typeof(object) === "undefined") {
  27. str += "\033[1m\033[30m" + object;
  28. } else if(typeof(object) === "number") {
  29. str += "\033[31m" + object;
  30. } else if(typeof(object) === "function") {
  31. str += "\033[35m[Function]";
  32. } else {
  33. str += object;
  34. }
  35. str += "\033[0m";
  36. return str;
  37. }
  38. function prettyPrint(/* */) {
  39. var args = arguments;
  40. var ret = "";
  41. for(var i = 0, l = args.length; i < l; i++) {
  42. ret += pp(args[i]) + "\n";
  43. }
  44. return ret;
  45. }
  46. var print = prettyPrint;
  47. `