uncolorize.js 705 B

123456789101112131415161718192021222324252627
  1. 'use strict';
  2. const colors = require('@colors/colors/safe');
  3. const format = require('./format');
  4. const { MESSAGE } = require('triple-beam');
  5. /*
  6. * function uncolorize (info)
  7. * Returns a new instance of the uncolorize Format that strips colors
  8. * from `info` objects. This was previously exposed as { stripColors: true }
  9. * to transports in `winston < 3.0.0`.
  10. */
  11. module.exports = format((info, opts) => {
  12. if (opts.level !== false) {
  13. info.level = colors.strip(info.level);
  14. }
  15. if (opts.message !== false) {
  16. info.message = colors.strip(String(info.message));
  17. }
  18. if (opts.raw !== false && info[MESSAGE]) {
  19. info[MESSAGE] = colors.strip(String(info[MESSAGE]));
  20. }
  21. return info;
  22. });