@types/node 18.11.5 → 20.2.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.
Files changed (97) hide show
  1. node/README.md +2 -2
  2. node/assert.d.ts +86 -75
  3. node/async_hooks.d.ts +66 -37
  4. node/buffer.d.ts +193 -100
  5. node/child_process.d.ts +82 -56
  6. node/cluster.d.ts +12 -12
  7. node/console.d.ts +5 -5
  8. node/crypto.d.ts +233 -235
  9. node/dgram.d.ts +15 -15
  10. node/diagnostics_channel.d.ts +59 -21
  11. node/dns/promises.d.ts +50 -6
  12. node/dns.d.ts +26 -17
  13. node/domain.d.ts +4 -4
  14. node/events.d.ts +111 -65
  15. node/fs/promises.d.ts +99 -47
  16. node/fs.d.ts +244 -73
  17. node/globals.d.ts +6 -3
  18. node/http.d.ts +265 -148
  19. node/http2.d.ts +42 -47
  20. node/https.d.ts +53 -153
  21. node/index.d.ts +2 -1
  22. node/inspector.d.ts +10 -3
  23. node/module.d.ts +6 -4
  24. node/net.d.ts +32 -15
  25. node/os.d.ts +27 -16
  26. node/package.json +9 -4
  27. node/path.d.ts +4 -4
  28. node/perf_hooks.d.ts +28 -15
  29. node/process.d.ts +49 -46
  30. node/punycode.d.ts +1 -1
  31. node/querystring.d.ts +5 -5
  32. node/readline/promises.d.ts +65 -63
  33. node/readline.d.ts +32 -159
  34. node/repl.d.ts +20 -20
  35. node/stream/consumers.d.ts +1 -1
  36. node/stream.d.ts +950 -869
  37. node/string_decoder.d.ts +6 -6
  38. node/test.d.ts +877 -139
  39. node/timers/promises.d.ts +26 -1
  40. node/timers.d.ts +125 -4
  41. node/tls.d.ts +120 -29
  42. node/trace_events.d.ts +20 -9
  43. node/ts4.8/assert.d.ts +86 -75
  44. node/ts4.8/async_hooks.d.ts +66 -37
  45. node/ts4.8/buffer.d.ts +193 -101
  46. node/ts4.8/child_process.d.ts +82 -56
  47. node/ts4.8/cluster.d.ts +12 -12
  48. node/ts4.8/console.d.ts +5 -5
  49. node/ts4.8/crypto.d.ts +230 -233
  50. node/ts4.8/dgram.d.ts +15 -15
  51. node/ts4.8/diagnostics_channel.d.ts +59 -21
  52. node/ts4.8/dns/promises.d.ts +50 -6
  53. node/ts4.8/dns.d.ts +26 -17
  54. node/ts4.8/domain.d.ts +4 -4
  55. node/ts4.8/events.d.ts +111 -65
  56. node/ts4.8/fs/promises.d.ts +97 -46
  57. node/ts4.8/fs.d.ts +244 -73
  58. node/ts4.8/globals.d.ts +21 -12
  59. node/ts4.8/http.d.ts +265 -148
  60. node/ts4.8/http2.d.ts +42 -47
  61. node/ts4.8/https.d.ts +53 -153
  62. node/ts4.8/inspector.d.ts +10 -3
  63. node/ts4.8/module.d.ts +6 -4
  64. node/ts4.8/net.d.ts +33 -16
  65. node/ts4.8/os.d.ts +27 -16
  66. node/ts4.8/path.d.ts +4 -4
  67. node/ts4.8/perf_hooks.d.ts +28 -15
  68. node/ts4.8/process.d.ts +49 -46
  69. node/ts4.8/punycode.d.ts +1 -1
  70. node/ts4.8/querystring.d.ts +5 -5
  71. node/ts4.8/readline/promises.d.ts +65 -63
  72. node/ts4.8/readline.d.ts +32 -159
  73. node/ts4.8/repl.d.ts +20 -20
  74. node/ts4.8/stream/consumers.d.ts +1 -1
  75. node/ts4.8/stream.d.ts +192 -140
  76. node/ts4.8/string_decoder.d.ts +6 -6
  77. node/ts4.8/test.d.ts +877 -139
  78. node/ts4.8/timers/promises.d.ts +26 -1
  79. node/ts4.8/timers.d.ts +125 -4
  80. node/ts4.8/tls.d.ts +120 -29
  81. node/ts4.8/trace_events.d.ts +20 -9
  82. node/ts4.8/tty.d.ts +4 -5
  83. node/ts4.8/url.d.ts +46 -42
  84. node/ts4.8/util.d.ts +325 -123
  85. node/ts4.8/v8.d.ts +253 -14
  86. node/ts4.8/vm.d.ts +417 -32
  87. node/ts4.8/wasi.d.ts +13 -19
  88. node/ts4.8/worker_threads.d.ts +38 -34
  89. node/ts4.8/zlib.d.ts +11 -11
  90. node/tty.d.ts +4 -5
  91. node/url.d.ts +46 -42
  92. node/util.d.ts +325 -123
  93. node/v8.d.ts +253 -14
  94. node/vm.d.ts +417 -32
  95. node/wasi.d.ts +13 -19
  96. node/worker_threads.d.ts +38 -34
  97. node/zlib.d.ts +11 -11
node/events.d.ts CHANGED
@@ -22,7 +22,7 @@
22
22
  * the `eventEmitter.emit()` method is used to trigger the event.
23
23
  *
24
24
  * ```js
25
- * const EventEmitter = require('events');
25
+ * import { EventEmitter } from 'node:events';
26
26
  *
27
27
  * class MyEmitter extends EventEmitter {}
28
28
  *
@@ -32,13 +32,12 @@
32
32
  * });
33
33
  * myEmitter.emit('event');
34
34
  * ```
35
- * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/events.js)
35
+ * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/events.js)
36
36
  */
37
37
  declare module 'events' {
38
38
  // NOTE: This class is in the docs but is **not actually exported** by Node.
39
39
  // If https://github.com/nodejs/node/issues/39903 gets resolved and Node
40
40
  // actually starts exporting the class, uncomment below.
41
-
42
41
  // import { EventListener, EventListenerObject } from '__dom-events';
43
42
  // /** The NodeEventTarget is a Node.js-specific extension to EventTarget that emulates a subset of the EventEmitter API. */
44
43
  // interface NodeEventTarget extends EventTarget {
@@ -69,7 +68,6 @@ declare module 'events' {
69
68
  // */
70
69
  // removeListener(type: string, listener: EventListener | EventListenerObject): this;
71
70
  // }
72
-
73
71
  interface EventEmitterOptions {
74
72
  /**
75
73
  * Enables automatic capturing of promise rejection.
@@ -95,10 +93,10 @@ declare module 'events' {
95
93
  }
96
94
  interface EventEmitter extends NodeJS.EventEmitter {}
97
95
  /**
98
- * The `EventEmitter` class is defined and exposed by the `events` module:
96
+ * The `EventEmitter` class is defined and exposed by the `node:events` module:
99
97
  *
100
98
  * ```js
101
- * const EventEmitter = require('events');
99
+ * import { EventEmitter } from 'node:events';
102
100
  * ```
103
101
  *
104
102
  * All `EventEmitter`s emit the event `'newListener'` when new listeners are
@@ -119,31 +117,28 @@ declare module 'events' {
119
117
  * semantics and does not listen to the `'error'` event.
120
118
  *
121
119
  * ```js
122
- * const { once, EventEmitter } = require('events');
120
+ * import { once, EventEmitter } from 'node:events';
121
+ * import process from 'node:process';
123
122
  *
124
- * async function run() {
125
- * const ee = new EventEmitter();
123
+ * const ee = new EventEmitter();
126
124
  *
127
- * process.nextTick(() => {
128
- * ee.emit('myevent', 42);
129
- * });
125
+ * process.nextTick(() => {
126
+ * ee.emit('myevent', 42);
127
+ * });
130
128
  *
131
- * const [value] = await once(ee, 'myevent');
132
- * console.log(value);
129
+ * const [value] = await once(ee, 'myevent');
130
+ * console.log(value);
133
131
  *
134
- * const err = new Error('kaboom');
135
- * process.nextTick(() => {
136
- * ee.emit('error', err);
137
- * });
132
+ * const err = new Error('kaboom');
133
+ * process.nextTick(() => {
134
+ * ee.emit('error', err);
135
+ * });
138
136
  *
139
- * try {
140
- * await once(ee, 'myevent');
141
- * } catch (err) {
142
- * console.log('error happened', err);
143
- * }
137
+ * try {
138
+ * await once(ee, 'myevent');
139
+ * } catch (err) {
140
+ * console.error('error happened', err);
144
141
  * }
145
- *
146
- * run();
147
142
  * ```
148
143
  *
149
144
  * 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
@@ -151,13 +146,13 @@ declare module 'events' {
151
146
  * special handling:
152
147
  *
153
148
  * ```js
154
- * const { EventEmitter, once } = require('events');
149
+ * import { EventEmitter, once } from 'node:events';
155
150
  *
156
151
  * const ee = new EventEmitter();
157
152
  *
158
153
  * once(ee, 'error')
159
154
  * .then(([err]) => console.log('ok', err.message))
160
- * .catch((err) => console.log('error', err.message));
155
+ * .catch((err) => console.error('error', err.message));
161
156
  *
162
157
  * ee.emit('error', new Error('boom'));
163
158
  *
@@ -167,7 +162,7 @@ declare module 'events' {
167
162
  * An `AbortSignal` can be used to cancel waiting for the event:
168
163
  *
169
164
  * ```js
170
- * const { EventEmitter, once } = require('events');
165
+ * import { EventEmitter, once } from 'node:events';
171
166
  *
172
167
  * const ee = new EventEmitter();
173
168
  * const ac = new AbortController();
@@ -195,25 +190,24 @@ declare module 'events' {
195
190
  static once(emitter: _DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>;
196
191
  /**
197
192
  * ```js
198
- * const { on, EventEmitter } = require('events');
199
- *
200
- * (async () => {
201
- * const ee = new EventEmitter();
193
+ * import { on, EventEmitter } from 'node:events';
194
+ * import process from 'node:process';
202
195
  *
203
- * // Emit later on
204
- * process.nextTick(() => {
205
- * ee.emit('foo', 'bar');
206
- * ee.emit('foo', 42);
207
- * });
196
+ * const ee = new EventEmitter();
208
197
  *
209
- * for await (const event of on(ee, 'foo')) {
210
- * // The execution of this inner block is synchronous and it
211
- * // processes one event at a time (even with await). Do not use
212
- * // if concurrent execution is required.
213
- * console.log(event); // prints ['bar'] [42]
214
- * }
215
- * // Unreachable here
216
- * })();
198
+ * // Emit later on
199
+ * process.nextTick(() => {
200
+ * ee.emit('foo', 'bar');
201
+ * ee.emit('foo', 42);
202
+ * });
203
+ *
204
+ * for await (const event of on(ee, 'foo')) {
205
+ * // The execution of this inner block is synchronous and it
206
+ * // processes one event at a time (even with await). Do not use
207
+ * // if concurrent execution is required.
208
+ * console.log(event); // prints ['bar'] [42]
209
+ * }
210
+ * // Unreachable here
217
211
  * ```
218
212
  *
219
213
  * Returns an `AsyncIterator` that iterates `eventName` events. It will throw
@@ -224,7 +218,9 @@ declare module 'events' {
224
218
  * An `AbortSignal` can be used to cancel waiting on events:
225
219
  *
226
220
  * ```js
227
- * const { on, EventEmitter } = require('events');
221
+ * import { on, EventEmitter } from 'node:events';
222
+ * import process from 'node:process';
223
+ *
228
224
  * const ac = new AbortController();
229
225
  *
230
226
  * (async () => {
@@ -256,7 +252,8 @@ declare module 'events' {
256
252
  * A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`.
257
253
  *
258
254
  * ```js
259
- * const { EventEmitter, listenerCount } = require('events');
255
+ * import { EventEmitter, listenerCount } from 'node:events';
256
+ *
260
257
  * const myEmitter = new EventEmitter();
261
258
  * myEmitter.on('event', () => {});
262
259
  * myEmitter.on('event', () => {});
@@ -279,19 +276,19 @@ declare module 'events' {
279
276
  * event target. This is useful for debugging and diagnostic purposes.
280
277
  *
281
278
  * ```js
282
- * const { getEventListeners, EventEmitter } = require('events');
279
+ * import { getEventListeners, EventEmitter } from 'node:events';
283
280
  *
284
281
  * {
285
282
  * const ee = new EventEmitter();
286
283
  * const listener = () => console.log('Events are fun');
287
284
  * ee.on('foo', listener);
288
- * getEventListeners(ee, 'foo'); // [listener]
285
+ * console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
289
286
  * }
290
287
  * {
291
288
  * const et = new EventTarget();
292
289
  * const listener = () => console.log('Events are fun');
293
290
  * et.addEventListener('foo', listener);
294
- * getEventListeners(et, 'foo'); // [listener]
291
+ * console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
295
292
  * }
296
293
  * ```
297
294
  * @since v15.2.0, v14.17.0
@@ -299,10 +296,7 @@ declare module 'events' {
299
296
  static getEventListeners(emitter: _DOMEventTarget | NodeJS.EventEmitter, name: string | symbol): Function[];
300
297
  /**
301
298
  * ```js
302
- * const {
303
- * setMaxListeners,
304
- * EventEmitter
305
- * } = require('events');
299
+ * import { setMaxListeners, EventEmitter } from 'node:events';
306
300
  *
307
301
  * const target = new EventTarget();
308
302
  * const emitter = new EventEmitter();
@@ -316,21 +310,63 @@ declare module 'events' {
316
310
  */
317
311
  static setMaxListeners(n?: number, ...eventTargets: Array<_DOMEventTarget | NodeJS.EventEmitter>): void;
318
312
  /**
319
- * This symbol shall be used to install a listener for only monitoring `'error'`
320
- * events. Listeners installed using this symbol are called before the regular
321
- * `'error'` listeners are called.
313
+ * 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.
322
314
  *
323
- * Installing a listener using this symbol does not change the behavior once an
324
- * `'error'` event is emitted, therefore the process will still crash if no
315
+ * 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
325
316
  * regular `'error'` listener is installed.
317
+ * @since v13.6.0, v12.17.0
326
318
  */
327
319
  static readonly errorMonitor: unique symbol;
320
+ /**
321
+ * Value: `Symbol.for('nodejs.rejection')`
322
+ *
323
+ * See how to write a custom `rejection handler`.
324
+ * @since v13.4.0, v12.16.0
325
+ */
328
326
  static readonly captureRejectionSymbol: unique symbol;
329
327
  /**
330
- * Sets or gets the default captureRejection value for all emitters.
328
+ * Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
329
+ *
330
+ * Change the default `captureRejections` option on all new `EventEmitter` objects.
331
+ * @since v13.4.0, v12.16.0
331
332
  */
332
- // TODO: These should be described using static getter/setter pairs:
333
333
  static captureRejections: boolean;
334
+ /**
335
+ * By default, a maximum of `10` listeners can be registered for any single
336
+ * event. This limit can be changed for individual `EventEmitter` instances
337
+ * using the `emitter.setMaxListeners(n)` method. To change the default
338
+ * for _all_`EventEmitter` instances, the `events.defaultMaxListeners`property can be used. If this value is not a positive number, a `RangeError`is thrown.
339
+ *
340
+ * Take caution when setting the `events.defaultMaxListeners` because the
341
+ * change affects _all_`EventEmitter` instances, including those created before
342
+ * the change is made. However, calling `emitter.setMaxListeners(n)` still has
343
+ * precedence over `events.defaultMaxListeners`.
344
+ *
345
+ * This is not a hard limit. The `EventEmitter` instance will allow
346
+ * more listeners to be added but will output a trace warning to stderr indicating
347
+ * that a "possible EventEmitter memory leak" has been detected. For any single`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()`methods can be used to
348
+ * temporarily avoid this warning:
349
+ *
350
+ * ```js
351
+ * import { EventEmitter } from 'node:events';
352
+ * const emitter = new EventEmitter();
353
+ * emitter.setMaxListeners(emitter.getMaxListeners() + 1);
354
+ * emitter.once('event', () => {
355
+ * // do stuff
356
+ * emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
357
+ * });
358
+ * ```
359
+ *
360
+ * The `--trace-warnings` command-line flag can be used to display the
361
+ * stack trace for such warnings.
362
+ *
363
+ * The emitted warning can be inspected with `process.on('warning')` and will
364
+ * have the additional `emitter`, `type`, and `count` properties, referring to
365
+ * the event emitter instance, the event's name and the number of attached
366
+ * listeners, respectively.
367
+ * Its `name` property is set to `'MaxListenersExceededWarning'`.
368
+ * @since v0.11.2
369
+ */
334
370
  static defaultMaxListeners: number;
335
371
  }
336
372
  import internal = require('node:events');
@@ -370,6 +406,7 @@ declare module 'events' {
370
406
  * event listener to the beginning of the listeners array.
371
407
  *
372
408
  * ```js
409
+ * import { EventEmitter } from 'node:events';
373
410
  * const myEE = new EventEmitter();
374
411
  * myEE.on('foo', () => console.log('a'));
375
412
  * myEE.prependListener('foo', () => console.log('b'));
@@ -399,6 +436,7 @@ declare module 'events' {
399
436
  * event listener to the beginning of the listeners array.
400
437
  *
401
438
  * ```js
439
+ * import { EventEmitter } from 'node:events';
402
440
  * const myEE = new EventEmitter();
403
441
  * myEE.once('foo', () => console.log('a'));
404
442
  * myEE.prependOnceListener('foo', () => console.log('b'));
@@ -434,6 +472,8 @@ declare module 'events' {
434
472
  * will not remove them from`emit()` in progress. Subsequent events behave as expected.
435
473
  *
436
474
  * ```js
475
+ * import { EventEmitter } from 'node:events';
476
+ * class MyEmitter extends EventEmitter {}
437
477
  * const myEmitter = new MyEmitter();
438
478
  *
439
479
  * const callbackA = () => {
@@ -474,6 +514,7 @@ declare module 'events' {
474
514
  * recently added instance. In the example the `once('ping')`listener is removed:
475
515
  *
476
516
  * ```js
517
+ * import { EventEmitter } from 'node:events';
477
518
  * const ee = new EventEmitter();
478
519
  *
479
520
  * function pong() {
@@ -542,6 +583,7 @@ declare module 'events' {
542
583
  * including any wrappers (such as those created by `.once()`).
543
584
  *
544
585
  * ```js
586
+ * import { EventEmitter } from 'node:events';
545
587
  * const emitter = new EventEmitter();
546
588
  * emitter.once('log', () => console.log('log once'));
547
589
  *
@@ -574,7 +616,7 @@ declare module 'events' {
574
616
  * Returns `true` if the event had listeners, `false` otherwise.
575
617
  *
576
618
  * ```js
577
- * const EventEmitter = require('events');
619
+ * import { EventEmitter } from 'node:events';
578
620
  * const myEmitter = new EventEmitter();
579
621
  *
580
622
  * // First listener
@@ -609,11 +651,14 @@ declare module 'events' {
609
651
  */
610
652
  emit(eventName: string | symbol, ...args: any[]): boolean;
611
653
  /**
612
- * Returns the number of listeners listening to the event named `eventName`.
654
+ * Returns the number of listeners listening for the event named `eventName`.
655
+ * If `listener` is provided, it will return how many times the listener is found
656
+ * in the list of the listeners of the event.
613
657
  * @since v3.2.0
614
658
  * @param eventName The name of the event being listened for
659
+ * @param listener The event handler function
615
660
  */
616
- listenerCount(eventName: string | symbol): number;
661
+ listenerCount(eventName: string | symbol, listener?: Function): number;
617
662
  /**
618
663
  * Adds the `listener` function to the _beginning_ of the listeners array for the
619
664
  * event named `eventName`. No checks are made to see if the `listener` has
@@ -653,7 +698,8 @@ declare module 'events' {
653
698
  * listeners. The values in the array are strings or `Symbol`s.
654
699
  *
655
700
  * ```js
656
- * const EventEmitter = require('events');
701
+ * import { EventEmitter } from 'node:events';
702
+ *
657
703
  * const myEE = new EventEmitter();
658
704
  * myEE.on('foo', () => {});
659
705
  * myEE.on('bar', () => {});