Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var escapeStringRegexp = require('escape-string-regexp');
var ansiStyles = require('ansi-styles');
var stripAnsi = require('strip-ansi');
var hasAnsi = require('has-ansi');
var supportsColor = require('supports-color');
var defineProps = Object.defineProperties;
var isSimpleWindowsTerm = process.platform === 'win32' && !/^xterm/i.test(process.env.TERM);
function Chalk(options) {
// detect mode if not set manually
this.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled;
}
// use bright blue on Windows as the normal blue color is illegible
if (isSimpleWindowsTerm) {
ansiStyles.blue.open = '\u001b[94m';
}
var styles = (function () {
var ret = {};
Object.keys(ansiStyles).forEach(function (key) {
ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
ret[key] = {
get: function () {
return build.call(this, this._styles.concat(key));
}
};
});
return ret;
};
Object.setPrototypeOf(chalk, Chalk.prototype);
Object.setPrototypeOf(chalk.template, chalk);
chalk.template.constructor = Chalk;
return chalk.template;
}
applyOptions(this, options);
}
// Use bright blue on Windows as the normal blue color is illegible
if (isSimpleWindowsTerm) {
ansiStyles.blue.open = '\u001B[94m';
}
for (const key of Object.keys(ansiStyles)) {
ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
styles[key] = {
get() {
const codes = ansiStyles[key];
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);
}
};
}
styles.visible = {
get() {
return build.call(this, this._styles || [], true, 'visible');
};
Object.setPrototypeOf(chalk, Chalk.prototype);
Object.setPrototypeOf(chalk.template, chalk);
chalk.template.constructor = Chalk;
return chalk.template;
}
applyOptions(this, options);
}
// Use bright blue on Windows as the normal blue color is illegible
if (isSimpleWindowsTerm) {
ansiStyles.blue.open = '\u001B[94m';
}
for (const key of Object.keys(ansiStyles)) {
ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
styles[key] = {
get() {
const codes = ansiStyles[key];
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);
}
};
}
styles.visible = {
get() {
return build.call(this, this._styles || [], true, 'visible');
'use strict';
const ansiStyles = require('ansi-styles');
const keyValueRE = /^(\s*)(?:(".*")(: ))?(.*?)(,?)$/,
zeroCharCode = '0'.charCodeAt(0),
nineCharCode = '9'.charCodeAt(0);
const stylesByType = {
str: ansiStyles.yellow,
bool: ansiStyles.blue,
null: ansiStyles.red,
num: ansiStyles.cyan
};
function applyStyle(style, s)
{
return style.open + s + style.close;
}
function colorizeValue(s)
{
// This function is fed values as extracted from the regex - no whitespace and
// no trailing comma. That means there are preciously few options for what we
// get, and we can judge our response based entirely on the first character.
const firstChar = s.charAt(0);
const util = require("util");
const demo = require("../demo");
const player_1 = require("../entities/player");
const colourReplacements = [
{ pattern: /\x01/g, ansi: ansiStyles.whiteBright.open },
{ pattern: /\x02/g, ansi: ansiStyles.red.open },
{ pattern: /\x03/g, ansi: ansiStyles.magenta.open },
{ pattern: /\x04/g, ansi: ansiStyles.greenBright.open },
{ pattern: /\x05/g, ansi: ansiStyles.green.open },
{ pattern: /\x06/g, ansi: ansiStyles.greenBright.open },
{ pattern: /\x07/g, ansi: ansiStyles.redBright.open },
{ pattern: /\x08/g, ansi: ansiStyles.gray.open },
{ pattern: /\x09/g, ansi: ansiStyles.yellowBright.open },
{ pattern: /\x0A/g, ansi: ansiStyles.white.open },
{ pattern: /\x0B/g, ansi: ansiStyles.blueBright.open },
{ pattern: /\x0C/g, ansi: ansiStyles.blue.open },
{ pattern: /\x0D/g, ansi: ansiStyles.magenta.open },
{ pattern: /\x0E/g, ansi: ansiStyles.magentaBright.open },
{ pattern: /\x0F/g, ansi: ansiStyles.red.open },
{ pattern: /\x10/g, ansi: ansiStyles.yellow.open } // Orange
];
const standardMessages = {
Cstrike_Chat_All: "\x03%s\x01 : %s",
Cstrike_Chat_AllDead: "*DEAD* \x03%s\x01 : %s",
Game_connected: "%s connected."
};
function teamNumberToAnsi(teamNum) {
if (teamNum === 2 /* Terrorists */) {
return ansiStyles.redBright.open;
}
if (teamNum === 3 /* CounterTerrorists */) {
return ansiStyles.blueBright.open;
}
}
},
child: {
openBracket: forceColor.grey('{'),
closeBracket: forceColor.grey('}')
}
},
regexp: {
source: { open: ansiStyles.blue.open + '/', close: '/' + ansiStyles.blue.close },
flags: ansiStyles.yellow
},
stats: { separator: forceColor.grey('---') },
string: {
open: ansiStyles.blue.open,
close: ansiStyles.blue.close,
line: { open: forceColor.blue('\''), close: forceColor.blue('\'') },
multiline: { start: forceColor.blue('`'), end: forceColor.blue('`') },
controlPicture: ansiStyles.grey,
diff: {
insert: {
open: ansiStyles.bgGreen.open + ansiStyles.black.open,
close: ansiStyles.black.close + ansiStyles.bgGreen.close
},
delete: {
open: ansiStyles.bgRed.open + ansiStyles.black.open,
close: ansiStyles.black.close + ansiStyles.bgRed.close
},
equal: ansiStyles.blue,
insertLine: {
open: ansiStyles.green.open,
close: ansiStyles.green.close
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
const ansiStyles = require('ansi-styles')
const chalk = new (require('chalk').constructor)()
const forceColor = new chalk.constructor({ enabled: true })
const colorTheme = {
boolean: ansiStyles.yellow,
circular: forceColor.grey('[Circular]'),
date: {
invalid: forceColor.red('invalid'),
value: ansiStyles.blue
},
diffGutters: {
actual: forceColor.red('-') + ' ',
expected: forceColor.green('+') + ' ',
padding: ' '
},
error: {
ctor: { open: ansiStyles.grey.open + '(', close: ')' + ansiStyles.grey.close },
name: ansiStyles.magenta
},
function: {
name: ansiStyles.blue,
stringTag: ansiStyles.magenta
},
global: ansiStyles.magenta,
item: { after: forceColor.grey(',') },
line: {open: forceColor.blue('"'), close: forceColor.blue('"'), escapeQuote: '"'}
}
}
},
child: {
openBracket: forceColor.grey('{'),
closeBracket: forceColor.grey('}')
}
},
regexp: {
source: {open: ansiStyles.blue.open + '/', close: '/' + ansiStyles.blue.close},
flags: ansiStyles.yellow
},
stats: {separator: forceColor.grey('---')},
string: {
open: ansiStyles.blue.open,
close: ansiStyles.blue.close,
line: {open: forceColor.blue('\''), close: forceColor.blue('\'')},
multiline: {start: forceColor.blue('`'), end: forceColor.blue('`')},
controlPicture: ansiStyles.grey,
diff: {
insert: {
open: ansiStyles.bgGreen.open + ansiStyles.black.open,
close: ansiStyles.black.close + ansiStyles.bgGreen.close
},
delete: {
open: ansiStyles.bgRed.open + ansiStyles.black.open,
close: ansiStyles.black.close + ansiStyles.bgRed.close
},
equal: ansiStyles.blue,
insertLine: {
open: ansiStyles.green.open,
color = function(text, color_) {
color_ = color_.toLowerCase();
if(color_ == "white") {
return ansi.white.open + (text) + ansi.white.close;
} else if (color_ == "red") {
return ansi.red.open + (text) + ansi.red.close;
} else if (color_ == "green") {
return ansi.green.open + (text) + ansi.green.close;
} else if (color_ == "yellow") {
return ansi.yellow.open + (text) + ansi.yellow.close;
} else if (color_ == "blue") {
return ansi.blue.open + (text) + ansi.blue.close;
}
};
open: ansiStyles.magenta.open + '@',
close: ansiStyles.magenta.close
},
secondaryStringTag: {
open: ansiStyles.grey.open + '@',
close: ansiStyles.grey.close
}
},
property: {
after: forceColor.grey(','),
keyBracket: { open: forceColor.grey('['), close: forceColor.grey(']') },
valueFallback: forceColor.grey('…')
},
regexp: {
source: {
open: ansiStyles.blue.open + '/',
close: '/' + ansiStyles.blue.close
},
flags: ansiStyles.yellow
},
stats: { separator: forceColor.grey('---') },
string: {
open: ansiStyles.white.open,
close: ansiStyles.white.close,
line: { open: forceColor.white("'"), close: forceColor.white("'") },
multiline: { start: forceColor.white('`'), end: forceColor.white('`') },
controlPicture: ansiStyles.grey,
diff: {
insert: {
open: ansiStyles.bgGreen.open + ansiStyles.black.open,
close: ansiStyles.black.close + ansiStyles.bgGreen.close
},