@untemps/event-dispatcher
v1.2.0
Published
Abstract EventDispatcher class
Downloads
5
Maintainers
Readme
@untemps/event-dispatcher
Abstract class that allows to internally dispatch events and attach subscribers to listen for them.
Installation
yarn add @untemps/event-dispatcher
Usage
Import EventDispatcher
:
import { EventDispatcher } from '@untemps/event-dispatcher'
Create a class that extends EventDispatcher
:
class Foo extends EventDispatcher {
constructor() {
super()
}
foo() {
this.dispatchEvent(new Event('foo', { bubbles: false, cancelable: false, composed: false }))
}
}
Each instance can now attach a subscriber to listen for events:
const onFoo = (event) => console.log('foo has be triggered!')
const myFoo = new Foo()
myFoo.addEventListener('foo', onFoo)
And detach it:
myFoo.removeEventListener('foo', onFoo)
All subscriptions for a specific event type can be detached in batches:
const myFoo = new Foo()
myFoo.addEventListener('foo', onFoo1)
myFoo.addEventListener('foo', onFoo2)
myFoo.clearType('somethingDone')
All instance subscriptions can be detached in batches:
const myFoo = new Foo()
myFoo.addEventListener('foo', onFoo)
myFoo.addEventListener('bar', onBar)
myFoo.cleanup()
Todos
- Add examples
- Rewrite with TypeScript