Skip to content

Commit 817e84a

Browse files
author
root
committed
modernise code
1 parent 0675d23 commit 817e84a

File tree

1 file changed

+69
-88
lines changed

1 file changed

+69
-88
lines changed

index.js

Lines changed: 69 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,130 +1,111 @@
11

2-
var obfuscators = [];
3-
var styleMap = {
4-
'§4': 'font-weight:normal;text-decoration:none;color:#be0000',
5-
'§c': 'font-weight:normal;text-decoration:none;color:#fe3f3f',
6-
'§6': 'font-weight:normal;text-decoration:none;color:#d9a334',
7-
'§e': 'font-weight:normal;text-decoration:none;color:#fefe3f',
8-
'§2': 'font-weight:normal;text-decoration:none;color:#00be00',
9-
'§a': 'font-weight:normal;text-decoration:none;color:#3ffe3f',
10-
'§b': 'font-weight:normal;text-decoration:none;color:#3ffefe',
11-
'§3': 'font-weight:normal;text-decoration:none;color:#00bebe',
12-
'§1': 'font-weight:normal;text-decoration:none;color:#0000be',
13-
'§9': 'font-weight:normal;text-decoration:none;color:#3f3ffe',
14-
'§d': 'font-weight:normal;text-decoration:none;color:#fe3ffe',
15-
'§5': 'font-weight:normal;text-decoration:none;color:#be00be',
16-
'§f': 'font-weight:normal;text-decoration:none;color:#ffffff',
17-
'§7': 'font-weight:normal;text-decoration:none;color:#bebebe',
18-
'§8': 'font-weight:normal;text-decoration:none;color:#3f3f3f',
19-
'§0': 'font-weight:normal;text-decoration:none;color:#000000',
20-
'§l': 'font-weight:bold',
21-
'§n': 'text-decoration:underline;text-decoration-skip:spaces',
22-
'§o': 'font-style:italic',
23-
'§m': 'text-decoration:line-through;text-decoration-skip:spaces',
2+
let obfuscators = [];
3+
const styleMap = {
4+
"§4": "font-weight:normal;text-decoration:none;color:#be0000",
5+
"§c": "font-weight:normal;text-decoration:none;color:#fe3f3f",
6+
"§6": "font-weight:normal;text-decoration:none;color:#d9a334",
7+
"§e": "font-weight:normal;text-decoration:none;color:#fefe3f",
8+
"§2": "font-weight:normal;text-decoration:none;color:#00be00",
9+
"§a": "font-weight:normal;text-decoration:none;color:#3ffe3f",
10+
"§b": "font-weight:normal;text-decoration:none;color:#3ffefe",
11+
"§3": "font-weight:normal;text-decoration:none;color:#00bebe",
12+
"§1": "font-weight:normal;text-decoration:none;color:#0000be",
13+
"§9": "font-weight:normal;text-decoration:none;color:#3f3ffe",
14+
"§d": "font-weight:normal;text-decoration:none;color:#fe3ffe",
15+
"§5": "font-weight:normal;text-decoration:none;color:#be00be",
16+
"§f": "font-weight:normal;text-decoration:none;color:#ffffff",
17+
"§7": "font-weight:normal;text-decoration:none;color:#bebebe",
18+
"§8": "font-weight:normal;text-decoration:none;color:#3f3f3f",
19+
"§0": "font-weight:normal;text-decoration:none;color:#000000",
20+
"§l": "font-weight:bold",
21+
"§n": "text-decoration:underline;text-decoration-skip:spaces",
22+
"§o": "font-style:italic",
23+
"§m": "text-decoration:line-through;text-decoration-skip:spaces",
2424
};
25+
2526
function obfuscate(string, elem) {
26-
var magicSpan,
27-
currNode,
28-
len = elem.childNodes.length;
29-
if(string.indexOf('<br>') > -1) {
27+
if (string.includes("<br>")) {
3028
elem.innerHTML = string;
31-
for(var j = 0; j < len; j++) {
32-
currNode = elem.childNodes[j];
33-
if(currNode.nodeType === 3) {
34-
magicSpan = document.createElement('span');
35-
magicSpan.innerHTML = currNode.nodeValue;
36-
elem.replaceChild(magicSpan, currNode);
37-
init(magicSpan);
38-
}
29+
for (let currNode of elem.childNodes) if (currNode.nodeType === 3) {
30+
let magicSpan = document.createElement("span");
31+
magicSpan.innerHTML = currNode.nodeValue;
32+
elem.replaceChild(magicSpan, currNode);
33+
init(magicSpan);
3934
}
40-
} else {
41-
init(elem, string);
4235
}
36+
else init(elem, string);
4337
function init(el, str) {
44-
var i = 0,
45-
obsStr = str || el.innerHTML,
46-
len = obsStr.length;
47-
obfuscators.push( window.setInterval(function () {
48-
if(i >= len) i = 0;
38+
let i = 0,
39+
obsStr = str || el.innerHTML;
40+
obfuscators.push(window.setInterval(function () {
41+
if (i >= obsStr.length) i = 0;
4942
obsStr = replaceRand(obsStr, i);
5043
el.innerHTML = obsStr;
51-
i++;
52-
}, 0) );
53-
}
54-
function randInt(min, max) {
55-
return Math.floor( Math.random() * (max - min + 1) ) + min;
44+
++i;
45+
}, 0));
5646
}
5747
function replaceRand(string, i) {
58-
var randChar = String.fromCharCode( randInt(64,90) ); /*Numbers: 48-57 Al:64-90*/
48+
let randChar = String.fromCharCode(Math.floor(Math.random() * (27)) + 64);
5949
return string.substr(0, i) + randChar + string.substr(i + 1, string.length);
6050
}
6151
}
52+
6253
function applyCode(string, codes) {
63-
var len = codes.length;
64-
var elem = document.createElement('span'),
54+
let elem = document.createElement("span"),
6555
obfuscated = false;
66-
for(var i = 0; i < len; i++) {
67-
elem.style.cssText += styleMap[codes[i]] + ';';
68-
if(codes[i] === '§k') {
56+
for (let code of codes) {
57+
elem.style.cssText += styleMap[code] + ";";
58+
if (code === "§k") {
6959
obfuscate(string, elem);
7060
obfuscated = true;
7161
}
7262
}
73-
if(!obfuscated) elem.innerHTML = string;
63+
if (!obfuscated) elem.innerHTML = string;
7464
return elem;
7565
}
66+
7667
function parseStyle(string) {
77-
var codes = string.match(/§.{1}/g) || [],
78-
indexes = [],
68+
let codes = string.match(/§.{1}/g) || [],
69+
indices = [],
7970
apply = [],
8071
tmpStr,
8172
indexDelta,
8273
noCode,
83-
final = document.createDocumentFragment(),
84-
len = codes.length,
85-
string = string.replace(/\n|\\n/g, '<br>');
74+
final = document.createDocumentFragment();
75+
string = string.replace(/\n|\\n/g, "<br>");
8676

87-
for(var i = 0; i < len; i++) {
88-
indexes.push( string.indexOf(codes[i]) );
89-
string = string.replace(codes[i], '\x00\x00');
90-
}
91-
if(indexes[0] !== 0) {
92-
final.appendChild( applyCode( string.substring(0, indexes[0]), [] ) );
77+
for (let code of codes) {
78+
indices.push(string.indexOf(code));
79+
string = string.replace(code, "\x00\x00");
9380
}
94-
for(var i = 0; i < len; i++) {
95-
indexDelta = indexes[i + 1] - indexes[i];
96-
if(indexDelta === 2) {
97-
while(indexDelta === 2) {
98-
apply.push ( codes[i] );
99-
i++;
100-
indexDelta = indexes[i + 1] - indexes[i];
81+
82+
if (indices[0] !== 0) final.appendChild(applyCode(string.substring(0, indices[0]), []));
83+
84+
for (let i in codes) {
85+
indexDelta = indices[i + 1] - indices[i];
86+
if (indexDelta === 2) {
87+
while (indexDelta === 2) {
88+
apply.push(codes[i]);
89+
++i;
90+
indexDelta = indices[i + 1] - indices[i];
10191
}
102-
apply.push ( codes[i] );
103-
} else {
104-
apply.push( codes[i] );
105-
}
106-
if( apply.lastIndexOf('§r') > -1) {
107-
apply = apply.slice( apply.lastIndexOf('§r') + 1 );
92+
apply.push(codes[i]);
10893
}
109-
tmpStr = string.substring( indexes[i], indexes[i + 1] );
94+
else apply.push(codes[i]);
95+
if (apply.lastIndexOf("§r") > -1) apply = apply.slice( apply.lastIndexOf("§r") + 1 );
96+
tmpStr = string.substring( indices[i], indices[i + 1] );
11097
final.appendChild( applyCode(tmpStr, apply) );
11198
}
11299
return final;
113100
}
101+
114102
function clearObfuscators() {
115-
var i = obfuscators.length;
116-
for(;i--;) {
117-
clearInterval(obfuscators[i]);
118-
}
103+
for (let obfuscator of obfuscators) clearInterval(obfuscator);
119104
obfuscators = [];
120105
}
106+
121107
String.prototype.replaceColorCodes = function() {
122108
clearObfuscators();
123-
var outputString = parseStyle(String(this));
109+
let outputString = parseStyle(String(this));
124110
return outputString;
125111
};
126-
127-
/////////////////////////////////////////////////
128-
function cutString(str, cutStart, cutEnd){
129-
return str.substr(0,cutStart) + str.substr(cutEnd+1);
130-
}

0 commit comments

Comments
 (0)