Hierarchy
EventEmitter
↳ SernEmitter
Constructors
constructor
• new SernEmitter(options?)
Parameters
| Name | Type |
|---|
options? | EventEmitterOptions |
Inherited from
EventEmitter.constructor
Defined in
node_modules/@types/node/events.d.ts:74
Properties
captureRejectionSymbol
▪ Static Readonly captureRejectionSymbol: typeof captureRejectionSymbol
Inherited from
EventEmitter.captureRejectionSymbol
Defined in
node_modules/@types/node/events.d.ts:291
captureRejections
▪ Static captureRejections: boolean
Sets or gets the default captureRejection value for all emitters.
Inherited from
EventEmitter.captureRejections
Defined in
node_modules/@types/node/events.d.ts:296
defaultMaxListeners
▪ Static defaultMaxListeners: number
Inherited from
EventEmitter.defaultMaxListeners
Defined in
node_modules/@types/node/events.d.ts:297
errorMonitor
▪ Static Readonly errorMonitor: typeof errorMonitor
This symbol shall be used to install a listener for only monitoring 'error'
+events. Listeners installed using this symbol are called before the regular
+'error' listeners are called.
Installing a listener using this symbol does not change the behavior once an
+'error' event is emitted, therefore the process will still crash if no
+regular 'error' listener is installed.
Inherited from
EventEmitter.errorMonitor
Defined in
node_modules/@types/node/events.d.ts:290
Methods
addListener
▸ addListener(eventName, listener): SernEmitter
Alias for emitter.on(eventName, listener).
Since
v0.1.26
Parameters
| Name | Type |
|---|
eventName | string | symbol |
listener | (...args: any[]) => void |
Returns
SernEmitter
Inherited from
EventEmitter.addListener
Defined in
node_modules/@types/node/events.d.ts:317
emit
▸ emit<T>(eventName, ...args): boolean
Listening to sern events with on. This event stays on until a crash or a normal exit
Type parameters
Parameters
| Name | Type | Description |
|---|
eventName | T | |
...args | SernEventsMapping[T] | the arguments for emitting the { eventName } |
Returns
boolean
Overrides
EventEmitter.emit
Defined in
src/handler/sernEmitter.ts:32
eventNames
▸ eventNames(): (string | symbol)[]
Returns an array listing the events for which the emitter has registered
+listeners. The values in the array are strings or Symbols.
const EventEmitter = require('events');
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});
const sym = Symbol('symbol');
myEE.on(sym, () => {});
console.log(myEE.eventNames());
Since
v6.0.0
Returns
(string | symbol)[]
Inherited from
EventEmitter.eventNames
Defined in
node_modules/@types/node/events.d.ts:632
getMaxListeners
▸ getMaxListeners(): number
Returns the current max listener value for the EventEmitter which is either
+set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.
Since
v1.0.0
Returns
number
Inherited from
EventEmitter.getMaxListeners
Defined in
node_modules/@types/node/events.d.ts:489
listenerCount
▸ listenerCount(eventName): number
Returns the number of listeners listening to the event named eventName.
Since
v3.2.0
Parameters
| Name | Type | Description |
|---|
eventName | string | symbol | The name of the event being listened for |
Returns
number
Inherited from
EventEmitter.listenerCount
Defined in
node_modules/@types/node/events.d.ts:579
listeners
▸ listeners(eventName): Function[]
Returns a copy of the array of listeners for the event named eventName.
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
Since
v0.1.26
Parameters
| Name | Type |
|---|
eventName | string | symbol |
Returns
Function[]
Inherited from
EventEmitter.listeners
Defined in
node_modules/@types/node/events.d.ts:502
off
▸ off(eventName, listener): SernEmitter
Alias for emitter.removeListener().
Since
v10.0.0
Parameters
| Name | Type |
|---|
eventName | string | symbol |
listener | (...args: any[]) => void |
Returns
SernEmitter
Inherited from
EventEmitter.off
Defined in
node_modules/@types/node/events.d.ts:462
▸ on<T>(eventName, listener): SernEmitter
Listening to sern events with on. This event stays on until a crash or a normal exit
Type parameters
Parameters
| Name | Type | Description |
|---|
eventName | T | |
listener | (...args: SernEventsMapping[T][]) => void | what to do with the data |
Returns
SernEmitter
Overrides
EventEmitter.on
Defined in
src/handler/sernEmitter.ts:10
once
▸ once<T>(eventName, listener): SernEmitter
Listening to sern events with on. This event stays on until a crash or a normal exit
Type parameters
Parameters
| Name | Type | Description |
|---|
eventName | T | |
listener | (...args: SernEventsMapping[T][]) => void | what to do with the data |
Returns
SernEmitter
Overrides
EventEmitter.once
Defined in
src/handler/sernEmitter.ts:21
prependListener
▸ prependListener(eventName, listener): SernEmitter
Adds the listener function to the beginning of the listeners array for the
+event named eventName. No checks are made to see if the listener has
+already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple
+times.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Returns a reference to the EventEmitter, so that calls can be chained.
Since
v6.0.0
Parameters
| Name | Type | Description |
|---|
eventName | string | symbol | The name of the event. |
listener | (...args: any[]) => void | The callback function |
Returns
SernEmitter
Inherited from
EventEmitter.prependListener
Defined in
node_modules/@types/node/events.d.ts:597
prependOnceListener
▸ prependOnceListener(eventName, listener): SernEmitter
Adds a one-timelistener function for the event named eventName to thebeginning of the listeners array. The next time eventName is triggered, this
+listener is removed, and then invoked.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Returns a reference to the EventEmitter, so that calls can be chained.
Since
v6.0.0
Parameters
| Name | Type | Description |
|---|
eventName | string | symbol | The name of the event. |
listener | (...args: any[]) => void | The callback function |
Returns
SernEmitter
Inherited from
EventEmitter.prependOnceListener
Defined in
node_modules/@types/node/events.d.ts:613
rawListeners
▸ rawListeners(eventName): Function[]
Returns a copy of the array of listeners for the event named eventName,
+including any wrappers (such as those created by .once()).
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];
logFnWrapper.listener();
logFnWrapper();
emitter.on('log', () => console.log('log persistently'));
const newListeners = emitter.rawListeners('log');
newListeners[0]();
emitter.emit('log');
Since
v9.4.0
Parameters
| Name | Type |
|---|
eventName | string | symbol |
Returns
Function[]
Inherited from
EventEmitter.rawListeners
Defined in
node_modules/@types/node/events.d.ts:532
removeAllListeners
▸ removeAllListeners(event?): SernEmitter
Removes all listeners, or those of the specified eventName.
It is bad practice to remove listeners added elsewhere in the code,
+particularly when the EventEmitter instance was created by some other
+component or module (e.g. sockets or file streams).
Returns a reference to the EventEmitter, so that calls can be chained.
Since
v0.1.26
Parameters
| Name | Type |
|---|
event? | string | symbol |
Returns
SernEmitter
Inherited from
EventEmitter.removeAllListeners
Defined in
node_modules/@types/node/events.d.ts:473
removeListener
▸ removeListener(eventName, listener): SernEmitter
Removes the specified listener from the listener array for the event namedeventName.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
server.removeListener('connection', callback);
removeListener() will remove, at most, one instance of a listener from the
+listener array. If any single listener has been added multiple times to the
+listener array for the specified eventName, then removeListener() must be
+called multiple times to remove each instance.
Once an event is emitted, all listeners attached to it at the
+time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting andbefore the last listener finishes execution will
+not remove them fromemit() in progress. Subsequent events behave as expected.
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
myEmitter.emit('event');
myEmitter.emit('event');
Because listeners are managed using an internal array, calling this will
+change the position indices of any listener registered after the listener
+being removed. This will not impact the order in which listeners are called,
+but it means that any copies of the listener array as returned by
+the emitter.listeners() method will need to be recreated.
When a single function has been added as a handler multiple times for a single
+event (as in the example below), removeListener() will remove the most
+recently added instance. In the example the once('ping')listener is removed:
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
Returns a reference to the EventEmitter, so that calls can be chained.
Since
v0.1.26
Parameters
| Name | Type |
|---|
eventName | string | symbol |
listener | (...args: any[]) => void |
Returns
SernEmitter
Inherited from
EventEmitter.removeListener
Defined in
node_modules/@types/node/events.d.ts:457
setMaxListeners
▸ setMaxListeners(n): SernEmitter
By default EventEmitters will print a warning if more than 10 listeners are
+added for a particular event. This is a useful default that helps finding
+memory leaks. The emitter.setMaxListeners() method allows the limit to be
+modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.
Returns a reference to the EventEmitter, so that calls can be chained.
Since
v0.3.5
Parameters
Returns
SernEmitter
Inherited from
EventEmitter.setMaxListeners
Defined in
node_modules/@types/node/events.d.ts:483
getEventListeners
▸ Static getEventListeners(emitter, name): Function[]
Returns a copy of the array of listeners for the event named eventName.
For EventEmitters this behaves exactly the same as calling .listeners on
+the emitter.
For EventTargets this is the only way to get the event listeners for the
+event target. This is useful for debugging and diagnostic purposes.
const { getEventListeners, EventEmitter } = require('events');
{
const ee = new EventEmitter();
const listener = () => console.log('Events are fun');
ee.on('foo', listener);
getEventListeners(ee, 'foo');
}
{
const et = new EventTarget();
const listener = () => console.log('Events are fun');
et.addEventListener('foo', listener);
getEventListeners(et, 'foo');
}
Since
v15.2.0, v14.17.0
Parameters
| Name | Type |
|---|
emitter | EventEmitter | DOMEventTarget |
name | string | symbol |
Returns
Function[]
Inherited from
EventEmitter.getEventListeners
Defined in
node_modules/@types/node/events.d.ts:262
listenerCount
▸ Static listenerCount(emitter, eventName): number
A class method that returns the number of listeners for the given eventNameregistered on the given emitter.
const { EventEmitter, listenerCount } = require('events');
const myEmitter = new EventEmitter();
myEmitter.on('event', () => {});
myEmitter.on('event', () => {});
console.log(listenerCount(myEmitter, 'event'));
Since
v0.9.12
Deprecated
Since v3.2.0 - Use listenerCount instead.
Parameters
| Name | Type | Description |
|---|
emitter | EventEmitter | The emitter to query |
eventName | string | symbol | The event name |
Returns
number
Inherited from
EventEmitter.listenerCount
Defined in
node_modules/@types/node/events.d.ts:234
▸ Static on(emitter, eventName, options?): AsyncIterableIterator<any>
const { on, EventEmitter } = require('events');
(async () => {
const ee = new EventEmitter();
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});
for await (const event of on(ee, 'foo')) {
console.log(event);
}
})();
Returns an AsyncIterator that iterates eventName events. It will throw
+if the EventEmitter emits 'error'. It removes all listeners when
+exiting the loop. The value returned by each iteration is an array
+composed of the emitted event arguments.
An AbortSignal can be used to cancel waiting on events:
const { on, EventEmitter } = require('events');
const ac = new AbortController();
(async () => {
const ee = new EventEmitter();
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});
for await (const event of on(ee, 'foo', { signal: ac.signal })) {
console.log(event);
}
})();
process.nextTick(() => ac.abort());
Since
v13.6.0, v12.16.0
Parameters
| Name | Type | Description |
|---|
emitter | EventEmitter | - |
eventName | string | The name of the event being listened for |
options? | StaticEventEmitterOptions | - |
Returns
AsyncIterableIterator<any>
that iterates eventName events emitted by the emitter
Inherited from
EventEmitter.on
Defined in
node_modules/@types/node/events.d.ts:217
▸ Static on<K>(eventEmitter, eventName): AsyncIterator<ClientEvents[K], any, undefined>
Type parameters
| Name | Type |
|---|
K | extends keyof ClientEvents |
Parameters
| Name | Type |
|---|
eventEmitter | Client<boolean> |
eventName | K |
Returns
AsyncIterator<ClientEvents[K], any, undefined>
Inherited from
EventEmitter.on
Defined in
node_modules/discord.js/typings/index.d.ts:195
once
▸ Static once(emitter, eventName, options?): Promise<any[]>
Creates a Promise that is fulfilled when the EventEmitter emits the given
+event or that is rejected if the EventEmitter emits 'error' while waiting.
+The Promise will resolve with an array of all the arguments emitted to the
+given event.
This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event
+semantics and does not listen to the 'error' event.
const { once, EventEmitter } = require('events');
async function run() {
const ee = new EventEmitter();
process.nextTick(() => {
ee.emit('myevent', 42);
});
const [value] = await once(ee, 'myevent');
console.log(value);
const err = new Error('kaboom');
process.nextTick(() => {
ee.emit('error', err);
});
try {
await once(ee, 'myevent');
} catch (err) {
console.log('error happened', err);
}
}
run();
The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the
+'error' event itself, then it is treated as any other kind of event without
+special handling:
const { EventEmitter, once } = require('events');
const ee = new EventEmitter();
once(ee, 'error')
.then(([err]) => console.log('ok', err.message))
.catch((err) => console.log('error', err.message));
ee.emit('error', new Error('boom'));
An AbortSignal can be used to cancel waiting for the event:
const { EventEmitter, once } = require('events');
const ee = new EventEmitter();
const ac = new AbortController();
async function foo(emitter, event, signal) {
try {
await once(emitter, event, { signal });
console.log('event emitted!');
} catch (error) {
if (error.name === 'AbortError') {
console.error('Waiting for the event was canceled!');
} else {
console.error('There was an error', error.message);
}
}
}
foo(ee, 'foo', ac.signal);
ac.abort();
ee.emit('foo');
Since
v11.13.0, v10.16.0
Parameters
| Name | Type |
|---|
emitter | NodeEventTarget |
eventName | string | symbol |
options? | StaticEventEmitterOptions |
Returns
Promise<any[]>
Inherited from
EventEmitter.once
Defined in
node_modules/@types/node/events.d.ts:157
▸ Static once(emitter, eventName, options?): Promise<any[]>
Parameters
| Name | Type |
|---|
emitter | DOMEventTarget |
eventName | string |
options? | StaticEventEmitterOptions |
Returns
Promise<any[]>
Inherited from
EventEmitter.once
Defined in
node_modules/@types/node/events.d.ts:158
▸ Static once<K>(eventEmitter, eventName): Promise<ClientEvents[K]>
Type parameters
| Name | Type |
|---|
K | extends keyof ClientEvents |
Parameters
| Name | Type |
|---|
eventEmitter | Client<boolean> |
eventName | K |
Returns
Promise<ClientEvents[K]>
Inherited from
EventEmitter.once
Defined in
node_modules/discord.js/typings/index.d.ts:194
setMaxListeners
▸ Static setMaxListeners(n?, ...eventTargets): void
const {
setMaxListeners,
EventEmitter
} = require('events');
const target = new EventTarget();
const emitter = new EventEmitter();
setMaxListeners(5, target, emitter);
Since
v15.4.0
Parameters
| Name | Type | Description |
|---|
n? | number | A non-negative number. The maximum number of listeners per EventTarget event. |
...eventTargets | (EventEmitter | DOMEventTarget)[] | - |
Returns
void
Inherited from
EventEmitter.setMaxListeners
Defined in
node_modules/@types/node/events.d.ts:280