Files
socket.io/packages/socket.io-component-emitter
Damien Arrachequesne b7da542890 chore: normalize repository URLs
In order to address the following warning when publishing:

> npm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run "npm pkg fix" to address these errors.
> npm warn publish errors corrected:
> npm warn publish "repository.url" was normalized to "git+https://github.com/socketio/socket.io.git"
2024-07-11 14:59:00 +02:00
..
2024-07-11 14:59:00 +02:00

@socket.io/component-emitter

Event emitter component.

This project is a fork of the component-emitter project, with Socket.IO-specific TypeScript typings.

Installation

$ npm i @socket.io/component-emitter

API

Emitter(obj)

The Emitter may also be used as a mixin. For example a "plain" object may become an emitter, or you may extend an existing prototype.

As an Emitter instance:

import { Emitter } from '@socket.io/component-emitter';

var emitter = new Emitter;
emitter.emit('something');

As a mixin:

import { Emitter } from '@socket.io/component-emitter';

var user = { name: 'tobi' };
Emitter(user);

user.emit('im a user');

As a prototype mixin:

import { Emitter } from '@socket.io/component-emitter';

Emitter(User.prototype);

Emitter#on(event, fn)

Register an event handler fn.

Emitter#once(event, fn)

Register a single-shot event handler fn, removed immediately after it is invoked the first time.

Emitter#off(event, fn)

  • Pass event and fn to remove a listener.
  • Pass event to remove all listeners on that event.
  • Pass nothing to remove all listeners on all events.

Emitter#emit(event, ...)

Emit an event with variable option args.

Emitter#listeners(event)

Return an array of callbacks, or an empty array.

Emitter#hasListeners(event)

Check if this emitter has event handlers.

License

MIT