UNPKG

grind-cli

Version:
59 lines (45 loc) 4.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OutputFormatterStyle = void 0; var _chalk = require("chalk"); function _isnil(val) { return val === null || typeof val === 'undefined'; } const chalk = new _chalk.Instance({ enabled: true }); class OutputFormatterStyle { constructor(foreground = null, background = null, options = []) { this.foreground = null; this.background = null; this.options = []; this.foreground = foreground; this.background = background; this.options = [...options]; } setOption(value) { this.options.push(value); } apply(text) { let style = chalk; let count = 0; if (!_isnil(this.foreground)) { style = style[this.foreground]; count++; } if (!_isnil(this.background)) { style = style[`bg${this.background.substring(0, 1).toUpperCase()}${this.background.substring(1)}`]; count++; } for (const option of this.options) { style = style[option]; count++; } if (count === 0) { return text; } return style(text); } } exports.OutputFormatterStyle = OutputFormatterStyle; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9PdXRwdXQvT3V0cHV0Rm9ybWF0dGVyU3R5bGUuanMiXSwibmFtZXMiOlsiY2hhbGsiLCJDaGFsayIsImVuYWJsZWQiLCJPdXRwdXRGb3JtYXR0ZXJTdHlsZSIsImNvbnN0cnVjdG9yIiwiZm9yZWdyb3VuZCIsImJhY2tncm91bmQiLCJvcHRpb25zIiwic2V0T3B0aW9uIiwidmFsdWUiLCJwdXNoIiwiYXBwbHkiLCJ0ZXh0Iiwic3R5bGUiLCJjb3VudCIsInN1YnN0cmluZyIsInRvVXBwZXJDYXNlIiwib3B0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7Ozs7QUFDQSxNQUFNQSxLQUFLLEdBQUcsSUFBSUMsZUFBSixDQUFVO0FBQUVDLEVBQUFBLE9BQU8sRUFBRTtBQUFYLENBQVYsQ0FBZDs7QUFFTyxNQUFNQyxvQkFBTixDQUEyQjtBQUtqQ0MsRUFBQUEsV0FBVyxDQUFDQyxVQUFVLEdBQUcsSUFBZCxFQUFvQkMsVUFBVSxHQUFHLElBQWpDLEVBQXVDQyxPQUFPLEdBQUcsRUFBakQsRUFBcUQ7QUFBQSxTQUpoRUYsVUFJZ0UsR0FKbkQsSUFJbUQ7QUFBQSxTQUhoRUMsVUFHZ0UsR0FIbkQsSUFHbUQ7QUFBQSxTQUZoRUMsT0FFZ0UsR0FGdEQsRUFFc0Q7QUFDL0QsU0FBS0YsVUFBTCxHQUFrQkEsVUFBbEI7QUFDQSxTQUFLQyxVQUFMLEdBQWtCQSxVQUFsQjtBQUNBLFNBQUtDLE9BQUwsR0FBZSxDQUFDLEdBQUdBLE9BQUosQ0FBZjtBQUNBOztBQUVEQyxFQUFBQSxTQUFTLENBQUNDLEtBQUQsRUFBUTtBQUNoQixTQUFLRixPQUFMLENBQWFHLElBQWIsQ0FBa0JELEtBQWxCO0FBQ0E7O0FBRURFLEVBQUFBLEtBQUssQ0FBQ0MsSUFBRCxFQUFPO0FBQ1gsUUFBSUMsS0FBSyxHQUFHYixLQUFaO0FBQ0EsUUFBSWMsS0FBSyxHQUFHLENBQVo7O0FBRUEsUUFBSSxRQUFDLEtBQUtULFVBQU4sQ0FBSixFQUE0QjtBQUMzQlEsTUFBQUEsS0FBSyxHQUFHQSxLQUFLLENBQUMsS0FBS1IsVUFBTixDQUFiO0FBQ0FTLE1BQUFBLEtBQUs7QUFDTDs7QUFFRCxRQUFJLFFBQUMsS0FBS1IsVUFBTixDQUFKLEVBQTRCO0FBQzNCTyxNQUFBQSxLQUFLLEdBQ0pBLEtBQUssQ0FDSCxLQUFJLEtBQUtQLFVBQUwsQ0FBZ0JTLFNBQWhCLENBQTBCLENBQTFCLEVBQTZCLENBQTdCLEVBQWdDQyxXQUFoQyxFQUE4QyxHQUFFLEtBQUtWLFVBQUwsQ0FBZ0JTLFNBQWhCLENBQ3BELENBRG9ELENBRW5ELEVBSEUsQ0FETjtBQU1BRCxNQUFBQSxLQUFLO0FBQ0w7O0FBRUQsU0FBSyxNQUFNRyxNQUFYLElBQXFCLEtBQUtWLE9BQTFCLEVBQW1DO0FBQ2xDTSxNQUFBQSxLQUFLLEdBQUdBLEtBQUssQ0FBQ0ksTUFBRCxDQUFiO0FBQ0FILE1BQUFBLEtBQUs7QUFDTDs7QUFFRCxRQUFJQSxLQUFLLEtBQUssQ0FBZCxFQUFpQjtBQUNoQixhQUFPRixJQUFQO0FBQ0E7O0FBRUQsV0FBT0MsS0FBSyxDQUFDRCxJQUFELENBQVo7QUFDQTs7QUE1Q2dDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gIEFkb3B0ZWQgZnJvbSBTeW1mb255OiBodHRwczovL2dpdGh1Yi5jb20vc3ltZm9ueS9jb25zb2xlL2Jsb2IvNDBiM2FjYS9Gb3JtYXR0ZXIvT3V0cHV0Rm9ybWF0dGVyU3R5bGUucGhwXG5cbmltcG9ydCB7IEluc3RhbmNlIGFzIENoYWxrIH0gZnJvbSAnY2hhbGsnXG5jb25zdCBjaGFsayA9IG5ldyBDaGFsayh7IGVuYWJsZWQ6IHRydWUgfSlcblxuZXhwb3J0IGNsYXNzIE91dHB1dEZvcm1hdHRlclN0eWxlIHtcblx0Zm9yZWdyb3VuZCA9IG51bGxcblx0YmFja2dyb3VuZCA9IG51bGxcblx0b3B0aW9ucyA9IFtdXG5cblx0Y29uc3RydWN0b3IoZm9yZWdyb3VuZCA9IG51bGwsIGJhY2tncm91bmQgPSBudWxsLCBvcHRpb25zID0gW10pIHtcblx0XHR0aGlzLmZvcmVncm91bmQgPSBmb3JlZ3JvdW5kXG5cdFx0dGhpcy5iYWNrZ3JvdW5kID0gYmFja2dyb3VuZFxuXHRcdHRoaXMub3B0aW9ucyA9IFsuLi5vcHRpb25zXVxuXHR9XG5cblx0c2V0T3B0aW9uKHZhbHVlKSB7XG5cdFx0dGhpcy5vcHRpb25zLnB1c2godmFsdWUpXG5cdH1cblxuXHRhcHBseSh0ZXh0KSB7XG5cdFx0bGV0IHN0eWxlID0gY2hhbGtcblx0XHRsZXQgY291bnQgPSAwXG5cblx0XHRpZiAoIXRoaXMuZm9yZWdyb3VuZC5pc05pbCkge1xuXHRcdFx0c3R5bGUgPSBzdHlsZVt0aGlzLmZvcmVncm91bmRdXG5cdFx0XHRjb3VudCsrXG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLmJhY2tncm91bmQuaXNOaWwpIHtcblx0XHRcdHN0eWxlID1cblx0XHRcdFx0c3R5bGVbXG5cdFx0XHRcdFx0YGJnJHt0aGlzLmJhY2tncm91bmQuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCl9JHt0aGlzLmJhY2tncm91bmQuc3Vic3RyaW5nKFxuXHRcdFx0XHRcdFx0MSxcblx0XHRcdFx0XHQpfWBcblx0XHRcdFx0XVxuXHRcdFx0Y291bnQrK1xuXHRcdH1cblxuXHRcdGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuXHRcdFx0c3R5bGUgPSBzdHlsZVtvcHRpb25dXG5cdFx0XHRjb3VudCsrXG5cdFx0fVxuXG5cdFx0aWYgKGNvdW50ID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gdGV4dFxuXHRcdH1cblxuXHRcdHJldHVybiBzdHlsZSh0ZXh0KVxuXHR9XG59XG4iXX0=