@types/node 22.15.33 → 22.19.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. node v22.19/README.md +15 -0
  2. node v22.19/assert/strict.d.ts +111 -0
  3. {node v22.15 → node v22.19}/assert.d.ts +119 -95
  4. {node v22.15 → node v22.19}/buffer.buffer.d.ts +9 -0
  5. {node v22.15 → node v22.19}/buffer.d.ts +14 -6
  6. {node v22.15 → node v22.19}/child_process.d.ts +89 -162
  7. {node v22.15 → node v22.19}/cluster.d.ts +4 -5
  8. {node v22.15 → node v22.19}/crypto.d.ts +203 -167
  9. {node v22.15 → node v22.19}/dgram.d.ts +9 -8
  10. {node v22.15 → node v22.19}/dns/promises.d.ts +11 -10
  11. {node v22.15 → node v22.19}/dns.d.ts +24 -20
  12. {node v22.15 → node v22.19}/events.d.ts +80 -35
  13. {node v22.15 → node v22.19}/fs/promises.d.ts +78 -56
  14. {node v22.15 → node v22.19}/fs.d.ts +153 -129
  15. node v22.19/globals.d.ts +172 -0
  16. node v22.19/globals.typedarray.d.ts +38 -0
  17. {node v22.15 → node v22.19}/http.d.ts +140 -35
  18. {node v22.15 → node v22.19}/http2.d.ts +45 -26
  19. {node v22.15 → node v22.19}/https.d.ts +96 -62
  20. {node v22.15 → node v22.19}/index.d.ts +7 -2
  21. node v22.19/inspector.d.ts +253 -0
  22. node v22.15/inspector.d.ts → node v22.19/inspector.generated.d.ts +880 -830
  23. {node v22.15 → node v22.19}/module.d.ts +70 -13
  24. {node v22.15 → node v22.19}/net.d.ts +33 -11
  25. {node v22.15 → node v22.19}/os.d.ts +14 -3
  26. {node v22.15 → node v22.19}/package.json +3 -83
  27. {node v22.15 → node v22.19}/path.d.ts +1 -1
  28. {node v22.15 → node v22.19}/perf_hooks.d.ts +6 -8
  29. {node v22.15 → node v22.19}/process.d.ts +39 -27
  30. {node v22.15 → node v22.19}/readline/promises.d.ts +1 -2
  31. {node v22.15 → node v22.19}/repl.d.ts +3 -5
  32. {node v22.15 → node v22.19}/sqlite.d.ts +219 -6
  33. {node v22.15 → node v22.19}/stream/consumers.d.ts +2 -2
  34. {node v22.15 → node v22.19}/stream/web.d.ts +8 -0
  35. {node v22.15 → node v22.19}/stream.d.ts +29 -33
  36. {node v22.15 → node v22.19}/string_decoder.d.ts +2 -2
  37. node v22.19/test.d.ts +2162 -0
  38. {node v22.15 → node v22.19}/tls.d.ts +122 -66
  39. {node v22.15 → node v22.19}/ts5.6/buffer.buffer.d.ts +10 -2
  40. node v22.19/ts5.6/globals.typedarray.d.ts +34 -0
  41. {node v22.15 → node v22.19}/ts5.6/index.d.ts +7 -2
  42. {node v22.15 → node v22.19}/url.d.ts +21 -9
  43. {node v22.15 → node v22.19}/util.d.ts +32 -10
  44. {node v22.15 → node v22.19}/v8.d.ts +33 -35
  45. {node v22.15 → node v22.19}/vm.d.ts +21 -50
  46. {node v22.15 → node v22.19}/wasi.d.ts +1 -1
  47. node v22.19/web-globals/abortcontroller.d.ts +34 -0
  48. node v22.19/web-globals/domexception.d.ts +68 -0
  49. node v22.15/dom-events.d.ts → node v22.19/web-globals/events.d.ts +49 -51
  50. node v22.19/web-globals/fetch.d.ts +46 -0
  51. node v22.19/web-globals/navigator.d.ts +22 -0
  52. node v22.19/web-globals/storage.d.ts +24 -0
  53. {node v22.15 → node v22.19}/worker_threads.d.ts +93 -67
  54. {node v22.15 → node v22.19}/zlib.d.ts +39 -26
  55. node v22.15/README.md +0 -15
  56. node v22.15/assert/strict.d.ts +0 -8
  57. node v22.15/globals.d.ts +0 -364
  58. node v22.15/globals.typedarray.d.ts +0 -21
  59. node v22.15/test.d.ts +0 -2278
  60. node v22.15/ts5.6/globals.typedarray.d.ts +0 -19
  61. {node v22.15 → node v22.19}/LICENSE +0 -0
  62. {node v22.15 → node v22.19}/async_hooks.d.ts +1 -1
  63. {node v22.15 → node v22.19}/compatibility/disposable.d.ts +0 -0
  64. {node v22.15 → node v22.19}/compatibility/index.d.ts +0 -0
  65. {node v22.15 → node v22.19}/compatibility/indexable.d.ts +0 -0
  66. {node v22.15 → node v22.19}/compatibility/iterators.d.ts +0 -0
  67. {node v22.15 → node v22.19}/console.d.ts +0 -0
  68. {node v22.15 → node v22.19}/constants.d.ts +0 -0
  69. {node v22.15 → node v22.19}/diagnostics_channel.d.ts +0 -0
  70. {node v22.15 → node v22.19}/domain.d.ts +0 -0
  71. {node v22.15 → node v22.19}/punycode.d.ts +0 -0
  72. {node v22.15 → node v22.19}/querystring.d.ts +0 -0
  73. {node v22.15 → node v22.19}/readline.d.ts +0 -0
  74. {node v22.15 → node v22.19}/sea.d.ts +0 -0
  75. {node v22.15 → node v22.19}/stream/promises.d.ts +0 -0
  76. {node v22.15 → node v22.19}/timers/promises.d.ts +0 -0
  77. {node v22.15 → node v22.19}/timers.d.ts +0 -0
  78. {node v22.15 → node v22.19}/trace_events.d.ts +0 -0
  79. {node v22.15 → node v22.19}/tty.d.ts +0 -0
@@ -623,34 +623,91 @@ declare module "module" {
623
623
  global {
624
624
  interface ImportMeta {
625
625
  /**
626
- * The directory name of the current module. This is the same as the `path.dirname()` of the `import.meta.filename`.
627
- * **Caveat:** only present on `file:` modules.
626
+ * The directory name of the current module.
627
+ *
628
+ * This is the same as the `path.dirname()` of the `import.meta.filename`.
629
+ *
630
+ * > **Caveat**: only present on `file:` modules.
631
+ * @since v21.2.0, v20.11.0
628
632
  */
629
633
  dirname: string;
630
634
  /**
631
- * The full absolute path and filename of the current module, with symlinks resolved.
635
+ * The full absolute path and filename of the current module, with
636
+ * symlinks resolved.
637
+ *
632
638
  * This is the same as the `url.fileURLToPath()` of the `import.meta.url`.
633
- * **Caveat:** only local modules support this property. Modules not using the `file:` protocol will not provide it.
639
+ *
640
+ * > **Caveat** only local modules support this property. Modules not using the
641
+ * > `file:` protocol will not provide it.
642
+ * @since v21.2.0, v20.11.0
634
643
  */
635
644
  filename: string;
636
645
  /**
637
646
  * The absolute `file:` URL of the module.
647
+ *
648
+ * This is defined exactly the same as it is in browsers providing the URL of the
649
+ * current module file.
650
+ *
651
+ * This enables useful patterns such as relative file loading:
652
+ *
653
+ * ```js
654
+ * import { readFileSync } from 'node:fs';
655
+ * const buffer = readFileSync(new URL('./data.proto', import.meta.url));
656
+ * ```
638
657
  */
639
658
  url: string;
640
659
  /**
641
- * Provides a module-relative resolution function scoped to each module, returning
642
- * the URL string.
660
+ * `import.meta.resolve` is a module-relative resolution function scoped to
661
+ * each module, returning the URL string.
662
+ *
663
+ * ```js
664
+ * const dependencyAsset = import.meta.resolve('component-lib/asset.css');
665
+ * // file:///app/node_modules/component-lib/asset.css
666
+ * import.meta.resolve('./dep.js');
667
+ * // file:///app/dep.js
668
+ * ```
669
+ *
670
+ * All features of the Node.js module resolution are supported. Dependency
671
+ * resolutions are subject to the permitted exports resolutions within the package.
672
+ *
673
+ * **Caveats**:
674
+ *
675
+ * * This can result in synchronous file-system operations, which
676
+ * can impact performance similarly to `require.resolve`.
677
+ * * This feature is not available within custom loaders (it would
678
+ * create a deadlock).
679
+ * @since v13.9.0, v12.16.0
680
+ * @param specifier The module specifier to resolve relative to the
681
+ * current module.
682
+ * @param parent An optional absolute parent module URL to resolve from.
683
+ * **Default:** `import.meta.url`
684
+ * @returns The absolute URL string that the specifier would resolve to.
685
+ */
686
+ resolve(specifier: string, parent?: string | URL): string;
687
+ /**
688
+ * `true` when the current module is the entry point of the current process; `false` otherwise.
689
+ *
690
+ * Equivalent to `require.main === module` in CommonJS.
691
+ *
692
+ * Analogous to Python's `__name__ == "__main__"`.
643
693
  *
644
- * Second `parent` parameter is only used when the `--experimental-import-meta-resolve`
645
- * command flag enabled.
694
+ * ```js
695
+ * export function foo() {
696
+ * return 'Hello, world';
697
+ * }
646
698
  *
647
- * @since v20.6.0
699
+ * function main() {
700
+ * const message = foo();
701
+ * console.log(message);
702
+ * }
648
703
  *
649
- * @param specifier The module specifier to resolve relative to `parent`.
650
- * @param parent The absolute parent module URL to resolve from.
651
- * @returns The absolute (`file:`) URL string for the resolved module.
704
+ * if (import.meta.main) main();
705
+ * // `foo` can be imported from another module without possible side-effects from `main`
706
+ * ```
707
+ * @since v22.18.0
708
+ * @experimental
652
709
  */
653
- resolve(specifier: string, parent?: string | URL | undefined): string;
710
+ main: boolean;
654
711
  }
655
712
  namespace NodeJS {
656
713
  interface Module {
@@ -13,6 +13,7 @@
13
13
  * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/net.js)
14
14
  */
15
15
  declare module "net" {
16
+ import { NonSharedBuffer } from "node:buffer";
16
17
  import * as stream from "node:stream";
17
18
  import { Abortable, EventEmitter } from "node:events";
18
19
  import * as dns from "node:dns";
@@ -32,7 +33,7 @@ declare module "net" {
32
33
  onread?: OnReadOpts | undefined;
33
34
  readable?: boolean | undefined;
34
35
  writable?: boolean | undefined;
35
- signal?: AbortSignal;
36
+ signal?: AbortSignal | undefined;
36
37
  }
37
38
  interface OnReadOpts {
38
39
  buffer: Uint8Array | (() => Uint8Array);
@@ -324,25 +325,25 @@ declare module "net" {
324
325
  * the socket is destroyed (for example, if the client disconnected).
325
326
  * @since v0.5.10
326
327
  */
327
- readonly remoteAddress?: string | undefined;
328
+ readonly remoteAddress: string | undefined;
328
329
  /**
329
330
  * The string representation of the remote IP family. `'IPv4'` or `'IPv6'`. Value may be `undefined` if
330
331
  * the socket is destroyed (for example, if the client disconnected).
331
332
  * @since v0.11.14
332
333
  */
333
- readonly remoteFamily?: string | undefined;
334
+ readonly remoteFamily: string | undefined;
334
335
  /**
335
336
  * The numeric representation of the remote port. For example, `80` or `21`. Value may be `undefined` if
336
337
  * the socket is destroyed (for example, if the client disconnected).
337
338
  * @since v0.5.10
338
339
  */
339
- readonly remotePort?: number | undefined;
340
+ readonly remotePort: number | undefined;
340
341
  /**
341
342
  * The socket timeout in milliseconds as set by `socket.setTimeout()`.
342
343
  * It is `undefined` if a timeout has not been set.
343
344
  * @since v10.7.0
344
345
  */
345
- readonly timeout?: number | undefined;
346
+ readonly timeout?: number;
346
347
  /**
347
348
  * Half-closes the socket. i.e., it sends a FIN packet. It is possible the
348
349
  * server will still send some data.
@@ -383,7 +384,7 @@ declare module "net" {
383
384
  event: "connectionAttemptTimeout",
384
385
  listener: (ip: string, port: number, family: number) => void,
385
386
  ): this;
386
- addListener(event: "data", listener: (data: Buffer) => void): this;
387
+ addListener(event: "data", listener: (data: NonSharedBuffer) => void): this;
387
388
  addListener(event: "drain", listener: () => void): this;
388
389
  addListener(event: "end", listener: () => void): this;
389
390
  addListener(event: "error", listener: (err: Error) => void): this;
@@ -399,7 +400,7 @@ declare module "net" {
399
400
  emit(event: "connectionAttempt", ip: string, port: number, family: number): boolean;
400
401
  emit(event: "connectionAttemptFailed", ip: string, port: number, family: number, error: Error): boolean;
401
402
  emit(event: "connectionAttemptTimeout", ip: string, port: number, family: number): boolean;
402
- emit(event: "data", data: Buffer): boolean;
403
+ emit(event: "data", data: NonSharedBuffer): boolean;
403
404
  emit(event: "drain"): boolean;
404
405
  emit(event: "end"): boolean;
405
406
  emit(event: "error", err: Error): boolean;
@@ -415,7 +416,7 @@ declare module "net" {
415
416
  listener: (ip: string, port: number, family: number, error: Error) => void,
416
417
  ): this;
417
418
  on(event: "connectionAttemptTimeout", listener: (ip: string, port: number, family: number) => void): this;
418
- on(event: "data", listener: (data: Buffer) => void): this;
419
+ on(event: "data", listener: (data: NonSharedBuffer) => void): this;
419
420
  on(event: "drain", listener: () => void): this;
420
421
  on(event: "end", listener: () => void): this;
421
422
  on(event: "error", listener: (err: Error) => void): this;
@@ -434,7 +435,7 @@ declare module "net" {
434
435
  ): this;
435
436
  once(event: "connectionAttemptTimeout", listener: (ip: string, port: number, family: number) => void): this;
436
437
  once(event: "connect", listener: () => void): this;
437
- once(event: "data", listener: (data: Buffer) => void): this;
438
+ once(event: "data", listener: (data: NonSharedBuffer) => void): this;
438
439
  once(event: "drain", listener: () => void): this;
439
440
  once(event: "end", listener: () => void): this;
440
441
  once(event: "error", listener: (err: Error) => void): this;
@@ -456,7 +457,7 @@ declare module "net" {
456
457
  event: "connectionAttemptTimeout",
457
458
  listener: (ip: string, port: number, family: number) => void,
458
459
  ): this;
459
- prependListener(event: "data", listener: (data: Buffer) => void): this;
460
+ prependListener(event: "data", listener: (data: NonSharedBuffer) => void): this;
460
461
  prependListener(event: "drain", listener: () => void): this;
461
462
  prependListener(event: "end", listener: () => void): this;
462
463
  prependListener(event: "error", listener: (err: Error) => void): this;
@@ -481,7 +482,7 @@ declare module "net" {
481
482
  event: "connectionAttemptTimeout",
482
483
  listener: (ip: string, port: number, family: number) => void,
483
484
  ): this;
484
- prependOnceListener(event: "data", listener: (data: Buffer) => void): this;
485
+ prependOnceListener(event: "data", listener: (data: NonSharedBuffer) => void): this;
485
486
  prependOnceListener(event: "drain", listener: () => void): this;
486
487
  prependOnceListener(event: "end", listener: () => void): this;
487
488
  prependOnceListener(event: "error", listener: (err: Error) => void): this;
@@ -808,6 +809,27 @@ declare module "net" {
808
809
  * @param value Any JS value
809
810
  */
810
811
  static isBlockList(value: unknown): value is BlockList;
812
+ /**
813
+ * ```js
814
+ * const blockList = new net.BlockList();
815
+ * const data = [
816
+ * 'Subnet: IPv4 192.168.1.0/24',
817
+ * 'Address: IPv4 10.0.0.5',
818
+ * 'Range: IPv4 192.168.2.1-192.168.2.10',
819
+ * 'Range: IPv4 10.0.0.1-10.0.0.10',
820
+ * ];
821
+ * blockList.fromJSON(data);
822
+ * blockList.fromJSON(JSON.stringify(data));
823
+ * ```
824
+ * @since v22.19.0
825
+ * @experimental
826
+ */
827
+ fromJSON(data: string | readonly string[]): void;
828
+ /**
829
+ * @since v22.19.0
830
+ * @experimental
831
+ */
832
+ toJSON(): readonly string[];
811
833
  }
812
834
  interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts {
813
835
  timeout?: number | undefined;
@@ -8,6 +8,7 @@
8
8
  * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/os.js)
9
9
  */
10
10
  declare module "os" {
11
+ import { NonSharedBuffer } from "buffer";
11
12
  interface CpuInfo {
12
13
  model: string;
13
14
  speed: number;
@@ -30,10 +31,10 @@ declare module "os" {
30
31
  mac: string;
31
32
  internal: boolean;
32
33
  cidr: string | null;
34
+ scopeid?: number;
33
35
  }
34
36
  interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {
35
37
  family: "IPv4";
36
- scopeid?: undefined;
37
38
  }
38
39
  interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {
39
40
  family: "IPv6";
@@ -231,6 +232,15 @@ declare module "os" {
231
232
  * @since v2.3.0
232
233
  */
233
234
  function homedir(): string;
235
+ interface UserInfoOptions {
236
+ encoding?: BufferEncoding | "buffer" | undefined;
237
+ }
238
+ interface UserInfoOptionsWithBufferEncoding extends UserInfoOptions {
239
+ encoding: "buffer";
240
+ }
241
+ interface UserInfoOptionsWithStringEncoding extends UserInfoOptions {
242
+ encoding?: BufferEncoding | undefined;
243
+ }
234
244
  /**
235
245
  * Returns information about the currently effective user. On POSIX platforms,
236
246
  * this is typically a subset of the password file. The returned object includes
@@ -244,8 +254,9 @@ declare module "os" {
244
254
  * Throws a [`SystemError`](https://nodejs.org/docs/latest-v22.x/api/errors.html#class-systemerror) if a user has no `username` or `homedir`.
245
255
  * @since v6.0.0
246
256
  */
247
- function userInfo(options: { encoding: "buffer" }): UserInfo<Buffer>;
248
- function userInfo(options?: { encoding: BufferEncoding }): UserInfo<string>;
257
+ function userInfo(options?: UserInfoOptionsWithStringEncoding): UserInfo<string>;
258
+ function userInfo(options: UserInfoOptionsWithBufferEncoding): UserInfo<NonSharedBuffer>;
259
+ function userInfo(options: UserInfoOptions): UserInfo<string | Buffer>;
249
260
  type SignalConstants = {
250
261
  [key in NodeJS.Signals]: number;
251
262
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "22.15.33",
3
+ "version": "22.19.3",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -15,11 +15,6 @@
15
15
  "githubUsername": "jkomyno",
16
16
  "url": "https://github.com/jkomyno"
17
17
  },
18
- {
19
- "name": "Alvis HT Tang",
20
- "githubUsername": "alvis",
21
- "url": "https://github.com/alvis"
22
- },
23
18
  {
24
19
  "name": "Andrew Makarov",
25
20
  "githubUsername": "r3nya",
@@ -30,56 +25,11 @@
30
25
  "githubUsername": "btoueg",
31
26
  "url": "https://github.com/btoueg"
32
27
  },
33
- {
34
- "name": "Chigozirim C.",
35
- "githubUsername": "smac89",
36
- "url": "https://github.com/smac89"
37
- },
38
28
  {
39
29
  "name": "David Junger",
40
30
  "githubUsername": "touffy",
41
31
  "url": "https://github.com/touffy"
42
32
  },
43
- {
44
- "name": "Deividas Bakanas",
45
- "githubUsername": "DeividasBakanas",
46
- "url": "https://github.com/DeividasBakanas"
47
- },
48
- {
49
- "name": "Eugene Y. Q. Shen",
50
- "githubUsername": "eyqs",
51
- "url": "https://github.com/eyqs"
52
- },
53
- {
54
- "name": "Hannes Magnusson",
55
- "githubUsername": "Hannes-Magnusson-CK",
56
- "url": "https://github.com/Hannes-Magnusson-CK"
57
- },
58
- {
59
- "name": "Huw",
60
- "githubUsername": "hoo29",
61
- "url": "https://github.com/hoo29"
62
- },
63
- {
64
- "name": "Kelvin Jin",
65
- "githubUsername": "kjin",
66
- "url": "https://github.com/kjin"
67
- },
68
- {
69
- "name": "Klaus Meinhardt",
70
- "githubUsername": "ajafff",
71
- "url": "https://github.com/ajafff"
72
- },
73
- {
74
- "name": "Lishude",
75
- "githubUsername": "islishude",
76
- "url": "https://github.com/islishude"
77
- },
78
- {
79
- "name": "Mariusz Wiktorczyk",
80
- "githubUsername": "mwiktorczyk",
81
- "url": "https://github.com/mwiktorczyk"
82
- },
83
33
  {
84
34
  "name": "Mohsen Azimi",
85
35
  "githubUsername": "mohsen1",
@@ -90,46 +40,16 @@
90
40
  "githubUsername": "galkin",
91
41
  "url": "https://github.com/galkin"
92
42
  },
93
- {
94
- "name": "Parambir Singh",
95
- "githubUsername": "parambirs",
96
- "url": "https://github.com/parambirs"
97
- },
98
43
  {
99
44
  "name": "Sebastian Silbermann",
100
45
  "githubUsername": "eps1lon",
101
46
  "url": "https://github.com/eps1lon"
102
47
  },
103
- {
104
- "name": "Thomas den Hollander",
105
- "githubUsername": "ThomasdenH",
106
- "url": "https://github.com/ThomasdenH"
107
- },
108
48
  {
109
49
  "name": "Wilco Bakker",
110
50
  "githubUsername": "WilcoBakker",
111
51
  "url": "https://github.com/WilcoBakker"
112
52
  },
113
- {
114
- "name": "wwwy3y3",
115
- "githubUsername": "wwwy3y3",
116
- "url": "https://github.com/wwwy3y3"
117
- },
118
- {
119
- "name": "Samuel Ainsworth",
120
- "githubUsername": "samuela",
121
- "url": "https://github.com/samuela"
122
- },
123
- {
124
- "name": "Kyle Uehlein",
125
- "githubUsername": "kuehlein",
126
- "url": "https://github.com/kuehlein"
127
- },
128
- {
129
- "name": "Thanik Bhongbhibhat",
130
- "githubUsername": "bhongy",
131
- "url": "https://github.com/bhongy"
132
- },
133
53
  {
134
54
  "name": "Marcin Kopacz",
135
55
  "githubUsername": "chyzwar",
@@ -220,6 +140,6 @@
220
140
  "undici-types": "~6.21.0"
221
141
  },
222
142
  "peerDependencies": {},
223
- "typesPublisherContentHash": "ec7d5c92435a8b94feeea3ed5a038a05e2b42d1f6228e6e6e4eca430ed93fd94",
224
- "typeScriptVersion": "5.1"
143
+ "typesPublisherContentHash": "a128cc757108a9d18e8f7bd67ff4be34845d5b687153f297e3a25073b6ed8d4b",
144
+ "typeScriptVersion": "5.2"
225
145
  }
@@ -67,7 +67,7 @@ declare module "path" {
67
67
  interface PlatformPath {
68
68
  /**
69
69
  * Normalize a string path, reducing '..' and '.' parts.
70
- * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used.
70
+ * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used. If the path is a zero-length string, '.' is returned, representing the current working directory.
71
71
  *
72
72
  * @param path string path to normalize.
73
73
  * @throws {TypeError} if `path` is not a string.
@@ -48,13 +48,13 @@ declare module "perf_hooks" {
48
48
  * the type of garbage collection operation that occurred.
49
49
  * See perf_hooks.constants for valid values.
50
50
  */
51
- readonly kind?: number | undefined;
51
+ readonly kind: number;
52
52
  /**
53
53
  * When `performanceEntry.entryType` is equal to 'gc', the `performance.flags`
54
54
  * property contains additional information about garbage collection operation.
55
55
  * See perf_hooks.constants for valid values.
56
56
  */
57
- readonly flags?: number | undefined;
57
+ readonly flags: number;
58
58
  }
59
59
  /**
60
60
  * The constructor of this class is not exposed to users directly.
@@ -92,11 +92,6 @@ declare module "perf_hooks" {
92
92
  * @since v8.5.0
93
93
  */
94
94
  readonly entryType: EntryType;
95
- /**
96
- * Additional detail specific to the `entryType`.
97
- * @since v16.0.0
98
- */
99
- readonly detail?: NodeGCPerformanceDetail | unknown | undefined; // TODO: Narrow this based on entry type.
100
95
  toJSON(): any;
101
96
  }
102
97
  /**
@@ -104,6 +99,7 @@ declare module "perf_hooks" {
104
99
  * @since v18.2.0, v16.17.0
105
100
  */
106
101
  class PerformanceMark extends PerformanceEntry {
102
+ readonly detail: any;
107
103
  readonly duration: 0;
108
104
  readonly entryType: "mark";
109
105
  }
@@ -114,6 +110,7 @@ declare module "perf_hooks" {
114
110
  * @since v18.2.0, v16.17.0
115
111
  */
116
112
  class PerformanceMeasure extends PerformanceEntry {
113
+ readonly detail: any;
117
114
  readonly entryType: "measure";
118
115
  }
119
116
  interface UVMetrics {
@@ -130,6 +127,7 @@ declare module "perf_hooks" {
130
127
  */
131
128
  readonly eventsWaiting: number;
132
129
  }
130
+ // TODO: PerformanceNodeEntry is missing
133
131
  /**
134
132
  * _This property is an extension by Node.js. It is not available in Web browsers._
135
133
  *
@@ -225,7 +223,7 @@ declare module "perf_hooks" {
225
223
  /**
226
224
  * Additional optional detail to include with the mark.
227
225
  */
228
- detail?: unknown | undefined;
226
+ detail?: unknown;
229
227
  /**
230
228
  * Duration between start and end times.
231
229
  */