Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including evnty with all npm packages installed. Try it out:

const { createEvent, Event, once } = require('evnty'); // Creates a click event const clickEvent = createEvent(); const handleClick = ({ button }) => console.log('Clicked button is', button); const unsubscribeClick = clickEvent.on(handleClick); // Creates a key press event const keyPressEvent = createEvent(); const handleKeyPress = ({ key }) => console.log('Key pressed', key); const unsubscribeKeyPress = keyPressEvent.on(handleKeyPress); // Merges click and key press events into input event const handleInput = (input) => console.log('Input', input);; const inputEvent = Event.merge(clickEvent, keyPressEvent); inputEvent.on(handleInput); // Filters a click event to only include left-click events. const handleLeftClick = () => console.log('Left button is clicked'); const leftClickEvent = clickEvent.filter(({ button }) => button === 'left'); leftClickEvent.on(handleLeftClick); // Will press Enter after one second setTimeout(keyPressEvent, 1000, { key: 'Enter' }); // Waits once the first Enter key press event occurs await once(keyPressEvent.first(({ key }) => key === 'Enter')); keyPressEvent({ key: 'W' }); keyPressEvent({ key: 'A' }); keyPressEvent({ key: 'S' }); keyPressEvent({ key: 'D' }); clickEvent({ button: 'right' }); clickEvent({ button: 'left' }); clickEvent({ button: 'middle' }); // Unsubscribe click listener unsubscribeClick(); // It does not log anything because of click listener is unsubscribed leftClickEvent.off(handleLeftClick); // Unsubscribe key press listener once first Esc key press occur unsubscribeKeyPress.after(() => once(keyPressEvent.first(({ key }) => key === 'Esc'))); // Press Esc to unsubscribe key press listener keyPressEvent({ key: 'Esc' });

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

evnty v2.1.2

0-Deps, simple, fast, for browser and node js reactive anonymous event library

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free