219 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			219 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| Object.defineProperty(exports, '__esModule', { value: true });
 | |
| 
 | |
| var tty = require('tty');
 | |
| 
 | |
| function _interopNamespace(e) {
 | |
|   if (e && e.__esModule) return e;
 | |
|   var n = Object.create(null);
 | |
|   if (e) {
 | |
|     Object.keys(e).forEach(function (k) {
 | |
|       if (k !== 'default') {
 | |
|         var d = Object.getOwnPropertyDescriptor(e, k);
 | |
|         Object.defineProperty(n, k, d.get ? d : {
 | |
|           enumerable: true,
 | |
|           get: function () { return e[k]; }
 | |
|         });
 | |
|       }
 | |
|     });
 | |
|   }
 | |
|   n["default"] = e;
 | |
|   return Object.freeze(n);
 | |
| }
 | |
| 
 | |
| var tty__namespace = /*#__PURE__*/_interopNamespace(tty);
 | |
| 
 | |
| const {
 | |
|   env = {},
 | |
|   argv = [],
 | |
|   platform = "",
 | |
| } = typeof process === "undefined" ? {} : process;
 | |
| 
 | |
| const isDisabled = "NO_COLOR" in env || argv.includes("--no-color");
 | |
| const isForced = "FORCE_COLOR" in env || argv.includes("--color");
 | |
| const isWindows = platform === "win32";
 | |
| const isDumbTerminal = env.TERM === "dumb";
 | |
| 
 | |
| const isCompatibleTerminal =
 | |
|   tty__namespace && tty__namespace.isatty && tty__namespace.isatty(1) && env.TERM && !isDumbTerminal;
 | |
| 
 | |
| const isCI =
 | |
|   "CI" in env &&
 | |
|   ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env);
 | |
| 
 | |
| const isColorSupported =
 | |
|   !isDisabled &&
 | |
|   (isForced || (isWindows && !isDumbTerminal) || isCompatibleTerminal || isCI);
 | |
| 
 | |
| const replaceClose = (
 | |
|   index,
 | |
|   string,
 | |
|   close,
 | |
|   replace,
 | |
|   head = string.substring(0, index) + replace,
 | |
|   tail = string.substring(index + close.length),
 | |
|   next = tail.indexOf(close)
 | |
| ) => head + (next < 0 ? tail : replaceClose(next, tail, close, replace));
 | |
| 
 | |
| const clearBleed = (index, string, open, close, replace) =>
 | |
|   index < 0
 | |
|     ? open + string + close
 | |
|     : open + replaceClose(index, string, close, replace) + close;
 | |
| 
 | |
| const filterEmpty =
 | |
|   (open, close, replace = open, at = open.length + 1) =>
 | |
|   (string) =>
 | |
|     string || !(string === "" || string === undefined)
 | |
|       ? clearBleed(
 | |
|           ("" + string).indexOf(close, at),
 | |
|           string,
 | |
|           open,
 | |
|           close,
 | |
|           replace
 | |
|         )
 | |
|       : "";
 | |
| 
 | |
| const init = (open, close, replace) =>
 | |
|   filterEmpty(`\x1b[${open}m`, `\x1b[${close}m`, replace);
 | |
| 
 | |
| const colors = {
 | |
|   reset: init(0, 0),
 | |
|   bold: init(1, 22, "\x1b[22m\x1b[1m"),
 | |
|   dim: init(2, 22, "\x1b[22m\x1b[2m"),
 | |
|   italic: init(3, 23),
 | |
|   underline: init(4, 24),
 | |
|   inverse: init(7, 27),
 | |
|   hidden: init(8, 28),
 | |
|   strikethrough: init(9, 29),
 | |
|   black: init(30, 39),
 | |
|   red: init(31, 39),
 | |
|   green: init(32, 39),
 | |
|   yellow: init(33, 39),
 | |
|   blue: init(34, 39),
 | |
|   magenta: init(35, 39),
 | |
|   cyan: init(36, 39),
 | |
|   white: init(37, 39),
 | |
|   gray: init(90, 39),
 | |
|   bgBlack: init(40, 49),
 | |
|   bgRed: init(41, 49),
 | |
|   bgGreen: init(42, 49),
 | |
|   bgYellow: init(43, 49),
 | |
|   bgBlue: init(44, 49),
 | |
|   bgMagenta: init(45, 49),
 | |
|   bgCyan: init(46, 49),
 | |
|   bgWhite: init(47, 49),
 | |
|   blackBright: init(90, 39),
 | |
|   redBright: init(91, 39),
 | |
|   greenBright: init(92, 39),
 | |
|   yellowBright: init(93, 39),
 | |
|   blueBright: init(94, 39),
 | |
|   magentaBright: init(95, 39),
 | |
|   cyanBright: init(96, 39),
 | |
|   whiteBright: init(97, 39),
 | |
|   bgBlackBright: init(100, 49),
 | |
|   bgRedBright: init(101, 49),
 | |
|   bgGreenBright: init(102, 49),
 | |
|   bgYellowBright: init(103, 49),
 | |
|   bgBlueBright: init(104, 49),
 | |
|   bgMagentaBright: init(105, 49),
 | |
|   bgCyanBright: init(106, 49),
 | |
|   bgWhiteBright: init(107, 49),
 | |
| };
 | |
| 
 | |
| const createColors = ({ useColor = isColorSupported } = {}) =>
 | |
|   useColor
 | |
|     ? colors
 | |
|     : Object.keys(colors).reduce(
 | |
|         (colors, key) => ({ ...colors, [key]: String }),
 | |
|         {}
 | |
|       );
 | |
| 
 | |
| const {
 | |
|   reset,
 | |
|   bold,
 | |
|   dim,
 | |
|   italic,
 | |
|   underline,
 | |
|   inverse,
 | |
|   hidden,
 | |
|   strikethrough,
 | |
|   black,
 | |
|   red,
 | |
|   green,
 | |
|   yellow,
 | |
|   blue,
 | |
|   magenta,
 | |
|   cyan,
 | |
|   white,
 | |
|   gray,
 | |
|   bgBlack,
 | |
|   bgRed,
 | |
|   bgGreen,
 | |
|   bgYellow,
 | |
|   bgBlue,
 | |
|   bgMagenta,
 | |
|   bgCyan,
 | |
|   bgWhite,
 | |
|   blackBright,
 | |
|   redBright,
 | |
|   greenBright,
 | |
|   yellowBright,
 | |
|   blueBright,
 | |
|   magentaBright,
 | |
|   cyanBright,
 | |
|   whiteBright,
 | |
|   bgBlackBright,
 | |
|   bgRedBright,
 | |
|   bgGreenBright,
 | |
|   bgYellowBright,
 | |
|   bgBlueBright,
 | |
|   bgMagentaBright,
 | |
|   bgCyanBright,
 | |
|   bgWhiteBright,
 | |
| } = createColors();
 | |
| 
 | |
| exports.bgBlack = bgBlack;
 | |
| exports.bgBlackBright = bgBlackBright;
 | |
| exports.bgBlue = bgBlue;
 | |
| exports.bgBlueBright = bgBlueBright;
 | |
| exports.bgCyan = bgCyan;
 | |
| exports.bgCyanBright = bgCyanBright;
 | |
| exports.bgGreen = bgGreen;
 | |
| exports.bgGreenBright = bgGreenBright;
 | |
| exports.bgMagenta = bgMagenta;
 | |
| exports.bgMagentaBright = bgMagentaBright;
 | |
| exports.bgRed = bgRed;
 | |
| exports.bgRedBright = bgRedBright;
 | |
| exports.bgWhite = bgWhite;
 | |
| exports.bgWhiteBright = bgWhiteBright;
 | |
| exports.bgYellow = bgYellow;
 | |
| exports.bgYellowBright = bgYellowBright;
 | |
| exports.black = black;
 | |
| exports.blackBright = blackBright;
 | |
| exports.blue = blue;
 | |
| exports.blueBright = blueBright;
 | |
| exports.bold = bold;
 | |
| exports.createColors = createColors;
 | |
| exports.cyan = cyan;
 | |
| exports.cyanBright = cyanBright;
 | |
| exports.dim = dim;
 | |
| exports.gray = gray;
 | |
| exports.green = green;
 | |
| exports.greenBright = greenBright;
 | |
| exports.hidden = hidden;
 | |
| exports.inverse = inverse;
 | |
| exports.isColorSupported = isColorSupported;
 | |
| exports.italic = italic;
 | |
| exports.magenta = magenta;
 | |
| exports.magentaBright = magentaBright;
 | |
| exports.red = red;
 | |
| exports.redBright = redBright;
 | |
| exports.reset = reset;
 | |
| exports.strikethrough = strikethrough;
 | |
| exports.underline = underline;
 | |
| exports.white = white;
 | |
| exports.whiteBright = whiteBright;
 | |
| exports.yellow = yellow;
 | |
| exports.yellowBright = yellowBright;
 |