Sha256: ed98dfb1dd39f0ae29d431a33fea8b349eda23b34900ea819f816da77d7d6fc4
Contents?: true
Size: 1.14 KB
Versions: 5
Compression:
Stored size: 1.14 KB
Contents
'use strict'; var ansi = require('ansi-styles'); var stripAnsi = require('strip-ansi'); var hasColor = require('has-color'); var defineProps = Object.defineProperties; var chalk = module.exports; var styles = (function () { var ret = {}; ansi.grey = ansi.gray; Object.keys(ansi).forEach(function (key) { ret[key] = { get: function () { this._styles.push(key); return this; } }; }); return ret; })(); function init() { var ret = {}; Object.keys(styles).forEach(function (name) { ret[name] = { get: function () { var obj = defineProps(function self() { var str = [].slice.call(arguments).join(' '); if (!chalk.enabled) { return str; } return self._styles.reduce(function (str, name) { var code = ansi[name]; return str ? code.open + str + code.close : ''; }, str); }, styles); obj._styles = []; return obj[name]; } } }); return ret; } defineProps(chalk, init()); chalk.styles = ansi; chalk.stripColor = stripAnsi; chalk.supportsColor = hasColor; // detect mode if not set manually if (chalk.enabled === undefined) { chalk.enabled = chalk.supportsColor; }
Version data entries
5 entries across 5 versions & 3 rubygems