logger.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.Logger = void 0;
  7. const figures_1 = __importDefault(require("figures"));
  8. const logger_constants_1 = require("./logger.constants");
  9. const chalk_1 = __importDefault(require("./chalk"));
  10. class Logger {
  11. constructor(options) {
  12. this.options = options;
  13. }
  14. fail(message) {
  15. message = this.parseMessage(logger_constants_1.logLevels.fail, message);
  16. console.error(message);
  17. }
  18. skip(message) {
  19. message = this.parseMessage(logger_constants_1.logLevels.skip, message);
  20. console.info(message);
  21. }
  22. success(message) {
  23. message = this.parseMessage(logger_constants_1.logLevels.success, message);
  24. console.log(message);
  25. }
  26. data(message) {
  27. message = this.parseMessage(logger_constants_1.logLevels.data, message);
  28. console.info(message);
  29. }
  30. start(message) {
  31. message = this.parseMessage(logger_constants_1.logLevels.start, message);
  32. console.log(message);
  33. }
  34. title(message) {
  35. message = this.parseMessage(logger_constants_1.logLevels.title, message);
  36. console.info(message);
  37. }
  38. parseMessage(level, message) {
  39. let multiLineMessage;
  40. try {
  41. multiLineMessage = message.split('\n');
  42. }
  43. catch {
  44. multiLineMessage = [message];
  45. }
  46. multiLineMessage = multiLineMessage.map((msg) => {
  47. return this.logColoring({
  48. level,
  49. message: msg
  50. });
  51. });
  52. message = multiLineMessage.join('\n');
  53. return message;
  54. }
  55. logColoring({ level, message }) {
  56. var _a, _b, _c, _d, _e, _f;
  57. let icon;
  58. let coloring = (input) => {
  59. return input;
  60. };
  61. switch (level) {
  62. case logger_constants_1.logLevels.fail:
  63. if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.useIcons) {
  64. coloring = chalk_1.default.red;
  65. icon = figures_1.default.main.cross;
  66. }
  67. else {
  68. icon = '[FAILED]';
  69. }
  70. break;
  71. case logger_constants_1.logLevels.skip:
  72. if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.useIcons) {
  73. coloring = chalk_1.default.yellow;
  74. icon = figures_1.default.main.arrowDown;
  75. }
  76. else {
  77. icon = '[SKIPPED]';
  78. }
  79. break;
  80. case logger_constants_1.logLevels.success:
  81. if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.useIcons) {
  82. coloring = chalk_1.default.green;
  83. icon = figures_1.default.main.tick;
  84. }
  85. else {
  86. icon = '[SUCCESS]';
  87. }
  88. break;
  89. case logger_constants_1.logLevels.data:
  90. if ((_d = this.options) === null || _d === void 0 ? void 0 : _d.useIcons) {
  91. icon = figures_1.default.main.arrowRight;
  92. }
  93. else {
  94. icon = '[DATA]';
  95. }
  96. break;
  97. case logger_constants_1.logLevels.start:
  98. if ((_e = this.options) === null || _e === void 0 ? void 0 : _e.useIcons) {
  99. icon = figures_1.default.main.pointer;
  100. }
  101. else {
  102. icon = '[STARTED]';
  103. }
  104. break;
  105. case logger_constants_1.logLevels.title:
  106. if ((_f = this.options) === null || _f === void 0 ? void 0 : _f.useIcons) {
  107. icon = figures_1.default.main.checkboxOn;
  108. }
  109. else {
  110. icon = '[TITLE]';
  111. }
  112. break;
  113. }
  114. return coloring(`${icon} ${message}`);
  115. }
  116. }
  117. exports.Logger = Logger;
  118. //# sourceMappingURL=logger.js.map