awv3
Version:
⚡ AWV3 embedded CAD
35 lines (33 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = observeConsole;
function parse(string, restrictions) {
var tokens = string.trim().split(/\s+/);
while (tokens.length !== 0) {
var name = tokens.shift();
var value = Number(tokens.shift());
if (!isFinite(value)) continue;
restrictions[name] = value;
}
}
function observeConsole(consoleElement, handlerThunk, useNewConsole) {
consoleElement.observe(function (state) {
return state.lastEvent;
}, function (event) {
if (!useNewConsole()) return;
if (event.key === 'Enter') {
var value = event.target.value;
var handler = handlerThunk();
parse(value, handler.restrictions);
consoleElement.value = "";
}
});
consoleElement.observe(function (state) {
return state.value;
}, function (value) {
if (!useNewConsole()) return;
if (value) consoleElement.children = [value];else consoleElement.children = ['x', 'y', 'l', 'a', 'r', 'cw'];
});
}