3 Yet Another [EventTarget](https://developer.mozilla.org/es/docs/Web/API/EventTarget) Implementation.
5 The library exposes both the [EventTarget](https://developer.mozilla.org/es/docs/Web/API/EventTarget) interface and the [Event](https://developer.mozilla.org/en-US/docs/Web/API/Event) interface.
11 $ npm install yaeti --save
18 var yaeti = require('yaeti');
21 // Custom class we want to make an EventTarget.
23 // Make Foo an EventTarget.
24 yaeti.EventTarget.call(this);
27 // Create an instance.
30 function listener1() {
31 console.log('listener1');
34 function listener2() {
35 console.log('listener2');
38 foo.addEventListener('bar', listener1);
39 foo.addEventListener('bar', listener2);
40 foo.removeEventListener('bar', listener1);
42 var event = new yaeti.Event('bar');
44 foo.dispatchEvent(event);
56 #### `yaeti.EventTarget` interface
58 Implementation of the [EventTarget](https://developer.mozilla.org/es/docs/Web/API/EventTarget) interface.
60 * Make a custom class inherit from `EventTarget`:
63 yaeti.EventTarget.call(this);
67 * Make an existing object an `EventTarget`:
69 yaeti.EventTarget.call(obj);
72 The interface implements the `addEventListener`, `removeEventListener` and `dispatchEvent` methods as defined by the W3C.
75 ##### `listeners` read-only property
77 Returns an object whose keys are configured event types (String) and whose values are an array of listeners (functions) for those event types.
80 #### `yaeti.Event` interface
82 Implementation of the [Event](https://developer.mozilla.org/en-US/docs/Web/API/Event) interface.
84 *NOTE:* Just useful in Node (the browser already exposes the native `Event` interface).
87 var event = new yaeti.Event('bar');
93 [IƱaki Baz Castillo](https://github.com/ibc)