"use strict";
const ConvertAnsi = require("../../../../_virtual/ConvertAnsi.cjs");
const index = require("../../../ansi-regex/index.cjs");
const index$1 = require('./../../_node_modules/ansi-styles/index.cjs');
Object.defineProperty(ConvertAnsi.__exports, "__esModule", {
  value: true
});
ConvertAnsi.__exports.test = ConvertAnsi.__exports.serialize = ConvertAnsi.__exports.default = void 0;
var _ansiRegex = _interopRequireDefault(index.ansiRegex);
var _ansiStyles = _interopRequireDefault(index$1.ansiStylesExports);
function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : { default: obj };
}
const toHumanReadableAnsi = (text) => text.replace((0, _ansiRegex.default)(), (match) => {
  switch (match) {
    case _ansiStyles.default.red.close:
    case _ansiStyles.default.green.close:
    case _ansiStyles.default.cyan.close:
    case _ansiStyles.default.gray.close:
    case _ansiStyles.default.white.close:
    case _ansiStyles.default.yellow.close:
    case _ansiStyles.default.bgRed.close:
    case _ansiStyles.default.bgGreen.close:
    case _ansiStyles.default.bgYellow.close:
    case _ansiStyles.default.inverse.close:
    case _ansiStyles.default.dim.close:
    case _ansiStyles.default.bold.close:
    case _ansiStyles.default.reset.open:
    case _ansiStyles.default.reset.close:
      return "</>";
    case _ansiStyles.default.red.open:
      return "<red>";
    case _ansiStyles.default.green.open:
      return "<green>";
    case _ansiStyles.default.cyan.open:
      return "<cyan>";
    case _ansiStyles.default.gray.open:
      return "<gray>";
    case _ansiStyles.default.white.open:
      return "<white>";
    case _ansiStyles.default.yellow.open:
      return "<yellow>";
    case _ansiStyles.default.bgRed.open:
      return "<bgRed>";
    case _ansiStyles.default.bgGreen.open:
      return "<bgGreen>";
    case _ansiStyles.default.bgYellow.open:
      return "<bgYellow>";
    case _ansiStyles.default.inverse.open:
      return "<inverse>";
    case _ansiStyles.default.dim.open:
      return "<dim>";
    case _ansiStyles.default.bold.open:
      return "<bold>";
    default:
      return "";
  }
});
const test = (val) => typeof val === "string" && !!val.match((0, _ansiRegex.default)());
ConvertAnsi.__exports.test = test;
const serialize = (val, config, indentation, depth, refs, printer) => printer(toHumanReadableAnsi(val), config, indentation, depth, refs);
ConvertAnsi.__exports.serialize = serialize;
const plugin = {
  serialize,
  test
};
var _default = plugin;
ConvertAnsi.__exports.default = _default;
//# sourceMappingURL=ConvertAnsi.cjs.map
