@robotical/sensors-dashboard
Version:
A dashboard tool for depicting Marty data by Robotical
31 lines (29 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getRuleOptions = void 0;
require("core-js/modules/web.dom-collections.iterator.js");
require("core-js/modules/esnext.iterator.constructor.js");
require("core-js/modules/esnext.iterator.for-each.js");
var _startEndRules = require("../constants/start-end-rules");
var _spacebarStartRule = require("./key-press-rules/spacebar-start-rule");
var _qEndRule = require("./key-press-rules/q-end-rule");
/**
* @elems whoAmI, addonInputName, ruleStr, ruleFunc
*/
const getRuleOptions = (addons, rule) => {
const options = [["default", "default", rule === "start" ? "Start is pressed" : "Pause is pressed", val => rule === "start"], rule === "start" ? ["default", "spacebar", "Spacebar is pressed", val => (0, _spacebarStartRule.spacebarIsPressedRule)(val), () => (0, _spacebarStartRule.spacebarRuleCleanup)()] : ["default", "q", "Q is pressed", val => (0, _qEndRule.qIsPressedRule)(val), () => (0, _qEndRule.qRuleCleanup)()]];
for (const addon of addons) {
for (const addonInput of addon.addonInputs) {
if (addonInput.selected) {
const specificOptionsForThatAddonInput = (0, _startEndRules.get_OPTIONS_BY_WHOAMI_AND_NAME)(rule, addon.whoAmI, addonInput.name);
specificOptionsForThatAddonInput.forEach(opt => {
options.push([addon.whoAmI, addonInput.name, opt.ruleStr, opt.ruleFunc]);
});
}
}
}
return options;
};
exports.getRuleOptions = getRuleOptions;