@types/node 18.11.19 → 18.14.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 CHANGED
@@ -8,7 +8,7 @@ This package contains type definitions for Node.js (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Sat, 04 Feb 2023 23:02:34 GMT
11
+ * Last updated: Fri, 17 Feb 2023 20:32:39 GMT
12
12
  * Dependencies: none
13
13
  * Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`, `structuredClone`
14
14
 
node/async_hooks.d.ts CHANGED
@@ -319,6 +319,16 @@ declare module 'async_hooks' {
319
319
  */
320
320
  triggerAsyncId(): number;
321
321
  }
322
+ interface AsyncLocalStorageOptions<T> {
323
+ /**
324
+ * Optional callback invoked before a store is propagated to a new async resource.
325
+ * Returning `true` allows propagation, returning `false` avoids it. Default is to propagate always.
326
+ * @param type The type of async event.
327
+ * @param store The current store.
328
+ * @since v18.13.0
329
+ */
330
+ onPropagate?: ((type: string, store: T) => boolean) | undefined;
331
+ }
322
332
  /**
323
333
  * This class creates stores that stay coherent through asynchronous operations.
324
334
  *
@@ -368,6 +378,8 @@ declare module 'async_hooks' {
368
378
  * @since v13.10.0, v12.17.0
369
379
  */
370
380
  class AsyncLocalStorage<T> {
381
+ constructor(options?: AsyncLocalStorageOptions<T>);
382
+
371
383
  /**
372
384
  * Disables the instance of `AsyncLocalStorage`. All subsequent calls
373
385
  * to `asyncLocalStorage.getStore()` will return `undefined` until`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
node/buffer.d.ts CHANGED
@@ -46,6 +46,7 @@
46
46
  declare module 'buffer' {
47
47
  import { BinaryLike } from 'node:crypto';
48
48
  import { ReadableStream as WebReadableStream } from 'node:stream/web';
49
+ export function isUtf8(input: Buffer | ArrayBuffer | NodeJS.TypedArray): boolean;
49
50
  export const INSPECT_MAX_BYTES: number;
50
51
  export const kMaxLength: number;
51
52
  export const kStringMaxLength: number;
@@ -169,11 +170,21 @@ declare module 'buffer' {
169
170
  import { Blob as NodeBlob } from 'buffer';
170
171
  // This conditional type will be the existing global Blob in a browser, or
171
172
  // the copy below in a Node environment.
172
- type __Blob = typeof globalThis extends { onmessage: any, Blob: infer T }
173
- ? T : NodeBlob;
173
+ type __Blob = typeof globalThis extends { onmessage: any; Blob: infer T } ? T : NodeBlob;
174
174
  global {
175
175
  // Buffer class
176
- type BufferEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex';
176
+ type BufferEncoding =
177
+ | 'ascii'
178
+ | 'utf8'
179
+ | 'utf-8'
180
+ | 'utf16le'
181
+ | 'ucs2'
182
+ | 'ucs-2'
183
+ | 'base64'
184
+ | 'base64url'
185
+ | 'latin1'
186
+ | 'binary'
187
+ | 'hex';
177
188
  type WithImplicitCoercion<T> =
178
189
  | T
179
190
  | {
@@ -247,7 +258,11 @@ declare module 'buffer' {
247
258
  * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal`Buffer` pool like `Buffer.allocUnsafe()` does.
248
259
  * @since v5.10.0
249
260
  */
250
- from(arrayBuffer: WithImplicitCoercion<ArrayBuffer | SharedArrayBuffer>, byteOffset?: number, length?: number): Buffer;
261
+ from(
262
+ arrayBuffer: WithImplicitCoercion<ArrayBuffer | SharedArrayBuffer>,
263
+ byteOffset?: number,
264
+ length?: number,
265
+ ): Buffer;
251
266
  /**
252
267
  * Creates a new Buffer using the passed {data}
253
268
  * @param data data to create a new Buffer
@@ -265,7 +280,7 @@ declare module 'buffer' {
265
280
  | {
266
281
  [Symbol.toPrimitive](hint: 'string'): string;
267
282
  },
268
- encoding?: BufferEncoding
283
+ encoding?: BufferEncoding,
269
284
  ): Buffer;
270
285
  /**
271
286
  * Creates a new Buffer using the passed {data}
@@ -339,7 +354,10 @@ declare module 'buffer' {
339
354
  * @param [encoding='utf8'] If `string` is a string, this is its encoding.
340
355
  * @return The number of bytes contained within `string`.
341
356
  */
342
- byteLength(string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number;
357
+ byteLength(
358
+ string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer,
359
+ encoding?: BufferEncoding,
360
+ ): number;
343
361
  /**
344
362
  * Returns a new `Buffer` which is the result of concatenating all the `Buffer`instances in the `list` together.
345
363
  *
@@ -710,7 +728,13 @@ declare module 'buffer' {
710
728
  * @param [sourceStart=0] The offset within `buf` at which to begin comparison.
711
729
  * @param [sourceEnd=buf.length] The offset within `buf` at which to end comparison (not inclusive).
712
730
  */
713
- compare(target: Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): -1 | 0 | 1;
731
+ compare(
732
+ target: Uint8Array,
733
+ targetStart?: number,
734
+ targetEnd?: number,
735
+ sourceStart?: number,
736
+ sourceEnd?: number,
737
+ ): -1 | 0 | 1;
714
738
  /**
715
739
  * Copies data from a region of `buf` to a region in `target`, even if the `target`memory region overlaps with `buf`.
716
740
  *
node/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Type definitions for non-npm package Node.js 18.11
1
+ // Type definitions for non-npm package Node.js 18.14
2
2
  // Project: https://nodejs.org/
3
3
  // Definitions by: Microsoft TypeScript <https://github.com/Microsoft>
4
4
  // DefinitelyTyped <https://github.com/DefinitelyTyped>
node/net.d.ts CHANGED
@@ -57,6 +57,14 @@ declare module 'net' {
57
57
  noDelay?: boolean | undefined;
58
58
  keepAlive?: boolean | undefined;
59
59
  keepAliveInitialDelay?: number | undefined;
60
+ /**
61
+ * @since v18.13.0
62
+ */
63
+ autoSelectFamily?: boolean | undefined;
64
+ /**
65
+ * @since v18.13.0
66
+ */
67
+ autoSelectFamilyAttemptTimeout?: number | undefined;
60
68
  }
61
69
  interface IpcSocketConnectOpts extends ConnectOpts {
62
70
  path: string;
node/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "18.11.19",
3
+ "version": "18.14.0",
4
4
  "description": "TypeScript definitions for Node.js",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -232,6 +232,6 @@
232
232
  },
233
233
  "scripts": {},
234
234
  "dependencies": {},
235
- "typesPublisherContentHash": "6fb5dc61335a98cb52986d1b237f8a3d63ed4230e64aadaed364481cd791ee7c",
235
+ "typesPublisherContentHash": "c162056afaa72720d23d051bc83320f677f9fe17ead37974cc874e1723ec3bf0",
236
236
  "typeScriptVersion": "4.2"
237
237
  }
node/test.d.ts CHANGED
@@ -264,6 +264,15 @@ declare module 'node:test' {
264
264
  */
265
265
  beforeEach: typeof beforeEach;
266
266
 
267
+ /**
268
+ * This function is used to create a hook that runs after the current test finishes.
269
+ * @param fn The hook function. If the hook uses callbacks, the callback function is passed as
270
+ * the second argument. Default: A no-op function.
271
+ * @param options Configuration options for the hook.
272
+ * @since v18.13.0
273
+ */
274
+ after: typeof after;
275
+
267
276
  /**
268
277
  * This function is used to create a hook running after each subtest of the current test.
269
278
  * @param fn The hook function. If the hook uses callbacks, the callback function is passed as
node/tls.d.ts CHANGED
@@ -41,21 +41,100 @@ declare module 'tls' {
41
41
  CN: string;
42
42
  }
43
43
  interface PeerCertificate {
44
+ /**
45
+ * `true` if a Certificate Authority (CA), `false` otherwise.
46
+ * @since v18.13.0
47
+ */
48
+ ca: boolean;
49
+ /**
50
+ * The DER encoded X.509 certificate data.
51
+ */
52
+ raw: Buffer;
53
+ /**
54
+ * The certificate subject.
55
+ */
44
56
  subject: Certificate;
57
+ /**
58
+ * The certificate issuer, described in the same terms as the `subject`.
59
+ */
45
60
  issuer: Certificate;
46
- subjectaltname: string;
47
- infoAccess: NodeJS.Dict<string[]>;
48
- modulus: string;
49
- exponent: string;
61
+ /**
62
+ * The date-time the certificate is valid from.
63
+ */
50
64
  valid_from: string;
65
+ /**
66
+ * The date-time the certificate is valid to.
67
+ */
51
68
  valid_to: string;
69
+ /**
70
+ * The certificate serial number, as a hex string.
71
+ */
72
+ serialNumber: string;
73
+ /**
74
+ * The SHA-1 digest of the DER encoded certificate.
75
+ * It is returned as a `:` separated hexadecimal string.
76
+ */
52
77
  fingerprint: string;
78
+ /**
79
+ * The SHA-256 digest of the DER encoded certificate.
80
+ * It is returned as a `:` separated hexadecimal string.
81
+ */
53
82
  fingerprint256: string;
54
- ext_key_usage: string[];
55
- serialNumber: string;
56
- raw: Buffer;
83
+ /**
84
+ * The SHA-512 digest of the DER encoded certificate.
85
+ * It is returned as a `:` separated hexadecimal string.
86
+ */
87
+ fingerprint512: string;
88
+ /**
89
+ * The extended key usage, a set of OIDs.
90
+ */
91
+ ext_key_usage?: string[];
92
+ /**
93
+ * A string containing concatenated names for the subject,
94
+ * an alternative to the `subject` names.
95
+ */
96
+ subjectaltname?: string;
97
+ /**
98
+ * An array describing the AuthorityInfoAccess, used with OCSP.
99
+ */
100
+ infoAccess?: NodeJS.Dict<string[]>;
101
+ /**
102
+ * For RSA keys: The RSA bit size.
103
+ *
104
+ * For EC keys: The key size in bits.
105
+ */
106
+ bits?: number;
107
+ /**
108
+ * The RSA exponent, as a string in hexadecimal number notation.
109
+ */
110
+ exponent?: string;
111
+ /**
112
+ * The RSA modulus, as a hexadecimal string.
113
+ */
114
+ modulus?: string;
115
+ /**
116
+ * The public key.
117
+ */
118
+ pubkey?: Buffer;
119
+ /**
120
+ * The ASN.1 name of the OID of the elliptic curve.
121
+ * Well-known curves are identified by an OID.
122
+ * While it is unusual, it is possible that the curve
123
+ * is identified by its mathematical properties,
124
+ * in which case it will not have an OID.
125
+ */
126
+ asn1Curve?: string;
127
+ /**
128
+ * The NIST name for the elliptic curve,if it has one
129
+ * (not all well-known curves have been assigned names by NIST).
130
+ */
131
+ nistCurve?: string;
57
132
  }
58
133
  interface DetailedPeerCertificate extends PeerCertificate {
134
+ /**
135
+ * The issuer certificate object.
136
+ * For self-signed certificates, this may be a circular reference.
137
+ */
59
138
  issuerCertificate: DetailedPeerCertificate;
60
139
  }
61
140
  interface CipherNameAndProtocol {
@@ -319,6 +319,16 @@ declare module 'async_hooks' {
319
319
  */
320
320
  triggerAsyncId(): number;
321
321
  }
322
+ interface AsyncLocalStorageOptions<T> {
323
+ /**
324
+ * Optional callback invoked before a store is propagated to a new async resource.
325
+ * Returning `true` allows propagation, returning `false` avoids it. Default is to propagate always.
326
+ * @param type The type of async event.
327
+ * @param store The current store.
328
+ * @since v18.13.0
329
+ */
330
+ onPropagate?: ((type: string, store: T) => boolean) | undefined;
331
+ }
322
332
  /**
323
333
  * This class creates stores that stay coherent through asynchronous operations.
324
334
  *
@@ -368,6 +378,8 @@ declare module 'async_hooks' {
368
378
  * @since v13.10.0, v12.17.0
369
379
  */
370
380
  class AsyncLocalStorage<T> {
381
+ constructor(options?: AsyncLocalStorageOptions<T>);
382
+
371
383
  /**
372
384
  * Disables the instance of `AsyncLocalStorage`. All subsequent calls
373
385
  * to `asyncLocalStorage.getStore()` will return `undefined` until`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
node/ts4.8/buffer.d.ts CHANGED
@@ -46,6 +46,7 @@
46
46
  declare module 'buffer' {
47
47
  import { BinaryLike } from 'node:crypto';
48
48
  import { ReadableStream as WebReadableStream } from 'node:stream/web';
49
+ export function isUtf8(input: Buffer | ArrayBuffer | NodeJS.TypedArray): boolean;
49
50
  export const INSPECT_MAX_BYTES: number;
50
51
  export const kMaxLength: number;
51
52
  export const kStringMaxLength: number;
@@ -169,12 +170,22 @@ declare module 'buffer' {
169
170
  import { Blob as NodeBlob } from 'buffer';
170
171
  // This conditional type will be the existing global Blob in a browser, or
171
172
  // the copy below in a Node environment.
172
- type __Blob = typeof globalThis extends { onmessage: any, Blob: any }
173
- ? {} : NodeBlob;
173
+ type __Blob = typeof globalThis extends { onmessage: any; Blob: any } ? {} : NodeBlob;
174
174
 
175
175
  global {
176
176
  // Buffer class
177
- type BufferEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex';
177
+ type BufferEncoding =
178
+ | 'ascii'
179
+ | 'utf8'
180
+ | 'utf-8'
181
+ | 'utf16le'
182
+ | 'ucs2'
183
+ | 'ucs-2'
184
+ | 'base64'
185
+ | 'base64url'
186
+ | 'latin1'
187
+ | 'binary'
188
+ | 'hex';
178
189
  type WithImplicitCoercion<T> =
179
190
  | T
180
191
  | {
@@ -248,7 +259,11 @@ declare module 'buffer' {
248
259
  * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal`Buffer` pool like `Buffer.allocUnsafe()` does.
249
260
  * @since v5.10.0
250
261
  */
251
- from(arrayBuffer: WithImplicitCoercion<ArrayBuffer | SharedArrayBuffer>, byteOffset?: number, length?: number): Buffer;
262
+ from(
263
+ arrayBuffer: WithImplicitCoercion<ArrayBuffer | SharedArrayBuffer>,
264
+ byteOffset?: number,
265
+ length?: number,
266
+ ): Buffer;
252
267
  /**
253
268
  * Creates a new Buffer using the passed {data}
254
269
  * @param data data to create a new Buffer
@@ -266,7 +281,7 @@ declare module 'buffer' {
266
281
  | {
267
282
  [Symbol.toPrimitive](hint: 'string'): string;
268
283
  },
269
- encoding?: BufferEncoding
284
+ encoding?: BufferEncoding,
270
285
  ): Buffer;
271
286
  /**
272
287
  * Creates a new Buffer using the passed {data}
@@ -340,7 +355,10 @@ declare module 'buffer' {
340
355
  * @param [encoding='utf8'] If `string` is a string, this is its encoding.
341
356
  * @return The number of bytes contained within `string`.
342
357
  */
343
- byteLength(string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number;
358
+ byteLength(
359
+ string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer,
360
+ encoding?: BufferEncoding,
361
+ ): number;
344
362
  /**
345
363
  * Returns a new `Buffer` which is the result of concatenating all the `Buffer`instances in the `list` together.
346
364
  *
@@ -711,7 +729,13 @@ declare module 'buffer' {
711
729
  * @param [sourceStart=0] The offset within `buf` at which to begin comparison.
712
730
  * @param [sourceEnd=buf.length] The offset within `buf` at which to end comparison (not inclusive).
713
731
  */
714
- compare(target: Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): -1 | 0 | 1;
732
+ compare(
733
+ target: Uint8Array,
734
+ targetStart?: number,
735
+ targetEnd?: number,
736
+ sourceStart?: number,
737
+ sourceEnd?: number,
738
+ ): -1 | 0 | 1;
715
739
  /**
716
740
  * Copies data from a region of `buf` to a region in `target`, even if the `target`memory region overlaps with `buf`.
717
741
  *
node/ts4.8/net.d.ts CHANGED
@@ -57,6 +57,14 @@ declare module 'net' {
57
57
  noDelay?: boolean | undefined;
58
58
  keepAlive?: boolean | undefined;
59
59
  keepAliveInitialDelay?: number | undefined;
60
+ /**
61
+ * @since v18.13.0
62
+ */
63
+ autoSelectFamily?: boolean | undefined;
64
+ /**
65
+ * @since v18.13.0
66
+ */
67
+ autoSelectFamilyAttemptTimeout?: number | undefined;
60
68
  }
61
69
  interface IpcSocketConnectOpts extends ConnectOpts {
62
70
  path: string;
@@ -281,7 +289,7 @@ declare module 'net' {
281
289
  * The string representation of the local IP family. `'IPv4'` or `'IPv6'`.
282
290
  * @since v18.8.0
283
291
  */
284
- readonly localFamily?: string;
292
+ readonly localFamily?: string;
285
293
  /**
286
294
  * This property represents the state of the connection as a string.
287
295
  * @see {https://nodejs.org/api/net.html#socketreadystate}
node/ts4.8/tls.d.ts CHANGED
@@ -41,21 +41,100 @@ declare module 'tls' {
41
41
  CN: string;
42
42
  }
43
43
  interface PeerCertificate {
44
+ /**
45
+ * `true` if a Certificate Authority (CA), `false` otherwise.
46
+ * @since v18.13.0
47
+ */
48
+ ca: boolean;
49
+ /**
50
+ * The DER encoded X.509 certificate data.
51
+ */
52
+ raw: Buffer;
53
+ /**
54
+ * The certificate subject.
55
+ */
44
56
  subject: Certificate;
57
+ /**
58
+ * The certificate issuer, described in the same terms as the `subject`.
59
+ */
45
60
  issuer: Certificate;
46
- subjectaltname: string;
47
- infoAccess: NodeJS.Dict<string[]>;
48
- modulus: string;
49
- exponent: string;
61
+ /**
62
+ * The date-time the certificate is valid from.
63
+ */
50
64
  valid_from: string;
65
+ /**
66
+ * The date-time the certificate is valid to.
67
+ */
51
68
  valid_to: string;
69
+ /**
70
+ * The certificate serial number, as a hex string.
71
+ */
72
+ serialNumber: string;
73
+ /**
74
+ * The SHA-1 digest of the DER encoded certificate.
75
+ * It is returned as a `:` separated hexadecimal string.
76
+ */
52
77
  fingerprint: string;
78
+ /**
79
+ * The SHA-256 digest of the DER encoded certificate.
80
+ * It is returned as a `:` separated hexadecimal string.
81
+ */
53
82
  fingerprint256: string;
54
- ext_key_usage: string[];
55
- serialNumber: string;
56
- raw: Buffer;
83
+ /**
84
+ * The SHA-512 digest of the DER encoded certificate.
85
+ * It is returned as a `:` separated hexadecimal string.
86
+ */
87
+ fingerprint512: string;
88
+ /**
89
+ * The extended key usage, a set of OIDs.
90
+ */
91
+ ext_key_usage?: string[];
92
+ /**
93
+ * A string containing concatenated names for the subject,
94
+ * an alternative to the `subject` names.
95
+ */
96
+ subjectaltname?: string;
97
+ /**
98
+ * An array describing the AuthorityInfoAccess, used with OCSP.
99
+ */
100
+ infoAccess?: NodeJS.Dict<string[]>;
101
+ /**
102
+ * For RSA keys: The RSA bit size.
103
+ *
104
+ * For EC keys: The key size in bits.
105
+ */
106
+ bits?: number;
107
+ /**
108
+ * The RSA exponent, as a string in hexadecimal number notation.
109
+ */
110
+ exponent?: string;
111
+ /**
112
+ * The RSA modulus, as a hexadecimal string.
113
+ */
114
+ modulus?: string;
115
+ /**
116
+ * The public key.
117
+ */
118
+ pubkey?: Buffer;
119
+ /**
120
+ * The ASN.1 name of the OID of the elliptic curve.
121
+ * Well-known curves are identified by an OID.
122
+ * While it is unusual, it is possible that the curve
123
+ * is identified by its mathematical properties,
124
+ * in which case it will not have an OID.
125
+ */
126
+ asn1Curve?: string;
127
+ /**
128
+ * The NIST name for the elliptic curve,if it has one
129
+ * (not all well-known curves have been assigned names by NIST).
130
+ */
131
+ nistCurve?: string;
57
132
  }
58
133
  interface DetailedPeerCertificate extends PeerCertificate {
134
+ /**
135
+ * The issuer certificate object.
136
+ * For self-signed certificates, this may be a circular reference.
137
+ */
59
138
  issuerCertificate: DetailedPeerCertificate;
60
139
  }
61
140
  interface CipherNameAndProtocol {
node/ts4.8/util.d.ts CHANGED
@@ -1426,6 +1426,91 @@ declare module 'util' {
1426
1426
  tokens?: Token[];
1427
1427
  }
1428
1428
  : PreciseParsedResults<T>;
1429
+
1430
+ /**
1431
+ * @since v18.13.0
1432
+ */
1433
+ export class MIMEType {
1434
+ /**
1435
+ * Creates a new MIMEType object by parsing the input.
1436
+ *
1437
+ * A `TypeError` will be thrown if the `input` is not a valid MIME.
1438
+ * Note that an effort will be made to coerce the given values into strings.
1439
+ * @param input The input MIME to parse.
1440
+ */
1441
+ constructor(input: string | { toString: () => string });
1442
+
1443
+ /**
1444
+ * Gets and sets the type portion of the MIME.
1445
+ */
1446
+ type: string;
1447
+
1448
+ /**
1449
+ * Gets and sets the subtype portion of the MIME.
1450
+ */
1451
+ subtype: string;
1452
+
1453
+ /**
1454
+ * Gets the essence of the MIME.
1455
+ *
1456
+ * Use `mime.type` or `mime.subtype` to alter the MIME.
1457
+ */
1458
+ readonly essence: string;
1459
+
1460
+ /**
1461
+ * Gets the `MIMEParams` object representing the parameters of the MIME.
1462
+ */
1463
+ readonly params: MIMEParams;
1464
+
1465
+ /**
1466
+ * Returns the serialized MIME.
1467
+ *
1468
+ * Because of the need for standard compliance, this method
1469
+ * does not allow users to customize the serialization process of the MIME.
1470
+ */
1471
+ toString(): string;
1472
+ }
1473
+
1474
+ /**
1475
+ * @since v18.13.0
1476
+ */
1477
+ export class MIMEParams {
1478
+ /**
1479
+ * Remove all name-value pairs whose name is `name`.
1480
+ */
1481
+ delete(name: string): void;
1482
+ /**
1483
+ * Returns an iterator over each of the name-value pairs in the parameters.
1484
+ */
1485
+ entries(): IterableIterator<[name: string, value: string]>;
1486
+ /**
1487
+ * Returns the value of the first name-value pair whose name is `name`.
1488
+ * If there are no such pairs, `null` is returned.
1489
+ */
1490
+ get(name: string): string | null;
1491
+ /**
1492
+ * Returns `true` if there is at least one name-value pair whose name is `name`.
1493
+ */
1494
+ has(name: string): boolean;
1495
+ /**
1496
+ * Returns an iterator over the names of each name-value pair.
1497
+ */
1498
+ keys(): IterableIterator<string>;
1499
+ /**
1500
+ * Sets the value in the `MIMEParams` object associated with `name` to `value`.
1501
+ * If there are any pre-existing name-value pairs whose names are `name`,
1502
+ * set the first such pair's value to `value`.
1503
+ */
1504
+ set(name: string, value: string): void;
1505
+ /**
1506
+ * Returns an iterator over the values of each name-value pair.
1507
+ */
1508
+ values(): IterableIterator<string>;
1509
+ /**
1510
+ * Returns an iterator over each of the name-value pairs in the parameters.
1511
+ */
1512
+ [Symbol.iterator]: typeof MIMEParams.prototype.entries;
1513
+ }
1429
1514
  }
1430
1515
  declare module 'util/types' {
1431
1516
  export * from 'util/types';
node/util.d.ts CHANGED
@@ -1426,6 +1426,91 @@ declare module 'util' {
1426
1426
  tokens?: Token[];
1427
1427
  }
1428
1428
  : PreciseParsedResults<T>;
1429
+
1430
+ /**
1431
+ * @since v18.13.0
1432
+ */
1433
+ export class MIMEType {
1434
+ /**
1435
+ * Creates a new MIMEType object by parsing the input.
1436
+ *
1437
+ * A `TypeError` will be thrown if the `input` is not a valid MIME.
1438
+ * Note that an effort will be made to coerce the given values into strings.
1439
+ * @param input The input MIME to parse.
1440
+ */
1441
+ constructor(input: string | { toString: () => string });
1442
+
1443
+ /**
1444
+ * Gets and sets the type portion of the MIME.
1445
+ */
1446
+ type: string;
1447
+
1448
+ /**
1449
+ * Gets and sets the subtype portion of the MIME.
1450
+ */
1451
+ subtype: string;
1452
+
1453
+ /**
1454
+ * Gets the essence of the MIME.
1455
+ *
1456
+ * Use `mime.type` or `mime.subtype` to alter the MIME.
1457
+ */
1458
+ readonly essence: string;
1459
+
1460
+ /**
1461
+ * Gets the `MIMEParams` object representing the parameters of the MIME.
1462
+ */
1463
+ readonly params: MIMEParams;
1464
+
1465
+ /**
1466
+ * Returns the serialized MIME.
1467
+ *
1468
+ * Because of the need for standard compliance, this method
1469
+ * does not allow users to customize the serialization process of the MIME.
1470
+ */
1471
+ toString(): string;
1472
+ }
1473
+
1474
+ /**
1475
+ * @since v18.13.0
1476
+ */
1477
+ export class MIMEParams {
1478
+ /**
1479
+ * Remove all name-value pairs whose name is `name`.
1480
+ */
1481
+ delete(name: string): void;
1482
+ /**
1483
+ * Returns an iterator over each of the name-value pairs in the parameters.
1484
+ */
1485
+ entries(): IterableIterator<[name: string, value: string]>;
1486
+ /**
1487
+ * Returns the value of the first name-value pair whose name is `name`.
1488
+ * If there are no such pairs, `null` is returned.
1489
+ */
1490
+ get(name: string): string | null;
1491
+ /**
1492
+ * Returns `true` if there is at least one name-value pair whose name is `name`.
1493
+ */
1494
+ has(name: string): boolean;
1495
+ /**
1496
+ * Returns an iterator over the names of each name-value pair.
1497
+ */
1498
+ keys(): IterableIterator<string>;
1499
+ /**
1500
+ * Sets the value in the `MIMEParams` object associated with `name` to `value`.
1501
+ * If there are any pre-existing name-value pairs whose names are `name`,
1502
+ * set the first such pair's value to `value`.
1503
+ */
1504
+ set(name: string, value: string): void;
1505
+ /**
1506
+ * Returns an iterator over the values of each name-value pair.
1507
+ */
1508
+ values(): IterableIterator<string>;
1509
+ /**
1510
+ * Returns an iterator over each of the name-value pairs in the parameters.
1511
+ */
1512
+ [Symbol.iterator]: typeof MIMEParams.prototype.entries;
1513
+ }
1429
1514
  }
1430
1515
  declare module 'util/types' {
1431
1516
  export * from 'util/types';