Skip to content

A light library for creating custom event, dispatch and listen in typescript

License

Notifications You must be signed in to change notification settings

ValeeraJS/EventFirer

Repository files navigation

EventFirer

A light library for creating custom events.

Install

npm i @valeera/eventfirer

or

yarn add @valeera/eventfirer

Basic usage

<script src="EventFirer.js"></script>
<script>

    class Car extends EventFirer {
        start = () => {
            this.fire('car-a', {message: 'aaa'});
            this.fire('car-b', {message: 'bbb'});
            this.fire('car-c', {message: 'ccc'});
            this.fire('bus-1', {message: '111'});
            this.fire('bus-2', {message: '222'});
        };
    }

    const car = new Car();

    car.on('car-a', function (event) {
        console.log("on: ", event.target.message)
    }).filt((type) => {
        return type.indexOf('car') > -1;
    }, (event) => {
        console.log('filt: ', event.target.message);
    }).all((event) => {
        console.log('all: ', event.target.message);
    });

    car.start();

</script>

In broswer console, you could see:

on:  aaa
filt:  aaa
all:  aaa
filt:  bbb
all:  bbb
filt:  ccc
all:  ccc
all:  111
all:  222

About

A light library for creating custom event, dispatch and listen in typescript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published