imran-dl 2.3.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of imran-dl might be problematic. Click here for more details.

Files changed (229) hide show
  1. package/.cache/nix/binary-cache-v6.sqlite +0 -0
  2. package/.cache/nix/binary-cache-v6.sqlite-journal +0 -0
  3. package/.cache/replit/__replit_disk_meta.json +1 -0
  4. package/.cache/replit/modules/nodejs-20:v32-20240401-269b323.res +1 -0
  5. package/.cache/replit/modules/replit:v8-20240329-787bc7d.res +1 -0
  6. package/.cache/replit/modules.stamp +0 -0
  7. package/.cache/replit/nix/env.json +1 -0
  8. package/.cache/typescript/5.0/node_modules/.package-lock.json +12 -0
  9. package/.cache/typescript/5.0/node_modules/types-registry/README.md +2 -0
  10. package/.cache/typescript/5.0/node_modules/types-registry/index.json +1 -0
  11. package/.cache/typescript/5.0/node_modules/types-registry/package.json +20 -0
  12. package/.cache/typescript/5.0/package.json +1 -0
  13. package/.cache/typescript/5.3/node_modules/.package-lock.json +114 -0
  14. package/.cache/typescript/5.3/node_modules/@types/cheerio/LICENSE +21 -0
  15. package/.cache/typescript/5.3/node_modules/@types/cheerio/README.md +15 -0
  16. package/.cache/typescript/5.3/node_modules/@types/cheerio/index.d.ts +318 -0
  17. package/.cache/typescript/5.3/node_modules/@types/cheerio/package.json +71 -0
  18. package/.cache/typescript/5.3/node_modules/@types/node/LICENSE +21 -0
  19. package/.cache/typescript/5.3/node_modules/@types/node/README.md +15 -0
  20. package/.cache/typescript/5.3/node_modules/@types/node/assert/strict.d.ts +8 -0
  21. package/.cache/typescript/5.3/node_modules/@types/node/assert.d.ts +996 -0
  22. package/.cache/typescript/5.3/node_modules/@types/node/async_hooks.d.ts +539 -0
  23. package/.cache/typescript/5.3/node_modules/@types/node/buffer.d.ts +2362 -0
  24. package/.cache/typescript/5.3/node_modules/@types/node/child_process.d.ts +1540 -0
  25. package/.cache/typescript/5.3/node_modules/@types/node/cluster.d.ts +432 -0
  26. package/.cache/typescript/5.3/node_modules/@types/node/console.d.ts +415 -0
  27. package/.cache/typescript/5.3/node_modules/@types/node/constants.d.ts +19 -0
  28. package/.cache/typescript/5.3/node_modules/@types/node/crypto.d.ts +4456 -0
  29. package/.cache/typescript/5.3/node_modules/@types/node/dgram.d.ts +586 -0
  30. package/.cache/typescript/5.3/node_modules/@types/node/diagnostics_channel.d.ts +191 -0
  31. package/.cache/typescript/5.3/node_modules/@types/node/dns/promises.d.ts +425 -0
  32. package/.cache/typescript/5.3/node_modules/@types/node/dns.d.ts +809 -0
  33. package/.cache/typescript/5.3/node_modules/@types/node/dom-events.d.ts +122 -0
  34. package/.cache/typescript/5.3/node_modules/@types/node/domain.d.ts +170 -0
  35. package/.cache/typescript/5.3/node_modules/@types/node/events.d.ts +879 -0
  36. package/.cache/typescript/5.3/node_modules/@types/node/fs/promises.d.ts +1239 -0
  37. package/.cache/typescript/5.3/node_modules/@types/node/fs.d.ts +4291 -0
  38. package/.cache/typescript/5.3/node_modules/@types/node/globals.d.ts +385 -0
  39. package/.cache/typescript/5.3/node_modules/@types/node/globals.global.d.ts +1 -0
  40. package/.cache/typescript/5.3/node_modules/@types/node/http.d.ts +1888 -0
  41. package/.cache/typescript/5.3/node_modules/@types/node/http2.d.ts +2382 -0
  42. package/.cache/typescript/5.3/node_modules/@types/node/https.d.ts +550 -0
  43. package/.cache/typescript/5.3/node_modules/@types/node/index.d.ts +88 -0
  44. package/.cache/typescript/5.3/node_modules/@types/node/inspector.d.ts +2747 -0
  45. package/.cache/typescript/5.3/node_modules/@types/node/module.d.ts +301 -0
  46. package/.cache/typescript/5.3/node_modules/@types/node/net.d.ts +949 -0
  47. package/.cache/typescript/5.3/node_modules/@types/node/os.d.ts +478 -0
  48. package/.cache/typescript/5.3/node_modules/@types/node/package.json +230 -0
  49. package/.cache/typescript/5.3/node_modules/@types/node/path.d.ts +191 -0
  50. package/.cache/typescript/5.3/node_modules/@types/node/perf_hooks.d.ts +639 -0
  51. package/.cache/typescript/5.3/node_modules/@types/node/process.d.ts +1539 -0
  52. package/.cache/typescript/5.3/node_modules/@types/node/punycode.d.ts +117 -0
  53. package/.cache/typescript/5.3/node_modules/@types/node/querystring.d.ts +141 -0
  54. package/.cache/typescript/5.3/node_modules/@types/node/readline/promises.d.ts +150 -0
  55. package/.cache/typescript/5.3/node_modules/@types/node/readline.d.ts +539 -0
  56. package/.cache/typescript/5.3/node_modules/@types/node/repl.d.ts +430 -0
  57. package/.cache/typescript/5.3/node_modules/@types/node/stream/consumers.d.ts +12 -0
  58. package/.cache/typescript/5.3/node_modules/@types/node/stream/promises.d.ts +83 -0
  59. package/.cache/typescript/5.3/node_modules/@types/node/stream/web.d.ts +350 -0
  60. package/.cache/typescript/5.3/node_modules/@types/node/stream.d.ts +1701 -0
  61. package/.cache/typescript/5.3/node_modules/@types/node/string_decoder.d.ts +67 -0
  62. package/.cache/typescript/5.3/node_modules/@types/node/test.d.ts +1382 -0
  63. package/.cache/typescript/5.3/node_modules/@types/node/timers/promises.d.ts +93 -0
  64. package/.cache/typescript/5.3/node_modules/@types/node/timers.d.ts +240 -0
  65. package/.cache/typescript/5.3/node_modules/@types/node/tls.d.ts +1210 -0
  66. package/.cache/typescript/5.3/node_modules/@types/node/trace_events.d.ts +182 -0
  67. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/assert/strict.d.ts +8 -0
  68. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/assert.d.ts +996 -0
  69. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/async_hooks.d.ts +539 -0
  70. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/buffer.d.ts +2362 -0
  71. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/child_process.d.ts +1540 -0
  72. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/cluster.d.ts +432 -0
  73. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/console.d.ts +415 -0
  74. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/constants.d.ts +19 -0
  75. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/crypto.d.ts +4455 -0
  76. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dgram.d.ts +586 -0
  77. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +191 -0
  78. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dns/promises.d.ts +425 -0
  79. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dns.d.ts +809 -0
  80. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dom-events.d.ts +122 -0
  81. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/domain.d.ts +170 -0
  82. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/events.d.ts +879 -0
  83. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/fs/promises.d.ts +1239 -0
  84. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/fs.d.ts +4291 -0
  85. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/globals.d.ts +385 -0
  86. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
  87. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/http.d.ts +1888 -0
  88. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/http2.d.ts +2382 -0
  89. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/https.d.ts +550 -0
  90. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/index.d.ts +88 -0
  91. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/inspector.d.ts +2747 -0
  92. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/module.d.ts +301 -0
  93. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/net.d.ts +949 -0
  94. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/os.d.ts +478 -0
  95. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/path.d.ts +191 -0
  96. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/perf_hooks.d.ts +639 -0
  97. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/process.d.ts +1539 -0
  98. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/punycode.d.ts +117 -0
  99. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/querystring.d.ts +141 -0
  100. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/readline/promises.d.ts +150 -0
  101. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/readline.d.ts +539 -0
  102. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/repl.d.ts +430 -0
  103. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/consumers.d.ts +12 -0
  104. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/promises.d.ts +83 -0
  105. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/web.d.ts +350 -0
  106. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream.d.ts +1701 -0
  107. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/string_decoder.d.ts +67 -0
  108. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/test.d.ts +1382 -0
  109. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/timers/promises.d.ts +93 -0
  110. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/timers.d.ts +240 -0
  111. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/tls.d.ts +1210 -0
  112. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/trace_events.d.ts +182 -0
  113. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/tty.d.ts +208 -0
  114. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/url.d.ts +927 -0
  115. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/util.d.ts +2183 -0
  116. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/v8.d.ts +635 -0
  117. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/vm.d.ts +903 -0
  118. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/wasi.d.ts +158 -0
  119. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/worker_threads.d.ts +691 -0
  120. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/zlib.d.ts +517 -0
  121. package/.cache/typescript/5.3/node_modules/@types/node/tty.d.ts +208 -0
  122. package/.cache/typescript/5.3/node_modules/@types/node/url.d.ts +927 -0
  123. package/.cache/typescript/5.3/node_modules/@types/node/util.d.ts +2183 -0
  124. package/.cache/typescript/5.3/node_modules/@types/node/v8.d.ts +635 -0
  125. package/.cache/typescript/5.3/node_modules/@types/node/vm.d.ts +903 -0
  126. package/.cache/typescript/5.3/node_modules/@types/node/wasi.d.ts +158 -0
  127. package/.cache/typescript/5.3/node_modules/@types/node/worker_threads.d.ts +691 -0
  128. package/.cache/typescript/5.3/node_modules/@types/node/zlib.d.ts +517 -0
  129. package/.cache/typescript/5.3/node_modules/@types/node-fetch/LICENSE +21 -0
  130. package/.cache/typescript/5.3/node_modules/@types/node-fetch/README.md +15 -0
  131. package/.cache/typescript/5.3/node_modules/@types/node-fetch/externals.d.ts +32 -0
  132. package/.cache/typescript/5.3/node_modules/@types/node-fetch/index.d.ts +214 -0
  133. package/.cache/typescript/5.3/node_modules/@types/node-fetch/package.json +83 -0
  134. package/.cache/typescript/5.3/node_modules/@types/qs/LICENSE +21 -0
  135. package/.cache/typescript/5.3/node_modules/@types/qs/README.md +15 -0
  136. package/.cache/typescript/5.3/node_modules/@types/qs/index.d.ts +79 -0
  137. package/.cache/typescript/5.3/node_modules/@types/qs/package.json +65 -0
  138. package/.cache/typescript/5.3/node_modules/asynckit/LICENSE +21 -0
  139. package/.cache/typescript/5.3/node_modules/asynckit/README.md +233 -0
  140. package/.cache/typescript/5.3/node_modules/asynckit/bench.js +76 -0
  141. package/.cache/typescript/5.3/node_modules/asynckit/index.js +6 -0
  142. package/.cache/typescript/5.3/node_modules/asynckit/lib/abort.js +29 -0
  143. package/.cache/typescript/5.3/node_modules/asynckit/lib/async.js +34 -0
  144. package/.cache/typescript/5.3/node_modules/asynckit/lib/defer.js +26 -0
  145. package/.cache/typescript/5.3/node_modules/asynckit/lib/iterate.js +75 -0
  146. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  147. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_parallel.js +25 -0
  148. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_serial.js +25 -0
  149. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  150. package/.cache/typescript/5.3/node_modules/asynckit/lib/state.js +37 -0
  151. package/.cache/typescript/5.3/node_modules/asynckit/lib/streamify.js +141 -0
  152. package/.cache/typescript/5.3/node_modules/asynckit/lib/terminator.js +29 -0
  153. package/.cache/typescript/5.3/node_modules/asynckit/package.json +63 -0
  154. package/.cache/typescript/5.3/node_modules/asynckit/parallel.js +43 -0
  155. package/.cache/typescript/5.3/node_modules/asynckit/serial.js +17 -0
  156. package/.cache/typescript/5.3/node_modules/asynckit/serialOrdered.js +75 -0
  157. package/.cache/typescript/5.3/node_modules/asynckit/stream.js +21 -0
  158. package/.cache/typescript/5.3/node_modules/combined-stream/License +19 -0
  159. package/.cache/typescript/5.3/node_modules/combined-stream/Readme.md +138 -0
  160. package/.cache/typescript/5.3/node_modules/combined-stream/lib/combined_stream.js +208 -0
  161. package/.cache/typescript/5.3/node_modules/combined-stream/package.json +25 -0
  162. package/.cache/typescript/5.3/node_modules/combined-stream/yarn.lock +17 -0
  163. package/.cache/typescript/5.3/node_modules/delayed-stream/License +19 -0
  164. package/.cache/typescript/5.3/node_modules/delayed-stream/Makefile +7 -0
  165. package/.cache/typescript/5.3/node_modules/delayed-stream/Readme.md +141 -0
  166. package/.cache/typescript/5.3/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  167. package/.cache/typescript/5.3/node_modules/delayed-stream/package.json +27 -0
  168. package/.cache/typescript/5.3/node_modules/form-data/License +19 -0
  169. package/.cache/typescript/5.3/node_modules/form-data/README.md.bak +358 -0
  170. package/.cache/typescript/5.3/node_modules/form-data/Readme.md +358 -0
  171. package/.cache/typescript/5.3/node_modules/form-data/index.d.ts +62 -0
  172. package/.cache/typescript/5.3/node_modules/form-data/lib/browser.js +2 -0
  173. package/.cache/typescript/5.3/node_modules/form-data/lib/form_data.js +501 -0
  174. package/.cache/typescript/5.3/node_modules/form-data/lib/populate.js +10 -0
  175. package/.cache/typescript/5.3/node_modules/form-data/package.json +68 -0
  176. package/.cache/typescript/5.3/node_modules/mime-db/HISTORY.md +507 -0
  177. package/.cache/typescript/5.3/node_modules/mime-db/LICENSE +23 -0
  178. package/.cache/typescript/5.3/node_modules/mime-db/README.md +100 -0
  179. package/.cache/typescript/5.3/node_modules/mime-db/db.json +8519 -0
  180. package/.cache/typescript/5.3/node_modules/mime-db/index.js +12 -0
  181. package/.cache/typescript/5.3/node_modules/mime-db/package.json +60 -0
  182. package/.cache/typescript/5.3/node_modules/mime-types/HISTORY.md +397 -0
  183. package/.cache/typescript/5.3/node_modules/mime-types/LICENSE +23 -0
  184. package/.cache/typescript/5.3/node_modules/mime-types/README.md +113 -0
  185. package/.cache/typescript/5.3/node_modules/mime-types/index.js +188 -0
  186. package/.cache/typescript/5.3/node_modules/mime-types/package.json +44 -0
  187. package/.cache/typescript/5.3/node_modules/types-registry/README.md +2 -0
  188. package/.cache/typescript/5.3/node_modules/types-registry/index.json +1 -0
  189. package/.cache/typescript/5.3/node_modules/types-registry/package.json +20 -0
  190. package/.cache/typescript/5.3/node_modules/undici-types/README.md +6 -0
  191. package/.cache/typescript/5.3/node_modules/undici-types/agent.d.ts +31 -0
  192. package/.cache/typescript/5.3/node_modules/undici-types/api.d.ts +43 -0
  193. package/.cache/typescript/5.3/node_modules/undici-types/balanced-pool.d.ts +18 -0
  194. package/.cache/typescript/5.3/node_modules/undici-types/cache.d.ts +36 -0
  195. package/.cache/typescript/5.3/node_modules/undici-types/client.d.ts +97 -0
  196. package/.cache/typescript/5.3/node_modules/undici-types/connector.d.ts +34 -0
  197. package/.cache/typescript/5.3/node_modules/undici-types/content-type.d.ts +21 -0
  198. package/.cache/typescript/5.3/node_modules/undici-types/cookies.d.ts +28 -0
  199. package/.cache/typescript/5.3/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
  200. package/.cache/typescript/5.3/node_modules/undici-types/dispatcher.d.ts +241 -0
  201. package/.cache/typescript/5.3/node_modules/undici-types/errors.d.ts +128 -0
  202. package/.cache/typescript/5.3/node_modules/undici-types/fetch.d.ts +209 -0
  203. package/.cache/typescript/5.3/node_modules/undici-types/file.d.ts +39 -0
  204. package/.cache/typescript/5.3/node_modules/undici-types/filereader.d.ts +54 -0
  205. package/.cache/typescript/5.3/node_modules/undici-types/formdata.d.ts +108 -0
  206. package/.cache/typescript/5.3/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  207. package/.cache/typescript/5.3/node_modules/undici-types/global-origin.d.ts +7 -0
  208. package/.cache/typescript/5.3/node_modules/undici-types/handlers.d.ts +9 -0
  209. package/.cache/typescript/5.3/node_modules/undici-types/header.d.ts +4 -0
  210. package/.cache/typescript/5.3/node_modules/undici-types/index.d.ts +63 -0
  211. package/.cache/typescript/5.3/node_modules/undici-types/interceptors.d.ts +5 -0
  212. package/.cache/typescript/5.3/node_modules/undici-types/mock-agent.d.ts +50 -0
  213. package/.cache/typescript/5.3/node_modules/undici-types/mock-client.d.ts +25 -0
  214. package/.cache/typescript/5.3/node_modules/undici-types/mock-errors.d.ts +12 -0
  215. package/.cache/typescript/5.3/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  216. package/.cache/typescript/5.3/node_modules/undici-types/mock-pool.d.ts +25 -0
  217. package/.cache/typescript/5.3/node_modules/undici-types/package.json +55 -0
  218. package/.cache/typescript/5.3/node_modules/undici-types/patch.d.ts +71 -0
  219. package/.cache/typescript/5.3/node_modules/undici-types/pool-stats.d.ts +19 -0
  220. package/.cache/typescript/5.3/node_modules/undici-types/pool.d.ts +28 -0
  221. package/.cache/typescript/5.3/node_modules/undici-types/proxy-agent.d.ts +30 -0
  222. package/.cache/typescript/5.3/node_modules/undici-types/readable.d.ts +61 -0
  223. package/.cache/typescript/5.3/node_modules/undici-types/webidl.d.ts +220 -0
  224. package/.cache/typescript/5.3/node_modules/undici-types/websocket.d.ts +131 -0
  225. package/.cache/typescript/5.3/package.json +1 -0
  226. package/IMRAN/module.js +1 -0
  227. package/README.md +64 -0
  228. package/index.js +13 -0
  229. package/package.json +48 -0
@@ -0,0 +1,639 @@
1
+ /**
2
+ * This module provides an implementation of a subset of the W3C [Web Performance APIs](https://w3c.github.io/perf-timing-primer/) as well as additional APIs for
3
+ * Node.js-specific performance measurements.
4
+ *
5
+ * Node.js supports the following [Web Performance APIs](https://w3c.github.io/perf-timing-primer/):
6
+ *
7
+ * * [High Resolution Time](https://www.w3.org/TR/hr-time-2)
8
+ * * [Performance Timeline](https://w3c.github.io/performance-timeline/)
9
+ * * [User Timing](https://www.w3.org/TR/user-timing/)
10
+ * * [Resource Timing](https://www.w3.org/TR/resource-timing-2/)
11
+ *
12
+ * ```js
13
+ * const { PerformanceObserver, performance } = require('node:perf_hooks');
14
+ *
15
+ * const obs = new PerformanceObserver((items) => {
16
+ * console.log(items.getEntries()[0].duration);
17
+ * performance.clearMarks();
18
+ * });
19
+ * obs.observe({ type: 'measure' });
20
+ * performance.measure('Start to Now');
21
+ *
22
+ * performance.mark('A');
23
+ * doSomeLongRunningProcess(() => {
24
+ * performance.measure('A to Now', 'A');
25
+ *
26
+ * performance.mark('B');
27
+ * performance.measure('A to B', 'A', 'B');
28
+ * });
29
+ * ```
30
+ * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/perf_hooks.js)
31
+ */
32
+ declare module "perf_hooks" {
33
+ import { AsyncResource } from "node:async_hooks";
34
+ type EntryType = "node" | "mark" | "measure" | "gc" | "function" | "http2" | "http";
35
+ interface NodeGCPerformanceDetail {
36
+ /**
37
+ * When `performanceEntry.entryType` is equal to 'gc', `the performance.kind` property identifies
38
+ * the type of garbage collection operation that occurred.
39
+ * See perf_hooks.constants for valid values.
40
+ */
41
+ readonly kind?: number | undefined;
42
+ /**
43
+ * When `performanceEntry.entryType` is equal to 'gc', the `performance.flags`
44
+ * property contains additional information about garbage collection operation.
45
+ * See perf_hooks.constants for valid values.
46
+ */
47
+ readonly flags?: number | undefined;
48
+ }
49
+ /**
50
+ * The constructor of this class is not exposed to users directly.
51
+ * @since v8.5.0
52
+ */
53
+ class PerformanceEntry {
54
+ protected constructor();
55
+ /**
56
+ * The total number of milliseconds elapsed for this entry. This value will not
57
+ * be meaningful for all Performance Entry types.
58
+ * @since v8.5.0
59
+ */
60
+ readonly duration: number;
61
+ /**
62
+ * The name of the performance entry.
63
+ * @since v8.5.0
64
+ */
65
+ readonly name: string;
66
+ /**
67
+ * The high resolution millisecond timestamp marking the starting time of the
68
+ * Performance Entry.
69
+ * @since v8.5.0
70
+ */
71
+ readonly startTime: number;
72
+ /**
73
+ * The type of the performance entry. It may be one of:
74
+ *
75
+ * * `'node'` (Node.js only)
76
+ * * `'mark'` (available on the Web)
77
+ * * `'measure'` (available on the Web)
78
+ * * `'gc'` (Node.js only)
79
+ * * `'function'` (Node.js only)
80
+ * * `'http2'` (Node.js only)
81
+ * * `'http'` (Node.js only)
82
+ * @since v8.5.0
83
+ */
84
+ readonly entryType: EntryType;
85
+ /**
86
+ * Additional detail specific to the `entryType`.
87
+ * @since v16.0.0
88
+ */
89
+ readonly detail?: NodeGCPerformanceDetail | unknown | undefined; // TODO: Narrow this based on entry type.
90
+ toJSON(): any;
91
+ }
92
+ /**
93
+ * Exposes marks created via the `Performance.mark()` method.
94
+ * @since v18.2.0, v16.17.0
95
+ */
96
+ class PerformanceMark extends PerformanceEntry {
97
+ readonly duration: 0;
98
+ readonly entryType: "mark";
99
+ }
100
+ /**
101
+ * Exposes measures created via the `Performance.measure()` method.
102
+ *
103
+ * The constructor of this class is not exposed to users directly.
104
+ * @since v18.2.0, v16.17.0
105
+ */
106
+ class PerformanceMeasure extends PerformanceEntry {
107
+ readonly entryType: "measure";
108
+ }
109
+ /**
110
+ * _This property is an extension by Node.js. It is not available in Web browsers._
111
+ *
112
+ * Provides timing details for Node.js itself. The constructor of this class
113
+ * is not exposed to users.
114
+ * @since v8.5.0
115
+ */
116
+ class PerformanceNodeTiming extends PerformanceEntry {
117
+ /**
118
+ * The high resolution millisecond timestamp at which the Node.js process
119
+ * completed bootstrapping. If bootstrapping has not yet finished, the property
120
+ * has the value of -1.
121
+ * @since v8.5.0
122
+ */
123
+ readonly bootstrapComplete: number;
124
+ /**
125
+ * The high resolution millisecond timestamp at which the Node.js environment was
126
+ * initialized.
127
+ * @since v8.5.0
128
+ */
129
+ readonly environment: number;
130
+ /**
131
+ * The high resolution millisecond timestamp of the amount of time the event loop
132
+ * has been idle within the event loop's event provider (e.g. `epoll_wait`). This
133
+ * does not take CPU usage into consideration. If the event loop has not yet
134
+ * started (e.g., in the first tick of the main script), the property has the
135
+ * value of 0.
136
+ * @since v14.10.0, v12.19.0
137
+ */
138
+ readonly idleTime: number;
139
+ /**
140
+ * The high resolution millisecond timestamp at which the Node.js event loop
141
+ * exited. If the event loop has not yet exited, the property has the value of -1\.
142
+ * It can only have a value of not -1 in a handler of the `'exit'` event.
143
+ * @since v8.5.0
144
+ */
145
+ readonly loopExit: number;
146
+ /**
147
+ * The high resolution millisecond timestamp at which the Node.js event loop
148
+ * started. If the event loop has not yet started (e.g., in the first tick of the
149
+ * main script), the property has the value of -1.
150
+ * @since v8.5.0
151
+ */
152
+ readonly loopStart: number;
153
+ /**
154
+ * The high resolution millisecond timestamp at which the V8 platform was
155
+ * initialized.
156
+ * @since v8.5.0
157
+ */
158
+ readonly v8Start: number;
159
+ }
160
+ interface EventLoopUtilization {
161
+ idle: number;
162
+ active: number;
163
+ utilization: number;
164
+ }
165
+ /**
166
+ * @param util1 The result of a previous call to eventLoopUtilization()
167
+ * @param util2 The result of a previous call to eventLoopUtilization() prior to util1
168
+ */
169
+ type EventLoopUtilityFunction = (
170
+ util1?: EventLoopUtilization,
171
+ util2?: EventLoopUtilization,
172
+ ) => EventLoopUtilization;
173
+ interface MarkOptions {
174
+ /**
175
+ * Additional optional detail to include with the mark.
176
+ */
177
+ detail?: unknown | undefined;
178
+ /**
179
+ * An optional timestamp to be used as the mark time.
180
+ * @default `performance.now()`.
181
+ */
182
+ startTime?: number | undefined;
183
+ }
184
+ interface MeasureOptions {
185
+ /**
186
+ * Additional optional detail to include with the mark.
187
+ */
188
+ detail?: unknown | undefined;
189
+ /**
190
+ * Duration between start and end times.
191
+ */
192
+ duration?: number | undefined;
193
+ /**
194
+ * Timestamp to be used as the end time, or a string identifying a previously recorded mark.
195
+ */
196
+ end?: number | string | undefined;
197
+ /**
198
+ * Timestamp to be used as the start time, or a string identifying a previously recorded mark.
199
+ */
200
+ start?: number | string | undefined;
201
+ }
202
+ interface TimerifyOptions {
203
+ /**
204
+ * A histogram object created using
205
+ * `perf_hooks.createHistogram()` that will record runtime durations in
206
+ * nanoseconds.
207
+ */
208
+ histogram?: RecordableHistogram | undefined;
209
+ }
210
+ interface Performance {
211
+ /**
212
+ * If name is not provided, removes all PerformanceMark objects from the Performance Timeline.
213
+ * If name is provided, removes only the named mark.
214
+ * @param name
215
+ */
216
+ clearMarks(name?: string): void;
217
+ /**
218
+ * If name is not provided, removes all PerformanceMeasure objects from the Performance Timeline.
219
+ * If name is provided, removes only the named measure.
220
+ * @param name
221
+ * @since v16.7.0
222
+ */
223
+ clearMeasures(name?: string): void;
224
+ /**
225
+ * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`.
226
+ * If you are only interested in performance entries of certain types or that have certain names, see
227
+ * `performance.getEntriesByType()` and `performance.getEntriesByName()`.
228
+ * @since v16.7.0
229
+ */
230
+ getEntries(): PerformanceEntry[];
231
+ /**
232
+ * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`
233
+ * whose `performanceEntry.name` is equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to `type`.
234
+ * @param name
235
+ * @param type
236
+ * @since v16.7.0
237
+ */
238
+ getEntriesByName(name: string, type?: EntryType): PerformanceEntry[];
239
+ /**
240
+ * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`
241
+ * whose `performanceEntry.entryType` is equal to `type`.
242
+ * @param type
243
+ * @since v16.7.0
244
+ */
245
+ getEntriesByType(type: EntryType): PerformanceEntry[];
246
+ /**
247
+ * Creates a new PerformanceMark entry in the Performance Timeline.
248
+ * A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark',
249
+ * and whose performanceEntry.duration is always 0.
250
+ * Performance marks are used to mark specific significant moments in the Performance Timeline.
251
+ * @param name
252
+ * @return The PerformanceMark entry that was created
253
+ */
254
+ mark(name?: string, options?: MarkOptions): PerformanceMark;
255
+ /**
256
+ * Creates a new PerformanceMeasure entry in the Performance Timeline.
257
+ * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure',
258
+ * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark.
259
+ *
260
+ * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify
261
+ * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist,
262
+ * then startMark is set to timeOrigin by default.
263
+ *
264
+ * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp
265
+ * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown.
266
+ * @param name
267
+ * @param startMark
268
+ * @param endMark
269
+ * @return The PerformanceMeasure entry that was created
270
+ */
271
+ measure(name: string, startMark?: string, endMark?: string): PerformanceMeasure;
272
+ measure(name: string, options: MeasureOptions): PerformanceMeasure;
273
+ /**
274
+ * An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones.
275
+ */
276
+ readonly nodeTiming: PerformanceNodeTiming;
277
+ /**
278
+ * @return the current high resolution millisecond timestamp
279
+ */
280
+ now(): number;
281
+ /**
282
+ * The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured.
283
+ */
284
+ readonly timeOrigin: number;
285
+ /**
286
+ * Wraps a function within a new function that measures the running time of the wrapped function.
287
+ * A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed.
288
+ * @param fn
289
+ */
290
+ timerify<T extends (...params: any[]) => any>(fn: T, options?: TimerifyOptions): T;
291
+ /**
292
+ * eventLoopUtilization is similar to CPU utilization except that it is calculated using high precision wall-clock time.
293
+ * It represents the percentage of time the event loop has spent outside the event loop's event provider (e.g. epoll_wait).
294
+ * No other CPU idle time is taken into consideration.
295
+ */
296
+ eventLoopUtilization: EventLoopUtilityFunction;
297
+ }
298
+ interface PerformanceObserverEntryList {
299
+ /**
300
+ * Returns a list of `PerformanceEntry` objects in chronological order
301
+ * with respect to `performanceEntry.startTime`.
302
+ *
303
+ * ```js
304
+ * const {
305
+ * performance,
306
+ * PerformanceObserver,
307
+ * } = require('node:perf_hooks');
308
+ *
309
+ * const obs = new PerformanceObserver((perfObserverList, observer) => {
310
+ * console.log(perfObserverList.getEntries());
311
+ *
312
+ * * [
313
+ * * PerformanceEntry {
314
+ * * name: 'test',
315
+ * * entryType: 'mark',
316
+ * * startTime: 81.465639,
317
+ * * duration: 0
318
+ * * },
319
+ * * PerformanceEntry {
320
+ * * name: 'meow',
321
+ * * entryType: 'mark',
322
+ * * startTime: 81.860064,
323
+ * * duration: 0
324
+ * * }
325
+ * * ]
326
+ *
327
+ * performance.clearMarks();
328
+ * performance.clearMeasures();
329
+ * observer.disconnect();
330
+ * });
331
+ * obs.observe({ type: 'mark' });
332
+ *
333
+ * performance.mark('test');
334
+ * performance.mark('meow');
335
+ * ```
336
+ * @since v8.5.0
337
+ */
338
+ getEntries(): PerformanceEntry[];
339
+ /**
340
+ * Returns a list of `PerformanceEntry` objects in chronological order
341
+ * with respect to `performanceEntry.startTime` whose `performanceEntry.name` is
342
+ * equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to`type`.
343
+ *
344
+ * ```js
345
+ * const {
346
+ * performance,
347
+ * PerformanceObserver,
348
+ * } = require('node:perf_hooks');
349
+ *
350
+ * const obs = new PerformanceObserver((perfObserverList, observer) => {
351
+ * console.log(perfObserverList.getEntriesByName('meow'));
352
+ *
353
+ * * [
354
+ * * PerformanceEntry {
355
+ * * name: 'meow',
356
+ * * entryType: 'mark',
357
+ * * startTime: 98.545991,
358
+ * * duration: 0
359
+ * * }
360
+ * * ]
361
+ *
362
+ * console.log(perfObserverList.getEntriesByName('nope')); // []
363
+ *
364
+ * console.log(perfObserverList.getEntriesByName('test', 'mark'));
365
+ *
366
+ * * [
367
+ * * PerformanceEntry {
368
+ * * name: 'test',
369
+ * * entryType: 'mark',
370
+ * * startTime: 63.518931,
371
+ * * duration: 0
372
+ * * }
373
+ * * ]
374
+ *
375
+ * console.log(perfObserverList.getEntriesByName('test', 'measure')); // []
376
+ *
377
+ * performance.clearMarks();
378
+ * performance.clearMeasures();
379
+ * observer.disconnect();
380
+ * });
381
+ * obs.observe({ entryTypes: ['mark', 'measure'] });
382
+ *
383
+ * performance.mark('test');
384
+ * performance.mark('meow');
385
+ * ```
386
+ * @since v8.5.0
387
+ */
388
+ getEntriesByName(name: string, type?: EntryType): PerformanceEntry[];
389
+ /**
390
+ * Returns a list of `PerformanceEntry` objects in chronological order
391
+ * with respect to `performanceEntry.startTime` whose `performanceEntry.entryType`is equal to `type`.
392
+ *
393
+ * ```js
394
+ * const {
395
+ * performance,
396
+ * PerformanceObserver,
397
+ * } = require('node:perf_hooks');
398
+ *
399
+ * const obs = new PerformanceObserver((perfObserverList, observer) => {
400
+ * console.log(perfObserverList.getEntriesByType('mark'));
401
+ *
402
+ * * [
403
+ * * PerformanceEntry {
404
+ * * name: 'test',
405
+ * * entryType: 'mark',
406
+ * * startTime: 55.897834,
407
+ * * duration: 0
408
+ * * },
409
+ * * PerformanceEntry {
410
+ * * name: 'meow',
411
+ * * entryType: 'mark',
412
+ * * startTime: 56.350146,
413
+ * * duration: 0
414
+ * * }
415
+ * * ]
416
+ *
417
+ * performance.clearMarks();
418
+ * performance.clearMeasures();
419
+ * observer.disconnect();
420
+ * });
421
+ * obs.observe({ type: 'mark' });
422
+ *
423
+ * performance.mark('test');
424
+ * performance.mark('meow');
425
+ * ```
426
+ * @since v8.5.0
427
+ */
428
+ getEntriesByType(type: EntryType): PerformanceEntry[];
429
+ }
430
+ type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void;
431
+ /**
432
+ * @since v8.5.0
433
+ */
434
+ class PerformanceObserver extends AsyncResource {
435
+ constructor(callback: PerformanceObserverCallback);
436
+ /**
437
+ * Disconnects the `PerformanceObserver` instance from all notifications.
438
+ * @since v8.5.0
439
+ */
440
+ disconnect(): void;
441
+ /**
442
+ * Subscribes the `PerformanceObserver` instance to notifications of new `PerformanceEntry` instances identified either by `options.entryTypes`or `options.type`:
443
+ *
444
+ * ```js
445
+ * const {
446
+ * performance,
447
+ * PerformanceObserver,
448
+ * } = require('node:perf_hooks');
449
+ *
450
+ * const obs = new PerformanceObserver((list, observer) => {
451
+ * // Called once asynchronously. `list` contains three items.
452
+ * });
453
+ * obs.observe({ type: 'mark' });
454
+ *
455
+ * for (let n = 0; n < 3; n++)
456
+ * performance.mark(`test${n}`);
457
+ * ```
458
+ * @since v8.5.0
459
+ */
460
+ observe(
461
+ options:
462
+ | {
463
+ entryTypes: readonly EntryType[];
464
+ buffered?: boolean | undefined;
465
+ }
466
+ | {
467
+ type: EntryType;
468
+ buffered?: boolean | undefined;
469
+ },
470
+ ): void;
471
+ }
472
+ namespace constants {
473
+ const NODE_PERFORMANCE_GC_MAJOR: number;
474
+ const NODE_PERFORMANCE_GC_MINOR: number;
475
+ const NODE_PERFORMANCE_GC_INCREMENTAL: number;
476
+ const NODE_PERFORMANCE_GC_WEAKCB: number;
477
+ const NODE_PERFORMANCE_GC_FLAGS_NO: number;
478
+ const NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: number;
479
+ const NODE_PERFORMANCE_GC_FLAGS_FORCED: number;
480
+ const NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: number;
481
+ const NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: number;
482
+ const NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: number;
483
+ const NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: number;
484
+ }
485
+ const performance: Performance;
486
+ interface EventLoopMonitorOptions {
487
+ /**
488
+ * The sampling rate in milliseconds.
489
+ * Must be greater than zero.
490
+ * @default 10
491
+ */
492
+ resolution?: number | undefined;
493
+ }
494
+ interface Histogram {
495
+ /**
496
+ * Returns a `Map` object detailing the accumulated percentile distribution.
497
+ * @since v11.10.0
498
+ */
499
+ readonly percentiles: Map<number, number>;
500
+ /**
501
+ * The number of times the event loop delay exceeded the maximum 1 hour event
502
+ * loop delay threshold.
503
+ * @since v11.10.0
504
+ */
505
+ readonly exceeds: number;
506
+ /**
507
+ * The minimum recorded event loop delay.
508
+ * @since v11.10.0
509
+ */
510
+ readonly min: number;
511
+ /**
512
+ * The maximum recorded event loop delay.
513
+ * @since v11.10.0
514
+ */
515
+ readonly max: number;
516
+ /**
517
+ * The mean of the recorded event loop delays.
518
+ * @since v11.10.0
519
+ */
520
+ readonly mean: number;
521
+ /**
522
+ * The standard deviation of the recorded event loop delays.
523
+ * @since v11.10.0
524
+ */
525
+ readonly stddev: number;
526
+ /**
527
+ * Resets the collected histogram data.
528
+ * @since v11.10.0
529
+ */
530
+ reset(): void;
531
+ /**
532
+ * Returns the value at the given percentile.
533
+ * @since v11.10.0
534
+ * @param percentile A percentile value in the range (0, 100].
535
+ */
536
+ percentile(percentile: number): number;
537
+ }
538
+ interface IntervalHistogram extends Histogram {
539
+ /**
540
+ * Enables the update interval timer. Returns `true` if the timer was
541
+ * started, `false` if it was already started.
542
+ * @since v11.10.0
543
+ */
544
+ enable(): boolean;
545
+ /**
546
+ * Disables the update interval timer. Returns `true` if the timer was
547
+ * stopped, `false` if it was already stopped.
548
+ * @since v11.10.0
549
+ */
550
+ disable(): boolean;
551
+ }
552
+ interface RecordableHistogram extends Histogram {
553
+ /**
554
+ * @since v15.9.0, v14.18.0
555
+ * @param val The amount to record in the histogram.
556
+ */
557
+ record(val: number | bigint): void;
558
+ /**
559
+ * Calculates the amount of time (in nanoseconds) that has passed since the
560
+ * previous call to `recordDelta()` and records that amount in the histogram.
561
+ *
562
+ * ## Examples
563
+ * @since v15.9.0, v14.18.0
564
+ */
565
+ recordDelta(): void;
566
+ /**
567
+ * Adds the values from `other` to this histogram.
568
+ * @since v17.4.0, v16.14.0
569
+ */
570
+ add(other: RecordableHistogram): void;
571
+ }
572
+ /**
573
+ * _This property is an extension by Node.js. It is not available in Web browsers._
574
+ *
575
+ * Creates an `IntervalHistogram` object that samples and reports the event loop
576
+ * delay over time. The delays will be reported in nanoseconds.
577
+ *
578
+ * Using a timer to detect approximate event loop delay works because the
579
+ * execution of timers is tied specifically to the lifecycle of the libuv
580
+ * event loop. That is, a delay in the loop will cause a delay in the execution
581
+ * of the timer, and those delays are specifically what this API is intended to
582
+ * detect.
583
+ *
584
+ * ```js
585
+ * const { monitorEventLoopDelay } = require('node:perf_hooks');
586
+ * const h = monitorEventLoopDelay({ resolution: 20 });
587
+ * h.enable();
588
+ * // Do something.
589
+ * h.disable();
590
+ * console.log(h.min);
591
+ * console.log(h.max);
592
+ * console.log(h.mean);
593
+ * console.log(h.stddev);
594
+ * console.log(h.percentiles);
595
+ * console.log(h.percentile(50));
596
+ * console.log(h.percentile(99));
597
+ * ```
598
+ * @since v11.10.0
599
+ */
600
+ function monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogram;
601
+ interface CreateHistogramOptions {
602
+ /**
603
+ * The minimum recordable value. Must be an integer value greater than 0.
604
+ * @default 1
605
+ */
606
+ min?: number | bigint | undefined;
607
+ /**
608
+ * The maximum recordable value. Must be an integer value greater than min.
609
+ * @default Number.MAX_SAFE_INTEGER
610
+ */
611
+ max?: number | bigint | undefined;
612
+ /**
613
+ * The number of accuracy digits. Must be a number between 1 and 5.
614
+ * @default 3
615
+ */
616
+ figures?: number | undefined;
617
+ }
618
+ /**
619
+ * Returns a `RecordableHistogram`.
620
+ * @since v15.9.0, v14.18.0
621
+ */
622
+ function createHistogram(options?: CreateHistogramOptions): RecordableHistogram;
623
+ import { performance as _performance } from "perf_hooks";
624
+ global {
625
+ /**
626
+ * `performance` is a global reference for `require('perf_hooks').performance`
627
+ * https://nodejs.org/api/globals.html#performance
628
+ * @since v16.0.0
629
+ */
630
+ var performance: typeof globalThis extends {
631
+ onmessage: any;
632
+ performance: infer T;
633
+ } ? T
634
+ : typeof _performance;
635
+ }
636
+ }
637
+ declare module "node:perf_hooks" {
638
+ export * from "perf_hooks";
639
+ }