Skip to content

axtk/evtm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm browser node TypeScript

evtm

A lightweight zero-dependency event manager with flexible event type matching

Usage

Initialization:

import {EventManager} from 'evtm';

let eventManager = new EventManager();

Adding a handler of a specific event type:

eventManager.addListener('task started', event => {
    console.log(event);
});

Of all events matching the pattern:

eventManager.addListener(/^task\s/, event => {
    console.log(event);
});

With captured parameters:

eventManager.addListener(/^(\S+)\s(?<status>.*)$/, event => {
    console.log(event.params[0], event.params.status);
});

Adding a handler of all events dispatched to the eventManager instance:

let listener = eventManager.addListener('*', event => {
    console.log(event);
});

Dispatching an event of a specific type and properties:

eventManager.dispatch('task started', {x: 42});

Removing a previously declared listener:

listener.remove();