convert_ansi.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. 'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.serialize = exports.test = undefined;
  2. var _ansiRegex = require('ansi-regex');var _ansiRegex2 = _interopRequireDefault(_ansiRegex);
  3. var _ansiStyles = require('ansi-styles');var _ansiStyles2 = _interopRequireDefault(_ansiStyles);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
  4. const toHumanReadableAnsi = text => {
  5. return text.replace((0, _ansiRegex2.default)(), (match, offset, string) => {
  6. switch (match) {
  7. case _ansiStyles2.default.red.close:
  8. case _ansiStyles2.default.green.close:
  9. case _ansiStyles2.default.cyan.close:
  10. case _ansiStyles2.default.gray.close:
  11. case _ansiStyles2.default.white.close:
  12. case _ansiStyles2.default.yellow.close:
  13. case _ansiStyles2.default.bgRed.close:
  14. case _ansiStyles2.default.bgGreen.close:
  15. case _ansiStyles2.default.bgCyan.close:
  16. case _ansiStyles2.default.inverse.close:
  17. case _ansiStyles2.default.dim.close:
  18. case _ansiStyles2.default.bold.close:
  19. case _ansiStyles2.default.reset.open:
  20. case _ansiStyles2.default.reset.close:
  21. return '</>';
  22. case _ansiStyles2.default.red.open:
  23. return '<red>';
  24. case _ansiStyles2.default.green.open:
  25. return '<green>';
  26. case _ansiStyles2.default.cyan.open:
  27. return '<cyan>';
  28. case _ansiStyles2.default.gray.open:
  29. return '<gray>';
  30. case _ansiStyles2.default.white.open:
  31. return '<white>';
  32. case _ansiStyles2.default.yellow.open:
  33. return '<yellow>';
  34. case _ansiStyles2.default.bgRed.open:
  35. return '<bgRed>';
  36. case _ansiStyles2.default.bgGreen.open:
  37. return '<bgGreen>';
  38. case _ansiStyles2.default.bgCyan.open:
  39. return '<bgCyan>';
  40. case _ansiStyles2.default.inverse.open:
  41. return '<inverse>';
  42. case _ansiStyles2.default.dim.open:
  43. return '<dim>';
  44. case _ansiStyles2.default.bold.open:
  45. return '<bold>';
  46. default:
  47. return '';}
  48. });
  49. }; /**
  50. * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
  51. *
  52. * This source code is licensed under the MIT license found in the
  53. * LICENSE file in the root directory of this source tree.
  54. *
  55. *
  56. */const test = exports.test = val => typeof val === 'string' && val.match((0, _ansiRegex2.default)());const serialize = exports.serialize = (val, config,
  57. indentation,
  58. depth,
  59. refs,
  60. printer) =>
  61. printer(toHumanReadableAnsi(val), config, indentation, depth, refs);exports.default =
  62. { serialize, test };