diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 62 |
1 files changed, 34 insertions, 28 deletions
@@ -2,10 +2,10 @@ > Small, functional event emitter / pubsub. -- **Small:** less than 300 bytes gzipped -- **Familiar:** similar names & ideas as [Node's EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) -- **Functional:** methods don't rely on `this`, unless you want to... -- **No dependency:** Nitt has no external dependencies +- **Small:** less than 300 bytes gzipped +- **Familiar:** similar names (on, off, once, emit) & ideas as [Node's EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) +- **Functional:** methods don't rely on `this`, unless you want to... +- **No dependency:** Nitt has no external dependencies ## Table of Contents @@ -35,43 +35,45 @@ $ npm install --save nitt ## Usage ```js -import nitt from 'nitt' +import nitt from 'nitt'; -const emitter = nitt() +const emitter = nitt(); // listen to an event -emitter.on('foo', e => console.log('foo', e) ) +emitter.on('foo', e => console.log('foo', e)); // listen to all events -emitter.on('*', (type, e) => console.log(type, e) ) +emitter.on('*', (type, e) => console.log(type, e)); + +// listen to a single event +emitter.once('foo', e => console.log('foo', e)); // fire an event -emitter.emit('foo', { a: 'b' }) +emitter.emit('foo', { a: 'b' }); // working with handler references: function onFoo() {} -emitter.on('foo', onFoo) // listen -emitter.off('foo', onFoo) // unlisten -emitter.once('foo', onFoo) // listen for a single event +emitter.on('foo', onFoo); // listen +emitter.off('foo', onFoo); // unlisten +emitter.once('foo', onFoo); // listen to a single event -const promise = emitter.when('bar') -promise.then(evt => { console.log(evt) }); +// using a promise +const promise = emitter.when('bar'); +promise.then(evt => console.log(evt)); emitter.emit('bar', 'done'); // prints 'done' in the console ``` ## API -<!-- Generated by documentation.js. Update this documentation by updating the source code. --> - ### nitt Nitt: Small (<300B) functional event emitter / pubsub. **Parameters** -- `all` **EventHandlerMap** +- `all` **EventHandlerMap** -Returns **Nitt** +Returns **Nitt** ### on @@ -79,8 +81,8 @@ Register an event handler for the given type. **Parameters** -- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of event to listen for, or `"*"` for all events -- `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Function to call in response to given event +- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of event to listen for, or `"*"` for all events +- `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Function to call in response to given event ### once @@ -88,8 +90,8 @@ Register an event handler that is executed just once. **Parameters** -- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of event to listen for, or `"*"` for all events -- `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Function to call in response to given event +- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of event to listen for, or `"*"` for all events +- `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Function to call in response to given event ### when @@ -97,9 +99,9 @@ Returns a promise for a single event **Parameters** -- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of event to listen for, or `"*"` for all events +- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of event to listen for, or `"*"` for all events -Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)** +Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)** ### off @@ -107,8 +109,8 @@ Remove an event handler for the given type. **Parameters** -- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of event to unregister `handler` from, or `"*"` -- `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Handler function to remove +- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Type of event to unregister `handler` from, or `"*"` +- `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Handler function to remove ### emit @@ -117,8 +119,12 @@ If present, `"*"` handlers are invoked after type-matched handlers. **Parameters** -- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** The event type to invoke -- `evt` **Any?** Any value (object is recommended and powerful), passed to each handler +- `type` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** The event type to invoke +- `evt` **Any?** Any value (object is recommended and powerful), passed to each handler + +## Caveats + +Keep in mind, due to the nature, of the once handlers that self deregister, you are currently not able to remove (off) a once / when handlers. ## Contribute |
