JSFiddle - React, Tailwind, and code Playground
by oceog
HTML
Команда
<input id="command" type="text" />
<br>
<div id="output"></div>
CSS
.error {
background: red;
}
JavaScript
var commands = {
test: "просто тест",
random_money: function (min, max) {
min = min === undefined ? 0 : parseInt(min,10);
max = max === undefined ? min+1000 : parseInt(max,10);
if (max <= min) {
return {
error: 'max должен быть больше min'
};
}
var ret = {
result: parseInt(Math.random() * (max - min), 10) + min
};
return ret;
}
};
var output = document.getElementById('output');
document.getElementById('command').addEventListener('input', function (e) {
var cmdline = this.value.trim().split(/\s+/),
cmd = cmdline.shift();
if (commands[cmd] === undefined) {
return error('такой команды нет');
}
if (typeof commands[cmd] != "function") {
return (output.innerHTML = commands[cmd]);
}
var result = commands[cmd].apply(this, cmdline);
if (result.error) {
return error(result.error);
}
output.innerHTML = result.result;
});
function error(text) {
output.innerHTML = "<div class='error'>" + text + "</div>";
}