event-matchers
v1.1.0 functional composable events callbacks vanilla javascript
Event Matchers
Composable functions for handling event callbacks in Vanilla JS. Build complex event handlers by composing simple event matchers. Separate event handling logic from the behavior logic that the event triggers.
Example
import { all, any, delegate, keycode } from 'event-matchers';
const up = keycode('ArrowUp');
const down = keycode('ArrowDown');
const left = keycode('ArrowLeft');
const right = keycode('ArrowRight');
const matcher = all(
any(up, down, left, right),
delegate('.controls')
);
document.addEventListener('keydown', matcher(function(e) {
// Only triggered when arrow keys occur on the .controls element
}));