@types/node 16.3.3 → 16.4.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/console.d.ts CHANGED
@@ -1,98 +1,318 @@
1
+ /**
2
+ * The `console` module provides a simple debugging console that is similar to the
3
+ * JavaScript console mechanism provided by web browsers.
4
+ *
5
+ * The module exports two specific components:
6
+ *
7
+ * * A `Console` class with methods such as `console.log()`, `console.error()` and`console.warn()` that can be used to write to any Node.js stream.
8
+ * * A global `console` instance configured to write to `process.stdout` and `process.stderr`. The global `console` can be used without calling`require('console')`.
9
+ *
10
+ * _**Warning**_: The global console object's methods are neither consistently
11
+ * synchronous like the browser APIs they resemble, nor are they consistently
12
+ * asynchronous like all other Node.js streams. See the `note on process I/O` for
13
+ * more information.
14
+ *
15
+ * Example using the global `console`:
16
+ *
17
+ * ```js
18
+ * console.log('hello world');
19
+ * // Prints: hello world, to stdout
20
+ * console.log('hello %s', 'world');
21
+ * // Prints: hello world, to stdout
22
+ * console.error(new Error('Whoops, something bad happened'));
23
+ * // Prints error message and stack trace to stderr:
24
+ * // Error: Whoops, something bad happened
25
+ * // at [eval]:5:15
26
+ * // at Script.runInThisContext (node:vm:132:18)
27
+ * // at Object.runInThisContext (node:vm:309:38)
28
+ * // at node:internal/process/execution:77:19
29
+ * // at [eval]-wrapper:6:22
30
+ * // at evalScript (node:internal/process/execution:76:60)
31
+ * // at node:internal/main/eval_string:23:3
32
+ *
33
+ * const name = 'Will Robinson';
34
+ * console.warn(`Danger ${name}! Danger!`);
35
+ * // Prints: Danger Will Robinson! Danger!, to stderr
36
+ * ```
37
+ *
38
+ * Example using the `Console` class:
39
+ *
40
+ * ```js
41
+ * const out = getStreamSomehow();
42
+ * const err = getStreamSomehow();
43
+ * const myConsole = new console.Console(out, err);
44
+ *
45
+ * myConsole.log('hello world');
46
+ * // Prints: hello world, to out
47
+ * myConsole.log('hello %s', 'world');
48
+ * // Prints: hello world, to out
49
+ * myConsole.error(new Error('Whoops, something bad happened'));
50
+ * // Prints: [Error: Whoops, something bad happened], to err
51
+ *
52
+ * const name = 'Will Robinson';
53
+ * myConsole.warn(`Danger ${name}! Danger!`);
54
+ * // Prints: Danger Will Robinson! Danger!, to err
55
+ * ```
56
+ * @see [source](https://github.com/nodejs/node/blob/v16.4.2/lib/console.js)
57
+ */
1
58
  declare module 'console' {
2
59
  import console = require('node:console');
3
60
  export = console;
4
61
  }
5
-
6
62
  declare module 'node:console' {
7
63
  import { InspectOptions } from 'node:util';
8
-
9
64
  global {
10
65
  // This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build
11
66
  interface Console {
12
67
  Console: console.ConsoleConstructor;
13
68
  /**
14
- * A simple assertion test that verifies whether `value` is truthy.
15
- * If it is not, an `AssertionError` is thrown.
16
- * If provided, the error `message` is formatted using `util.format()` and used as the error message.
69
+ * `console.assert()` writes a message if `value` is [falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) or omitted. It only
70
+ * writes a message and does not otherwise affect execution. The output always
71
+ * starts with `"Assertion failed"`. If provided, `message` is formatted using `util.format()`.
72
+ *
73
+ * If `value` is [truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy), nothing happens.
74
+ *
75
+ * ```js
76
+ * console.assert(true, 'does nothing');
77
+ *
78
+ * console.assert(false, 'Whoops %s work', 'didn\'t');
79
+ * // Assertion failed: Whoops didn't work
80
+ *
81
+ * console.assert();
82
+ * // Assertion failed
83
+ * ```
84
+ * @since v0.1.101
85
+ * @param value The value tested for being truthy.
86
+ * @param ...message All arguments besides `value` are used as error message.
17
87
  */
18
88
  assert(value: any, message?: string, ...optionalParams: any[]): void;
19
89
  /**
20
- * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY.
21
- * When `stdout` is not a TTY, this method does nothing.
90
+ * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the
91
+ * TTY. When `stdout` is not a TTY, this method does nothing.
92
+ *
93
+ * The specific operation of `console.clear()` can vary across operating systems
94
+ * and terminal types. For most Linux operating systems, `console.clear()`operates similarly to the `clear` shell command. On Windows, `console.clear()`will clear only the output in the
95
+ * current terminal viewport for the Node.js
96
+ * binary.
97
+ * @since v8.3.0
22
98
  */
23
99
  clear(): void;
24
100
  /**
25
- * Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`.
101
+ * Maintains an internal counter specific to `label` and outputs to `stdout` the
102
+ * number of times `console.count()` has been called with the given `label`.
103
+ *
104
+ * ```js
105
+ * > console.count()
106
+ * default: 1
107
+ * undefined
108
+ * > console.count('default')
109
+ * default: 2
110
+ * undefined
111
+ * > console.count('abc')
112
+ * abc: 1
113
+ * undefined
114
+ * > console.count('xyz')
115
+ * xyz: 1
116
+ * undefined
117
+ * > console.count('abc')
118
+ * abc: 2
119
+ * undefined
120
+ * > console.count()
121
+ * default: 3
122
+ * undefined
123
+ * >
124
+ * ```
125
+ * @since v8.3.0
126
+ * @param label The display label for the counter.
26
127
  */
27
128
  count(label?: string): void;
28
129
  /**
29
130
  * Resets the internal counter specific to `label`.
131
+ *
132
+ * ```js
133
+ * > console.count('abc');
134
+ * abc: 1
135
+ * undefined
136
+ * > console.countReset('abc');
137
+ * undefined
138
+ * > console.count('abc');
139
+ * abc: 1
140
+ * undefined
141
+ * >
142
+ * ```
143
+ * @since v8.3.0
144
+ * @param label The display label for the counter.
30
145
  */
31
146
  countReset(label?: string): void;
32
147
  /**
33
- * The `console.debug()` function is an alias for {@link console.log}.
148
+ * The `console.debug()` function is an alias for {@link log}.
149
+ * @since v8.0.0
34
150
  */
35
151
  debug(message?: any, ...optionalParams: any[]): void;
36
152
  /**
37
- * Uses {@link util.inspect} on `obj` and prints the resulting string to `stdout`.
153
+ * Uses `util.inspect()` on `obj` and prints the resulting string to `stdout`.
38
154
  * This function bypasses any custom `inspect()` function defined on `obj`.
155
+ * @since v0.1.101
39
156
  */
40
157
  dir(obj: any, options?: InspectOptions): void;
41
158
  /**
42
- * This method calls {@link console.log} passing it the arguments received. Please note that this method does not produce any XML formatting
159
+ * This method calls `console.log()` passing it the arguments received.
160
+ * This method does not produce any XML formatting.
161
+ * @since v8.0.0
43
162
  */
44
163
  dirxml(...data: any[]): void;
45
164
  /**
46
- * Prints to `stderr` with newline.
165
+ * Prints to `stderr` with newline. Multiple arguments can be passed, with the
166
+ * first used as the primary message and all additional used as substitution
167
+ * values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html) (the arguments are all passed to `util.format()`).
168
+ *
169
+ * ```js
170
+ * const code = 5;
171
+ * console.error('error #%d', code);
172
+ * // Prints: error #5, to stderr
173
+ * console.error('error', code);
174
+ * // Prints: error 5, to stderr
175
+ * ```
176
+ *
177
+ * If formatting elements (e.g. `%d`) are not found in the first string then `util.inspect()` is called on each argument and the resulting string
178
+ * values are concatenated. See `util.format()` for more information.
179
+ * @since v0.1.100
47
180
  */
48
181
  error(message?: any, ...optionalParams: any[]): void;
49
182
  /**
50
- * Increases indentation of subsequent lines by two spaces.
51
- * If one or more `label`s are provided, those are printed first without the additional indentation.
183
+ * Increases indentation of subsequent lines by spaces for `groupIndentation`length.
184
+ *
185
+ * If one or more `label`s are provided, those are printed first without the
186
+ * additional indentation.
187
+ * @since v8.5.0
52
188
  */
53
189
  group(...label: any[]): void;
54
190
  /**
55
- * The `console.groupCollapsed()` function is an alias for {@link console.group}.
191
+ * An alias for {@link group}.
192
+ * @since v8.5.0
56
193
  */
57
194
  groupCollapsed(...label: any[]): void;
58
195
  /**
59
- * Decreases indentation of subsequent lines by two spaces.
196
+ * Decreases indentation of subsequent lines by spaces for `groupIndentation`length.
197
+ * @since v8.5.0
60
198
  */
61
199
  groupEnd(): void;
62
200
  /**
63
- * The {@link console.info} function is an alias for {@link console.log}.
201
+ * The `console.info()` function is an alias for {@link log}.
202
+ * @since v0.1.100
64
203
  */
65
204
  info(message?: any, ...optionalParams: any[]): void;
66
205
  /**
67
- * Prints to `stdout` with newline.
206
+ * Prints to `stdout` with newline. Multiple arguments can be passed, with the
207
+ * first used as the primary message and all additional used as substitution
208
+ * values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html) (the arguments are all passed to `util.format()`).
209
+ *
210
+ * ```js
211
+ * const count = 5;
212
+ * console.log('count: %d', count);
213
+ * // Prints: count: 5, to stdout
214
+ * console.log('count:', count);
215
+ * // Prints: count: 5, to stdout
216
+ * ```
217
+ *
218
+ * See `util.format()` for more information.
219
+ * @since v0.1.100
68
220
  */
69
221
  log(message?: any, ...optionalParams: any[]): void;
70
222
  /**
71
- * This method does not display anything unless used in the inspector.
72
- * Prints to `stdout` the array `array` formatted as a table.
223
+ * Try to construct a table with the columns of the properties of `tabularData`(or use `properties`) and rows of `tabularData` and log it. Falls back to just
224
+ * logging the argument if it can’t be parsed as tabular.
225
+ *
226
+ * ```js
227
+ * // These can't be parsed as tabular data
228
+ * console.table(Symbol());
229
+ * // Symbol()
230
+ *
231
+ * console.table(undefined);
232
+ * // undefined
233
+ *
234
+ * console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);
235
+ * // ┌─────────┬─────┬─────┐
236
+ * // │ (index) │ a │ b │
237
+ * // ├─────────┼─────┼─────┤
238
+ * // │ 0 │ 1 │ 'Y' │
239
+ * // │ 1 │ 'Z' │ 2 │
240
+ * // └─────────┴─────┴─────┘
241
+ *
242
+ * console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
243
+ * // ┌─────────┬─────┐
244
+ * // │ (index) │ a │
245
+ * // ├─────────┼─────┤
246
+ * // │ 0 │ 1 │
247
+ * // │ 1 │ 'Z' │
248
+ * // └─────────┴─────┘
249
+ * ```
250
+ * @since v10.0.0
251
+ * @param properties Alternate properties for constructing the table.
73
252
  */
74
253
  table(tabularData: any, properties?: ReadonlyArray<string>): void;
75
254
  /**
76
- * Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`.
255
+ * Starts a timer that can be used to compute the duration of an operation. Timers
256
+ * are identified by a unique `label`. Use the same `label` when calling {@link timeEnd} to stop the timer and output the elapsed time in
257
+ * suitable time units to `stdout`. For example, if the elapsed
258
+ * time is 3869ms, `console.timeEnd()` displays "3.869s".
259
+ * @since v0.1.104
77
260
  */
78
261
  time(label?: string): void;
79
262
  /**
80
- * Stops a timer that was previously started by calling {@link console.time} and prints the result to `stdout`.
263
+ * Stops a timer that was previously started by calling {@link time} and
264
+ * prints the result to `stdout`:
265
+ *
266
+ * ```js
267
+ * console.time('100-elements');
268
+ * for (let i = 0; i < 100; i++) {}
269
+ * console.timeEnd('100-elements');
270
+ * // prints 100-elements: 225.438ms
271
+ * ```
272
+ * @since v0.1.104
81
273
  */
82
274
  timeEnd(label?: string): void;
83
275
  /**
84
- * For a timer that was previously started by calling {@link console.time}, prints the elapsed time and other `data` arguments to `stdout`.
276
+ * For a timer that was previously started by calling {@link time}, prints
277
+ * the elapsed time and other `data` arguments to `stdout`:
278
+ *
279
+ * ```js
280
+ * console.time('process');
281
+ * const value = expensiveProcess1(); // Returns 42
282
+ * console.timeLog('process', value);
283
+ * // Prints "process: 365.227ms 42".
284
+ * doExpensiveProcess2(value);
285
+ * console.timeEnd('process');
286
+ * ```
287
+ * @since v10.7.0
85
288
  */
86
289
  timeLog(label?: string, ...data: any[]): void;
87
290
  /**
88
- * Prints to `stderr` the string 'Trace :', followed by the {@link util.format} formatted message and stack trace to the current position in the code.
291
+ * Prints to `stderr` the string `'Trace: '`, followed by the `util.format()` formatted message and stack trace to the current position in the code.
292
+ *
293
+ * ```js
294
+ * console.trace('Show me');
295
+ * // Prints: (stack trace will vary based on where trace is called)
296
+ * // Trace: Show me
297
+ * // at repl:2:9
298
+ * // at REPLServer.defaultEval (repl.js:248:27)
299
+ * // at bound (domain.js:287:14)
300
+ * // at REPLServer.runBound [as eval] (domain.js:300:12)
301
+ * // at REPLServer.<anonymous> (repl.js:412:12)
302
+ * // at emitOne (events.js:82:20)
303
+ * // at REPLServer.emit (events.js:169:7)
304
+ * // at REPLServer.Interface._onLine (readline.js:210:10)
305
+ * // at REPLServer.Interface._line (readline.js:549:8)
306
+ * // at REPLServer.Interface._ttyWrite (readline.js:826:14)
307
+ * ```
308
+ * @since v0.1.104
89
309
  */
90
310
  trace(message?: any, ...optionalParams: any[]): void;
91
311
  /**
92
- * The {@link console.warn} function is an alias for {@link console.error}.
312
+ * The `console.warn()` function is an alias for {@link error}.
313
+ * @since v0.1.100
93
314
  */
94
315
  warn(message?: any, ...optionalParams: any[]): void;
95
-
96
316
  // --- Inspector mode only ---
97
317
  /**
98
318
  * This method does not display anything unless used in the inspector.
@@ -110,7 +330,63 @@ declare module 'node:console' {
110
330
  */
111
331
  timeStamp(label?: string): void;
112
332
  }
113
-
333
+ /**
334
+ * The `console` module provides a simple debugging console that is similar to the
335
+ * JavaScript console mechanism provided by web browsers.
336
+ *
337
+ * The module exports two specific components:
338
+ *
339
+ * * A `Console` class with methods such as `console.log()`, `console.error()` and`console.warn()` that can be used to write to any Node.js stream.
340
+ * * A global `console` instance configured to write to `process.stdout` and `process.stderr`. The global `console` can be used without calling`require('console')`.
341
+ *
342
+ * _**Warning**_: The global console object's methods are neither consistently
343
+ * synchronous like the browser APIs they resemble, nor are they consistently
344
+ * asynchronous like all other Node.js streams. See the `note on process I/O` for
345
+ * more information.
346
+ *
347
+ * Example using the global `console`:
348
+ *
349
+ * ```js
350
+ * console.log('hello world');
351
+ * // Prints: hello world, to stdout
352
+ * console.log('hello %s', 'world');
353
+ * // Prints: hello world, to stdout
354
+ * console.error(new Error('Whoops, something bad happened'));
355
+ * // Prints error message and stack trace to stderr:
356
+ * // Error: Whoops, something bad happened
357
+ * // at [eval]:5:15
358
+ * // at Script.runInThisContext (node:vm:132:18)
359
+ * // at Object.runInThisContext (node:vm:309:38)
360
+ * // at node:internal/process/execution:77:19
361
+ * // at [eval]-wrapper:6:22
362
+ * // at evalScript (node:internal/process/execution:76:60)
363
+ * // at node:internal/main/eval_string:23:3
364
+ *
365
+ * const name = 'Will Robinson';
366
+ * console.warn(`Danger ${name}! Danger!`);
367
+ * // Prints: Danger Will Robinson! Danger!, to stderr
368
+ * ```
369
+ *
370
+ * Example using the `Console` class:
371
+ *
372
+ * ```js
373
+ * const out = getStreamSomehow();
374
+ * const err = getStreamSomehow();
375
+ * const myConsole = new console.Console(out, err);
376
+ *
377
+ * myConsole.log('hello world');
378
+ * // Prints: hello world, to out
379
+ * myConsole.log('hello %s', 'world');
380
+ * // Prints: hello world, to out
381
+ * myConsole.error(new Error('Whoops, something bad happened'));
382
+ * // Prints: [Error: Whoops, something bad happened], to err
383
+ *
384
+ * const name = 'Will Robinson';
385
+ * myConsole.warn(`Danger ${name}! Danger!`);
386
+ * // Prints: Danger Will Robinson! Danger!, to err
387
+ * ```
388
+ * @see [source](https://github.com/nodejs/node/blob/v16.4.2/lib/console.js)
389
+ */
114
390
  namespace console {
115
391
  interface ConsoleConstructorOptions {
116
392
  stdout: NodeJS.WritableStream;
@@ -119,16 +395,13 @@ declare module 'node:console' {
119
395
  colorMode?: boolean | 'auto' | undefined;
120
396
  inspectOptions?: InspectOptions | undefined;
121
397
  }
122
-
123
398
  interface ConsoleConstructor {
124
399
  prototype: Console;
125
- new(stdout: NodeJS.WritableStream, stderr?: NodeJS.WritableStream, ignoreErrors?: boolean): Console;
126
- new(options: ConsoleConstructorOptions): Console;
400
+ new (stdout: NodeJS.WritableStream, stderr?: NodeJS.WritableStream, ignoreErrors?: boolean): Console;
401
+ new (options: ConsoleConstructorOptions): Console;
127
402
  }
128
403
  }
129
-
130
404
  var console: Console;
131
405
  }
132
-
133
406
  export = globalThis.console;
134
407
  }