| 
									
										
										
										
											2018-04-30 14:59:34 -07:00
										 |  |  | module['exports'] = function runTheTrap(text, options) { | 
					
						
							|  |  |  |   var result = ''; | 
					
						
							|  |  |  |   text = text || 'Run the trap, drop the bass'; | 
					
						
							| 
									
										
										
										
											2014-09-30 22:41:24 +02:00
										 |  |  |   text = text.split(''); | 
					
						
							|  |  |  |   var trap = { | 
					
						
							| 
									
										
										
										
											2018-04-30 14:59:34 -07:00
										 |  |  |     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) { | 
					
						
							| 
									
										
										
										
											2014-09-30 22:41:24 +02:00
										 |  |  |     c = c.toLowerCase(); | 
					
						
							| 
									
										
										
										
											2018-04-30 14:59:34 -07:00
										 |  |  |     var chars = trap[c] || [' ']; | 
					
						
							| 
									
										
										
										
											2014-09-30 22:41:24 +02:00
										 |  |  |     var rand = Math.floor(Math.random() * chars.length); | 
					
						
							| 
									
										
										
										
											2018-04-30 14:59:34 -07:00
										 |  |  |     if (typeof trap[c] !== 'undefined') { | 
					
						
							| 
									
										
										
										
											2014-09-30 22:41:24 +02:00
										 |  |  |       result += trap[c][rand]; | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |       result += c; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  |   return result; | 
					
						
							| 
									
										
										
										
											2018-04-30 14:59:34 -07:00
										 |  |  | }; |