browser.cjs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. const core = require('./core.cjs');
  4. class BrowserReporter {
  5. options;
  6. defaultColor;
  7. levelColorMap;
  8. typeColorMap;
  9. constructor(options) {
  10. this.options = { ...options };
  11. this.defaultColor = "#7f8c8d";
  12. this.levelColorMap = {
  13. 0: "#c0392b",
  14. // Red
  15. 1: "#f39c12",
  16. // Yellow
  17. 3: "#00BCD4"
  18. // Cyan
  19. };
  20. this.typeColorMap = {
  21. success: "#2ecc71"
  22. // Green
  23. };
  24. }
  25. _getLogFn(level) {
  26. if (level < 1) {
  27. return console.__error || console.error;
  28. }
  29. if (level === 1) {
  30. return console.__warn || console.warn;
  31. }
  32. return console.__log || console.log;
  33. }
  34. log(logObj) {
  35. const consoleLogFn = this._getLogFn(logObj.level);
  36. const type = logObj.type === "log" ? "" : logObj.type;
  37. const tag = logObj.tag || "";
  38. const color = this.typeColorMap[logObj.type] || this.levelColorMap[logObj.level] || this.defaultColor;
  39. const style = `
  40. background: ${color};
  41. border-radius: 0.5em;
  42. color: white;
  43. font-weight: bold;
  44. padding: 2px 0.5em;
  45. `;
  46. const badge = `%c${[tag, type].filter(Boolean).join(":")}`;
  47. if (typeof logObj.args[0] === "string") {
  48. consoleLogFn(
  49. `${badge}%c ${logObj.args[0]}`,
  50. style,
  51. // Empty string as style resets to default console style
  52. "",
  53. ...logObj.args.slice(1)
  54. );
  55. } else {
  56. consoleLogFn(badge, style, ...logObj.args);
  57. }
  58. }
  59. }
  60. function createConsola(options = {}) {
  61. const consola2 = core.createConsola({
  62. reporters: options.reporters || [new BrowserReporter({})],
  63. prompt(message, options2 = {}) {
  64. if (options2.type === "confirm") {
  65. return Promise.resolve(confirm(message));
  66. }
  67. return Promise.resolve(prompt(message));
  68. },
  69. ...options
  70. });
  71. return consola2;
  72. }
  73. const consola = createConsola();
  74. exports.Consola = core.Consola;
  75. exports.LogLevels = core.LogLevels;
  76. exports.LogTypes = core.LogTypes;
  77. exports.consola = consola;
  78. exports.createConsola = createConsola;
  79. exports.default = consola;