irc-colors
Advanced tools
Comparing version 1.3.3 to 1.4.0
@@ -0,1 +1,3 @@ | ||
'use strict'; | ||
const colors = { | ||
@@ -28,3 +30,3 @@ '00': ['white'], | ||
const styleChars = {}; | ||
Object.keys(styles).forEach(function(key) { | ||
Object.keys(styles).forEach((key) => { | ||
styleChars[styles[key]] = true; | ||
@@ -43,10 +45,8 @@ }); | ||
// Make color functions for both foreground and background. | ||
Object.keys(colors).forEach(function(code) { | ||
Object.keys(colors).forEach((code) => { | ||
// Foreground. | ||
var fg = function(str) { | ||
return c + code + zero + str + c; | ||
}; | ||
var fg = str => c + code + zero + str + c; | ||
// Background. | ||
var bg = function(str) { | ||
var bg = (str) => { | ||
var pos = str.indexOf(c); | ||
@@ -60,3 +60,3 @@ if (pos !== 0) { | ||
colors[code].forEach(function(color) { | ||
colors[code].forEach((color) => { | ||
allColors.fg.push(color); | ||
@@ -70,7 +70,5 @@ allColors.bg.push('bg' + color); | ||
// Style functions. | ||
Object.keys(styles).forEach(function(style) { | ||
Object.keys(styles).forEach((style) => { | ||
var code = styles[style]; | ||
exports[style] = function(str) { | ||
return code + str + code; | ||
}; | ||
exports[style] = str => code + str + code; | ||
}); | ||
@@ -80,3 +78,3 @@ | ||
const custom = { | ||
rainbow: function(str, colorArr) { | ||
rainbow: (str, colorArr) => { | ||
var rainbow = [ | ||
@@ -91,5 +89,3 @@ 'red', 'olive', 'yellow', 'green', 'blue', 'navy', 'violet' | ||
.split('') | ||
.map(function(c) { | ||
return c !== ' ' ? exports[colorArr[i++ % l]](c) : c; | ||
}) | ||
.map(c => c !== ' ' ? exports[colorArr[i++ % l]](c) : c) | ||
.join(''); | ||
@@ -99,3 +95,3 @@ }, | ||
Object.keys(custom).forEach(function(extra) { | ||
Object.keys(custom).forEach((extra) => { | ||
allColors.custom.push(extra); | ||
@@ -107,15 +103,12 @@ exports[extra] = custom[extra]; | ||
const extras = { | ||
stripColors: function(str) { | ||
return str.replace(/\x03\d{0,2}(,\d{0,2}|\x02\x02)?/g, ''); | ||
}, | ||
stripColors: str => str.replace(/\x03\d{0,2}(,\d{0,2}|\x02\x02)?/g, ''), | ||
stripStyle: function(str) { | ||
stripStyle: (str) => { | ||
var path = []; | ||
var i, len, char; | ||
for (i = 0, len = str.length; i < len; i++) { | ||
char = str[i]; | ||
for (let i = 0, len = str.length; i < len; i++) { | ||
let char = str[i]; | ||
if (styleChars[char] || char === c) { | ||
var lastChar = path[path.length - 1]; | ||
let lastChar = path[path.length - 1]; | ||
if (lastChar && lastChar[0] === char) { | ||
var p0 = lastChar[1]; | ||
let p0 = lastChar[1]; | ||
// Don't strip out styles with no characters inbetween. | ||
@@ -137,6 +130,6 @@ // And don't strip out color codes. | ||
// Traverse list backwards to make removing less complicated. | ||
for (i = path.length - 1; i >= 0; i--) { | ||
char = path[i]; | ||
for (let i = path.length - 1; i >= 0; i--) { | ||
let char = path[i]; | ||
if (char[0] !== c) { | ||
var pos = char[1]; | ||
let pos = char[1]; | ||
str = str.slice(0, pos) + str.slice(pos + 1); | ||
@@ -148,8 +141,6 @@ } | ||
stripColorsAndStyle: function(str) { | ||
return exports.stripColors(exports.stripStyle(str)); | ||
}, | ||
stripColorsAndStyle: str => exports.stripColors(exports.stripStyle(str)), | ||
}; | ||
Object.keys(extras).forEach(function(extra) { | ||
Object.keys(extras).forEach((extra) => { | ||
allColors.extras.push(extra); | ||
@@ -161,9 +152,9 @@ exports[extra] = extras[extra]; | ||
function addGetters(fn, types) { | ||
Object.keys(allColors).forEach(function(type) { | ||
Object.keys(allColors).forEach((type) => { | ||
if (types.indexOf(type) > -1) { return; } | ||
allColors[type].forEach(function(color) { | ||
allColors[type].forEach((color) => { | ||
if (fn[color] != null) { return; } | ||
Object.defineProperty(fn, color, { | ||
get: function() { | ||
var f = function(str) { return exports[color](fn(str)); }; | ||
get: () => { | ||
var f = str => exports[color](fn(str)); | ||
addGetters(f, [].concat(types, type)); | ||
@@ -177,4 +168,4 @@ return f; | ||
Object.keys(allColors).forEach(function(type) { | ||
allColors[type].forEach(function(color) { | ||
Object.keys(allColors).forEach((type) => { | ||
allColors[type].forEach((color) => { | ||
addGetters(exports[color], [type]); | ||
@@ -186,3 +177,3 @@ }); | ||
// Adds functions to global String object. | ||
exports.global = function() { | ||
exports.global = () => { | ||
var str, irc = {}; | ||
@@ -196,4 +187,4 @@ | ||
for (var type in allColors) { | ||
allColors[type].forEach(function(color) { | ||
var fn = function() { return exports[color](str); }; | ||
allColors[type].forEach((color) => { | ||
var fn = () => exports[color](str); | ||
addGetters(fn, [type]); | ||
@@ -200,0 +191,0 @@ irc[color] = fn; |
@@ -9,3 +9,3 @@ { | ||
], | ||
"version": "1.3.3", | ||
"version": "1.4.0", | ||
"repository": { | ||
@@ -27,9 +27,9 @@ "type": "git", | ||
"devDependencies": { | ||
"istanbul": "*", | ||
"vows": "*" | ||
"istanbul": "^0.4.5", | ||
"vows": "^0.8.1" | ||
}, | ||
"engines": { | ||
"node": ">=0.12" | ||
"node": ">=4" | ||
}, | ||
"license": "MIT" | ||
} |
@@ -69,3 +69,3 @@ # irc.colors.js | ||
ircbot.on('message', function(from, message) { | ||
ircbot.on('message', (from, message) => { | ||
console.log(c.stripColorsAndStyle(message)); | ||
@@ -72,0 +72,0 @@ }); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8189
155