# ptero

> [![npm](https://img.shields.io/npm/v/ptero.svg?maxAge=2592000&style=shield)](https://www.npmjs.org/package/ptero) [![Build Status](https://travis-ci.org/emoji-gen/ptero.svg?branch=master)](https://travis-ci.org/emoji-gen/ptero) [![dependencies Status](htt

Latest version **0.2.4** (published 2019-07-21) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install ptero
pnpm add ptero
yarn add ptero
bun add ptero
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.2.4 |
| Published | 2019-07-21 |
| First published | 2017-01-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 6.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 9 |
| Author | Pine Mizune |
| Maintainers | pine613 |

## Links

- npm: https://www.npmjs.com/package/ptero
- Repository: https://github.com/emoji-gen/ptero
- Issues: https://github.com/emoji-gen/ptero/issues
- npm.io page: https://npm.io/package/ptero

## Recent versions

- 0.2.4 (latest) — 2019-07-21
- 0.2.3 — 2018-02-18
- 0.2.2 — 2017-01-31
- 0.2.1 — 2017-01-30
- 0.2.0 — 2017-01-30
- 0.1.1 — 2017-01-30
- 0.1.0 — 2017-01-30

## README

## ptero
[![npm](https://img.shields.io/npm/v/ptero.svg?maxAge=2592000&style=shield)](https://www.npmjs.org/package/ptero)
[![Build Status](https://travis-ci.org/emoji-gen/ptero.svg?branch=master)](https://travis-ci.org/emoji-gen/ptero)
[![dependencies Status](https://david-dm.org/emoji-gen/ptero/status.svg)](https://david-dm.org/emoji-gen/ptero)
[![devDependencies Status](https://david-dm.org/emoji-gen/ptero/dev-status.svg)](https://david-dm.org/emoji-gen/ptero?type=dev)
[![Greenkeeper badge](https://badges.greenkeeper.io/emoji-gen/ptero.svg)](https://greenkeeper.io/)

:deciduous_tree: Simple CustomEvent listener and emitter

## Getting started

```bash
$ npm install ptero --save # for npm users
$ yarn add ptero           # for yarn users
```

```js
const {Ptero} = require('ptero')
const ptero = new Ptero()

ptero.on('eventname', e => {
    console.log(e.detail) // => { foo: 1 }
})

ptero.emit('eventname', { foo: 1 })
```

## References
### `new Ptero(target)`
Create new `Ptero` instance.

```js
// Default target is `window`
const ptero = new Ptero()
```

```js
// Set `document.body` for an event target
const ptero = new Ptero(document.body)
```

### `ptero.addListener(event, listener)`
Listen a single custom event.

```js
ptero.addListener('eventname', e => {
    console.log(e.detail)
})
```

### `ptero.on(event, listener)`
Listen a single custom event or multi custom events.

```js
ptero.on('eventname', e => {
    console.log(e.detail)
})

ptero.on(['eventname1', 'eventname2'], e => {
    console.log(e.detail)
})
```

### `ptero.removeListener(event, listener)`
Stop listening a single custom event.

```js
const listener = e => {
    console.log(e.detail)
}

ptero.addListener('eventname', listener)
ptero.removeListener('eventname', listener)
```

### `ptero.off(event, listener)`
Stop listening a single custom event or multi custom events.

```js
const listener = e => {
    console.log(e.detail)
}

ptero.on('eventname1', listener)
ptero.on(['eventname2', 'eventname3'], listener)

ptero.off('eventname1', listener)
ptero.off(['eventname2', 'eventname3'], listener)
```

### `ptero.emit(event, detail)`
Dispatch a single custom event.

```js
ptero.emit('eventname', { foo: 1 })
```

## Development

```bash
$ yarn start     # for development
$ yarn run build # for production
$ yarn test      # run tests
```

## License
MIT &copy; [Emoji Generator](https://emoji-gen.ninja/)

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