JSFiddle - React, Tailwind, and code Playground
HTML
<textarea id="log" rows="25"></textarea>
CSS
#log {
width: 100%;
}
JavaScript
"use strict";
function rewriteGoTo(func) {
var code = '(';
code += func.toString()
.replace(/^\s*(\w+)\s*:/gm, 'case "$1":')
.replace('{', '{ var $_label = ""; function goTo(label) { $_label = label; throw goTo; } while(true) try { { switch($_label) { case "": ');
code += '} return; } catch($_e) { if($_e !== goTo) throw $_e; } })';
return code;
}
jQuery(function($) {
function print(text) {
$('#log').append(Array.prototype.join.call(arguments, ' ') + '\n');
}
var test = eval(rewriteGoTo(function(before) {
var i = 1;
again: print(before + i);
i = i + 1;
if(i <= 10) goTo('again');
}));
print('### Generated code as decompiled by browser');
print(test);
print('');
print('### Output');
test('Hello world ', '\n');
});