@types/node 20.10.8 → 20.11.0
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/buffer.d.ts +1 -1
- node/crypto.d.ts +4 -3
- node/dgram.d.ts +4 -4
- node/http.d.ts +6 -7
- node/module.d.ts +14 -0
- node/package.json +2 -2
- node/perf_hooks.d.ts +12 -6
- node/process.d.ts +8 -3
- node/querystring.d.ts +3 -3
- node/test.d.ts +62 -10
- node/ts4.8/buffer.d.ts +1 -1
- node/ts4.8/crypto.d.ts +4 -3
- node/ts4.8/dgram.d.ts +4 -4
- node/ts4.8/http.d.ts +6 -7
- node/ts4.8/module.d.ts +14 -0
- node/ts4.8/perf_hooks.d.ts +13 -7
- node/ts4.8/process.d.ts +8 -3
- node/ts4.8/querystring.d.ts +3 -3
- node/ts4.8/test.d.ts +62 -10
- node/ts4.8/wasi.d.ts +9 -5
- node/wasi.d.ts +9 -5
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, 11 Jan 2024 05:35:20 GMT
|
|
12
12
|
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
|
13
13
|
|
|
14
14
|
# Credits
|
node/buffer.d.ts
CHANGED
|
@@ -564,7 +564,7 @@ declare module "buffer" {
|
|
|
564
564
|
*
|
|
565
565
|
* The `Buffer` module pre-allocates an internal `Buffer` instance of
|
|
566
566
|
* size `Buffer.poolSize` that is used as a pool for the fast allocation of new`Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,
|
|
567
|
-
* and `Buffer.concat()` only when `size` is less than
|
|
567
|
+
* and `Buffer.concat()` only when `size` is less than`Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two).
|
|
568
568
|
*
|
|
569
569
|
* Use of this pre-allocated internal memory pool is a key difference between
|
|
570
570
|
* calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
|
node/crypto.d.ts
CHANGED
|
@@ -638,9 +638,10 @@ declare module "crypto" {
|
|
|
638
638
|
export(options?: KeyExportOptions<"der">): Buffer;
|
|
639
639
|
export(options?: JwkKeyExportOptions): JsonWebKey;
|
|
640
640
|
/**
|
|
641
|
-
* Returns `true` or `false` depending on whether the keys have exactly the same
|
|
642
|
-
* This method is not [constant time](https://en.wikipedia.org/wiki/Timing_attack).
|
|
643
|
-
* @since v16.15.0
|
|
641
|
+
* Returns `true` or `false` depending on whether the keys have exactly the same
|
|
642
|
+
* type, value, and parameters. This method is not [constant time](https://en.wikipedia.org/wiki/Timing_attack).
|
|
643
|
+
* @since v17.7.0, v16.15.0
|
|
644
|
+
* @param otherKeyObject A `KeyObject` with which to compare `keyObject`.
|
|
644
645
|
*/
|
|
645
646
|
equals(otherKeyObject: KeyObject): boolean;
|
|
646
647
|
/**
|
node/dgram.d.ts
CHANGED
|
@@ -228,13 +228,13 @@ declare module "dgram" {
|
|
|
228
228
|
*/
|
|
229
229
|
getSendBufferSize(): number;
|
|
230
230
|
/**
|
|
231
|
-
* @since v18.8.0,v16.19.0
|
|
232
|
-
* @return
|
|
231
|
+
* @since v18.8.0, v16.19.0
|
|
232
|
+
* @return Number of bytes queued for sending.
|
|
233
233
|
*/
|
|
234
234
|
getSendQueueSize(): number;
|
|
235
235
|
/**
|
|
236
|
-
* @since v18.8.0,v16.19.0
|
|
237
|
-
* @return
|
|
236
|
+
* @since v18.8.0, v16.19.0
|
|
237
|
+
* @return Number of send requests currently in the queue awaiting to be processed.
|
|
238
238
|
*/
|
|
239
239
|
getSendQueueCount(): number;
|
|
240
240
|
/**
|
node/http.d.ts
CHANGED
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
*
|
|
10
10
|
* HTTP message headers are represented by an object like this:
|
|
11
11
|
*
|
|
12
|
-
* ```
|
|
13
|
-
* {
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
12
|
+
* ```json
|
|
13
|
+
* { "content-length": "123",
|
|
14
|
+
* "content-type": "text/plain",
|
|
15
|
+
* "connection": "keep-alive",
|
|
16
|
+
* "host": "example.com",
|
|
17
|
+
* "accept": "*" }
|
|
18
18
|
* ```
|
|
19
19
|
*
|
|
20
20
|
* Keys are lowercased. Values are not modified.
|
|
@@ -1814,7 +1814,6 @@ declare module "http" {
|
|
|
1814
1814
|
*
|
|
1815
1815
|
* It is not necessary to use this method before passing headers to an HTTP request
|
|
1816
1816
|
* or response. The HTTP module will automatically validate such headers.
|
|
1817
|
-
* Examples:
|
|
1818
1817
|
*
|
|
1819
1818
|
* Example:
|
|
1820
1819
|
*
|
node/module.d.ts
CHANGED
|
@@ -276,6 +276,20 @@ declare module "module" {
|
|
|
276
276
|
}
|
|
277
277
|
global {
|
|
278
278
|
interface ImportMeta {
|
|
279
|
+
/**
|
|
280
|
+
* The directory name of the current module. This is the same as the `path.dirname()` of the `import.meta.filename`.
|
|
281
|
+
* **Caveat:** only present on `file:` modules.
|
|
282
|
+
*/
|
|
283
|
+
dirname?: string;
|
|
284
|
+
/**
|
|
285
|
+
* The full absolute path and filename of the current module, with symlinks resolved.
|
|
286
|
+
* This is the same as the `url.fileURLToPath()` of the `import.meta.url`.
|
|
287
|
+
* **Caveat:** only local modules support this property. Modules not using the `file:` protocol will not provide it.
|
|
288
|
+
*/
|
|
289
|
+
filename?: string;
|
|
290
|
+
/**
|
|
291
|
+
* The absolute `file:` URL of the module.
|
|
292
|
+
*/
|
|
279
293
|
url: string;
|
|
280
294
|
/**
|
|
281
295
|
* Provides a module-relative resolution function scoped to each module, returning
|
node/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/node",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.11.0",
|
|
4
4
|
"description": "TypeScript definitions for node",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
|
6
6
|
"license": "MIT",
|
|
@@ -224,7 +224,7 @@
|
|
|
224
224
|
"dependencies": {
|
|
225
225
|
"undici-types": "~5.26.4"
|
|
226
226
|
},
|
|
227
|
-
"typesPublisherContentHash": "
|
|
227
|
+
"typesPublisherContentHash": "ca77e7986f304692dfe04a1ec38a5dbebe32e569398b09ae4d01fd359a652186",
|
|
228
228
|
"typeScriptVersion": "4.6",
|
|
229
229
|
"nonNpm": true
|
|
230
230
|
}
|
node/perf_hooks.d.ts
CHANGED
|
@@ -314,13 +314,15 @@ declare module "perf_hooks" {
|
|
|
314
314
|
* * name: 'test',
|
|
315
315
|
* * entryType: 'mark',
|
|
316
316
|
* * startTime: 81.465639,
|
|
317
|
-
* * duration: 0
|
|
317
|
+
* * duration: 0,
|
|
318
|
+
* * detail: null
|
|
318
319
|
* * },
|
|
319
320
|
* * PerformanceEntry {
|
|
320
321
|
* * name: 'meow',
|
|
321
322
|
* * entryType: 'mark',
|
|
322
323
|
* * startTime: 81.860064,
|
|
323
|
-
* * duration: 0
|
|
324
|
+
* * duration: 0,
|
|
325
|
+
* * detail: null
|
|
324
326
|
* * }
|
|
325
327
|
* * ]
|
|
326
328
|
*
|
|
@@ -355,7 +357,8 @@ declare module "perf_hooks" {
|
|
|
355
357
|
* * name: 'meow',
|
|
356
358
|
* * entryType: 'mark',
|
|
357
359
|
* * startTime: 98.545991,
|
|
358
|
-
* * duration: 0
|
|
360
|
+
* * duration: 0,
|
|
361
|
+
* * detail: null
|
|
359
362
|
* * }
|
|
360
363
|
* * ]
|
|
361
364
|
*
|
|
@@ -368,7 +371,8 @@ declare module "perf_hooks" {
|
|
|
368
371
|
* * name: 'test',
|
|
369
372
|
* * entryType: 'mark',
|
|
370
373
|
* * startTime: 63.518931,
|
|
371
|
-
* * duration: 0
|
|
374
|
+
* * duration: 0,
|
|
375
|
+
* * detail: null
|
|
372
376
|
* * }
|
|
373
377
|
* * ]
|
|
374
378
|
*
|
|
@@ -404,13 +408,15 @@ declare module "perf_hooks" {
|
|
|
404
408
|
* * name: 'test',
|
|
405
409
|
* * entryType: 'mark',
|
|
406
410
|
* * startTime: 55.897834,
|
|
407
|
-
* * duration: 0
|
|
411
|
+
* * duration: 0,
|
|
412
|
+
* * detail: null
|
|
408
413
|
* * },
|
|
409
414
|
* * PerformanceEntry {
|
|
410
415
|
* * name: 'meow',
|
|
411
416
|
* * entryType: 'mark',
|
|
412
417
|
* * startTime: 56.350146,
|
|
413
|
-
* * duration: 0
|
|
418
|
+
* * duration: 0,
|
|
419
|
+
* * detail: null
|
|
414
420
|
* * }
|
|
415
421
|
* * ]
|
|
416
422
|
*
|
node/process.d.ts
CHANGED
|
@@ -903,9 +903,14 @@ declare module "process" {
|
|
|
903
903
|
*/
|
|
904
904
|
readonly sourceMapsEnabled: boolean;
|
|
905
905
|
/**
|
|
906
|
-
* This function enables or disables the Source Map v3 support for
|
|
907
|
-
*
|
|
908
|
-
*
|
|
906
|
+
* This function enables or disables the [Source Map v3](https://sourcemaps.info/spec.html) support for
|
|
907
|
+
* stack traces.
|
|
908
|
+
*
|
|
909
|
+
* It provides same features as launching Node.js process with commandline options`--enable-source-maps`.
|
|
910
|
+
*
|
|
911
|
+
* Only source maps in JavaScript files that are loaded after source maps has been
|
|
912
|
+
* enabled will be parsed and loaded.
|
|
913
|
+
* @since v16.6.0, v14.18.0
|
|
909
914
|
* @experimental
|
|
910
915
|
*/
|
|
911
916
|
setSourceMapsEnabled(value: boolean): void;
|
node/querystring.d.ts
CHANGED
|
@@ -74,10 +74,10 @@ declare module "querystring" {
|
|
|
74
74
|
*
|
|
75
75
|
* For example, the query string `'foo=bar&abc=xyz&abc=123'` is parsed into:
|
|
76
76
|
*
|
|
77
|
-
* ```
|
|
77
|
+
* ```json
|
|
78
78
|
* {
|
|
79
|
-
* foo:
|
|
80
|
-
* abc: [
|
|
79
|
+
* "foo": "bar",
|
|
80
|
+
* "abc": ["xyz", "123"]
|
|
81
81
|
* }
|
|
82
82
|
* ```
|
|
83
83
|
*
|
node/test.d.ts
CHANGED
|
@@ -82,6 +82,11 @@ declare module "node:test" {
|
|
|
82
82
|
import { Readable } from "node:stream";
|
|
83
83
|
import { AsyncResource } from "node:async_hooks";
|
|
84
84
|
/**
|
|
85
|
+
* **Note:**`shard` is used to horizontally parallelize test running across
|
|
86
|
+
* machines or processes, ideal for large-scale executions across varied
|
|
87
|
+
* environments. It's incompatible with `watch` mode, tailored for rapid
|
|
88
|
+
* code iteration by automatically rerunning tests on file changes.
|
|
89
|
+
*
|
|
85
90
|
* ```js
|
|
86
91
|
* import { tap } from 'node:test/reporters';
|
|
87
92
|
* import { run } from 'node:test';
|
|
@@ -1013,6 +1018,8 @@ declare module "node:test" {
|
|
|
1013
1018
|
* control the behavior of timers, such as `setInterval` and `setTimeout`,
|
|
1014
1019
|
* without actually waiting for the specified time intervals.
|
|
1015
1020
|
*
|
|
1021
|
+
* MockTimers is also able to mock the `Date` object.
|
|
1022
|
+
*
|
|
1016
1023
|
* The `MockTracker` provides a top-level `timers` export
|
|
1017
1024
|
* which is a `MockTimers` instance.
|
|
1018
1025
|
* @since v20.4.0
|
|
@@ -1025,21 +1032,38 @@ declare module "node:test" {
|
|
|
1025
1032
|
* **Note:** When you enable mocking for a specific timer, its associated
|
|
1026
1033
|
* clear function will also be implicitly mocked.
|
|
1027
1034
|
*
|
|
1028
|
-
*
|
|
1035
|
+
* **Note:** Mocking `Date` will affect the behavior of the mocked timers
|
|
1036
|
+
* as they use the same internal clock.
|
|
1037
|
+
*
|
|
1038
|
+
* Example usage without setting initial time:
|
|
1029
1039
|
*
|
|
1030
1040
|
* ```js
|
|
1031
1041
|
* import { mock } from 'node:test';
|
|
1032
|
-
* mock.timers.enable(['setInterval']);
|
|
1042
|
+
* mock.timers.enable({ apis: ['setInterval'] });
|
|
1033
1043
|
* ```
|
|
1034
1044
|
*
|
|
1035
1045
|
* The above example enables mocking for the `setInterval` timer and
|
|
1036
1046
|
* implicitly mocks the `clearInterval` function. Only the `setInterval`and `clearInterval` functions from `node:timers`,`node:timers/promises`, and`globalThis` will be mocked.
|
|
1037
1047
|
*
|
|
1048
|
+
* Example usage with initial time set
|
|
1049
|
+
*
|
|
1050
|
+
* ```js
|
|
1051
|
+
* import { mock } from 'node:test';
|
|
1052
|
+
* mock.timers.enable({ apis: ['Date'], now: 1000 });
|
|
1053
|
+
* ```
|
|
1054
|
+
*
|
|
1055
|
+
* Example usage with initial Date object as time set
|
|
1056
|
+
*
|
|
1057
|
+
* ```js
|
|
1058
|
+
* import { mock } from 'node:test';
|
|
1059
|
+
* mock.timers.enable({ apis: ['Date'], now: new Date() });
|
|
1060
|
+
* ```
|
|
1061
|
+
*
|
|
1038
1062
|
* Alternatively, if you call `mock.timers.enable()` without any parameters:
|
|
1039
1063
|
*
|
|
1040
1064
|
* All timers (`'setInterval'`, `'clearInterval'`, `'setTimeout'`, and `'clearTimeout'`)
|
|
1041
1065
|
* will be mocked. The `setInterval`, `clearInterval`, `setTimeout`, and `clearTimeout`functions from `node:timers`, `node:timers/promises`,
|
|
1042
|
-
* and `globalThis` will be mocked.
|
|
1066
|
+
* and `globalThis` will be mocked. As well as the global `Date` object.
|
|
1043
1067
|
* @since v20.4.0
|
|
1044
1068
|
*/
|
|
1045
1069
|
enable(timers?: Timer[]): void;
|
|
@@ -1076,7 +1100,7 @@ declare module "node:test" {
|
|
|
1076
1100
|
* test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {
|
|
1077
1101
|
* const fn = context.mock.fn();
|
|
1078
1102
|
*
|
|
1079
|
-
* context.mock.timers.enable(['setTimeout']);
|
|
1103
|
+
* context.mock.timers.enable({ apis: ['setTimeout'] });
|
|
1080
1104
|
*
|
|
1081
1105
|
* setTimeout(fn, 9999);
|
|
1082
1106
|
*
|
|
@@ -1097,7 +1121,7 @@ declare module "node:test" {
|
|
|
1097
1121
|
*
|
|
1098
1122
|
* test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {
|
|
1099
1123
|
* const fn = context.mock.fn();
|
|
1100
|
-
* context.mock.timers.enable(['setTimeout']);
|
|
1124
|
+
* context.mock.timers.enable({ apis: ['setTimeout'] });
|
|
1101
1125
|
* const nineSecs = 9000;
|
|
1102
1126
|
* setTimeout(fn, nineSecs);
|
|
1103
1127
|
*
|
|
@@ -1109,11 +1133,35 @@ declare module "node:test" {
|
|
|
1109
1133
|
* assert.strictEqual(fn.mock.callCount(), 1);
|
|
1110
1134
|
* });
|
|
1111
1135
|
* ```
|
|
1136
|
+
*
|
|
1137
|
+
* Advancing time using `.tick` will also advance the time for any `Date` object
|
|
1138
|
+
* created after the mock was enabled (if `Date` was also set to be mocked).
|
|
1139
|
+
*
|
|
1140
|
+
* ```js
|
|
1141
|
+
* import assert from 'node:assert';
|
|
1142
|
+
* import { test } from 'node:test';
|
|
1143
|
+
*
|
|
1144
|
+
* test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {
|
|
1145
|
+
* const fn = context.mock.fn();
|
|
1146
|
+
*
|
|
1147
|
+
* context.mock.timers.enable({ apis: ['setTimeout', 'Date'] });
|
|
1148
|
+
* setTimeout(fn, 9999);
|
|
1149
|
+
*
|
|
1150
|
+
* assert.strictEqual(fn.mock.callCount(), 0);
|
|
1151
|
+
* assert.strictEqual(Date.now(), 0);
|
|
1152
|
+
*
|
|
1153
|
+
* // Advance in time
|
|
1154
|
+
* context.mock.timers.tick(9999);
|
|
1155
|
+
* assert.strictEqual(fn.mock.callCount(), 1);
|
|
1156
|
+
* assert.strictEqual(Date.now(), 9999);
|
|
1157
|
+
* });
|
|
1158
|
+
* ```
|
|
1112
1159
|
* @since v20.4.0
|
|
1113
1160
|
*/
|
|
1114
1161
|
tick(milliseconds: number): void;
|
|
1115
1162
|
/**
|
|
1116
|
-
* Triggers all pending mocked timers immediately.
|
|
1163
|
+
* Triggers all pending mocked timers immediately. If the `Date` object is also
|
|
1164
|
+
* mocked, it will also advance the `Date` object to the furthest timer's time.
|
|
1117
1165
|
*
|
|
1118
1166
|
* The example below triggers all pending timers immediately,
|
|
1119
1167
|
* causing them to execute without any delay.
|
|
@@ -1123,7 +1171,7 @@ declare module "node:test" {
|
|
|
1123
1171
|
* import { test } from 'node:test';
|
|
1124
1172
|
*
|
|
1125
1173
|
* test('runAll functions following the given order', (context) => {
|
|
1126
|
-
* context.mock.timers.enable(['setTimeout']);
|
|
1174
|
+
* context.mock.timers.enable({ apis: ['setTimeout', 'Date'] });
|
|
1127
1175
|
* const results = [];
|
|
1128
1176
|
* setTimeout(() => results.push(1), 9999);
|
|
1129
1177
|
*
|
|
@@ -1135,8 +1183,9 @@ declare module "node:test" {
|
|
|
1135
1183
|
* assert.deepStrictEqual(results, []);
|
|
1136
1184
|
*
|
|
1137
1185
|
* context.mock.timers.runAll();
|
|
1138
|
-
*
|
|
1139
1186
|
* assert.deepStrictEqual(results, [3, 2, 1]);
|
|
1187
|
+
* // The Date object is also advanced to the furthest timer's time
|
|
1188
|
+
* assert.strictEqual(Date.now(), 9999);
|
|
1140
1189
|
* });
|
|
1141
1190
|
* ```
|
|
1142
1191
|
*
|
|
@@ -1343,7 +1392,7 @@ interface TestDequeue extends TestLocationInfo {
|
|
|
1343
1392
|
* @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/test/reporters.js)
|
|
1344
1393
|
*/
|
|
1345
1394
|
declare module "node:test/reporters" {
|
|
1346
|
-
import { Transform } from "node:stream";
|
|
1395
|
+
import { Transform, TransformOptions } from "node:stream";
|
|
1347
1396
|
|
|
1348
1397
|
type TestEvent =
|
|
1349
1398
|
| { type: "test:diagnostic"; data: DiagnosticData }
|
|
@@ -1378,5 +1427,8 @@ declare module "node:test/reporters" {
|
|
|
1378
1427
|
* The `junit` reporter outputs test results in a jUnit XML format
|
|
1379
1428
|
*/
|
|
1380
1429
|
function junit(source: TestEventGenerator): AsyncGenerator<string, void>;
|
|
1381
|
-
|
|
1430
|
+
class Lcov extends Transform {
|
|
1431
|
+
constructor(opts?: TransformOptions);
|
|
1432
|
+
}
|
|
1433
|
+
export { dot, junit, Lcov as lcov, Spec as spec, tap, TestEvent };
|
|
1382
1434
|
}
|
node/ts4.8/buffer.d.ts
CHANGED
|
@@ -564,7 +564,7 @@ declare module "buffer" {
|
|
|
564
564
|
*
|
|
565
565
|
* The `Buffer` module pre-allocates an internal `Buffer` instance of
|
|
566
566
|
* size `Buffer.poolSize` that is used as a pool for the fast allocation of new`Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,
|
|
567
|
-
* and `Buffer.concat()` only when `size` is less than
|
|
567
|
+
* and `Buffer.concat()` only when `size` is less than`Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two).
|
|
568
568
|
*
|
|
569
569
|
* Use of this pre-allocated internal memory pool is a key difference between
|
|
570
570
|
* calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
|
node/ts4.8/crypto.d.ts
CHANGED
|
@@ -638,9 +638,10 @@ declare module "crypto" {
|
|
|
638
638
|
export(options?: KeyExportOptions<"der">): Buffer;
|
|
639
639
|
export(options?: JwkKeyExportOptions): JsonWebKey;
|
|
640
640
|
/**
|
|
641
|
-
* Returns `true` or `false` depending on whether the keys have exactly the same
|
|
642
|
-
* This method is not [constant time](https://en.wikipedia.org/wiki/Timing_attack).
|
|
643
|
-
* @since v16.15.0
|
|
641
|
+
* Returns `true` or `false` depending on whether the keys have exactly the same
|
|
642
|
+
* type, value, and parameters. This method is not [constant time](https://en.wikipedia.org/wiki/Timing_attack).
|
|
643
|
+
* @since v17.7.0, v16.15.0
|
|
644
|
+
* @param otherKeyObject A `KeyObject` with which to compare `keyObject`.
|
|
644
645
|
*/
|
|
645
646
|
equals(otherKeyObject: KeyObject): boolean;
|
|
646
647
|
/**
|
node/ts4.8/dgram.d.ts
CHANGED
|
@@ -228,13 +228,13 @@ declare module "dgram" {
|
|
|
228
228
|
*/
|
|
229
229
|
getSendBufferSize(): number;
|
|
230
230
|
/**
|
|
231
|
-
* @since v18.8.0,v16.19.0
|
|
232
|
-
* @return
|
|
231
|
+
* @since v18.8.0, v16.19.0
|
|
232
|
+
* @return Number of bytes queued for sending.
|
|
233
233
|
*/
|
|
234
234
|
getSendQueueSize(): number;
|
|
235
235
|
/**
|
|
236
|
-
* @since v18.8.0,v16.19.0
|
|
237
|
-
* @return
|
|
236
|
+
* @since v18.8.0, v16.19.0
|
|
237
|
+
* @return Number of send requests currently in the queue awaiting to be processed.
|
|
238
238
|
*/
|
|
239
239
|
getSendQueueCount(): number;
|
|
240
240
|
/**
|
node/ts4.8/http.d.ts
CHANGED
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
*
|
|
10
10
|
* HTTP message headers are represented by an object like this:
|
|
11
11
|
*
|
|
12
|
-
* ```
|
|
13
|
-
* {
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
12
|
+
* ```json
|
|
13
|
+
* { "content-length": "123",
|
|
14
|
+
* "content-type": "text/plain",
|
|
15
|
+
* "connection": "keep-alive",
|
|
16
|
+
* "host": "example.com",
|
|
17
|
+
* "accept": "*" }
|
|
18
18
|
* ```
|
|
19
19
|
*
|
|
20
20
|
* Keys are lowercased. Values are not modified.
|
|
@@ -1814,7 +1814,6 @@ declare module "http" {
|
|
|
1814
1814
|
*
|
|
1815
1815
|
* It is not necessary to use this method before passing headers to an HTTP request
|
|
1816
1816
|
* or response. The HTTP module will automatically validate such headers.
|
|
1817
|
-
* Examples:
|
|
1818
1817
|
*
|
|
1819
1818
|
* Example:
|
|
1820
1819
|
*
|
node/ts4.8/module.d.ts
CHANGED
|
@@ -276,6 +276,20 @@ declare module "module" {
|
|
|
276
276
|
}
|
|
277
277
|
global {
|
|
278
278
|
interface ImportMeta {
|
|
279
|
+
/**
|
|
280
|
+
* The directory name of the current module. This is the same as the `path.dirname()` of the `import.meta.filename`.
|
|
281
|
+
* **Caveat:** only present on `file:` modules.
|
|
282
|
+
*/
|
|
283
|
+
dirname?: string;
|
|
284
|
+
/**
|
|
285
|
+
* The full absolute path and filename of the current module, with symlinks resolved.
|
|
286
|
+
* This is the same as the `url.fileURLToPath()` of the `import.meta.url`.
|
|
287
|
+
* **Caveat:** only local modules support this property. Modules not using the `file:` protocol will not provide it.
|
|
288
|
+
*/
|
|
289
|
+
filename?: string;
|
|
290
|
+
/**
|
|
291
|
+
* The absolute `file:` URL of the module.
|
|
292
|
+
*/
|
|
279
293
|
url: string;
|
|
280
294
|
/**
|
|
281
295
|
* Provides a module-relative resolution function scoped to each module, returning
|
node/ts4.8/perf_hooks.d.ts
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
*/
|
|
32
32
|
declare module "perf_hooks" {
|
|
33
33
|
import { AsyncResource } from "node:async_hooks";
|
|
34
|
-
type EntryType = "node" | "mark" | "measure" | "gc" | "function" | "http2" | "http";
|
|
34
|
+
type EntryType = "node" | "mark" | "measure" | "gc" | "function" | "http2" | "http" | "dns" | "net";
|
|
35
35
|
interface NodeGCPerformanceDetail {
|
|
36
36
|
/**
|
|
37
37
|
* When `performanceEntry.entryType` is equal to 'gc', `the performance.kind` property identifies
|
|
@@ -314,13 +314,15 @@ declare module "perf_hooks" {
|
|
|
314
314
|
* * name: 'test',
|
|
315
315
|
* * entryType: 'mark',
|
|
316
316
|
* * startTime: 81.465639,
|
|
317
|
-
* * duration: 0
|
|
317
|
+
* * duration: 0,
|
|
318
|
+
* * detail: null
|
|
318
319
|
* * },
|
|
319
320
|
* * PerformanceEntry {
|
|
320
321
|
* * name: 'meow',
|
|
321
322
|
* * entryType: 'mark',
|
|
322
323
|
* * startTime: 81.860064,
|
|
323
|
-
* * duration: 0
|
|
324
|
+
* * duration: 0,
|
|
325
|
+
* * detail: null
|
|
324
326
|
* * }
|
|
325
327
|
* * ]
|
|
326
328
|
*
|
|
@@ -355,7 +357,8 @@ declare module "perf_hooks" {
|
|
|
355
357
|
* * name: 'meow',
|
|
356
358
|
* * entryType: 'mark',
|
|
357
359
|
* * startTime: 98.545991,
|
|
358
|
-
* * duration: 0
|
|
360
|
+
* * duration: 0,
|
|
361
|
+
* * detail: null
|
|
359
362
|
* * }
|
|
360
363
|
* * ]
|
|
361
364
|
*
|
|
@@ -368,7 +371,8 @@ declare module "perf_hooks" {
|
|
|
368
371
|
* * name: 'test',
|
|
369
372
|
* * entryType: 'mark',
|
|
370
373
|
* * startTime: 63.518931,
|
|
371
|
-
* * duration: 0
|
|
374
|
+
* * duration: 0,
|
|
375
|
+
* * detail: null
|
|
372
376
|
* * }
|
|
373
377
|
* * ]
|
|
374
378
|
*
|
|
@@ -404,13 +408,15 @@ declare module "perf_hooks" {
|
|
|
404
408
|
* * name: 'test',
|
|
405
409
|
* * entryType: 'mark',
|
|
406
410
|
* * startTime: 55.897834,
|
|
407
|
-
* * duration: 0
|
|
411
|
+
* * duration: 0,
|
|
412
|
+
* * detail: null
|
|
408
413
|
* * },
|
|
409
414
|
* * PerformanceEntry {
|
|
410
415
|
* * name: 'meow',
|
|
411
416
|
* * entryType: 'mark',
|
|
412
417
|
* * startTime: 56.350146,
|
|
413
|
-
* * duration: 0
|
|
418
|
+
* * duration: 0,
|
|
419
|
+
* * detail: null
|
|
414
420
|
* * }
|
|
415
421
|
* * ]
|
|
416
422
|
*
|
node/ts4.8/process.d.ts
CHANGED
|
@@ -903,9 +903,14 @@ declare module "process" {
|
|
|
903
903
|
*/
|
|
904
904
|
readonly sourceMapsEnabled: boolean;
|
|
905
905
|
/**
|
|
906
|
-
* This function enables or disables the Source Map v3 support for
|
|
907
|
-
*
|
|
908
|
-
*
|
|
906
|
+
* This function enables or disables the [Source Map v3](https://sourcemaps.info/spec.html) support for
|
|
907
|
+
* stack traces.
|
|
908
|
+
*
|
|
909
|
+
* It provides same features as launching Node.js process with commandline options`--enable-source-maps`.
|
|
910
|
+
*
|
|
911
|
+
* Only source maps in JavaScript files that are loaded after source maps has been
|
|
912
|
+
* enabled will be parsed and loaded.
|
|
913
|
+
* @since v16.6.0, v14.18.0
|
|
909
914
|
* @experimental
|
|
910
915
|
*/
|
|
911
916
|
setSourceMapsEnabled(value: boolean): void;
|
node/ts4.8/querystring.d.ts
CHANGED
|
@@ -74,10 +74,10 @@ declare module "querystring" {
|
|
|
74
74
|
*
|
|
75
75
|
* For example, the query string `'foo=bar&abc=xyz&abc=123'` is parsed into:
|
|
76
76
|
*
|
|
77
|
-
* ```
|
|
77
|
+
* ```json
|
|
78
78
|
* {
|
|
79
|
-
* foo:
|
|
80
|
-
* abc: [
|
|
79
|
+
* "foo": "bar",
|
|
80
|
+
* "abc": ["xyz", "123"]
|
|
81
81
|
* }
|
|
82
82
|
* ```
|
|
83
83
|
*
|
node/ts4.8/test.d.ts
CHANGED
|
@@ -82,6 +82,11 @@ declare module "node:test" {
|
|
|
82
82
|
import { Readable } from "node:stream";
|
|
83
83
|
import { AsyncResource } from "node:async_hooks";
|
|
84
84
|
/**
|
|
85
|
+
* **Note:**`shard` is used to horizontally parallelize test running across
|
|
86
|
+
* machines or processes, ideal for large-scale executions across varied
|
|
87
|
+
* environments. It's incompatible with `watch` mode, tailored for rapid
|
|
88
|
+
* code iteration by automatically rerunning tests on file changes.
|
|
89
|
+
*
|
|
85
90
|
* ```js
|
|
86
91
|
* import { tap } from 'node:test/reporters';
|
|
87
92
|
* import { run } from 'node:test';
|
|
@@ -1013,6 +1018,8 @@ declare module "node:test" {
|
|
|
1013
1018
|
* control the behavior of timers, such as `setInterval` and `setTimeout`,
|
|
1014
1019
|
* without actually waiting for the specified time intervals.
|
|
1015
1020
|
*
|
|
1021
|
+
* MockTimers is also able to mock the `Date` object.
|
|
1022
|
+
*
|
|
1016
1023
|
* The `MockTracker` provides a top-level `timers` export
|
|
1017
1024
|
* which is a `MockTimers` instance.
|
|
1018
1025
|
* @since v20.4.0
|
|
@@ -1025,21 +1032,38 @@ declare module "node:test" {
|
|
|
1025
1032
|
* **Note:** When you enable mocking for a specific timer, its associated
|
|
1026
1033
|
* clear function will also be implicitly mocked.
|
|
1027
1034
|
*
|
|
1028
|
-
*
|
|
1035
|
+
* **Note:** Mocking `Date` will affect the behavior of the mocked timers
|
|
1036
|
+
* as they use the same internal clock.
|
|
1037
|
+
*
|
|
1038
|
+
* Example usage without setting initial time:
|
|
1029
1039
|
*
|
|
1030
1040
|
* ```js
|
|
1031
1041
|
* import { mock } from 'node:test';
|
|
1032
|
-
* mock.timers.enable(['setInterval']);
|
|
1042
|
+
* mock.timers.enable({ apis: ['setInterval'] });
|
|
1033
1043
|
* ```
|
|
1034
1044
|
*
|
|
1035
1045
|
* The above example enables mocking for the `setInterval` timer and
|
|
1036
1046
|
* implicitly mocks the `clearInterval` function. Only the `setInterval`and `clearInterval` functions from `node:timers`,`node:timers/promises`, and`globalThis` will be mocked.
|
|
1037
1047
|
*
|
|
1048
|
+
* Example usage with initial time set
|
|
1049
|
+
*
|
|
1050
|
+
* ```js
|
|
1051
|
+
* import { mock } from 'node:test';
|
|
1052
|
+
* mock.timers.enable({ apis: ['Date'], now: 1000 });
|
|
1053
|
+
* ```
|
|
1054
|
+
*
|
|
1055
|
+
* Example usage with initial Date object as time set
|
|
1056
|
+
*
|
|
1057
|
+
* ```js
|
|
1058
|
+
* import { mock } from 'node:test';
|
|
1059
|
+
* mock.timers.enable({ apis: ['Date'], now: new Date() });
|
|
1060
|
+
* ```
|
|
1061
|
+
*
|
|
1038
1062
|
* Alternatively, if you call `mock.timers.enable()` without any parameters:
|
|
1039
1063
|
*
|
|
1040
1064
|
* All timers (`'setInterval'`, `'clearInterval'`, `'setTimeout'`, and `'clearTimeout'`)
|
|
1041
1065
|
* will be mocked. The `setInterval`, `clearInterval`, `setTimeout`, and `clearTimeout`functions from `node:timers`, `node:timers/promises`,
|
|
1042
|
-
* and `globalThis` will be mocked.
|
|
1066
|
+
* and `globalThis` will be mocked. As well as the global `Date` object.
|
|
1043
1067
|
* @since v20.4.0
|
|
1044
1068
|
*/
|
|
1045
1069
|
enable(timers?: Timer[]): void;
|
|
@@ -1076,7 +1100,7 @@ declare module "node:test" {
|
|
|
1076
1100
|
* test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {
|
|
1077
1101
|
* const fn = context.mock.fn();
|
|
1078
1102
|
*
|
|
1079
|
-
* context.mock.timers.enable(['setTimeout']);
|
|
1103
|
+
* context.mock.timers.enable({ apis: ['setTimeout'] });
|
|
1080
1104
|
*
|
|
1081
1105
|
* setTimeout(fn, 9999);
|
|
1082
1106
|
*
|
|
@@ -1097,7 +1121,7 @@ declare module "node:test" {
|
|
|
1097
1121
|
*
|
|
1098
1122
|
* test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {
|
|
1099
1123
|
* const fn = context.mock.fn();
|
|
1100
|
-
* context.mock.timers.enable(['setTimeout']);
|
|
1124
|
+
* context.mock.timers.enable({ apis: ['setTimeout'] });
|
|
1101
1125
|
* const nineSecs = 9000;
|
|
1102
1126
|
* setTimeout(fn, nineSecs);
|
|
1103
1127
|
*
|
|
@@ -1109,11 +1133,35 @@ declare module "node:test" {
|
|
|
1109
1133
|
* assert.strictEqual(fn.mock.callCount(), 1);
|
|
1110
1134
|
* });
|
|
1111
1135
|
* ```
|
|
1136
|
+
*
|
|
1137
|
+
* Advancing time using `.tick` will also advance the time for any `Date` object
|
|
1138
|
+
* created after the mock was enabled (if `Date` was also set to be mocked).
|
|
1139
|
+
*
|
|
1140
|
+
* ```js
|
|
1141
|
+
* import assert from 'node:assert';
|
|
1142
|
+
* import { test } from 'node:test';
|
|
1143
|
+
*
|
|
1144
|
+
* test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {
|
|
1145
|
+
* const fn = context.mock.fn();
|
|
1146
|
+
*
|
|
1147
|
+
* context.mock.timers.enable({ apis: ['setTimeout', 'Date'] });
|
|
1148
|
+
* setTimeout(fn, 9999);
|
|
1149
|
+
*
|
|
1150
|
+
* assert.strictEqual(fn.mock.callCount(), 0);
|
|
1151
|
+
* assert.strictEqual(Date.now(), 0);
|
|
1152
|
+
*
|
|
1153
|
+
* // Advance in time
|
|
1154
|
+
* context.mock.timers.tick(9999);
|
|
1155
|
+
* assert.strictEqual(fn.mock.callCount(), 1);
|
|
1156
|
+
* assert.strictEqual(Date.now(), 9999);
|
|
1157
|
+
* });
|
|
1158
|
+
* ```
|
|
1112
1159
|
* @since v20.4.0
|
|
1113
1160
|
*/
|
|
1114
1161
|
tick(milliseconds: number): void;
|
|
1115
1162
|
/**
|
|
1116
|
-
* Triggers all pending mocked timers immediately.
|
|
1163
|
+
* Triggers all pending mocked timers immediately. If the `Date` object is also
|
|
1164
|
+
* mocked, it will also advance the `Date` object to the furthest timer's time.
|
|
1117
1165
|
*
|
|
1118
1166
|
* The example below triggers all pending timers immediately,
|
|
1119
1167
|
* causing them to execute without any delay.
|
|
@@ -1123,7 +1171,7 @@ declare module "node:test" {
|
|
|
1123
1171
|
* import { test } from 'node:test';
|
|
1124
1172
|
*
|
|
1125
1173
|
* test('runAll functions following the given order', (context) => {
|
|
1126
|
-
* context.mock.timers.enable(['setTimeout']);
|
|
1174
|
+
* context.mock.timers.enable({ apis: ['setTimeout', 'Date'] });
|
|
1127
1175
|
* const results = [];
|
|
1128
1176
|
* setTimeout(() => results.push(1), 9999);
|
|
1129
1177
|
*
|
|
@@ -1135,8 +1183,9 @@ declare module "node:test" {
|
|
|
1135
1183
|
* assert.deepStrictEqual(results, []);
|
|
1136
1184
|
*
|
|
1137
1185
|
* context.mock.timers.runAll();
|
|
1138
|
-
*
|
|
1139
1186
|
* assert.deepStrictEqual(results, [3, 2, 1]);
|
|
1187
|
+
* // The Date object is also advanced to the furthest timer's time
|
|
1188
|
+
* assert.strictEqual(Date.now(), 9999);
|
|
1140
1189
|
* });
|
|
1141
1190
|
* ```
|
|
1142
1191
|
*
|
|
@@ -1343,7 +1392,7 @@ interface TestDequeue extends TestLocationInfo {
|
|
|
1343
1392
|
* @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/test/reporters.js)
|
|
1344
1393
|
*/
|
|
1345
1394
|
declare module "node:test/reporters" {
|
|
1346
|
-
import { Transform } from "node:stream";
|
|
1395
|
+
import { Transform, TransformOptions } from "node:stream";
|
|
1347
1396
|
|
|
1348
1397
|
type TestEvent =
|
|
1349
1398
|
| { type: "test:diagnostic"; data: DiagnosticData }
|
|
@@ -1378,5 +1427,8 @@ declare module "node:test/reporters" {
|
|
|
1378
1427
|
* The `junit` reporter outputs test results in a jUnit XML format
|
|
1379
1428
|
*/
|
|
1380
1429
|
function junit(source: TestEventGenerator): AsyncGenerator<string, void>;
|
|
1381
|
-
|
|
1430
|
+
class Lcov extends Transform {
|
|
1431
|
+
constructor(opts?: TransformOptions);
|
|
1432
|
+
}
|
|
1433
|
+
export { dot, junit, Lcov as lcov, Spec as spec, tap, TestEvent };
|
|
1382
1434
|
}
|
node/ts4.8/wasi.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
*
|
|
2
|
+
* **The `node:wasi` module does not currently provide the**
|
|
3
|
+
* **comprehensive file system security properties provided by some WASI runtimes.**
|
|
4
|
+
* **Full support for secure file system sandboxing may or may not be implemented in**
|
|
5
|
+
* **future. In the mean time, do not rely on it to run untrusted code.**
|
|
6
|
+
*
|
|
7
|
+
* The WASI API provides an implementation of the [WebAssembly System Interface](https://wasi.dev/) specification. WASI gives WebAssembly applications access to the underlying
|
|
8
|
+
* operating system via a collection of POSIX-like functions.
|
|
4
9
|
*
|
|
5
10
|
* ```js
|
|
6
11
|
* import { readFile } from 'node:fs/promises';
|
|
@@ -12,7 +17,7 @@
|
|
|
12
17
|
* args: argv,
|
|
13
18
|
* env,
|
|
14
19
|
* preopens: {
|
|
15
|
-
* '/
|
|
20
|
+
* '/local': '/some/real/path/that/wasm/can/access',
|
|
16
21
|
* },
|
|
17
22
|
* });
|
|
18
23
|
*
|
|
@@ -117,8 +122,7 @@ declare module "wasi" {
|
|
|
117
122
|
/**
|
|
118
123
|
* The `WASI` class provides the WASI system call API and additional convenience
|
|
119
124
|
* methods for working with WASI-based applications. Each `WASI` instance
|
|
120
|
-
* represents a distinct
|
|
121
|
-
* sandbox directory structure configured explicitly.
|
|
125
|
+
* represents a distinct environment.
|
|
122
126
|
* @since v13.3.0, v12.16.0
|
|
123
127
|
*/
|
|
124
128
|
class WASI {
|
node/wasi.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The
|
|
3
|
-
*
|
|
2
|
+
* **The `node:wasi` module does not currently provide the**
|
|
3
|
+
* **comprehensive file system security properties provided by some WASI runtimes.**
|
|
4
|
+
* **Full support for secure file system sandboxing may or may not be implemented in**
|
|
5
|
+
* **future. In the mean time, do not rely on it to run untrusted code.**
|
|
6
|
+
*
|
|
7
|
+
* The WASI API provides an implementation of the [WebAssembly System Interface](https://wasi.dev/) specification. WASI gives WebAssembly applications access to the underlying
|
|
8
|
+
* operating system via a collection of POSIX-like functions.
|
|
4
9
|
*
|
|
5
10
|
* ```js
|
|
6
11
|
* import { readFile } from 'node:fs/promises';
|
|
@@ -12,7 +17,7 @@
|
|
|
12
17
|
* args: argv,
|
|
13
18
|
* env,
|
|
14
19
|
* preopens: {
|
|
15
|
-
* '/
|
|
20
|
+
* '/local': '/some/real/path/that/wasm/can/access',
|
|
16
21
|
* },
|
|
17
22
|
* });
|
|
18
23
|
*
|
|
@@ -117,8 +122,7 @@ declare module "wasi" {
|
|
|
117
122
|
/**
|
|
118
123
|
* The `WASI` class provides the WASI system call API and additional convenience
|
|
119
124
|
* methods for working with WASI-based applications. Each `WASI` instance
|
|
120
|
-
* represents a distinct
|
|
121
|
-
* sandbox directory structure configured explicitly.
|
|
125
|
+
* represents a distinct environment.
|
|
122
126
|
* @since v13.3.0, v12.16.0
|
|
123
127
|
*/
|
|
124
128
|
class WASI {
|