@types/node 22.0.1 → 22.0.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 +1 -1
- node/globals.d.ts +5 -0
- node/package.json +2 -2
- node/test.d.ts +96 -81
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: Fri, 02 Aug 2024 08:37:31 GMT
|
12
12
|
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
13
13
|
|
14
14
|
# Credits
|
node/globals.d.ts
CHANGED
@@ -12,6 +12,7 @@ type _RequestInit = typeof globalThis extends { onmessage: any } ? {}
|
|
12
12
|
type _ResponseInit = typeof globalThis extends { onmessage: any } ? {}
|
13
13
|
: import("undici-types").ResponseInit;
|
14
14
|
type _File = typeof globalThis extends { onmessage: any } ? {} : import("node:buffer").File;
|
15
|
+
type _WebSocket = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").WebSocket;
|
15
16
|
// #endregion Fetch and friends
|
16
17
|
|
17
18
|
declare global {
|
@@ -409,4 +410,8 @@ declare global {
|
|
409
410
|
File: infer T;
|
410
411
|
} ? T
|
411
412
|
: typeof import("node:buffer").File;
|
413
|
+
|
414
|
+
interface WebSocket extends _WebSocket {}
|
415
|
+
var WebSocket: typeof globalThis extends { onmessage: any; WebSocket: infer T } ? T
|
416
|
+
: typeof import("undici-types").WebSocket;
|
412
417
|
}
|
node/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@types/node",
|
3
|
-
"version": "22.0.
|
3
|
+
"version": "22.0.3",
|
4
4
|
"description": "TypeScript definitions for node",
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
6
6
|
"license": "MIT",
|
@@ -212,6 +212,6 @@
|
|
212
212
|
"dependencies": {
|
213
213
|
"undici-types": "~6.11.1"
|
214
214
|
},
|
215
|
-
"typesPublisherContentHash": "
|
215
|
+
"typesPublisherContentHash": "5ae202076a42a690c53ac3c2165c19dbe294320b891c0db8c3b4448171213ce8",
|
216
216
|
"typeScriptVersion": "4.8"
|
217
217
|
}
|
node/test.d.ts
CHANGED
@@ -80,7 +80,6 @@
|
|
80
80
|
*/
|
81
81
|
declare module "node:test" {
|
82
82
|
import { Readable } from "node:stream";
|
83
|
-
import { AsyncResource } from "node:async_hooks";
|
84
83
|
/**
|
85
84
|
* **Note:** `shard` is used to horizontally parallelize test running across
|
86
85
|
* machines or processes, ideal for large-scale executions across varied
|
@@ -98,7 +97,7 @@ declare module "node:test" {
|
|
98
97
|
* .pipe(process.stdout);
|
99
98
|
* ```
|
100
99
|
* @since v18.9.0, v16.19.0
|
101
|
-
* @param options Configuration options for running tests.
|
100
|
+
* @param options Configuration options for running tests.
|
102
101
|
*/
|
103
102
|
function run(options?: RunOptions): TestsStream;
|
104
103
|
/**
|
@@ -133,10 +132,11 @@ declare module "node:test" {
|
|
133
132
|
* canceling tests because a running test might block the application thread and
|
134
133
|
* thus prevent the scheduled cancellation.
|
135
134
|
* @since v18.0.0, v16.17.0
|
136
|
-
* @param
|
137
|
-
*
|
138
|
-
* @param
|
139
|
-
*
|
135
|
+
* @param name The name of the test, which is displayed when reporting test results.
|
136
|
+
* Defaults to the `name` property of `fn`, or `'<anonymous>'` if `fn` does not have a name.
|
137
|
+
* @param options Configuration options for the test.
|
138
|
+
* @param fn The function under test. The first argument to this function is a {@link TestContext} object.
|
139
|
+
* If the test uses callbacks, the callback function is passed as the second argument.
|
140
140
|
* @return Fulfilled with `undefined` once the test completes, or immediately if the test runs within a suite.
|
141
141
|
*/
|
142
142
|
function test(name?: string, fn?: TestFn): Promise<void>;
|
@@ -148,9 +148,10 @@ declare module "node:test" {
|
|
148
148
|
}
|
149
149
|
/**
|
150
150
|
* The `suite()` function is imported from the `node:test` module.
|
151
|
-
* @param name The name of the suite, which is displayed when reporting test results.
|
152
|
-
*
|
153
|
-
* @param
|
151
|
+
* @param name The name of the suite, which is displayed when reporting test results.
|
152
|
+
* Defaults to the `name` property of `fn`, or `'<anonymous>'` if `fn` does not have a name.
|
153
|
+
* @param options Configuration options for the suite. This supports the same options as {@link test}.
|
154
|
+
* @param fn The suite function declaring nested tests and suites. The first argument to this function is a {@link SuiteContext} object.
|
154
155
|
* @return Immediately fulfilled with `undefined`.
|
155
156
|
* @since v20.13.0
|
156
157
|
*/
|
@@ -160,7 +161,7 @@ declare module "node:test" {
|
|
160
161
|
function suite(fn?: SuiteFn): Promise<void>;
|
161
162
|
namespace suite {
|
162
163
|
/**
|
163
|
-
* Shorthand for skipping a suite. This is the same as
|
164
|
+
* Shorthand for skipping a suite. This is the same as calling {@link suite} with `options.skip` set to `true`.
|
164
165
|
* @since v20.13.0
|
165
166
|
*/
|
166
167
|
function skip(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
@@ -168,7 +169,7 @@ declare module "node:test" {
|
|
168
169
|
function skip(options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
169
170
|
function skip(fn?: SuiteFn): Promise<void>;
|
170
171
|
/**
|
171
|
-
* Shorthand for marking a suite as `TODO`. This is the same as
|
172
|
+
* Shorthand for marking a suite as `TODO`. This is the same as calling {@link suite} with `options.todo` set to `true`.
|
172
173
|
* @since v20.13.0
|
173
174
|
*/
|
174
175
|
function todo(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
@@ -176,7 +177,7 @@ declare module "node:test" {
|
|
176
177
|
function todo(options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
177
178
|
function todo(fn?: SuiteFn): Promise<void>;
|
178
179
|
/**
|
179
|
-
* Shorthand for marking a suite as `only`. This is the same as
|
180
|
+
* Shorthand for marking a suite as `only`. This is the same as calling {@link suite} with `options.only` set to `true`.
|
180
181
|
* @since v20.13.0
|
181
182
|
*/
|
182
183
|
function only(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
@@ -185,7 +186,7 @@ declare module "node:test" {
|
|
185
186
|
function only(fn?: SuiteFn): Promise<void>;
|
186
187
|
}
|
187
188
|
/**
|
188
|
-
* Alias for
|
189
|
+
* Alias for {@link suite}.
|
189
190
|
*
|
190
191
|
* The `describe()` function is imported from the `node:test` module.
|
191
192
|
*/
|
@@ -195,7 +196,7 @@ declare module "node:test" {
|
|
195
196
|
function describe(fn?: SuiteFn): Promise<void>;
|
196
197
|
namespace describe {
|
197
198
|
/**
|
198
|
-
* Shorthand for skipping a suite. This is the same as
|
199
|
+
* Shorthand for skipping a suite. This is the same as calling {@link describe} with `options.skip` set to `true`.
|
199
200
|
* @since v18.15.0
|
200
201
|
*/
|
201
202
|
function skip(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
@@ -203,7 +204,7 @@ declare module "node:test" {
|
|
203
204
|
function skip(options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
204
205
|
function skip(fn?: SuiteFn): Promise<void>;
|
205
206
|
/**
|
206
|
-
* Shorthand for marking a suite as `TODO`. This is the same as
|
207
|
+
* Shorthand for marking a suite as `TODO`. This is the same as calling {@link describe} with `options.todo` set to `true`.
|
207
208
|
* @since v18.15.0
|
208
209
|
*/
|
209
210
|
function todo(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
@@ -211,7 +212,7 @@ declare module "node:test" {
|
|
211
212
|
function todo(options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
212
213
|
function todo(fn?: SuiteFn): Promise<void>;
|
213
214
|
/**
|
214
|
-
* Shorthand for marking a suite as `only`. This is the same as
|
215
|
+
* Shorthand for marking a suite as `only`. This is the same as calling {@link describe} with `options.only` set to `true`.
|
215
216
|
* @since v18.15.0
|
216
217
|
*/
|
217
218
|
function only(name?: string, options?: TestOptions, fn?: SuiteFn): Promise<void>;
|
@@ -220,7 +221,7 @@ declare module "node:test" {
|
|
220
221
|
function only(fn?: SuiteFn): Promise<void>;
|
221
222
|
}
|
222
223
|
/**
|
223
|
-
* Alias for
|
224
|
+
* Alias for {@link test}.
|
224
225
|
*
|
225
226
|
* The `it()` function is imported from the `node:test` module.
|
226
227
|
* @since v18.6.0, v16.17.0
|
@@ -231,21 +232,21 @@ declare module "node:test" {
|
|
231
232
|
function it(fn?: TestFn): Promise<void>;
|
232
233
|
namespace it {
|
233
234
|
/**
|
234
|
-
* Shorthand for skipping a test
|
235
|
+
* Shorthand for skipping a test. This is the same as calling {@link it} with `options.skip` set to `true`.
|
235
236
|
*/
|
236
237
|
function skip(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
|
237
238
|
function skip(name?: string, fn?: TestFn): Promise<void>;
|
238
239
|
function skip(options?: TestOptions, fn?: TestFn): Promise<void>;
|
239
240
|
function skip(fn?: TestFn): Promise<void>;
|
240
241
|
/**
|
241
|
-
* Shorthand for marking a test as `TODO
|
242
|
+
* Shorthand for marking a test as `TODO`. This is the same as calling {@link it} with `options.todo` set to `true`.
|
242
243
|
*/
|
243
244
|
function todo(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
|
244
245
|
function todo(name?: string, fn?: TestFn): Promise<void>;
|
245
246
|
function todo(options?: TestOptions, fn?: TestFn): Promise<void>;
|
246
247
|
function todo(fn?: TestFn): Promise<void>;
|
247
248
|
/**
|
248
|
-
* Shorthand for marking a test as `only
|
249
|
+
* Shorthand for marking a test as `only`. This is the same as calling {@link it} with `options.only` set to `true`.
|
249
250
|
* @since v18.15.0
|
250
251
|
*/
|
251
252
|
function only(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
|
@@ -254,7 +255,7 @@ declare module "node:test" {
|
|
254
255
|
function only(fn?: TestFn): Promise<void>;
|
255
256
|
}
|
256
257
|
/**
|
257
|
-
* Shorthand for skipping a test
|
258
|
+
* Shorthand for skipping a test. This is the same as calling {@link test} with `options.skip` set to `true`.
|
258
259
|
* @since v20.2.0
|
259
260
|
*/
|
260
261
|
function skip(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
|
@@ -262,7 +263,7 @@ declare module "node:test" {
|
|
262
263
|
function skip(options?: TestOptions, fn?: TestFn): Promise<void>;
|
263
264
|
function skip(fn?: TestFn): Promise<void>;
|
264
265
|
/**
|
265
|
-
* Shorthand for marking a test as `TODO
|
266
|
+
* Shorthand for marking a test as `TODO`. This is the same as calling {@link test} with `options.todo` set to `true`.
|
266
267
|
* @since v20.2.0
|
267
268
|
*/
|
268
269
|
function todo(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
|
@@ -270,7 +271,7 @@ declare module "node:test" {
|
|
270
271
|
function todo(options?: TestOptions, fn?: TestFn): Promise<void>;
|
271
272
|
function todo(fn?: TestFn): Promise<void>;
|
272
273
|
/**
|
273
|
-
* Shorthand for marking a test as `only
|
274
|
+
* Shorthand for marking a test as `only`. This is the same as calling {@link test} with `options.only` set to `true`.
|
274
275
|
* @since v20.2.0
|
275
276
|
*/
|
276
277
|
function only(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
|
@@ -278,18 +279,17 @@ declare module "node:test" {
|
|
278
279
|
function only(options?: TestOptions, fn?: TestFn): Promise<void>;
|
279
280
|
function only(fn?: TestFn): Promise<void>;
|
280
281
|
/**
|
281
|
-
* The type of a function
|
282
|
-
*
|
283
|
-
* the second argument.
|
282
|
+
* The type of a function passed to {@link test}. The first argument to this function is a {@link TestContext} object.
|
283
|
+
* If the test uses callbacks, the callback function is passed as the second argument.
|
284
284
|
*/
|
285
285
|
type TestFn = (t: TestContext, done: (result?: any) => void) => void | Promise<void>;
|
286
286
|
/**
|
287
|
-
* The type of a function
|
287
|
+
* The type of a suite test function. The argument to this function is a {@link SuiteContext} object.
|
288
288
|
*/
|
289
289
|
type SuiteFn = (s: SuiteContext) => void | Promise<void>;
|
290
290
|
interface TestShard {
|
291
291
|
/**
|
292
|
-
* A positive integer between 1 and
|
292
|
+
* A positive integer between 1 and `total` that specifies the index of the shard to run.
|
293
293
|
*/
|
294
294
|
index: number;
|
295
295
|
/**
|
@@ -305,7 +305,7 @@ declare module "node:test" {
|
|
305
305
|
*/
|
306
306
|
concurrency?: number | boolean | undefined;
|
307
307
|
/**
|
308
|
-
* An array containing the list of files to run.
|
308
|
+
* An array containing the list of files to run. If omitted, files are run according to the
|
309
309
|
* [test runner execution model](https://nodejs.org/docs/latest-v22.x/api/test.html#test-runner-execution-model).
|
310
310
|
*/
|
311
311
|
files?: readonly string[] | undefined;
|
@@ -326,26 +326,24 @@ declare module "node:test" {
|
|
326
326
|
/**
|
327
327
|
* If truthy, the test context will only run tests that have the `only` option set
|
328
328
|
*/
|
329
|
-
only?: boolean;
|
329
|
+
only?: boolean | undefined;
|
330
330
|
/**
|
331
331
|
* A function that accepts the `TestsStream` instance and can be used to setup listeners before any tests are run.
|
332
332
|
* @default undefined
|
333
333
|
*/
|
334
|
-
setup?: (
|
334
|
+
setup?: ((reporter: TestsStream) => void | Promise<void>) | undefined;
|
335
335
|
/**
|
336
336
|
* Allows aborting an in-progress test execution.
|
337
337
|
*/
|
338
338
|
signal?: AbortSignal | undefined;
|
339
339
|
/**
|
340
|
-
*
|
341
|
-
*
|
342
|
-
* regular expressions. For each test that is executed, any corresponding test hooks,
|
343
|
-
* such as `beforeEach()`, are also run.
|
340
|
+
* If provided, only run tests whose name matches the provided pattern.
|
341
|
+
* Strings are interpreted as JavaScript regular expressions.
|
344
342
|
* @default undefined
|
345
343
|
*/
|
346
|
-
testNamePatterns?: string | RegExp | string
|
344
|
+
testNamePatterns?: string | RegExp | ReadonlyArray<string | RegExp> | undefined;
|
347
345
|
/**
|
348
|
-
*
|
346
|
+
* The number of milliseconds after which the test execution will fail.
|
349
347
|
* If unspecified, subtests inherit this value from their parent.
|
350
348
|
* @default Infinity
|
351
349
|
*/
|
@@ -361,18 +359,8 @@ declare module "node:test" {
|
|
361
359
|
*/
|
362
360
|
shard?: TestShard | undefined;
|
363
361
|
}
|
364
|
-
class Test extends AsyncResource {
|
365
|
-
concurrency: number;
|
366
|
-
nesting: number;
|
367
|
-
only: boolean;
|
368
|
-
reporter: TestsStream;
|
369
|
-
runOnlySubtests: boolean;
|
370
|
-
testNumber: number;
|
371
|
-
timeout: number | null;
|
372
|
-
}
|
373
362
|
/**
|
374
|
-
* A successful call to `run()`
|
375
|
-
* order of the tests definition
|
363
|
+
* A successful call to `run()` will return a new `TestsStream` object, streaming a series of events representing the execution of the tests.
|
376
364
|
*
|
377
365
|
* Some of the events are guaranteed to be emitted in the same order as the tests are defined, while others are emitted in the order that the tests execute.
|
378
366
|
* @since v18.9.0, v16.19.0
|
@@ -389,6 +377,7 @@ declare module "node:test" {
|
|
389
377
|
addListener(event: "test:start", listener: (data: TestStart) => void): this;
|
390
378
|
addListener(event: "test:stderr", listener: (data: TestStderr) => void): this;
|
391
379
|
addListener(event: "test:stdout", listener: (data: TestStdout) => void): this;
|
380
|
+
addListener(event: "test:watch:drained", listener: () => void): this;
|
392
381
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
393
382
|
emit(event: "test:coverage", data: TestCoverage): boolean;
|
394
383
|
emit(event: "test:complete", data: TestComplete): boolean;
|
@@ -401,6 +390,7 @@ declare module "node:test" {
|
|
401
390
|
emit(event: "test:start", data: TestStart): boolean;
|
402
391
|
emit(event: "test:stderr", data: TestStderr): boolean;
|
403
392
|
emit(event: "test:stdout", data: TestStdout): boolean;
|
393
|
+
emit(event: "test:watch:drained"): boolean;
|
404
394
|
emit(event: string | symbol, ...args: any[]): boolean;
|
405
395
|
on(event: "test:coverage", listener: (data: TestCoverage) => void): this;
|
406
396
|
on(event: "test:complete", listener: (data: TestComplete) => void): this;
|
@@ -413,6 +403,7 @@ declare module "node:test" {
|
|
413
403
|
on(event: "test:start", listener: (data: TestStart) => void): this;
|
414
404
|
on(event: "test:stderr", listener: (data: TestStderr) => void): this;
|
415
405
|
on(event: "test:stdout", listener: (data: TestStdout) => void): this;
|
406
|
+
on(event: "test:watch:drained", listener: () => void): this;
|
416
407
|
on(event: string, listener: (...args: any[]) => void): this;
|
417
408
|
once(event: "test:coverage", listener: (data: TestCoverage) => void): this;
|
418
409
|
once(event: "test:complete", listener: (data: TestComplete) => void): this;
|
@@ -425,6 +416,7 @@ declare module "node:test" {
|
|
425
416
|
once(event: "test:start", listener: (data: TestStart) => void): this;
|
426
417
|
once(event: "test:stderr", listener: (data: TestStderr) => void): this;
|
427
418
|
once(event: "test:stdout", listener: (data: TestStdout) => void): this;
|
419
|
+
once(event: "test:watch:drained", listener: () => void): this;
|
428
420
|
once(event: string, listener: (...args: any[]) => void): this;
|
429
421
|
prependListener(event: "test:coverage", listener: (data: TestCoverage) => void): this;
|
430
422
|
prependListener(event: "test:complete", listener: (data: TestComplete) => void): this;
|
@@ -437,6 +429,7 @@ declare module "node:test" {
|
|
437
429
|
prependListener(event: "test:start", listener: (data: TestStart) => void): this;
|
438
430
|
prependListener(event: "test:stderr", listener: (data: TestStderr) => void): this;
|
439
431
|
prependListener(event: "test:stdout", listener: (data: TestStdout) => void): this;
|
432
|
+
prependListener(event: "test:watch:drained", listener: () => void): this;
|
440
433
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
441
434
|
prependOnceListener(event: "test:coverage", listener: (data: TestCoverage) => void): this;
|
442
435
|
prependOnceListener(event: "test:complete", listener: (data: TestComplete) => void): this;
|
@@ -449,6 +442,7 @@ declare module "node:test" {
|
|
449
442
|
prependOnceListener(event: "test:start", listener: (data: TestStart) => void): this;
|
450
443
|
prependOnceListener(event: "test:stderr", listener: (data: TestStderr) => void): this;
|
451
444
|
prependOnceListener(event: "test:stdout", listener: (data: TestStdout) => void): this;
|
445
|
+
prependOnceListener(event: "test:watch:drained", listener: () => void): this;
|
452
446
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
453
447
|
}
|
454
448
|
/**
|
@@ -460,32 +454,28 @@ declare module "node:test" {
|
|
460
454
|
class TestContext {
|
461
455
|
/**
|
462
456
|
* This function is used to create a hook running before subtest of the current test.
|
463
|
-
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as
|
464
|
-
* the second argument. **Default:** A no-op function.
|
457
|
+
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument.
|
465
458
|
* @param options Configuration options for the hook.
|
466
459
|
* @since v20.1.0
|
467
460
|
*/
|
468
461
|
before: typeof before;
|
469
462
|
/**
|
470
463
|
* This function is used to create a hook running before each subtest of the current test.
|
471
|
-
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as
|
472
|
-
* the second argument. **Default:** A no-op function.
|
464
|
+
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument.
|
473
465
|
* @param options Configuration options for the hook.
|
474
466
|
* @since v18.8.0
|
475
467
|
*/
|
476
468
|
beforeEach: typeof beforeEach;
|
477
469
|
/**
|
478
470
|
* This function is used to create a hook that runs after the current test finishes.
|
479
|
-
* @param
|
480
|
-
* the second argument. Default: A no-op function.
|
471
|
+
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument.
|
481
472
|
* @param options Configuration options for the hook.
|
482
473
|
* @since v18.13.0
|
483
474
|
*/
|
484
475
|
after: typeof after;
|
485
476
|
/**
|
486
477
|
* This function is used to create a hook running after each subtest of the current test.
|
487
|
-
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as
|
488
|
-
* the second argument. **Default:** A no-op function.
|
478
|
+
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument.
|
489
479
|
* @param options Configuration options for the hook.
|
490
480
|
* @since v18.8.0
|
491
481
|
*/
|
@@ -573,11 +563,10 @@ declare module "node:test" {
|
|
573
563
|
* the same fashion as the top level {@link test} function.
|
574
564
|
* @since v18.0.0
|
575
565
|
* @param name The name of the test, which is displayed when reporting test results.
|
576
|
-
*
|
577
|
-
* @param options Configuration options for the test
|
578
|
-
* @param fn The function under test. This first argument to this function is a
|
579
|
-
*
|
580
|
-
* passed as the second argument. **Default:** A no-op function.
|
566
|
+
* Defaults to the `name` property of `fn`, or `'<anonymous>'` if `fn` does not have a name.
|
567
|
+
* @param options Configuration options for the test.
|
568
|
+
* @param fn The function under test. This first argument to this function is a {@link TestContext} object.
|
569
|
+
* If the test uses callbacks, the callback function is passed as the second argument.
|
581
570
|
* @returns A {@link Promise} resolved with `undefined` once the test completes.
|
582
571
|
*/
|
583
572
|
test: typeof test;
|
@@ -658,8 +647,8 @@ declare module "node:test" {
|
|
658
647
|
* });
|
659
648
|
* ```
|
660
649
|
* @since v18.8.0, v16.18.0
|
661
|
-
* @param
|
662
|
-
* @param options Configuration options for the hook.
|
650
|
+
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument.
|
651
|
+
* @param options Configuration options for the hook.
|
663
652
|
*/
|
664
653
|
function before(fn?: HookFn, options?: HookOptions): void;
|
665
654
|
/**
|
@@ -674,8 +663,8 @@ declare module "node:test" {
|
|
674
663
|
* });
|
675
664
|
* ```
|
676
665
|
* @since v18.8.0, v16.18.0
|
677
|
-
* @param
|
678
|
-
* @param options Configuration options for the hook.
|
666
|
+
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument.
|
667
|
+
* @param options Configuration options for the hook.
|
679
668
|
*/
|
680
669
|
function after(fn?: HookFn, options?: HookOptions): void;
|
681
670
|
/**
|
@@ -690,8 +679,8 @@ declare module "node:test" {
|
|
690
679
|
* });
|
691
680
|
* ```
|
692
681
|
* @since v18.8.0, v16.18.0
|
693
|
-
* @param
|
694
|
-
* @param options Configuration options for the hook.
|
682
|
+
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument.
|
683
|
+
* @param options Configuration options for the hook.
|
695
684
|
*/
|
696
685
|
function beforeEach(fn?: HookFn, options?: HookOptions): void;
|
697
686
|
/**
|
@@ -707,8 +696,8 @@ declare module "node:test" {
|
|
707
696
|
* });
|
708
697
|
* ```
|
709
698
|
* @since v18.8.0, v16.18.0
|
710
|
-
* @param
|
711
|
-
* @param options Configuration options for the hook.
|
699
|
+
* @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument.
|
700
|
+
* @param options Configuration options for the hook.
|
712
701
|
*/
|
713
702
|
function afterEach(fn?: HookFn, options?: HookOptions): void;
|
714
703
|
/**
|
@@ -798,10 +787,10 @@ declare module "node:test" {
|
|
798
787
|
* });
|
799
788
|
* ```
|
800
789
|
* @since v19.1.0, v18.13.0
|
801
|
-
* @param
|
790
|
+
* @param original An optional function to create a mock on.
|
802
791
|
* @param implementation An optional function used as the mock implementation for `original`. This is useful for creating mocks that exhibit one behavior for a specified number of calls and
|
803
792
|
* then restore the behavior of `original`.
|
804
|
-
* @param options Optional configuration options for the mock function.
|
793
|
+
* @param options Optional configuration options for the mock function.
|
805
794
|
* @return The mocked function. The mocked function contains a special `mock` property, which is an instance of {@link MockFunctionContext}, and can be used for inspecting and changing the
|
806
795
|
* behavior of the mocked function.
|
807
796
|
*/
|
@@ -843,7 +832,7 @@ declare module "node:test" {
|
|
843
832
|
* @param object The object whose method is being mocked.
|
844
833
|
* @param methodName The identifier of the method on `object` to mock. If `object[methodName]` is not a function, an error is thrown.
|
845
834
|
* @param implementation An optional function used as the mock implementation for `object[methodName]`.
|
846
|
-
* @param options Optional configuration options for the mock method.
|
835
|
+
* @param options Optional configuration options for the mock method.
|
847
836
|
* @return The mocked method. The mocked method contains a special `mock` property, which is an instance of {@link MockFunctionContext}, and can be used for inspecting and changing the
|
848
837
|
* behavior of the mocked method.
|
849
838
|
*/
|
@@ -923,6 +912,7 @@ declare module "node:test" {
|
|
923
912
|
implementation?: Implementation,
|
924
913
|
options?: MockFunctionOptions,
|
925
914
|
): Mock<((value: MockedObject[MethodName]) => void) | Implementation>;
|
915
|
+
|
926
916
|
/**
|
927
917
|
* This function restores the default behavior of all mocks that were previously
|
928
918
|
* created by this `MockTracker` and disassociates the mocks from the `MockTracker` instance. Once disassociated, the mocks can still be used, but the `MockTracker` instance can no longer be
|
@@ -941,6 +931,7 @@ declare module "node:test" {
|
|
941
931
|
* @since v19.1.0, v18.13.0
|
942
932
|
*/
|
943
933
|
restoreAll(): void;
|
934
|
+
|
944
935
|
timers: MockTimers;
|
945
936
|
}
|
946
937
|
const mock: MockTracker;
|
@@ -1081,11 +1072,11 @@ declare module "node:test" {
|
|
1081
1072
|
*/
|
1082
1073
|
restore(): void;
|
1083
1074
|
}
|
1084
|
-
type Timer = "setInterval" | "setTimeout" | "setImmediate" | "Date";
|
1085
1075
|
|
1076
|
+
type Timer = "setInterval" | "setTimeout" | "setImmediate" | "Date";
|
1086
1077
|
interface MockTimersOptions {
|
1087
1078
|
apis: Timer[];
|
1088
|
-
now?: number | Date;
|
1079
|
+
now?: number | Date | undefined;
|
1089
1080
|
}
|
1090
1081
|
/**
|
1091
1082
|
* Mocking timers is a technique commonly used in software testing to simulate and
|
@@ -1324,6 +1315,9 @@ declare module "node:test" {
|
|
1324
1315
|
};
|
1325
1316
|
}
|
1326
1317
|
|
1318
|
+
interface TestError extends Error {
|
1319
|
+
cause: Error;
|
1320
|
+
}
|
1327
1321
|
interface TestLocationInfo {
|
1328
1322
|
/**
|
1329
1323
|
* The column number where the test is defined, or
|
@@ -1355,7 +1349,7 @@ interface TestCoverage {
|
|
1355
1349
|
*/
|
1356
1350
|
summary: {
|
1357
1351
|
/**
|
1358
|
-
* An array of coverage reports for individual files.
|
1352
|
+
* An array of coverage reports for individual files.
|
1359
1353
|
*/
|
1360
1354
|
files: Array<{
|
1361
1355
|
/**
|
@@ -1415,6 +1409,19 @@ interface TestCoverage {
|
|
1415
1409
|
*/
|
1416
1410
|
count: number;
|
1417
1411
|
}>;
|
1412
|
+
/**
|
1413
|
+
* An array of branches representing branch coverage.
|
1414
|
+
*/
|
1415
|
+
branches: Array<{
|
1416
|
+
/**
|
1417
|
+
* The line number where the branch is defined.
|
1418
|
+
*/
|
1419
|
+
line: number;
|
1420
|
+
/**
|
1421
|
+
* The number of times the branch was taken.
|
1422
|
+
*/
|
1423
|
+
count: number;
|
1424
|
+
}>;
|
1418
1425
|
/**
|
1419
1426
|
* An array of lines representing line numbers and the number of times they were covered.
|
1420
1427
|
*/
|
@@ -1498,7 +1505,7 @@ interface TestComplete extends TestLocationInfo {
|
|
1498
1505
|
/**
|
1499
1506
|
* An error wrapping the error thrown by the test if it did not pass.
|
1500
1507
|
*/
|
1501
|
-
error
|
1508
|
+
error?: TestError;
|
1502
1509
|
/**
|
1503
1510
|
* The type of the test, used to denote whether this is a suite.
|
1504
1511
|
*/
|
@@ -1555,9 +1562,9 @@ interface TestFail extends TestLocationInfo {
|
|
1555
1562
|
*/
|
1556
1563
|
duration_ms: number;
|
1557
1564
|
/**
|
1558
|
-
* An error wrapping the error thrown by the test
|
1565
|
+
* An error wrapping the error thrown by the test.
|
1559
1566
|
*/
|
1560
|
-
error:
|
1567
|
+
error: TestError;
|
1561
1568
|
/**
|
1562
1569
|
* The type of the test, used to denote whether this is a suite.
|
1563
1570
|
* @since v20.0.0, v19.9.0, v18.17.0
|
@@ -1641,13 +1648,21 @@ interface TestStart extends TestLocationInfo {
|
|
1641
1648
|
*/
|
1642
1649
|
nesting: number;
|
1643
1650
|
}
|
1644
|
-
interface TestStderr
|
1651
|
+
interface TestStderr {
|
1652
|
+
/**
|
1653
|
+
* The path of the test file.
|
1654
|
+
*/
|
1655
|
+
file: string;
|
1645
1656
|
/**
|
1646
1657
|
* The message written to `stderr`.
|
1647
1658
|
*/
|
1648
1659
|
message: string;
|
1649
1660
|
}
|
1650
|
-
interface TestStdout
|
1661
|
+
interface TestStdout {
|
1662
|
+
/**
|
1663
|
+
* The path of the test file.
|
1664
|
+
*/
|
1665
|
+
file: string;
|
1651
1666
|
/**
|
1652
1667
|
* The message written to `stdout`.
|
1653
1668
|
*/
|
@@ -1686,7 +1701,7 @@ declare module "node:test/reporters" {
|
|
1686
1701
|
| { type: "test:start"; data: TestStart }
|
1687
1702
|
| { type: "test:stderr"; data: TestStderr }
|
1688
1703
|
| { type: "test:stdout"; data: TestStdout }
|
1689
|
-
| { type: "test:watch:drained" };
|
1704
|
+
| { type: "test:watch:drained"; data: undefined };
|
1690
1705
|
type TestEventGenerator = AsyncGenerator<TestEvent, void>;
|
1691
1706
|
|
1692
1707
|
/**
|