UNPKG

coa-echo

Version:

Lightweight console color logger for node.js

79 lines (78 loc) 2.14 kB
"use strict"; var _a, _b; Object.defineProperty(exports, "__esModule", { value: true }); exports.warpColor = exports.write = void 0; const os = require("os"); const hasColors = (_b = (_a = process.stdout).hasColors) === null || _b === void 0 ? void 0 : _b.call(_a); const styles = { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29], black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], gray: [90, 39], grey: [90, 39], brightRed: [91, 39], brightGreen: [92, 39], brightYellow: [93, 39], brightBlue: [94, 39], brightMagenta: [95, 39], brightCyan: [96, 39], brightWhite: [97, 39], bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], bgGray: [100, 49], bgGrey: [100, 49], bgBrightRed: [101, 49], bgBrightGreen: [102, 49], bgBrightYellow: [103, 49], bgBrightBlue: [104, 49], bgBrightMagenta: [105, 49], bgBrightCyan: [106, 49], bgBrightWhite: [107, 49], // legacy styles for colors pre v1.0.0 blackBG: [40, 49], redBG: [41, 49], greenBG: [42, 49], yellowBG: [43, 49], blueBG: [44, 49], magentaBG: [45, 49], cyanBG: [46, 49], whiteBG: [47, 49], }; // stdout输出 function write(color, text) { // 如果支持颜色,则添加颜色属性 if (hasColors && color !== '') text = warpColor(color, text); // 输出 process.stdout.write(text + os.EOL); } exports.write = write; // 添加颜色 function warpColor(color, text) { var _a; // 如果支持颜色,则包裹颜色标识 const style = (_a = styles[color]) !== null && _a !== void 0 ? _a : styles.reset; const open = '\u001b[' + style[0].toString() + 'm'; const close = '\u001b[' + style[1].toString() + 'm'; return open + text + close; } exports.warpColor = warpColor;