JSFiddle - React, Tailwind, and code Playground
JavaScript
var _templateObject = _taggedTemplateLiteral([''], ['']),
_templateObject2 = _taggedTemplateLiteral(['\n'], ['\n']);
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }
function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var F = function (m) {
return m.replace(/\D(\d+)/g, function (d, z) {
for (d = '^<v>'.indexOf(d[0]); z--; r = [].concat(_toConsumableArray(r)), r[x] = '*', p[y] = r.join(_templateObject)) for (d & 1 ? x += d - 2 : y += d - 1, p = ~x ? ~y ? p : [y = 0].concat(_toConsumableArray(p)) : p.map(function (r) {
return ' ' + r;
}, x = 0), r = p[y] || ''; !r[x];) r += ' ';
}, x = y = 0, p = ['*']) && p.join(_templateObject2);
};
document.write('<pre>'+F('^2v2>3<3v3>4^5v5>3^5>4v2<4v3>4^3v3>3^5>4v2<4v3>7^5>4v2<4v3>9^3<2^2v2>4^2v2<2v3>8^5>2v4>2^4v5<3>6^5>5<5v2>5<5v2>5<4v1>8^3<1^2v2>1v2>2^3v3>2^2>1^2v2<1v3<3>11^3<2^2v2>4^2v2<2v3>5^5>5<5v2>5<5v2>5<4v1>7^5>4v2<4v3>4^3v3>3^5>4v2<3v1<1v2>3^1>1v1')+'</pre>');