# adcirc-events

> A lightweight event dispatcher.

Latest version **1.0.10** (published 2017-05-23) · BSD-3-Clause license · 0 weekly downloads

## Install

```sh
npm install adcirc-events
pnpm add adcirc-events
yarn add adcirc-events
bun add adcirc-events
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.10 |
| Published | 2017-05-23 |
| First published | 2017-05-16 |
| Weekly downloads | 0 |
| License | BSD-3-Clause |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Tristan Dyer |
| Maintainers | atdyer |

## Links

- npm: https://www.npmjs.com/package/adcirc-events
- Repository: https://github.com/adcirc-io/adcirc-events
- Issues: https://github.com/adcirc-io/adcirc-events/issues
- npm.io page: https://npm.io/package/adcirc-events

## Recent versions

- 1.0.10 (latest) — 2017-05-23
- 1.0.9 — 2017-05-23
- 1.0.8 — 2017-05-22
- 1.0.7 — 2017-05-22
- 1.0.6 — 2017-05-17
- 1.0.5 — 2017-05-17
- 1.0.4 — 2017-05-17
- 1.0.3 — 2017-05-17
- 1.0.2 — 2017-05-17
- 1.0.1 — 2017-05-17
- 1.0.0 — 2017-05-16

## README

# adcirc-events

A lightweight event dispatcher.

## Usage

```javascript
// Create a dispatcher object
var car = adcirc.dispatcher();

// Define a function that will start the car
car.start = function () {
    // Let everyone know we've started the car
    car.dispatch({
        type: 'start',
        message: 'vroom vroom!'
    });
}

// When the car starts, we're going to pop up an alert message
car.on( 'start', function ( event ) {
    alert( event.message );
});

// Start the car
car.start();

```

## API Reference

The adcirc-events module provides a single function, `dispatcher`, which can either return a new dispatcher object or apply the dispatcher functionality to an existing object or function.

### Dispatcher

<a name="adcirc-dispatcher" href="#adcirc-dispatcher">#</a> *adcirc*.**dispatcher**([*object*])

Creates and returns a new dispatcher object if *object* is not provided. If *object* is provided, applies the dispatcher API to that object and returns it.

Returns the dispatcher object.

<a name="dispatcher-on" href="#dispatcher-on">#</a> *dispatcher*.**on**(*type*, *listener*)

Adds an event listener of type *type* to the dispatcher. Every time the dispatcher fires the *type* event, the *listener* callback will be called, passing the event object to that callback.

Returns the dispatcher object.

<a name="dispatcher-once" href="#dispatcher-once">#</a> *dispatcher*.**once**(*type*, *listener*)

Adds and event listener of type *type* to the dispatcher. The next time that the dispatcher fires the *type* event, the *listener* callback will be called, passing the event object to that callback. The *listener* callback is called only once and is removed from the dispatcher.

Returns the dispatcher object.

<a name="dispatcher-off" href="#dispatcher-off">#</a> *dispatcher*.**off**(*type*, *listener*)

Removes the event listener of type *type* that is associated with the callback *listener*. Will not remove event listeners of the same type that are associated with different callbacks.

Returns the dispatcher object.

<a name="dispatcher-dispatch" href="#dispatcher-dispatch">#</a> *dispatcher*.**dispatch**(*event*)

Fires the event *event*. If the *event* object has a *target* field corresponding to any event listeners contained by the dispatcher, those listeners will fire their callbacks, passing *event* as an argument.

Any event listeners added using <a href="#dispatcher-once">*dispatcher*.**once**</a> that were of type *target* will be removed from the dispatcher.

Returns the dispatcher object.

---
_Source: https://npm.io/package/adcirc-events · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
