@types/node 22.8.4 → 22.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- node/README.md +1 -1
- node/events.d.ts +178 -35
- node/package.json +2 -2
node/README.md
CHANGED
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
|
|
8
8
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
9
9
|
|
10
10
|
### Additional Details
|
11
|
-
* Last updated:
|
11
|
+
* Last updated: Thu, 31 Oct 2024 05:35:24 GMT
|
12
12
|
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
13
13
|
|
14
14
|
# Credits
|
node/events.d.ts
CHANGED
@@ -34,6 +34,7 @@
|
|
34
34
|
* ```
|
35
35
|
* @see [source](https://github.com/nodejs/node/blob/v22.x/lib/events.js)
|
36
36
|
*/
|
37
|
+
|
37
38
|
declare module "events" {
|
38
39
|
import { AsyncResource, AsyncResourceOptions } from "node:async_hooks";
|
39
40
|
// NOTE: This class is in the docs but is **not actually exported** by Node.
|
@@ -99,23 +100,27 @@ declare module "events" {
|
|
99
100
|
*/
|
100
101
|
lowWaterMark?: number | undefined;
|
101
102
|
}
|
102
|
-
interface EventEmitter<
|
103
|
-
type EventMap<
|
104
|
-
type
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
103
|
+
interface EventEmitter<Events extends EventMap<Events> = {}> extends NodeJS.EventEmitter<Events> {}
|
104
|
+
type EventMap<Events> = Record<keyof Events, unknown[]>;
|
105
|
+
type Args<Events extends EventMap<Events>, EventName> = EventName extends keyof Events ? (
|
106
|
+
| Events[EventName]
|
107
|
+
| (EventName extends keyof EventEmitter.EventEmitterBuiltInEventMap
|
108
|
+
? EventEmitter.EventEmitterBuiltInEventMap[EventName]
|
109
|
+
: never)
|
110
|
+
)
|
111
|
+
: (EventName extends keyof EventEmitter.EventEmitterBuiltInEventMap
|
112
|
+
? EventEmitter.EventEmitterBuiltInEventMap[EventName]
|
113
|
+
: any[]);
|
114
|
+
type EventNames<Events extends EventMap<Events>> = {} extends Events ? (string | symbol)
|
115
|
+
: (keyof Events | keyof EventEmitter.EventEmitterBuiltInEventMap);
|
116
|
+
type Listener<Events extends EventMap<Events>, EventName> = EventName extends keyof Events ?
|
117
|
+
| ((...args: Events[EventName]) => void)
|
118
|
+
| (EventName extends keyof EventEmitter.EventEmitterBuiltInEventMap
|
119
|
+
? (...args: EventEmitter.EventEmitterBuiltInEventMap[EventName]) => void
|
120
|
+
: never)
|
121
|
+
: (EventName extends keyof EventEmitter.EventEmitterBuiltInEventMap
|
122
|
+
? (...args: EventEmitter.EventEmitterBuiltInEventMap[EventName]) => void
|
123
|
+
: (...args: any[]) => void);
|
119
124
|
|
120
125
|
/**
|
121
126
|
* The `EventEmitter` class is defined and exposed by the `node:events` module:
|
@@ -130,10 +135,20 @@ declare module "events" {
|
|
130
135
|
* It supports the following option:
|
131
136
|
* @since v0.1.26
|
132
137
|
*/
|
133
|
-
class EventEmitter<
|
138
|
+
class EventEmitter<Events extends EventMap<Events> = {}> {
|
134
139
|
constructor(options?: EventEmitterOptions);
|
135
140
|
|
136
|
-
|
141
|
+
// This "property" is used to brand a specific instance of the EventEmitter class with its Event map, which is needed
|
142
|
+
// in order to infer the map if we have a chain like `class A extends EventEmitter<{}>` (or many levels deep)
|
143
|
+
// It is also marked as possibly undefined in order to allow something like `const t: NodeJS.EventEmitter<{}> = { <insert implementation here> };`
|
144
|
+
readonly #internalTypeOnlyBrand?: Events;
|
145
|
+
|
146
|
+
[EventEmitter.captureRejectionSymbol]?<EventName extends EventNames<Events>>(
|
147
|
+
error: Error,
|
148
|
+
event: EventName,
|
149
|
+
...args: Args<Events, EventName>
|
150
|
+
): void;
|
151
|
+
[EventEmitter.captureRejectionSymbol]?(error: Error, event: string | symbol, ...args: any[]): void;
|
137
152
|
|
138
153
|
/**
|
139
154
|
* Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given
|
@@ -214,6 +229,11 @@ declare module "events" {
|
|
214
229
|
* ```
|
215
230
|
* @since v11.13.0, v10.16.0
|
216
231
|
*/
|
232
|
+
static once<Events extends EventMap<Events>, EventName extends EventNames<Events>>(
|
233
|
+
emitter: EventEmitter<Events>,
|
234
|
+
eventName: EventName,
|
235
|
+
options?: StaticEventEmitterOptions,
|
236
|
+
): Promise<Args<Events, EventName>>;
|
217
237
|
static once(
|
218
238
|
emitter: NodeJS.EventEmitter,
|
219
239
|
eventName: string | symbol,
|
@@ -300,6 +320,11 @@ declare module "events" {
|
|
300
320
|
* @since v13.6.0, v12.16.0
|
301
321
|
* @return An `AsyncIterator` that iterates `eventName` events emitted by the `emitter`
|
302
322
|
*/
|
323
|
+
static on<Events extends EventMap<Events>, EventName extends EventNames<Events>>(
|
324
|
+
emitter: EventEmitter<Events>,
|
325
|
+
eventName: EventName,
|
326
|
+
options?: StaticEventEmitterIteratorOptions,
|
327
|
+
): NodeJS.AsyncIterator<Args<Events, EventName>>;
|
303
328
|
static on(
|
304
329
|
emitter: NodeJS.EventEmitter,
|
305
330
|
eventName: string | symbol,
|
@@ -310,6 +335,27 @@ declare module "events" {
|
|
310
335
|
eventName: string,
|
311
336
|
options?: StaticEventEmitterIteratorOptions,
|
312
337
|
): NodeJS.AsyncIterator<any[]>;
|
338
|
+
/**
|
339
|
+
* A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`.
|
340
|
+
*
|
341
|
+
* ```js
|
342
|
+
* import { EventEmitter, listenerCount } from 'node:events';
|
343
|
+
*
|
344
|
+
* const myEmitter = new EventEmitter();
|
345
|
+
* myEmitter.on('event', () => {});
|
346
|
+
* myEmitter.on('event', () => {});
|
347
|
+
* console.log(listenerCount(myEmitter, 'event'));
|
348
|
+
* // Prints: 2
|
349
|
+
* ```
|
350
|
+
* @since v0.9.12
|
351
|
+
* @deprecated Since v3.2.0 - Use `listenerCount` instead.
|
352
|
+
* @param emitter The emitter to query
|
353
|
+
* @param eventName The event name
|
354
|
+
*/
|
355
|
+
static listenerCount<Events extends EventMap<Events>, EventName extends EventNames<Events>>(
|
356
|
+
emitter: EventEmitter<Events>,
|
357
|
+
eventName: EventName,
|
358
|
+
): number;
|
313
359
|
/**
|
314
360
|
* A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`.
|
315
361
|
*
|
@@ -355,7 +401,14 @@ declare module "events" {
|
|
355
401
|
* ```
|
356
402
|
* @since v15.2.0, v14.17.0
|
357
403
|
*/
|
358
|
-
static getEventListeners
|
404
|
+
static getEventListeners<Events extends EventMap<Events>, EventName extends EventNames<Events>>(
|
405
|
+
emitter: EventEmitter<Events>,
|
406
|
+
name: EventName,
|
407
|
+
): Array<Listener<Events, EventName>>;
|
408
|
+
static getEventListeners(
|
409
|
+
emitter: EventTarget | NodeJS.EventEmitter,
|
410
|
+
name: string | symbol,
|
411
|
+
): Function[];
|
359
412
|
/**
|
360
413
|
* Returns the currently set max amount of listeners.
|
361
414
|
*
|
@@ -585,16 +638,37 @@ declare module "events" {
|
|
585
638
|
*/
|
586
639
|
readonly asyncResource: EventEmitterReferencingAsyncResource;
|
587
640
|
}
|
641
|
+
|
642
|
+
export interface EventEmitterBuiltInEventMap {
|
643
|
+
newListener: [eventName: string | symbol, listener: Function];
|
644
|
+
removeListener: [eventName: string | symbol, listener: Function];
|
645
|
+
}
|
588
646
|
}
|
589
647
|
global {
|
590
648
|
namespace NodeJS {
|
591
|
-
interface EventEmitter<
|
592
|
-
[EventEmitter.captureRejectionSymbol]?<
|
649
|
+
interface EventEmitter<Events extends EventMap<Events> = {}> {
|
650
|
+
[EventEmitter.captureRejectionSymbol]?<EventName extends EventNames<Events>>(
|
651
|
+
error: Error,
|
652
|
+
event: EventName,
|
653
|
+
...args: Args<Events, EventName>
|
654
|
+
): void;
|
655
|
+
[EventEmitter.captureRejectionSymbol]?<EventName extends string | symbol>(
|
656
|
+
error: Error,
|
657
|
+
event: EventName,
|
658
|
+
...args: Args<Events, EventName>
|
659
|
+
): void;
|
593
660
|
/**
|
594
661
|
* Alias for `emitter.on(eventName, listener)`.
|
595
662
|
* @since v0.1.26
|
596
663
|
*/
|
597
|
-
addListener<
|
664
|
+
addListener<EventName extends EventNames<Events>>(
|
665
|
+
eventName: EventName,
|
666
|
+
listener: Listener<Events, EventName>,
|
667
|
+
): this;
|
668
|
+
addListener<EventName extends string | symbol>(
|
669
|
+
eventName: EventName,
|
670
|
+
listener: Listener<Events, EventName>,
|
671
|
+
): this;
|
598
672
|
/**
|
599
673
|
* Adds the `listener` function to the end of the listeners array for the event
|
600
674
|
* named `eventName`. No checks are made to see if the `listener` has already
|
@@ -626,7 +700,14 @@ declare module "events" {
|
|
626
700
|
* @param eventName The name of the event.
|
627
701
|
* @param listener The callback function
|
628
702
|
*/
|
629
|
-
on<
|
703
|
+
on<EventName extends EventNames<Events>>(
|
704
|
+
eventName: EventName,
|
705
|
+
listener: Listener<Events, EventName>,
|
706
|
+
): this;
|
707
|
+
on<EventName extends string | symbol>(
|
708
|
+
eventName: EventName,
|
709
|
+
listener: Listener<Events, EventName>,
|
710
|
+
): this;
|
630
711
|
/**
|
631
712
|
* Adds a **one-time** `listener` function for the event named `eventName`. The
|
632
713
|
* next time `eventName` is triggered, this listener is removed and then invoked.
|
@@ -656,7 +737,14 @@ declare module "events" {
|
|
656
737
|
* @param eventName The name of the event.
|
657
738
|
* @param listener The callback function
|
658
739
|
*/
|
659
|
-
once<
|
740
|
+
once<EventName extends EventNames<Events>>(
|
741
|
+
eventName: EventName,
|
742
|
+
listener: Listener<Events, EventName>,
|
743
|
+
): this;
|
744
|
+
once<EventName extends string | symbol>(
|
745
|
+
eventName: EventName,
|
746
|
+
listener: Listener<Events, EventName>,
|
747
|
+
): this;
|
660
748
|
/**
|
661
749
|
* Removes the specified `listener` from the listener array for the event named `eventName`.
|
662
750
|
*
|
@@ -739,12 +827,26 @@ declare module "events" {
|
|
739
827
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
740
828
|
* @since v0.1.26
|
741
829
|
*/
|
742
|
-
removeListener<
|
830
|
+
removeListener<EventName extends EventNames<Events>>(
|
831
|
+
eventName: EventName,
|
832
|
+
listener: Listener<Events, EventName>,
|
833
|
+
): this;
|
834
|
+
removeListener<EventName extends string | symbol>(
|
835
|
+
eventName: EventName,
|
836
|
+
listener: Listener<Events, EventName>,
|
837
|
+
): this;
|
743
838
|
/**
|
744
839
|
* Alias for `emitter.removeListener()`.
|
745
840
|
* @since v10.0.0
|
746
841
|
*/
|
747
|
-
off<
|
842
|
+
off<EventName extends EventNames<Events>>(
|
843
|
+
eventName: EventName,
|
844
|
+
listener: Listener<Events, EventName>,
|
845
|
+
): this;
|
846
|
+
off<EventName extends string | symbol>(
|
847
|
+
eventName: EventName,
|
848
|
+
listener: Listener<Events, EventName>,
|
849
|
+
): this;
|
748
850
|
/**
|
749
851
|
* Removes all listeners, or those of the specified `eventName`.
|
750
852
|
*
|
@@ -755,7 +857,10 @@ declare module "events" {
|
|
755
857
|
* Returns a reference to the `EventEmitter`, so that calls can be chained.
|
756
858
|
* @since v0.1.26
|
757
859
|
*/
|
758
|
-
|
860
|
+
/* eslint-disable @definitelytyped/no-unnecessary-generics */
|
861
|
+
removeAllListeners<EventName extends EventNames<Events>>(eventName: EventName): this;
|
862
|
+
removeAllListeners<EventName extends string | symbol>(eventName?: EventName): this;
|
863
|
+
/* eslint-enable @definitelytyped/no-unnecessary-generics */
|
759
864
|
/**
|
760
865
|
* By default `EventEmitter`s will print a warning if more than `10` listeners are
|
761
866
|
* added for a particular event. This is a useful default that helps finding
|
@@ -784,7 +889,12 @@ declare module "events" {
|
|
784
889
|
* ```
|
785
890
|
* @since v0.1.26
|
786
891
|
*/
|
787
|
-
listeners<
|
892
|
+
listeners<EventName extends EventNames<Events>>(
|
893
|
+
eventName: EventName,
|
894
|
+
): Array<Listener<Events, EventName>>;
|
895
|
+
listeners<EventName extends string | symbol>(
|
896
|
+
eventName: EventName,
|
897
|
+
): Array<Listener<Events, EventName>>;
|
788
898
|
/**
|
789
899
|
* Returns a copy of the array of listeners for the event named `eventName`,
|
790
900
|
* including any wrappers (such as those created by `.once()`).
|
@@ -815,7 +925,12 @@ declare module "events" {
|
|
815
925
|
* ```
|
816
926
|
* @since v9.4.0
|
817
927
|
*/
|
818
|
-
rawListeners<
|
928
|
+
rawListeners<EventName extends EventNames<Events>>(
|
929
|
+
eventName: EventName,
|
930
|
+
): Array<Listener<Events, EventName>>;
|
931
|
+
rawListeners<EventName extends string | symbol>(
|
932
|
+
eventName: EventName,
|
933
|
+
): Array<Listener<Events, EventName>>;
|
819
934
|
/**
|
820
935
|
* Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments
|
821
936
|
* to each.
|
@@ -856,7 +971,14 @@ declare module "events" {
|
|
856
971
|
* ```
|
857
972
|
* @since v0.1.26
|
858
973
|
*/
|
859
|
-
emit<
|
974
|
+
emit<EventName extends EventNames<Events>>(
|
975
|
+
eventName: EventName,
|
976
|
+
...args: Args<Events, EventName>
|
977
|
+
): boolean;
|
978
|
+
emit<EventName extends string | symbol>(
|
979
|
+
eventName: EventName,
|
980
|
+
...args: Args<Events, EventName>
|
981
|
+
): boolean;
|
860
982
|
/**
|
861
983
|
* Returns the number of listeners listening for the event named `eventName`.
|
862
984
|
* If `listener` is provided, it will return how many times the listener is found
|
@@ -865,7 +987,14 @@ declare module "events" {
|
|
865
987
|
* @param eventName The name of the event being listened for
|
866
988
|
* @param listener The event handler function
|
867
989
|
*/
|
868
|
-
listenerCount<
|
990
|
+
listenerCount<EventName extends EventNames<Events>>(
|
991
|
+
eventName: EventName,
|
992
|
+
listener?: Listener<Events, EventName>,
|
993
|
+
): number;
|
994
|
+
listenerCount<EventName extends string | symbol>(
|
995
|
+
eventName: EventName,
|
996
|
+
listener?: Listener<Events, EventName>,
|
997
|
+
): number;
|
869
998
|
/**
|
870
999
|
* Adds the `listener` function to the _beginning_ of the listeners array for the
|
871
1000
|
* event named `eventName`. No checks are made to see if the `listener` has
|
@@ -883,7 +1012,14 @@ declare module "events" {
|
|
883
1012
|
* @param eventName The name of the event.
|
884
1013
|
* @param listener The callback function
|
885
1014
|
*/
|
886
|
-
prependListener<
|
1015
|
+
prependListener<EventName extends EventNames<Events>>(
|
1016
|
+
eventName: EventName,
|
1017
|
+
listener: Listener<Events, EventName>,
|
1018
|
+
): this;
|
1019
|
+
prependListener<EventName extends string | symbol>(
|
1020
|
+
eventName: EventName,
|
1021
|
+
listener: Listener<Events, EventName>,
|
1022
|
+
): this;
|
887
1023
|
/**
|
888
1024
|
* Adds a **one-time**`listener` function for the event named `eventName` to the _beginning_ of the listeners array. The next time `eventName` is triggered, this
|
889
1025
|
* listener is removed, and then invoked.
|
@@ -899,7 +1035,14 @@ declare module "events" {
|
|
899
1035
|
* @param eventName The name of the event.
|
900
1036
|
* @param listener The callback function
|
901
1037
|
*/
|
902
|
-
prependOnceListener<
|
1038
|
+
prependOnceListener<EventName extends EventNames<Events>>(
|
1039
|
+
eventName: EventName,
|
1040
|
+
listener: Listener<Events, EventName>,
|
1041
|
+
): this;
|
1042
|
+
prependOnceListener<EventName extends string | symbol>(
|
1043
|
+
eventName: EventName,
|
1044
|
+
listener: Listener<Events, EventName>,
|
1045
|
+
): this;
|
903
1046
|
/**
|
904
1047
|
* Returns an array listing the events for which the emitter has registered
|
905
1048
|
* listeners. The values in the array are strings or `Symbol`s.
|
@@ -919,7 +1062,7 @@ declare module "events" {
|
|
919
1062
|
* ```
|
920
1063
|
* @since v6.0.0
|
921
1064
|
*/
|
922
|
-
eventNames(): Array<(string | symbol) &
|
1065
|
+
eventNames(): Array<(string | symbol)> & Array<EventNames<Events>>;
|
923
1066
|
}
|
924
1067
|
}
|
925
1068
|
}
|
node/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@types/node",
|
3
|
-
"version": "22.8.
|
3
|
+
"version": "22.8.5",
|
4
4
|
"description": "TypeScript definitions for node",
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
6
6
|
"license": "MIT",
|
@@ -220,6 +220,6 @@
|
|
220
220
|
"undici-types": "~6.19.8"
|
221
221
|
},
|
222
222
|
"peerDependencies": {},
|
223
|
-
"typesPublisherContentHash": "
|
223
|
+
"typesPublisherContentHash": "7165aa45b80abb5ff9333ec6ca387d477f843670bbad567424c59b148b46fa23",
|
224
224
|
"typeScriptVersion": "4.8"
|
225
225
|
}
|