@types/node 17.0.45 → 18.0.2
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 v17.0 → node}/LICENSE +0 -0
- node v17.0/README.md → node/README.md +3 -3
- {node v17.0 → node}/assert/strict.d.ts +0 -0
- node v17.0/assert.d.ts → node/assert.d.ts +7 -8
- node v17.0/async_hooks.d.ts → node/async_hooks.d.ts +2 -2
- node v17.0/buffer.d.ts → node/buffer.d.ts +11 -5
- node v17.0/child_process.d.ts → node/child_process.d.ts +6 -3
- node v17.0/cluster.d.ts → node/cluster.d.ts +14 -18
- node v17.0/console.d.ts → node/console.d.ts +1 -1
- {node v17.0 → node}/constants.d.ts +0 -0
- node v17.0/crypto.d.ts → node/crypto.d.ts +109 -37
- node v17.0/dgram.d.ts → node/dgram.d.ts +2 -2
- node v17.0/diagnostics_channel.d.ts → node/diagnostics_channel.d.ts +2 -1
- node v17.0/dns/promises.d.ts → node/dns/promises.d.ts +2 -2
- node v17.0/dns.d.ts → node/dns.d.ts +2 -2
- node v17.0/domain.d.ts → node/domain.d.ts +3 -2
- node v17.0/events.d.ts → node/events.d.ts +17 -27
- node v17.0/fs/promises.d.ts → node/fs/promises.d.ts +40 -17
- node v17.0/fs.d.ts → node/fs.d.ts +33 -44
- {node v17.0 → node}/globals.d.ts +0 -0
- {node v17.0 → node}/globals.global.d.ts +0 -0
- node v17.0/http.d.ts → node/http.d.ts +79 -23
- node v17.0/http2.d.ts → node/http2.d.ts +7 -2
- node v17.0/https.d.ts → node/https.d.ts +11 -1
- node v17.0/index.d.ts → node/index.d.ts +3 -1
- node v17.0/inspector.d.ts → node/inspector.d.ts +10 -13
- {node v17.0 → node}/module.d.ts +0 -0
- node v17.0/net.d.ts → node/net.d.ts +32 -7
- node v17.0/os.d.ts → node/os.d.ts +5 -4
- node v17.0/package.json → node/package.json +7 -2
- node v17.0/path.d.ts → node/path.d.ts +1 -1
- node v17.0/perf_hooks.d.ts → node/perf_hooks.d.ts +10 -2
- node v17.0/process.d.ts → node/process.d.ts +14 -13
- node v17.0/punycode.d.ts → node/punycode.d.ts +1 -1
- node v17.0/querystring.d.ts → node/querystring.d.ts +1 -1
- node v17.0/readline.d.ts → node/readline.d.ts +2 -2
- node v17.0/repl.d.ts → node/repl.d.ts +2 -2
- {node v17.0 → node}/stream/consumers.d.ts +0 -0
- {node v17.0 → node}/stream/promises.d.ts +0 -0
- {node v17.0 → node}/stream/web.d.ts +0 -0
- node v17.0/stream.d.ts → node/stream.d.ts +65 -15
- node v17.0/string_decoder.d.ts → node/string_decoder.d.ts +1 -1
- node/test.d.ts +142 -0
- {node v17.0 → node}/timers/promises.d.ts +0 -0
- node v17.0/timers.d.ts → node/timers.d.ts +3 -3
- node v17.0/tls.d.ts → node/tls.d.ts +18 -10
- node v17.0/trace_events.d.ts → node/trace_events.d.ts +11 -1
- node v17.0/tty.d.ts → node/tty.d.ts +4 -2
- node v17.0/url.d.ts → node/url.d.ts +25 -19
- node v17.0/util.d.ts → node/util.d.ts +20 -9
- node v17.0/v8.d.ts → node/v8.d.ts +19 -1
- node v17.0/vm.d.ts → node/vm.d.ts +5 -3
- node v17.0/wasi.d.ts → node/wasi.d.ts +1 -1
- node v17.0/worker_threads.d.ts → node/worker_threads.d.ts +2 -5
- node v17.0/zlib.d.ts → node/zlib.d.ts +1 -1
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
*
|
|
15
15
|
* The `stream` module is useful for creating new types of stream instances. It is
|
|
16
16
|
* usually not necessary to use the `stream` module to consume streams.
|
|
17
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
17
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/stream.js)
|
|
18
18
|
*/
|
|
19
19
|
declare module 'stream' {
|
|
20
20
|
import { EventEmitter, Abortable } from 'node:events';
|
|
21
21
|
import * as streamPromises from 'node:stream/promises';
|
|
22
22
|
import * as streamConsumers from 'node:stream/consumers';
|
|
23
|
+
import * as streamWeb from 'node:stream/web';
|
|
23
24
|
class internal extends EventEmitter {
|
|
24
25
|
pipe<T extends NodeJS.WritableStream>(
|
|
25
26
|
destination: T,
|
|
@@ -52,11 +53,23 @@ declare module 'stream' {
|
|
|
52
53
|
* A utility method for creating Readable Streams out of iterators.
|
|
53
54
|
*/
|
|
54
55
|
static from(iterable: Iterable<any> | AsyncIterable<any>, options?: ReadableOptions): Readable;
|
|
56
|
+
/**
|
|
57
|
+
* A utility method for creating a `Readable` from a web `ReadableStream`.
|
|
58
|
+
* @since v17.0.0
|
|
59
|
+
* @experimental
|
|
60
|
+
*/
|
|
61
|
+
static fromWeb(readableStream: streamWeb.ReadableStream, options?: Pick<ReadableOptions, 'encoding' | 'highWaterMark' | 'objectMode' | 'signal'>): Readable;
|
|
55
62
|
/**
|
|
56
63
|
* Returns whether the stream has been read from or cancelled.
|
|
57
64
|
* @since v16.8.0
|
|
58
65
|
*/
|
|
59
66
|
static isDisturbed(stream: Readable | NodeJS.ReadableStream): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* A utility method for creating a web `ReadableStream` from a `Readable`.
|
|
69
|
+
* @since v17.0.0
|
|
70
|
+
* @experimental
|
|
71
|
+
*/
|
|
72
|
+
static toWeb(streamReadable: Readable): streamWeb.ReadableStream;
|
|
60
73
|
/**
|
|
61
74
|
* Returns whether the stream was destroyed or errored before emitting `'end'`.
|
|
62
75
|
* @since v16.8.0
|
|
@@ -110,16 +123,16 @@ declare module 'stream' {
|
|
|
110
123
|
readonly readableObjectMode: boolean;
|
|
111
124
|
/**
|
|
112
125
|
* Is `true` after `readable.destroy()` has been called.
|
|
113
|
-
* @since
|
|
126
|
+
* @since v18.0.0
|
|
114
127
|
*/
|
|
115
128
|
destroyed: boolean;
|
|
116
129
|
constructor(opts?: ReadableOptions);
|
|
117
130
|
_construct?(callback: (error?: Error | null) => void): void;
|
|
118
131
|
_read(size: number): void;
|
|
119
132
|
/**
|
|
120
|
-
* The `readable.read()` method
|
|
121
|
-
* returns it. If no data available to be read, `null` is returned. By default,
|
|
122
|
-
* the data
|
|
133
|
+
* The `readable.read()` method reads data out of the internal buffer and
|
|
134
|
+
* returns it. If no data is available to be read, `null` is returned. By default,
|
|
135
|
+
* the data is returned as a `Buffer` object unless an encoding has been
|
|
123
136
|
* specified using the `readable.setEncoding()` method or the stream is operating
|
|
124
137
|
* in object mode.
|
|
125
138
|
*
|
|
@@ -334,7 +347,7 @@ declare module 'stream' {
|
|
|
334
347
|
* let chunk;
|
|
335
348
|
* while (null !== (chunk = stream.read())) {
|
|
336
349
|
* const str = decoder.write(chunk);
|
|
337
|
-
* if (str.
|
|
350
|
+
* if (str.includes('\n\n')) {
|
|
338
351
|
* // Found the header boundary.
|
|
339
352
|
* const split = str.split(/\n\n/);
|
|
340
353
|
* header += split.shift();
|
|
@@ -347,10 +360,10 @@ declare module 'stream' {
|
|
|
347
360
|
* stream.unshift(buf);
|
|
348
361
|
* // Now the body of the message can be read from the stream.
|
|
349
362
|
* callback(null, header, stream);
|
|
350
|
-
*
|
|
351
|
-
* // Still reading the header.
|
|
352
|
-
* header += str;
|
|
363
|
+
* return;
|
|
353
364
|
* }
|
|
365
|
+
* // Still reading the header.
|
|
366
|
+
* header += str;
|
|
354
367
|
* }
|
|
355
368
|
* }
|
|
356
369
|
* }
|
|
@@ -567,7 +580,7 @@ declare module 'stream' {
|
|
|
567
580
|
* While a stream is not draining, calls to `write()` will buffer `chunk`, and
|
|
568
581
|
* return false. Once all currently buffered chunks are drained (accepted for
|
|
569
582
|
* delivery by the operating system), the `'drain'` event will be emitted.
|
|
570
|
-
*
|
|
583
|
+
* Once `write()` returns false, do not write more chunks
|
|
571
584
|
* until the `'drain'` event is emitted. While calling `write()` on a stream that
|
|
572
585
|
* is not draining is allowed, Node.js will buffer all written chunks until
|
|
573
586
|
* maximum memory usage occurs, at which point it will abort unconditionally.
|
|
@@ -661,8 +674,8 @@ declare module 'stream' {
|
|
|
661
674
|
* The `writable.uncork()` method flushes all data buffered since {@link cork} was called.
|
|
662
675
|
*
|
|
663
676
|
* When using `writable.cork()` and `writable.uncork()` to manage the buffering
|
|
664
|
-
* of writes to a stream,
|
|
665
|
-
*
|
|
677
|
+
* of writes to a stream, defer calls to `writable.uncork()` using`process.nextTick()`. Doing so allows batching of all`writable.write()` calls that occur within a given Node.js event
|
|
678
|
+
* loop phase.
|
|
666
679
|
*
|
|
667
680
|
* ```js
|
|
668
681
|
* stream.cork();
|
|
@@ -1106,7 +1119,7 @@ declare module 'stream' {
|
|
|
1106
1119
|
* async function run() {
|
|
1107
1120
|
* await pipeline(
|
|
1108
1121
|
* fs.createReadStream('lowercase.txt'),
|
|
1109
|
-
* async function* (source, signal) {
|
|
1122
|
+
* async function* (source, { signal }) {
|
|
1110
1123
|
* source.setEncoding('utf8'); // Work with strings rather than `Buffer`s.
|
|
1111
1124
|
* for await (const chunk of source) {
|
|
1112
1125
|
* yield await processChunk(chunk, { signal });
|
|
@@ -1130,7 +1143,7 @@ declare module 'stream' {
|
|
|
1130
1143
|
*
|
|
1131
1144
|
* async function run() {
|
|
1132
1145
|
* await pipeline(
|
|
1133
|
-
* async function
|
|
1146
|
+
* async function* ({ signal }) {
|
|
1134
1147
|
* await someLongRunningfn({ signal });
|
|
1135
1148
|
* yield 'asd';
|
|
1136
1149
|
* },
|
|
@@ -1149,7 +1162,31 @@ declare module 'stream' {
|
|
|
1149
1162
|
*
|
|
1150
1163
|
* `stream.pipeline()` leaves dangling event listeners on the streams
|
|
1151
1164
|
* after the `callback` has been invoked. In the case of reuse of streams after
|
|
1152
|
-
* failure, this can cause event listener leaks and swallowed errors.
|
|
1165
|
+
* failure, this can cause event listener leaks and swallowed errors. If the last
|
|
1166
|
+
* stream is readable, dangling event listeners will be removed so that the last
|
|
1167
|
+
* stream can be consumed later.
|
|
1168
|
+
*
|
|
1169
|
+
* `stream.pipeline()` closes all the streams when an error is raised.
|
|
1170
|
+
* The `IncomingRequest` usage with `pipeline` could lead to an unexpected behavior
|
|
1171
|
+
* once it would destroy the socket without sending the expected response.
|
|
1172
|
+
* See the example below:
|
|
1173
|
+
*
|
|
1174
|
+
* ```js
|
|
1175
|
+
* const fs = require('fs');
|
|
1176
|
+
* const http = require('http');
|
|
1177
|
+
* const { pipeline } = require('stream');
|
|
1178
|
+
*
|
|
1179
|
+
* const server = http.createServer((req, res) => {
|
|
1180
|
+
* const fileStream = fs.createReadStream('./fileNotExist.txt');
|
|
1181
|
+
* pipeline(fileStream, res, (err) => {
|
|
1182
|
+
* if (err) {
|
|
1183
|
+
* console.log(err); // No such file
|
|
1184
|
+
* // this message can't be sent once `pipeline` already destroyed the socket
|
|
1185
|
+
* return res.end('error!!!');
|
|
1186
|
+
* }
|
|
1187
|
+
* });
|
|
1188
|
+
* });
|
|
1189
|
+
* ```
|
|
1153
1190
|
* @since v10.0.0
|
|
1154
1191
|
* @param callback Called when the pipeline is fully done.
|
|
1155
1192
|
*/
|
|
@@ -1238,6 +1275,19 @@ declare module 'stream' {
|
|
|
1238
1275
|
ref(): void;
|
|
1239
1276
|
unref(): void;
|
|
1240
1277
|
}
|
|
1278
|
+
|
|
1279
|
+
/**
|
|
1280
|
+
* Returns whether the stream has encountered an error.
|
|
1281
|
+
* @since v17.3.0
|
|
1282
|
+
*/
|
|
1283
|
+
function isErrored(stream: Readable | Writable | NodeJS.ReadableStream | NodeJS.WritableStream): boolean;
|
|
1284
|
+
|
|
1285
|
+
/**
|
|
1286
|
+
* Returns whether the stream is readable.
|
|
1287
|
+
* @since v17.4.0
|
|
1288
|
+
*/
|
|
1289
|
+
function isReadable(stream: Readable | NodeJS.ReadableStream): boolean;
|
|
1290
|
+
|
|
1241
1291
|
const promises: typeof streamPromises;
|
|
1242
1292
|
const consumers: typeof streamConsumers;
|
|
1243
1293
|
}
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
* decoder.write(Buffer.from([0x82]));
|
|
37
37
|
* console.log(decoder.end(Buffer.from([0xAC])));
|
|
38
38
|
* ```
|
|
39
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
39
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/string_decoder.js)
|
|
40
40
|
*/
|
|
41
41
|
declare module 'string_decoder' {
|
|
42
42
|
class StringDecoder {
|
node/test.d.ts
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `node:test` module provides a standalone testing module.
|
|
3
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/test.js)
|
|
4
|
+
*/
|
|
5
|
+
declare module 'node:test' {
|
|
6
|
+
/**
|
|
7
|
+
* The `test()` function is the value imported from the test module. Each invocation of this
|
|
8
|
+
* function results in the creation of a test point in the TAP output.
|
|
9
|
+
*
|
|
10
|
+
* The {@link TestContext} object passed to the fn argument can be used to perform actions
|
|
11
|
+
* related to the current test. Examples include skipping the test, adding additional TAP
|
|
12
|
+
* diagnostic information, or creating subtests.
|
|
13
|
+
*
|
|
14
|
+
* `test()` returns a {@link Promise} that resolves once the test completes. The return value
|
|
15
|
+
* can usually be discarded for top level tests. However, the return value from subtests should
|
|
16
|
+
* be used to prevent the parent test from finishing first and cancelling the subtest as shown
|
|
17
|
+
* in the following example.
|
|
18
|
+
*
|
|
19
|
+
* ```js
|
|
20
|
+
* test('top level test', async (t) => {
|
|
21
|
+
* // The setTimeout() in the following subtest would cause it to outlive its
|
|
22
|
+
* // parent test if 'await' is removed on the next line. Once the parent test
|
|
23
|
+
* // completes, it will cancel any outstanding subtests.
|
|
24
|
+
* await t.test('longer running subtest', async (t) => {
|
|
25
|
+
* return new Promise((resolve, reject) => {
|
|
26
|
+
* setTimeout(resolve, 1000);
|
|
27
|
+
* });
|
|
28
|
+
* });
|
|
29
|
+
* });
|
|
30
|
+
* ```
|
|
31
|
+
* @since v18.0.0
|
|
32
|
+
* @param name The name of the test, which is displayed when reporting test results.
|
|
33
|
+
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
|
34
|
+
* @param options Configuration options for the test
|
|
35
|
+
* @param fn The function under test. This first argument to this function is a
|
|
36
|
+
* {@link TestContext} object. If the test uses callbacks, the callback function is
|
|
37
|
+
* passed as the second argument. Default: A no-op function.
|
|
38
|
+
* @returns A {@link Promise} resolved with `undefined` once the test completes.
|
|
39
|
+
*/
|
|
40
|
+
function test(name?: string, fn?: TestFn): Promise<void>;
|
|
41
|
+
function test(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
|
|
42
|
+
function test(options?: TestOptions, fn?: TestFn): Promise<void>;
|
|
43
|
+
function test(fn?: TestFn): Promise<void>;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The type of a function under test. This first argument to this function is a
|
|
47
|
+
* {@link TestContext} object. If the test uses callbacks, the callback function is passed as
|
|
48
|
+
* the second argument.
|
|
49
|
+
*/
|
|
50
|
+
type TestFn = ((t: TestContext, done: (result?: any) => void) => any);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* An instance of `TestContext` is passed to each test function in order to interact with the
|
|
54
|
+
* test runner. However, the `TestContext` constructor is not exposed as part of the API.
|
|
55
|
+
* @since v18.0.0
|
|
56
|
+
*/
|
|
57
|
+
interface TestContext {
|
|
58
|
+
/**
|
|
59
|
+
* This function is used to write TAP diagnostics to the output. Any diagnostic information is
|
|
60
|
+
* included at the end of the test's results. This function does not return a value.
|
|
61
|
+
* @param message Message to be displayed as a TAP diagnostic.
|
|
62
|
+
* @since v18.0.0
|
|
63
|
+
*/
|
|
64
|
+
diagnostic(message: string): void;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* If `shouldRunOnlyTests` is truthy, the test context will only run tests that have the `only`
|
|
68
|
+
* option set. Otherwise, all tests are run. If Node.js was not started with the `--test-only`
|
|
69
|
+
* command-line option, this function is a no-op.
|
|
70
|
+
* @param shouldRunOnlyTests Whether or not to run `only` tests.
|
|
71
|
+
* @since v18.0.0
|
|
72
|
+
*/
|
|
73
|
+
runOnly(shouldRunOnlyTests: boolean): void;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* This function causes the test's output to indicate the test as skipped. If `message` is
|
|
77
|
+
* provided, it is included in the TAP output. Calling `skip()` does not terminate execution of
|
|
78
|
+
* the test function. This function does not return a value.
|
|
79
|
+
* @param message Optional skip message to be displayed in TAP output.
|
|
80
|
+
* @since v18.0.0
|
|
81
|
+
*/
|
|
82
|
+
skip(message?: string): void;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* This function adds a `TODO` directive to the test's output. If `message` is provided, it is
|
|
86
|
+
* included in the TAP output. Calling `todo()` does not terminate execution of the test
|
|
87
|
+
* function. This function does not return a value.
|
|
88
|
+
* @param message Optional `TODO` message to be displayed in TAP output.
|
|
89
|
+
* @since v18.0.0
|
|
90
|
+
*/
|
|
91
|
+
todo(message?: string): void;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* This function is used to create subtests under the current test. This function behaves in
|
|
95
|
+
* the same fashion as the top level {@link test} function.
|
|
96
|
+
* @since v18.0.0
|
|
97
|
+
* @param name The name of the test, which is displayed when reporting test results.
|
|
98
|
+
* Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
|
|
99
|
+
* @param options Configuration options for the test
|
|
100
|
+
* @param fn The function under test. This first argument to this function is a
|
|
101
|
+
* {@link TestContext} object. If the test uses callbacks, the callback function is
|
|
102
|
+
* passed as the second argument. Default: A no-op function.
|
|
103
|
+
* @returns A {@link Promise} resolved with `undefined` once the test completes.
|
|
104
|
+
*/
|
|
105
|
+
test: typeof test;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
interface TestOptions {
|
|
109
|
+
/**
|
|
110
|
+
* The number of tests that can be run at the same time. If unspecified, subtests inherit this
|
|
111
|
+
* value from their parent.
|
|
112
|
+
* @default 1
|
|
113
|
+
*/
|
|
114
|
+
concurrency?: number;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* If truthy, and the test context is configured to run `only` tests, then this test will be
|
|
118
|
+
* run. Otherwise, the test is skipped.
|
|
119
|
+
* @default false
|
|
120
|
+
*/
|
|
121
|
+
only?: boolean;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* If truthy, the test is skipped. If a string is provided, that string is displayed in the
|
|
125
|
+
* test results as the reason for skipping the test.
|
|
126
|
+
* @default false
|
|
127
|
+
*/
|
|
128
|
+
skip?: boolean | string;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* If truthy, the test marked as `TODO`. If a string is provided, that string is displayed in
|
|
132
|
+
* the test results as the reason why the test is `TODO`.
|
|
133
|
+
* @default false
|
|
134
|
+
*/
|
|
135
|
+
todo?: boolean | string;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export {
|
|
139
|
+
test as default,
|
|
140
|
+
test,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
File without changes
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* The timer functions within Node.js implement a similar API as the timers API
|
|
7
7
|
* provided by Web Browsers but use a different internal implementation that is
|
|
8
8
|
* built around the Node.js [Event Loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout).
|
|
9
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
9
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/timers.js)
|
|
10
10
|
*/
|
|
11
11
|
declare module 'timers' {
|
|
12
12
|
import { Abortable } from 'node:events';
|
|
@@ -69,7 +69,7 @@ declare module 'timers' {
|
|
|
69
69
|
namespace setTimeout {
|
|
70
70
|
const __promisify__: typeof setTimeoutPromise;
|
|
71
71
|
}
|
|
72
|
-
function clearTimeout(timeoutId: NodeJS.Timeout | undefined): void;
|
|
72
|
+
function clearTimeout(timeoutId: NodeJS.Timeout | string | number | undefined): void;
|
|
73
73
|
function setInterval<TArgs extends any[]>(callback: (...args: TArgs) => void, ms?: number, ...args: TArgs): NodeJS.Timer;
|
|
74
74
|
// util.promisify no rest args compability
|
|
75
75
|
// tslint:disable-next-line void-return
|
|
@@ -77,7 +77,7 @@ declare module 'timers' {
|
|
|
77
77
|
namespace setInterval {
|
|
78
78
|
const __promisify__: typeof setIntervalPromise;
|
|
79
79
|
}
|
|
80
|
-
function clearInterval(intervalId: NodeJS.Timeout | undefined): void;
|
|
80
|
+
function clearInterval(intervalId: NodeJS.Timeout | string | number | undefined): void;
|
|
81
81
|
function setImmediate<TArgs extends any[]>(callback: (...args: TArgs) => void, ...args: TArgs): NodeJS.Immediate;
|
|
82
82
|
// util.promisify no rest args compability
|
|
83
83
|
// tslint:disable-next-line void-return
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* ```js
|
|
7
7
|
* const tls = require('tls');
|
|
8
8
|
* ```
|
|
9
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
9
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/tls.js)
|
|
10
10
|
*/
|
|
11
11
|
declare module 'tls' {
|
|
12
12
|
import { X509Certificate } from 'node:crypto';
|
|
@@ -143,8 +143,8 @@ declare module 'tls' {
|
|
|
143
143
|
*/
|
|
144
144
|
constructor(socket: net.Socket, options?: TLSSocketOptions);
|
|
145
145
|
/**
|
|
146
|
-
*
|
|
147
|
-
* when creating the `tls.TLSSocket` instance, otherwise `false`.
|
|
146
|
+
* This property is `true` if the peer certificate was signed by one of the CAs
|
|
147
|
+
* specified when creating the `tls.TLSSocket` instance, otherwise `false`.
|
|
148
148
|
* @since v0.11.4
|
|
149
149
|
*/
|
|
150
150
|
authorized: boolean;
|
|
@@ -158,7 +158,7 @@ declare module 'tls' {
|
|
|
158
158
|
* Always returns `true`. This may be used to distinguish TLS sockets from regular`net.Socket` instances.
|
|
159
159
|
* @since v0.11.4
|
|
160
160
|
*/
|
|
161
|
-
encrypted:
|
|
161
|
+
encrypted: true;
|
|
162
162
|
/**
|
|
163
163
|
* String containing the selected ALPN protocol.
|
|
164
164
|
* Before a handshake has completed, this value is always null.
|
|
@@ -343,9 +343,9 @@ declare module 'tls' {
|
|
|
343
343
|
* When enabled, TLS packet trace information is written to `stderr`. This can be
|
|
344
344
|
* used to debug TLS connection problems.
|
|
345
345
|
*
|
|
346
|
-
*
|
|
347
|
-
* undocumented, can change
|
|
348
|
-
* and should not be relied on.
|
|
346
|
+
* The format of the output is identical to the output of`openssl s_client -trace` or `openssl s_server -trace`. While it is produced by
|
|
347
|
+
* OpenSSL's `SSL_trace()` function, the format is undocumented, can change
|
|
348
|
+
* without notice, and should not be relied on.
|
|
349
349
|
* @since v12.2.0
|
|
350
350
|
*/
|
|
351
351
|
enableTrace(): void;
|
|
@@ -374,7 +374,7 @@ declare module 'tls' {
|
|
|
374
374
|
* 128,
|
|
375
375
|
* 'client finished');
|
|
376
376
|
*
|
|
377
|
-
*
|
|
377
|
+
* /*
|
|
378
378
|
* Example return value of keyingMaterial:
|
|
379
379
|
* <Buffer 76 26 af 99 c5 56 8e 42 09 91 ef 9f 93 cb ad 6c 7b 65 f8 53 f1 d8 d9
|
|
380
380
|
* 12 5a 33 b8 b5 25 df 7b 37 9f e0 e2 4f b8 67 83 a3 2f cd 5d 41 42 4c 91
|
|
@@ -814,13 +814,19 @@ declare module 'tls' {
|
|
|
814
814
|
* Returns [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) object, populating it with `reason`, `host`, and `cert` on
|
|
815
815
|
* failure. On success, returns [undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Undefined_type).
|
|
816
816
|
*
|
|
817
|
-
* This function can be
|
|
818
|
-
*
|
|
817
|
+
* This function is intended to be used in combination with the`checkServerIdentity` option that can be passed to {@link connect} and as
|
|
818
|
+
* such operates on a `certificate object`. For other purposes, consider using `x509.checkHost()` instead.
|
|
819
|
+
*
|
|
820
|
+
* This function can be overwritten by providing an alternative function as the`options.checkServerIdentity` option that is passed to `tls.connect()`. The
|
|
819
821
|
* overwriting function can call `tls.checkServerIdentity()` of course, to augment
|
|
820
822
|
* the checks done with additional verification.
|
|
821
823
|
*
|
|
822
824
|
* This function is only called if the certificate passed all other checks, such as
|
|
823
825
|
* being issued by trusted CA (`options.ca`).
|
|
826
|
+
*
|
|
827
|
+
* Earlier versions of Node.js incorrectly accepted certificates for a given`hostname` if a matching `uniformResourceIdentifier` subject alternative name
|
|
828
|
+
* was present (see [CVE-2021-44531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531)). Applications that wish to accept`uniformResourceIdentifier` subject alternative names can use
|
|
829
|
+
* a custom`options.checkServerIdentity` function that implements the desired behavior.
|
|
824
830
|
* @since v0.8.4
|
|
825
831
|
* @param hostname The host name or IP address to verify the certificate against.
|
|
826
832
|
* @param cert A `certificate object` representing the peer's certificate.
|
|
@@ -973,6 +979,8 @@ declare module 'tls' {
|
|
|
973
979
|
* lower-case for historical reasons, but must be uppercased to be used in
|
|
974
980
|
* the `ciphers` option of {@link createSecureContext}.
|
|
975
981
|
*
|
|
982
|
+
* Not all supported ciphers are enabled by default. See `Modifying the default TLS cipher suite`.
|
|
983
|
+
*
|
|
976
984
|
* Cipher names that start with `'tls_'` are for TLSv1.3, all the others are for
|
|
977
985
|
* TLSv1.2 and below.
|
|
978
986
|
*
|
|
@@ -66,6 +66,16 @@
|
|
|
66
66
|
* node --trace-event-categories v8 --trace-event-file-pattern '${pid}-${rotation}.log' server.js
|
|
67
67
|
* ```
|
|
68
68
|
*
|
|
69
|
+
* To guarantee that the log file is properly generated after signal events like`SIGINT`, `SIGTERM`, or `SIGBREAK`, make sure to have the appropriate handlers
|
|
70
|
+
* in your code, such as:
|
|
71
|
+
*
|
|
72
|
+
* ```js
|
|
73
|
+
* process.on('SIGINT', function onSigint() {
|
|
74
|
+
* console.info('Received SIGINT.');
|
|
75
|
+
* process.exit(130); // Or applicable exit code depending on OS and signal
|
|
76
|
+
* });
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
69
79
|
* The tracing system uses the same time source
|
|
70
80
|
* as the one used by `process.hrtime()`.
|
|
71
81
|
* However the trace-event timestamps are expressed in microseconds,
|
|
@@ -73,7 +83,7 @@
|
|
|
73
83
|
*
|
|
74
84
|
* The features from this module are not available in `Worker` threads.
|
|
75
85
|
* @experimental
|
|
76
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
86
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/trace_events.js)
|
|
77
87
|
*/
|
|
78
88
|
declare module 'trace_events' {
|
|
79
89
|
/**
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*
|
|
23
23
|
* In most cases, there should be little to no reason for an application to
|
|
24
24
|
* manually create instances of the `tty.ReadStream` and `tty.WriteStream`classes.
|
|
25
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
25
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/tty.js)
|
|
26
26
|
*/
|
|
27
27
|
declare module 'tty' {
|
|
28
28
|
import * as net from 'node:net';
|
|
@@ -52,7 +52,9 @@ declare module 'tty' {
|
|
|
52
52
|
*
|
|
53
53
|
* When in raw mode, input is always available character-by-character, not
|
|
54
54
|
* including modifiers. Additionally, all special processing of characters by the
|
|
55
|
-
* terminal is disabled, including echoing input
|
|
55
|
+
* terminal is disabled, including echoing input
|
|
56
|
+
* characters. Ctrl+C will no longer cause a `SIGINT` when
|
|
57
|
+
* in this mode.
|
|
56
58
|
* @since v0.7.7
|
|
57
59
|
* @param mode If `true`, configures the `tty.ReadStream` to operate as a raw device. If `false`, configures the `tty.ReadStream` to operate in its default mode. The `readStream.isRaw`
|
|
58
60
|
* property will be set to the resulting mode.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* ```js
|
|
6
6
|
* import url from 'url';
|
|
7
7
|
* ```
|
|
8
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
8
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/url.js)
|
|
9
9
|
*/
|
|
10
10
|
declare module 'url' {
|
|
11
11
|
import { Blob } from 'node:buffer';
|
|
@@ -59,8 +59,12 @@ declare module 'url' {
|
|
|
59
59
|
* lenient, non-standard algorithm for parsing URL strings, security
|
|
60
60
|
* issues can be introduced. Specifically, issues with [host name spoofing](https://hackerone.com/reports/678487) and
|
|
61
61
|
* incorrect handling of usernames and passwords have been identified.
|
|
62
|
+
*
|
|
63
|
+
* Deprecation of this API has been shelved for now primarily due to the the
|
|
64
|
+
* inability of the [WHATWG API to parse relative URLs](https://github.com/nodejs/node/issues/12682#issuecomment-1154492373).
|
|
65
|
+
* [Discussions are ongoing](https://github.com/whatwg/url/issues/531) for the best way to resolve this.
|
|
66
|
+
*
|
|
62
67
|
* @since v0.1.25
|
|
63
|
-
* @deprecated Legacy: Use the WHATWG URL API instead.
|
|
64
68
|
* @param urlString The URL string to parse.
|
|
65
69
|
* @param [parseQueryString=false] If `true`, the `query` property will always be set to an object returned by the {@link querystring} module's `parse()` method. If `false`, the `query` property
|
|
66
70
|
* on the returned URL object will be an unparsed, undecoded string.
|
|
@@ -201,7 +205,7 @@ declare module 'url' {
|
|
|
201
205
|
function format(urlObject: UrlObject | string): string;
|
|
202
206
|
/**
|
|
203
207
|
* The `url.resolve()` method resolves a target URL relative to a base URL in a
|
|
204
|
-
* manner similar to that of a
|
|
208
|
+
* manner similar to that of a web browser resolving an anchor tag.
|
|
205
209
|
*
|
|
206
210
|
* ```js
|
|
207
211
|
* const url = require('url');
|
|
@@ -210,7 +214,7 @@ declare module 'url' {
|
|
|
210
214
|
* url.resolve('http://example.com/one', '/two'); // 'http://example.com/two'
|
|
211
215
|
* ```
|
|
212
216
|
*
|
|
213
|
-
*
|
|
217
|
+
* To achieve the same result using the WHATWG URL API:
|
|
214
218
|
*
|
|
215
219
|
* ```js
|
|
216
220
|
* function resolve(from, to) {
|
|
@@ -229,8 +233,8 @@ declare module 'url' {
|
|
|
229
233
|
* ```
|
|
230
234
|
* @since v0.1.25
|
|
231
235
|
* @deprecated Legacy: Use the WHATWG URL API instead.
|
|
232
|
-
* @param from The
|
|
233
|
-
* @param to The
|
|
236
|
+
* @param from The base URL to use if `to` is a relative URL.
|
|
237
|
+
* @param to The target URL to resolve.
|
|
234
238
|
*/
|
|
235
239
|
function resolve(from: string, to: string): string;
|
|
236
240
|
/**
|
|
@@ -328,7 +332,7 @@ declare module 'url' {
|
|
|
328
332
|
* const myURL = new URL('https://a:b@測試?abc#foo');
|
|
329
333
|
*
|
|
330
334
|
* console.log(urlToHttpOptions(myURL));
|
|
331
|
-
*
|
|
335
|
+
* /*
|
|
332
336
|
* {
|
|
333
337
|
* protocol: 'https:',
|
|
334
338
|
* hostname: 'xn--g6w251d',
|
|
@@ -393,7 +397,8 @@ declare module 'url' {
|
|
|
393
397
|
*/
|
|
394
398
|
static createObjectURL(blob: Blob): string;
|
|
395
399
|
/**
|
|
396
|
-
* Removes the stored `Blob` identified by the given ID.
|
|
400
|
+
* Removes the stored `Blob` identified by the given ID. Attempting to revoke a
|
|
401
|
+
* ID that isn’t registered will silently fail.
|
|
397
402
|
* @since v16.7.0
|
|
398
403
|
* @experimental
|
|
399
404
|
* @param id A `'blob:nodedata:...` URL string returned by a prior call to `URL.createObjectURL()`.
|
|
@@ -855,7 +860,6 @@ declare module 'url' {
|
|
|
855
860
|
values(): IterableIterator<string>;
|
|
856
861
|
[Symbol.iterator](): IterableIterator<[string, string]>;
|
|
857
862
|
}
|
|
858
|
-
|
|
859
863
|
import { URL as _URL, URLSearchParams as _URLSearchParams } from 'url';
|
|
860
864
|
global {
|
|
861
865
|
interface URLSearchParams extends _URLSearchParams {}
|
|
@@ -869,21 +873,23 @@ declare module 'url' {
|
|
|
869
873
|
* https://nodejs.org/api/url.html#the-whatwg-url-api
|
|
870
874
|
* @since v10.0.0
|
|
871
875
|
*/
|
|
872
|
-
var URL:
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
876
|
+
var URL: typeof globalThis extends {
|
|
877
|
+
onmessage: any;
|
|
878
|
+
URL: infer URL;
|
|
879
|
+
}
|
|
880
|
+
? URL
|
|
881
|
+
: typeof _URL;
|
|
877
882
|
/**
|
|
878
883
|
* `URLSearchParams` class is a global reference for `require('url').URLSearchParams`
|
|
879
884
|
* https://nodejs.org/api/url.html#class-urlsearchparams
|
|
880
885
|
* @since v10.0.0
|
|
881
886
|
*/
|
|
882
|
-
var URLSearchParams:
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
+
var URLSearchParams: typeof globalThis extends {
|
|
888
|
+
onmessage: any;
|
|
889
|
+
URLSearchParams: infer URLSearchParams;
|
|
890
|
+
}
|
|
891
|
+
? URLSearchParams
|
|
892
|
+
: typeof _URLSearchParams;
|
|
887
893
|
}
|
|
888
894
|
}
|
|
889
895
|
declare module 'node:url' {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* ```js
|
|
7
7
|
* const util = require('util');
|
|
8
8
|
* ```
|
|
9
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
9
|
+
* @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/util.js)
|
|
10
10
|
*/
|
|
11
11
|
declare module 'util' {
|
|
12
12
|
import * as types from 'node:util/types';
|
|
@@ -309,6 +309,21 @@ declare module 'util' {
|
|
|
309
309
|
* );
|
|
310
310
|
* ```
|
|
311
311
|
*
|
|
312
|
+
* The `numericSeparator` option adds an underscore every three digits to all
|
|
313
|
+
* numbers.
|
|
314
|
+
*
|
|
315
|
+
* ```js
|
|
316
|
+
* const { inspect } = require('util');
|
|
317
|
+
*
|
|
318
|
+
* const thousand = 1_000;
|
|
319
|
+
* const million = 1_000_000;
|
|
320
|
+
* const bigNumber = 123_456_789n;
|
|
321
|
+
* const bigDecimal = 1_234.123_45;
|
|
322
|
+
*
|
|
323
|
+
* console.log(thousand, million, bigNumber, bigDecimal);
|
|
324
|
+
* // 1_000 1_000_000 123_456_789n 1_234.123_45
|
|
325
|
+
* ```
|
|
326
|
+
*
|
|
312
327
|
* `util.inspect()` is a synchronous method intended for debugging. Its maximum
|
|
313
328
|
* output length is approximately 128 MB. Inputs that result in longer output will
|
|
314
329
|
* be truncated.
|
|
@@ -859,7 +874,7 @@ declare module 'util' {
|
|
|
859
874
|
* callbackFunction((err, ret) => {
|
|
860
875
|
* // When the Promise was rejected with `null` it is wrapped with an Error and
|
|
861
876
|
* // the original value is stored in `reason`.
|
|
862
|
-
* err &&
|
|
877
|
+
* err && Object.hasOwn(err, 'reason') && err.reason === null; // true
|
|
863
878
|
* });
|
|
864
879
|
* ```
|
|
865
880
|
* @since v8.2.0
|
|
@@ -998,13 +1013,9 @@ declare module 'util' {
|
|
|
998
1013
|
* An implementation of the [WHATWG Encoding Standard](https://encoding.spec.whatwg.org/) `TextDecoder` API.
|
|
999
1014
|
*
|
|
1000
1015
|
* ```js
|
|
1001
|
-
* const decoder = new TextDecoder(
|
|
1002
|
-
*
|
|
1003
|
-
*
|
|
1004
|
-
* while (buffer = getNextChunkSomehow()) {
|
|
1005
|
-
* string += decoder.decode(buffer, { stream: true });
|
|
1006
|
-
* }
|
|
1007
|
-
* string += decoder.decode(); // end-of-stream
|
|
1016
|
+
* const decoder = new TextDecoder();
|
|
1017
|
+
* const u8arr = new Uint8Array([72, 101, 108, 108, 111]);
|
|
1018
|
+
* console.log(decoder.decode(u8arr)); // Hello
|
|
1008
1019
|
* ```
|
|
1009
1020
|
* @since v8.3.0
|
|
1010
1021
|
*/
|