Skip to content

Latest commit

 

History

History
27 lines (20 loc) · 1.03 KB

README.md

File metadata and controls

27 lines (20 loc) · 1.03 KB

Event Matchers

Build Status NPM Version License

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
}));