47 lines
1.6 KiB
JavaScript
47 lines
1.6 KiB
JavaScript
module['exports'] = function runTheTrap(text, options) {
|
|
var result = '';
|
|
text = text || 'Run the trap, drop the bass';
|
|
text = text.split('');
|
|
var trap = {
|
|
a: ['\u0040', '\u0104', '\u023a', '\u0245', '\u0394', '\u039b', '\u0414'],
|
|
b: ['\u00df', '\u0181', '\u0243', '\u026e', '\u03b2', '\u0e3f'],
|
|
c: ['\u00a9', '\u023b', '\u03fe'],
|
|
d: ['\u00d0', '\u018a', '\u0500', '\u0501', '\u0502', '\u0503'],
|
|
e: ['\u00cb', '\u0115', '\u018e', '\u0258', '\u03a3', '\u03be', '\u04bc',
|
|
'\u0a6c'],
|
|
f: ['\u04fa'],
|
|
g: ['\u0262'],
|
|
h: ['\u0126', '\u0195', '\u04a2', '\u04ba', '\u04c7', '\u050a'],
|
|
i: ['\u0f0f'],
|
|
j: ['\u0134'],
|
|
k: ['\u0138', '\u04a0', '\u04c3', '\u051e'],
|
|
l: ['\u0139'],
|
|
m: ['\u028d', '\u04cd', '\u04ce', '\u0520', '\u0521', '\u0d69'],
|
|
n: ['\u00d1', '\u014b', '\u019d', '\u0376', '\u03a0', '\u048a'],
|
|
o: ['\u00d8', '\u00f5', '\u00f8', '\u01fe', '\u0298', '\u047a', '\u05dd',
|
|
'\u06dd', '\u0e4f'],
|
|
p: ['\u01f7', '\u048e'],
|
|
q: ['\u09cd'],
|
|
r: ['\u00ae', '\u01a6', '\u0210', '\u024c', '\u0280', '\u042f'],
|
|
s: ['\u00a7', '\u03de', '\u03df', '\u03e8'],
|
|
t: ['\u0141', '\u0166', '\u0373'],
|
|
u: ['\u01b1', '\u054d'],
|
|
v: ['\u05d8'],
|
|
w: ['\u0428', '\u0460', '\u047c', '\u0d70'],
|
|
x: ['\u04b2', '\u04fe', '\u04fc', '\u04fd'],
|
|
y: ['\u00a5', '\u04b0', '\u04cb'],
|
|
z: ['\u01b5', '\u0240'],
|
|
};
|
|
text.forEach(function(c) {
|
|
c = c.toLowerCase();
|
|
var chars = trap[c] || [' '];
|
|
var rand = Math.floor(Math.random() * chars.length);
|
|
if (typeof trap[c] !== 'undefined') {
|
|
result += trap[c][rand];
|
|
} else {
|
|
result += c;
|
|
}
|
|
});
|
|
return result;
|
|
};
|