@launchmenu/core
Version:
An environment for visual keyboard controlled applets
25 lines • 1.8 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.isActionBindingFor = void 0;
/**
* Checks whether a binding is (directly or indirectly) for a given action
* @param action The action to find bindings for
* @param binding The binding to check
* @returns Whether a binding was found
*/
function isActionBindingFor(action, binding) {
if (!(binding instanceof Array))
binding = [binding];
// Collect all actions
const actions = new Set();
binding.forEach(({ action }) => {
actions.add(action);
});
// Find all ancestors
for (let action of actions)
action.parents.forEach(parent => actions.add(parent));
// Check whether the action is present in the set
return actions.has(action);
}
exports.isActionBindingFor = isActionBindingFor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNBY3Rpb25CaW5kaW5nRm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FjdGlvbnMvdXRpbHMvaXNBY3Rpb25CaW5kaW5nRm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBOzs7OztHQUtHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQzlCLE1BQWUsRUFDZixPQUEwQztJQUUxQyxJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksS0FBSyxDQUFDO1FBQUUsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckQsc0JBQXNCO0lBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFXLENBQUM7SUFDbkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRTtRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBRUgscUJBQXFCO0lBQ3JCLEtBQUssSUFBSSxNQUFNLElBQUksT0FBTztRQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRWxGLGlEQUFpRDtJQUNqRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQWpCRCxnREFpQkMifQ==
;