# eeemitter

> yet another js event emitter

Latest version **0.0.7** (published 2023-08-18) · 0 weekly downloads

## Install

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

## Health

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

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.7 |
| Published | 2023-08-18 |
| First published | 2023-08-18 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 61.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Greg Schrammel |
| Maintainers | ___gregs |

## Links

- npm: https://www.npmjs.com/package/eeemitter
- Repository: https://github.com/greg-schrammel/eeemitter
- Homepage: https://github.com/greg-schrammel/eeemitter#readme
- Issues: https://github.com/greg-schrammel/eeemitter/issues
- npm.io page: https://npm.io/package/eeemitter

## Recent versions

- 0.0.7 (latest) — 2023-08-18
- 0.0.6 — 2023-08-18

## README

## eeemitter

yet another js event emitter

- ✅ Super simple and small
- 🥳 Typesafe
- 📦 Zero deps

```sh
npm install eeemitter

yarn add eeemitter

pnpm add eeemitter
```

### Usage

```ts
import { createEventEmitter } from 'eeemitter'

type MyEvents = { type: 'foo'; payload: string } | { type: 'bar'; payload: { foo: 'lalala' } }

const events = createEventEmitter<MyEvents>()

// register listener
const unsubscribe = events.on('bar', (payload) => {
  // payload type infered from event type
  payload.foo
})

// emit event, typesafe, autocompleted, payload is string...
events.emit('foo', 'bar')

// once: auto unsubscribes after first execution
events.once('foo', (s) => s)

// remove listeners by event type
event.remove('bar')

// clear all listeners
event.clear()
```

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