@types/node 20.1.2 → 20.1.3

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 CHANGED
@@ -8,7 +8,7 @@ This package contains type definitions for Node.js (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: Wed, 10 May 2023 08:02:53 GMT
11
+ * Last updated: Thu, 11 May 2023 20:02:56 GMT
12
12
  * Dependencies: none
13
13
  * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`
14
14
 
node/assert.d.ts CHANGED
@@ -15,10 +15,25 @@ declare module 'assert' {
15
15
  * Indicates the failure of an assertion. All errors thrown by the `node:assert`module will be instances of the `AssertionError` class.
16
16
  */
17
17
  class AssertionError extends Error {
18
+ /**
19
+ * Set to the `actual` argument for methods such as {@link assert.strictEqual()}.
20
+ */
18
21
  actual: unknown;
22
+ /**
23
+ * Set to the `expected` argument for methods such as {@link assert.strictEqual()}.
24
+ */
19
25
  expected: unknown;
26
+ /**
27
+ * Set to the passed in operator value.
28
+ */
20
29
  operator: string;
30
+ /**
31
+ * Indicates if the message was auto-generated (`true`) or not.
32
+ */
21
33
  generatedMessage: boolean;
34
+ /**
35
+ * Value is always `ERR_ASSERTION` to show that the error is an assertion error.
36
+ */
22
37
  code: 'ERR_ASSERTION';
23
38
  constructor(options?: {
24
39
  /** If provided, the error message is set to this value. */
node/async_hooks.d.ts CHANGED
@@ -274,19 +274,13 @@ declare module 'async_hooks' {
274
274
  * @param fn The function to bind to the current execution context.
275
275
  * @param type An optional name to associate with the underlying `AsyncResource`.
276
276
  */
277
- static bind<Func extends (this: ThisArg, ...args: any[]) => any, ThisArg>(
278
- fn: Func,
279
- type?: string,
280
- thisArg?: ThisArg
281
- ): Func;
277
+ static bind<Func extends (this: ThisArg, ...args: any[]) => any, ThisArg>(fn: Func, type?: string, thisArg?: ThisArg): Func;
282
278
  /**
283
279
  * Binds the given function to execute to this `AsyncResource`'s scope.
284
280
  * @since v14.8.0, v12.19.0
285
281
  * @param fn The function to bind to the current `AsyncResource`.
286
282
  */
287
- bind<Func extends (...args: any[]) => any>(
288
- fn: Func
289
- ): Func;
283
+ bind<Func extends (...args: any[]) => any>(fn: Func): Func;
290
284
  /**
291
285
  * Call the provided function with the provided arguments in the execution context
292
286
  * of the async resource. This will establish the context, trigger the AsyncHooks
@@ -372,9 +366,7 @@ declare module 'async_hooks' {
372
366
  * @param fn The function to bind to the current execution context.
373
367
  * @return A new function that calls `fn` within the captured execution context.
374
368
  */
375
- static bind<Func extends (...args: any[]) => any>(
376
- fn: Func
377
- ): Func;
369
+ static bind<Func extends (...args: any[]) => any>(fn: Func): Func;
378
370
  /**
379
371
  * Captures the current execution context and returns a function that accepts a
380
372
  * function as an argument. Whenever the returned function is called, it
node/crypto.d.ts CHANGED
@@ -96,7 +96,7 @@ declare module 'crypto' {
96
96
  verifySpkac(spkac: NodeJS.ArrayBufferView): boolean;
97
97
  }
98
98
  namespace constants {
99
- // https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_constants
99
+ // https://nodejs.org/dist/latest-v20.x/docs/api/crypto.html#crypto-constants
100
100
  const OPENSSL_VERSION_NUMBER: number;
101
101
  /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */
102
102
  const SSL_OP_ALL: number;
node/dns/promises.d.ts CHANGED
@@ -344,6 +344,49 @@ declare module 'dns/promises' {
344
344
  * @param order must be `'ipv4first'` or `'verbatim'`.
345
345
  */
346
346
  function setDefaultResultOrder(order: 'ipv4first' | 'verbatim'): void;
347
+ /**
348
+ * An independent resolver for DNS requests.
349
+ *
350
+ * Creating a new resolver uses the default server settings. Setting
351
+ * the servers used for a resolver using `resolver.setServers()` does not affect
352
+ * other resolvers:
353
+ *
354
+ * ```js
355
+ * const { Resolver } = require('node:dns').promises;
356
+ * const resolver = new Resolver();
357
+ * resolver.setServers(['4.4.4.4']);
358
+ *
359
+ * // This request will use the server at 4.4.4.4, independent of global settings.
360
+ * resolver.resolve4('example.org').then((addresses) => {
361
+ * // ...
362
+ * });
363
+ *
364
+ * // Alternatively, the same code can be written using async-await style.
365
+ * (async function() {
366
+ * const addresses = await resolver.resolve4('example.org');
367
+ * })();
368
+ * ```
369
+ *
370
+ * The following methods from the `dnsPromises` API are available:
371
+ *
372
+ * * `resolver.getServers()`
373
+ * * `resolver.resolve()`
374
+ * * `resolver.resolve4()`
375
+ * * `resolver.resolve6()`
376
+ * * `resolver.resolveAny()`
377
+ * * `resolver.resolveCaa()`
378
+ * * `resolver.resolveCname()`
379
+ * * `resolver.resolveMx()`
380
+ * * `resolver.resolveNaptr()`
381
+ * * `resolver.resolveNs()`
382
+ * * `resolver.resolvePtr()`
383
+ * * `resolver.resolveSoa()`
384
+ * * `resolver.resolveSrv()`
385
+ * * `resolver.resolveTxt()`
386
+ * * `resolver.reverse()`
387
+ * * `resolver.setServers()`
388
+ * @since v10.6.0
389
+ */
347
390
  class Resolver {
348
391
  constructor(options?: ResolverOptions);
349
392
  cancel(): void;
@@ -352,6 +395,7 @@ declare module 'dns/promises' {
352
395
  resolve4: typeof resolve4;
353
396
  resolve6: typeof resolve6;
354
397
  resolveAny: typeof resolveAny;
398
+ resolveCaa: typeof resolveCaa;
355
399
  resolveCname: typeof resolveCname;
356
400
  resolveMx: typeof resolveMx;
357
401
  resolveNaptr: typeof resolveNaptr;
node/dns.d.ts CHANGED
@@ -633,6 +633,7 @@ declare module 'dns' {
633
633
  resolve4: typeof resolve4;
634
634
  resolve6: typeof resolve6;
635
635
  resolveAny: typeof resolveAny;
636
+ resolveCaa: typeof resolveCaa;
636
637
  resolveCname: typeof resolveCname;
637
638
  resolveMx: typeof resolveMx;
638
639
  resolveNaptr: typeof resolveNaptr;
node/events.d.ts CHANGED
@@ -310,21 +310,63 @@ declare module 'events' {
310
310
  */
311
311
  static setMaxListeners(n?: number, ...eventTargets: Array<_DOMEventTarget | NodeJS.EventEmitter>): void;
312
312
  /**
313
- * This symbol shall be used to install a listener for only monitoring `'error'`
314
- * events. Listeners installed using this symbol are called before the regular
315
- * `'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.
316
314
  *
317
- * Installing a listener using this symbol does not change the behavior once an
318
- * `'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
319
316
  * regular `'error'` listener is installed.
317
+ * @since v13.6.0, v12.17.0
320
318
  */
321
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
+ */
322
326
  static readonly captureRejectionSymbol: unique symbol;
323
327
  /**
324
- * 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
325
332
  */
326
- // TODO: These should be described using static getter/setter pairs:
327
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
+ */
328
370
  static defaultMaxListeners: number;
329
371
  }
330
372
  import internal = require('node:events');
node/fs.d.ts CHANGED
@@ -149,12 +149,38 @@ declare module 'fs' {
149
149
  }
150
150
  export interface StatsFs extends StatsFsBase<number> {}
151
151
  /**
152
- * Provides information about a mounted file system
152
+ * Provides information about a mounted file system.
153
153
  *
154
- * Objects returned from {@link statfs} and {@link statfsSync} are of this type.
155
- * If `bigint` in the `options` passed to those methods is true, the numeric values
156
- * will be `bigint` instead of `number`.
157
- * @since v18.15.0
154
+ * Objects returned from {@link statfs} and its synchronous counterpart are of
155
+ * this type. If `bigint` in the `options` passed to those methods is `true`, the
156
+ * numeric values will be `bigint` instead of `number`.
157
+ *
158
+ * ```console
159
+ * StatFs {
160
+ * type: 1397114950,
161
+ * bsize: 4096,
162
+ * blocks: 121938943,
163
+ * bfree: 61058895,
164
+ * bavail: 61058895,
165
+ * files: 999,
166
+ * ffree: 1000000
167
+ * }
168
+ * ```
169
+ *
170
+ * `bigint` version:
171
+ *
172
+ * ```console
173
+ * StatFs {
174
+ * type: 1397114950n,
175
+ * bsize: 4096n,
176
+ * blocks: 121938943n,
177
+ * bfree: 61058895n,
178
+ * bavail: 61058895n,
179
+ * files: 999n,
180
+ * ffree: 1000000n
181
+ * }
182
+ * ```
183
+ * @since v19.6.0, v18.15.0
158
184
  */
159
185
  export class StatsFs {}
160
186
  export interface BigIntStatsFs extends StatsFsBase<bigint> {}
@@ -214,6 +240,11 @@ declare module 'fs' {
214
240
  * @since v10.10.0
215
241
  */
216
242
  name: string;
243
+ /**
244
+ * The base path that this `fs.Dirent` object refers to.
245
+ * @since v20.1.0
246
+ */
247
+ path: string;
217
248
  }
218
249
  /**
219
250
  * A class representing a directory stream.
node/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "20.1.2",
3
+ "version": "20.1.3",
4
4
  "description": "TypeScript definitions for Node.js",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -232,6 +232,6 @@
232
232
  },
233
233
  "scripts": {},
234
234
  "dependencies": {},
235
- "typesPublisherContentHash": "8dcc213ed756110c2b3b7a0f3a9b54ba17ba1eed24956abe206aa9f29dc5cd4d",
235
+ "typesPublisherContentHash": "a821357c6e565ca2470c2b7f613961727e971d28c26c1160834a50312f336893",
236
236
  "typeScriptVersion": "4.3"
237
237
  }
@@ -1,22 +1,28 @@
1
1
  /**
2
- * The `readline/promise` module provides an API for reading lines of input from a Readable stream one line at a time.
3
- *
4
- * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/readline/promises.js)
5
2
  * @since v17.0.0
3
+ * @experimental
6
4
  */
7
5
  declare module 'readline/promises' {
8
6
  import { Interface as _Interface, ReadLineOptions, Completer, AsyncCompleter, Direction } from 'node:readline';
9
7
  import { Abortable } from 'node:events';
8
+ /**
9
+ * Instances of the `readlinePromises.Interface` class are constructed using the`readlinePromises.createInterface()` method. Every instance is associated with a
10
+ * single `input` `Readable` stream and a single `output` `Writable` stream.
11
+ * The `output` stream is used to print prompts for user input that arrives on,
12
+ * and is read from, the `input` stream.
13
+ * @since v17.0.0
14
+ */
10
15
  class Interface extends _Interface {
11
16
  /**
12
- * The rl.question() method displays the query by writing it to the output, waits for user input to be provided on input,
13
- * then invokes the callback function passing the provided input as the first argument.
17
+ * The `rl.question()` method displays the `query` by writing it to the `output`,
18
+ * waits for user input to be provided on `input`, then invokes the `callback`function passing the provided input as the first argument.
14
19
  *
15
- * When called, rl.question() will resume the input stream if it has been paused.
20
+ * When called, `rl.question()` will resume the `input` stream if it has been
21
+ * paused.
16
22
  *
17
- * If the readlinePromises.Interface was created with output set to null or undefined the query is not written.
23
+ * If the `Interface` was created with `output` set to `null` or`undefined` the `query` is not written.
18
24
  *
19
- * If the question is called after rl.close(), it returns a rejected promise.
25
+ * If the question is called after `rl.close()`, it returns a rejected promise.
20
26
  *
21
27
  * Example usage:
22
28
  *
@@ -25,7 +31,7 @@ declare module 'readline/promises' {
25
31
  * console.log(`Oh, so your favorite food is ${answer}`);
26
32
  * ```
27
33
  *
28
- * Using an AbortSignal to cancel a question.
34
+ * Using an `AbortSignal` to cancel a question.
29
35
  *
30
36
  * ```js
31
37
  * const signal = AbortSignal.timeout(10_000);
@@ -37,13 +43,16 @@ declare module 'readline/promises' {
37
43
  * const answer = await rl.question('What is your favorite food? ', { signal });
38
44
  * console.log(`Oh, so your favorite food is ${answer}`);
39
45
  * ```
40
- *
41
46
  * @since v17.0.0
42
- * @param query A statement or query to write to output, prepended to the prompt.
47
+ * @param query A statement or query to write to `output`, prepended to the prompt.
48
+ * @return A promise that is fulfilled with the user's input in response to the `query`.
43
49
  */
44
50
  question(query: string): Promise<string>;
45
51
  question(query: string, options: Abortable): Promise<string>;
46
52
  }
53
+ /**
54
+ * @since v17.0.0
55
+ */
47
56
  class Readline {
48
57
  /**
49
58
  * @param stream A TTY stream.
@@ -55,46 +64,66 @@ declare module 'readline/promises' {
55
64
  }
56
65
  );
57
66
  /**
58
- * The `rl.clearLine()` method adds to the internal list of pending action an action that clears current line of the associated `stream` in a specified direction identified by `dir`.
59
- * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
67
+ * The `rl.clearLine()` method adds to the internal list of pending action an
68
+ * action that clears current line of the associated `stream` in a specified
69
+ * direction identified by `dir`.
70
+ * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true`was passed to the constructor.
71
+ * @since v17.0.0
72
+ * @return this
60
73
  */
61
74
  clearLine(dir: Direction): this;
62
75
  /**
63
- * The `rl.clearScreenDown()` method adds to the internal list of pending action an action that clears the associated `stream` from the current position of the cursor down.
64
- * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
76
+ * The `rl.clearScreenDown()` method adds to the internal list of pending action an
77
+ * action that clears the associated stream from the current position of the
78
+ * cursor down.
79
+ * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true`was passed to the constructor.
80
+ * @since v17.0.0
81
+ * @return this
65
82
  */
66
83
  clearScreenDown(): this;
67
84
  /**
68
- * The `rl.commit()` method sends all the pending actions to the associated `stream` and clears the internal list of pending actions.
85
+ * The `rl.commit()` method sends all the pending actions to the associated`stream` and clears the internal list of pending actions.
86
+ * @since v17.0.0
69
87
  */
70
88
  commit(): Promise<void>;
71
89
  /**
72
- * The `rl.cursorTo()` method adds to the internal list of pending action an action that moves cursor to the specified position in the associated `stream`.
73
- * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
90
+ * The `rl.cursorTo()` method adds to the internal list of pending action an action
91
+ * that moves cursor to the specified position in the associated `stream`.
92
+ * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true`was passed to the constructor.
93
+ * @since v17.0.0
94
+ * @return this
74
95
  */
75
96
  cursorTo(x: number, y?: number): this;
76
97
  /**
77
- * The `rl.moveCursor()` method adds to the internal list of pending action an action that moves the cursor relative to its current position in the associated `stream`.
78
- * Call `rl.commit()` to see the effect of this method, unless autoCommit: true was passed to the constructor.
98
+ * The `rl.moveCursor()` method adds to the internal list of pending action an
99
+ * action that moves the cursor _relative_ to its current position in the
100
+ * associated `stream`.
101
+ * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true`was passed to the constructor.
102
+ * @since v17.0.0
103
+ * @return this
79
104
  */
80
105
  moveCursor(dx: number, dy: number): this;
81
106
  /**
82
- * The `rl.rollback()` method clears the internal list of pending actions without sending it to the associated `stream`.
107
+ * The `rl.rollback` methods clears the internal list of pending actions without
108
+ * sending it to the associated `stream`.
109
+ * @since v17.0.0
110
+ * @return this
83
111
  */
84
112
  rollback(): this;
85
113
  }
86
114
  /**
87
- * The `readlinePromises.createInterface()` method creates a new `readlinePromises.Interface` instance.
115
+ * The `readlinePromises.createInterface()` method creates a new `readlinePromises.Interface`instance.
88
116
  *
89
117
  * ```js
90
118
  * const readlinePromises = require('node:readline/promises');
91
119
  * const rl = readlinePromises.createInterface({
92
120
  * input: process.stdin,
93
- * output: process.stdout
121
+ * output: process.stdout,
94
122
  * });
95
123
  * ```
96
124
  *
97
- * Once the `readlinePromises.Interface` instance is created, the most common case is to listen for the `'line'` event:
125
+ * Once the `readlinePromises.Interface` instance is created, the most common case
126
+ * is to listen for the `'line'` event:
98
127
  *
99
128
  * ```js
100
129
  * rl.on('line', (line) => {
@@ -102,42 +131,13 @@ declare module 'readline/promises' {
102
131
  * });
103
132
  * ```
104
133
  *
105
- * If `terminal` is `true` for this instance then the `output` stream will get the best compatibility if it defines an `output.columns` property,
106
- * and emits a `'resize'` event on the `output`, if or when the columns ever change (`process.stdout` does this automatically when it is a TTY).
107
- *
108
- * ## Use of the `completer` function
109
- *
110
- * The `completer` function takes the current line entered by the user as an argument, and returns an `Array` with 2 entries:
111
- *
112
- * - An Array with matching entries for the completion.
113
- * - The substring that was used for the matching.
114
- *
115
- * For instance: `[[substr1, substr2, ...], originalsubstring]`.
116
- *
117
- * ```js
118
- * function completer(line) {
119
- * const completions = '.help .error .exit .quit .q'.split(' ');
120
- * const hits = completions.filter((c) => c.startsWith(line));
121
- * // Show all completions if none found
122
- * return [hits.length ? hits : completions, line];
123
- * }
124
- * ```
125
- *
126
- * The `completer` function can also returns a `Promise`, or be asynchronous:
127
- *
128
- * ```js
129
- * async function completer(linePartial) {
130
- * await someAsyncWork();
131
- * return [['123'], linePartial];
132
- * }
133
- * ```
134
+ * If `terminal` is `true` for this instance then the `output` stream will get
135
+ * the best compatibility if it defines an `output.columns` property and emits
136
+ * a `'resize'` event on the `output` if or when the columns ever change
137
+ * (`process.stdout` does this automatically when it is a TTY).
138
+ * @since v17.0.0
134
139
  */
135
- function createInterface(
136
- input: NodeJS.ReadableStream,
137
- output?: NodeJS.WritableStream,
138
- completer?: Completer | AsyncCompleter,
139
- terminal?: boolean,
140
- ): Interface;
140
+ function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): Interface;
141
141
  function createInterface(options: ReadLineOptions): Interface;
142
142
  }
143
143
  declare module 'node:readline/promises' {