https://github.com/zero-dependency/emitter
✍️ Event Emitter
https://github.com/zero-dependency/emitter
emitter event-emitter events javascript package typescript zero-dependency
Last synced: about 1 year ago
JSON representation
✍️ Event Emitter
- Host: GitHub
- URL: https://github.com/zero-dependency/emitter
- Owner: zero-dependency
- License: mit
- Created: 2022-10-08T09:28:46.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-09T06:47:00.000Z (about 2 years ago)
- Last Synced: 2025-01-27T04:18:30.365Z (about 1 year ago)
- Topics: emitter, event-emitter, events, javascript, package, typescript, zero-dependency
- Language: TypeScript
- Homepage:
- Size: 67.4 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @zero-dependency/emitter
[](https://npm.im/@zero-dependency/emitter)
[](https://bundlephobia.com/package/@zero-dependency/emitter@latest)

## Installation
```sh
npm install @zero-dependency/emitter
```
```sh
yarn add @zero-dependency/emitter
```
```sh
pnpm add @zero-dependency/emitter
```
## Usage
```ts
import { Emitter } from '@zero-dependency/emitter'
type Events = {
message: (msg: string) => void
}
const events = new Emitter()
function onMessage(msg: string): void {}
// Adds the listener function for the event named message.
events.on('message', onMessage)
// Adds a one-time listener function for the event named message.
// The next time message is triggered, this listener is removed and then invoked.
events.once('message', onMessage)
// Synchronously calls each of the listeners registered for the event named message,
// in the order they were registered, passing the supplied arguments to each.
// Returns true if the event had listeners, false otherwise.
events.emit('message', 'hello world')
// Removes the specified listener from the listener array for the event named message.
events.off('message', onMessage)
// Removes all listeners, or those of the specified message.
events.removeAllListeners('message')
// Removes all listeners for events.
events.removeAllListeners()
// Returns an array listing the events for which the emitter has registered listeners.
// The values in the array are strings or Symbols.
events.eventNames()
// Returns an array of listeners for an event named message.
events.listeners('message')
// Returns the number of listeners listening to the event named message.
events.listenerCount('message')
```