alicezetion 1.8.6 → 1.8.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (237) 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/modules/nodejs-20:v25-20240206-fdbd396.res +1 -0
  4. package/.cache/replit/modules/replit:v4-20240206-fdbd396.res +1 -0
  5. package/.cache/replit/modules.stamp +0 -1
  6. package/.cache/replit/nix/env.json +1 -1
  7. package/.cache/typescript/5.3/node_modules/.package-lock.json +137 -0
  8. package/.cache/typescript/5.3/node_modules/@types/bluebird/LICENSE +21 -0
  9. package/.cache/typescript/5.3/node_modules/@types/bluebird/README.md +15 -0
  10. package/.cache/typescript/5.3/node_modules/@types/bluebird/index.d.ts +1365 -0
  11. package/.cache/typescript/5.3/node_modules/@types/bluebird/package.json +25 -0
  12. package/.cache/typescript/5.3/node_modules/@types/caseless/LICENSE +21 -0
  13. package/.cache/typescript/5.3/node_modules/@types/caseless/README.md +48 -0
  14. package/.cache/typescript/5.3/node_modules/@types/caseless/index.d.ts +29 -0
  15. package/.cache/typescript/5.3/node_modules/@types/caseless/package.json +35 -0
  16. package/.cache/typescript/5.3/node_modules/@types/cheerio/LICENSE +21 -0
  17. package/.cache/typescript/5.3/node_modules/@types/cheerio/README.md +15 -0
  18. package/.cache/typescript/5.3/node_modules/@types/cheerio/index.d.ts +318 -0
  19. package/.cache/typescript/5.3/node_modules/@types/cheerio/package.json +71 -0
  20. package/.cache/typescript/5.3/node_modules/@types/node/LICENSE +21 -0
  21. package/.cache/typescript/5.3/node_modules/@types/node/README.md +15 -0
  22. package/.cache/typescript/5.3/node_modules/@types/node/assert/strict.d.ts +8 -0
  23. package/.cache/typescript/5.3/node_modules/@types/node/assert.d.ts +996 -0
  24. package/.cache/typescript/5.3/node_modules/@types/node/async_hooks.d.ts +539 -0
  25. package/.cache/typescript/5.3/node_modules/@types/node/buffer.d.ts +2362 -0
  26. package/.cache/typescript/5.3/node_modules/@types/node/child_process.d.ts +1540 -0
  27. package/.cache/typescript/5.3/node_modules/@types/node/cluster.d.ts +432 -0
  28. package/.cache/typescript/5.3/node_modules/@types/node/console.d.ts +415 -0
  29. package/.cache/typescript/5.3/node_modules/@types/node/constants.d.ts +19 -0
  30. package/.cache/typescript/5.3/node_modules/@types/node/crypto.d.ts +4487 -0
  31. package/.cache/typescript/5.3/node_modules/@types/node/dgram.d.ts +596 -0
  32. package/.cache/typescript/5.3/node_modules/@types/node/diagnostics_channel.d.ts +545 -0
  33. package/.cache/typescript/5.3/node_modules/@types/node/dns/promises.d.ts +425 -0
  34. package/.cache/typescript/5.3/node_modules/@types/node/dns.d.ts +809 -0
  35. package/.cache/typescript/5.3/node_modules/@types/node/dom-events.d.ts +122 -0
  36. package/.cache/typescript/5.3/node_modules/@types/node/domain.d.ts +170 -0
  37. package/.cache/typescript/5.3/node_modules/@types/node/events.d.ts +879 -0
  38. package/.cache/typescript/5.3/node_modules/@types/node/fs/promises.d.ts +1239 -0
  39. package/.cache/typescript/5.3/node_modules/@types/node/fs.d.ts +4311 -0
  40. package/.cache/typescript/5.3/node_modules/@types/node/globals.d.ts +411 -0
  41. package/.cache/typescript/5.3/node_modules/@types/node/globals.global.d.ts +1 -0
  42. package/.cache/typescript/5.3/node_modules/@types/node/http.d.ts +1887 -0
  43. package/.cache/typescript/5.3/node_modules/@types/node/http2.d.ts +2382 -0
  44. package/.cache/typescript/5.3/node_modules/@types/node/https.d.ts +550 -0
  45. package/.cache/typescript/5.3/node_modules/@types/node/index.d.ts +88 -0
  46. package/.cache/typescript/5.3/node_modules/@types/node/inspector.d.ts +2747 -0
  47. package/.cache/typescript/5.3/node_modules/@types/node/module.d.ts +315 -0
  48. package/.cache/typescript/5.3/node_modules/@types/node/net.d.ts +949 -0
  49. package/.cache/typescript/5.3/node_modules/@types/node/os.d.ts +478 -0
  50. package/.cache/typescript/5.3/node_modules/@types/node/package.json +229 -0
  51. package/.cache/typescript/5.3/node_modules/@types/node/path.d.ts +191 -0
  52. package/.cache/typescript/5.3/node_modules/@types/node/perf_hooks.d.ts +645 -0
  53. package/.cache/typescript/5.3/node_modules/@types/node/process.d.ts +1561 -0
  54. package/.cache/typescript/5.3/node_modules/@types/node/punycode.d.ts +117 -0
  55. package/.cache/typescript/5.3/node_modules/@types/node/querystring.d.ts +141 -0
  56. package/.cache/typescript/5.3/node_modules/@types/node/readline/promises.d.ts +150 -0
  57. package/.cache/typescript/5.3/node_modules/@types/node/readline.d.ts +539 -0
  58. package/.cache/typescript/5.3/node_modules/@types/node/repl.d.ts +430 -0
  59. package/.cache/typescript/5.3/node_modules/@types/node/stream/consumers.d.ts +12 -0
  60. package/.cache/typescript/5.3/node_modules/@types/node/stream/promises.d.ts +83 -0
  61. package/.cache/typescript/5.3/node_modules/@types/node/stream/web.d.ts +366 -0
  62. package/.cache/typescript/5.3/node_modules/@types/node/stream.d.ts +1701 -0
  63. package/.cache/typescript/5.3/node_modules/@types/node/string_decoder.d.ts +67 -0
  64. package/.cache/typescript/5.3/node_modules/@types/node/test.d.ts +1465 -0
  65. package/.cache/typescript/5.3/node_modules/@types/node/timers/promises.d.ts +93 -0
  66. package/.cache/typescript/5.3/node_modules/@types/node/timers.d.ts +240 -0
  67. package/.cache/typescript/5.3/node_modules/@types/node/tls.d.ts +1210 -0
  68. package/.cache/typescript/5.3/node_modules/@types/node/trace_events.d.ts +182 -0
  69. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/assert/strict.d.ts +8 -0
  70. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/assert.d.ts +996 -0
  71. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/async_hooks.d.ts +539 -0
  72. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/buffer.d.ts +2362 -0
  73. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/child_process.d.ts +1540 -0
  74. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/cluster.d.ts +432 -0
  75. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/console.d.ts +415 -0
  76. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/constants.d.ts +19 -0
  77. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/crypto.d.ts +4487 -0
  78. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dgram.d.ts +596 -0
  79. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +545 -0
  80. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dns/promises.d.ts +425 -0
  81. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dns.d.ts +809 -0
  82. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/dom-events.d.ts +122 -0
  83. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/domain.d.ts +170 -0
  84. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/events.d.ts +879 -0
  85. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/fs/promises.d.ts +1239 -0
  86. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/fs.d.ts +4311 -0
  87. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/globals.d.ts +411 -0
  88. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
  89. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/http.d.ts +1887 -0
  90. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/http2.d.ts +2382 -0
  91. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/https.d.ts +550 -0
  92. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/index.d.ts +88 -0
  93. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/inspector.d.ts +2747 -0
  94. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/module.d.ts +315 -0
  95. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/net.d.ts +949 -0
  96. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/os.d.ts +478 -0
  97. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/path.d.ts +191 -0
  98. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/perf_hooks.d.ts +645 -0
  99. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/process.d.ts +1561 -0
  100. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/punycode.d.ts +117 -0
  101. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/querystring.d.ts +141 -0
  102. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/readline/promises.d.ts +150 -0
  103. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/readline.d.ts +539 -0
  104. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/repl.d.ts +430 -0
  105. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/consumers.d.ts +12 -0
  106. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/promises.d.ts +83 -0
  107. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream/web.d.ts +366 -0
  108. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/stream.d.ts +1701 -0
  109. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/string_decoder.d.ts +67 -0
  110. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/test.d.ts +1465 -0
  111. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/timers/promises.d.ts +93 -0
  112. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/timers.d.ts +240 -0
  113. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/tls.d.ts +1210 -0
  114. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/trace_events.d.ts +182 -0
  115. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/tty.d.ts +208 -0
  116. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/url.d.ts +927 -0
  117. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/util.d.ts +2183 -0
  118. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/v8.d.ts +635 -0
  119. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/vm.d.ts +903 -0
  120. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/wasi.d.ts +179 -0
  121. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/worker_threads.d.ts +691 -0
  122. package/.cache/typescript/5.3/node_modules/@types/node/ts4.8/zlib.d.ts +517 -0
  123. package/.cache/typescript/5.3/node_modules/@types/node/tty.d.ts +208 -0
  124. package/.cache/typescript/5.3/node_modules/@types/node/url.d.ts +927 -0
  125. package/.cache/typescript/5.3/node_modules/@types/node/util.d.ts +2183 -0
  126. package/.cache/typescript/5.3/node_modules/@types/node/v8.d.ts +635 -0
  127. package/.cache/typescript/5.3/node_modules/@types/node/vm.d.ts +903 -0
  128. package/.cache/typescript/5.3/node_modules/@types/node/wasi.d.ts +179 -0
  129. package/.cache/typescript/5.3/node_modules/@types/node/worker_threads.d.ts +691 -0
  130. package/.cache/typescript/5.3/node_modules/@types/node/zlib.d.ts +517 -0
  131. package/.cache/typescript/5.3/node_modules/@types/npmlog/LICENSE +21 -0
  132. package/.cache/typescript/5.3/node_modules/@types/npmlog/README.md +15 -0
  133. package/.cache/typescript/5.3/node_modules/@types/npmlog/index.d.ts +84 -0
  134. package/.cache/typescript/5.3/node_modules/@types/npmlog/package.json +32 -0
  135. package/.cache/typescript/5.3/node_modules/@types/request/LICENSE +21 -0
  136. package/.cache/typescript/5.3/node_modules/@types/request/README.md +15 -0
  137. package/.cache/typescript/5.3/node_modules/@types/request/index.d.ts +395 -0
  138. package/.cache/typescript/5.3/node_modules/@types/request/package.json +70 -0
  139. package/.cache/typescript/5.3/node_modules/@types/tough-cookie/LICENSE +21 -0
  140. package/.cache/typescript/5.3/node_modules/@types/tough-cookie/README.md +15 -0
  141. package/.cache/typescript/5.3/node_modules/@types/tough-cookie/index.d.ts +321 -0
  142. package/.cache/typescript/5.3/node_modules/@types/tough-cookie/package.json +35 -0
  143. package/.cache/typescript/5.3/node_modules/asynckit/LICENSE +21 -0
  144. package/.cache/typescript/5.3/node_modules/asynckit/README.md +233 -0
  145. package/.cache/typescript/5.3/node_modules/asynckit/bench.js +76 -0
  146. package/.cache/typescript/5.3/node_modules/asynckit/index.js +6 -0
  147. package/.cache/typescript/5.3/node_modules/asynckit/lib/abort.js +29 -0
  148. package/.cache/typescript/5.3/node_modules/asynckit/lib/async.js +34 -0
  149. package/.cache/typescript/5.3/node_modules/asynckit/lib/defer.js +26 -0
  150. package/.cache/typescript/5.3/node_modules/asynckit/lib/iterate.js +75 -0
  151. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  152. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_parallel.js +25 -0
  153. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_serial.js +25 -0
  154. package/.cache/typescript/5.3/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  155. package/.cache/typescript/5.3/node_modules/asynckit/lib/state.js +37 -0
  156. package/.cache/typescript/5.3/node_modules/asynckit/lib/streamify.js +141 -0
  157. package/.cache/typescript/5.3/node_modules/asynckit/lib/terminator.js +29 -0
  158. package/.cache/typescript/5.3/node_modules/asynckit/package.json +63 -0
  159. package/.cache/typescript/5.3/node_modules/asynckit/parallel.js +43 -0
  160. package/.cache/typescript/5.3/node_modules/asynckit/serial.js +17 -0
  161. package/.cache/typescript/5.3/node_modules/asynckit/serialOrdered.js +75 -0
  162. package/.cache/typescript/5.3/node_modules/asynckit/stream.js +21 -0
  163. package/.cache/typescript/5.3/node_modules/combined-stream/License +19 -0
  164. package/.cache/typescript/5.3/node_modules/combined-stream/Readme.md +138 -0
  165. package/.cache/typescript/5.3/node_modules/combined-stream/lib/combined_stream.js +208 -0
  166. package/.cache/typescript/5.3/node_modules/combined-stream/package.json +25 -0
  167. package/.cache/typescript/5.3/node_modules/combined-stream/yarn.lock +17 -0
  168. package/.cache/typescript/5.3/node_modules/delayed-stream/License +19 -0
  169. package/.cache/typescript/5.3/node_modules/delayed-stream/Makefile +7 -0
  170. package/.cache/typescript/5.3/node_modules/delayed-stream/Readme.md +141 -0
  171. package/.cache/typescript/5.3/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  172. package/.cache/typescript/5.3/node_modules/delayed-stream/package.json +27 -0
  173. package/.cache/typescript/5.3/node_modules/form-data/License +19 -0
  174. package/.cache/typescript/5.3/node_modules/form-data/README.md +350 -0
  175. package/.cache/typescript/5.3/node_modules/form-data/README.md.bak +350 -0
  176. package/.cache/typescript/5.3/node_modules/form-data/index.d.ts +51 -0
  177. package/.cache/typescript/5.3/node_modules/form-data/lib/browser.js +2 -0
  178. package/.cache/typescript/5.3/node_modules/form-data/lib/form_data.js +483 -0
  179. package/.cache/typescript/5.3/node_modules/form-data/lib/populate.js +10 -0
  180. package/.cache/typescript/5.3/node_modules/form-data/package.json +68 -0
  181. package/.cache/typescript/5.3/node_modules/mime-db/HISTORY.md +507 -0
  182. package/.cache/typescript/5.3/node_modules/mime-db/LICENSE +23 -0
  183. package/.cache/typescript/5.3/node_modules/mime-db/README.md +100 -0
  184. package/.cache/typescript/5.3/node_modules/mime-db/db.json +8519 -0
  185. package/.cache/typescript/5.3/node_modules/mime-db/index.js +12 -0
  186. package/.cache/typescript/5.3/node_modules/mime-db/package.json +60 -0
  187. package/.cache/typescript/5.3/node_modules/mime-types/HISTORY.md +397 -0
  188. package/.cache/typescript/5.3/node_modules/mime-types/LICENSE +23 -0
  189. package/.cache/typescript/5.3/node_modules/mime-types/README.md +113 -0
  190. package/.cache/typescript/5.3/node_modules/mime-types/index.js +188 -0
  191. package/.cache/typescript/5.3/node_modules/mime-types/package.json +44 -0
  192. package/.cache/typescript/5.3/node_modules/types-registry/README.md +2 -0
  193. package/.cache/typescript/5.3/node_modules/types-registry/index.json +1 -0
  194. package/.cache/typescript/5.3/node_modules/types-registry/package.json +20 -0
  195. package/.cache/typescript/5.3/node_modules/undici-types/README.md +6 -0
  196. package/.cache/typescript/5.3/node_modules/undici-types/agent.d.ts +31 -0
  197. package/.cache/typescript/5.3/node_modules/undici-types/api.d.ts +43 -0
  198. package/.cache/typescript/5.3/node_modules/undici-types/balanced-pool.d.ts +18 -0
  199. package/.cache/typescript/5.3/node_modules/undici-types/cache.d.ts +36 -0
  200. package/.cache/typescript/5.3/node_modules/undici-types/client.d.ts +97 -0
  201. package/.cache/typescript/5.3/node_modules/undici-types/connector.d.ts +34 -0
  202. package/.cache/typescript/5.3/node_modules/undici-types/content-type.d.ts +21 -0
  203. package/.cache/typescript/5.3/node_modules/undici-types/cookies.d.ts +28 -0
  204. package/.cache/typescript/5.3/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
  205. package/.cache/typescript/5.3/node_modules/undici-types/dispatcher.d.ts +241 -0
  206. package/.cache/typescript/5.3/node_modules/undici-types/errors.d.ts +128 -0
  207. package/.cache/typescript/5.3/node_modules/undici-types/fetch.d.ts +209 -0
  208. package/.cache/typescript/5.3/node_modules/undici-types/file.d.ts +39 -0
  209. package/.cache/typescript/5.3/node_modules/undici-types/filereader.d.ts +54 -0
  210. package/.cache/typescript/5.3/node_modules/undici-types/formdata.d.ts +108 -0
  211. package/.cache/typescript/5.3/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  212. package/.cache/typescript/5.3/node_modules/undici-types/global-origin.d.ts +7 -0
  213. package/.cache/typescript/5.3/node_modules/undici-types/handlers.d.ts +9 -0
  214. package/.cache/typescript/5.3/node_modules/undici-types/header.d.ts +4 -0
  215. package/.cache/typescript/5.3/node_modules/undici-types/index.d.ts +63 -0
  216. package/.cache/typescript/5.3/node_modules/undici-types/interceptors.d.ts +5 -0
  217. package/.cache/typescript/5.3/node_modules/undici-types/mock-agent.d.ts +50 -0
  218. package/.cache/typescript/5.3/node_modules/undici-types/mock-client.d.ts +25 -0
  219. package/.cache/typescript/5.3/node_modules/undici-types/mock-errors.d.ts +12 -0
  220. package/.cache/typescript/5.3/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  221. package/.cache/typescript/5.3/node_modules/undici-types/mock-pool.d.ts +25 -0
  222. package/.cache/typescript/5.3/node_modules/undici-types/package.json +55 -0
  223. package/.cache/typescript/5.3/node_modules/undici-types/patch.d.ts +71 -0
  224. package/.cache/typescript/5.3/node_modules/undici-types/pool-stats.d.ts +19 -0
  225. package/.cache/typescript/5.3/node_modules/undici-types/pool.d.ts +28 -0
  226. package/.cache/typescript/5.3/node_modules/undici-types/proxy-agent.d.ts +30 -0
  227. package/.cache/typescript/5.3/node_modules/undici-types/readable.d.ts +61 -0
  228. package/.cache/typescript/5.3/node_modules/undici-types/webidl.d.ts +220 -0
  229. package/.cache/typescript/5.3/node_modules/undici-types/websocket.d.ts +131 -0
  230. package/.cache/typescript/5.3/package-lock.json +149 -0
  231. package/.cache/typescript/5.3/package.json +1 -0
  232. package/.replit +1 -0
  233. package/index.js +1 -0
  234. package/leiamnash/edit.js +59 -0
  235. package/package.json +1 -1
  236. package/.cache/replit/__replit_disk_meta.json +0 -1
  237. package/replit.nix +0 -6
@@ -0,0 +1,539 @@
1
+ /**
2
+ * We strongly discourage the use of the `async_hooks` API.
3
+ * Other APIs that can cover most of its use cases include:
4
+ *
5
+ * * `AsyncLocalStorage` tracks async context
6
+ * * `process.getActiveResourcesInfo()` tracks active resources
7
+ *
8
+ * The `node:async_hooks` module provides an API to track asynchronous resources.
9
+ * It can be accessed using:
10
+ *
11
+ * ```js
12
+ * import async_hooks from 'node:async_hooks';
13
+ * ```
14
+ * @experimental
15
+ * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/async_hooks.js)
16
+ */
17
+ declare module "async_hooks" {
18
+ /**
19
+ * ```js
20
+ * import { executionAsyncId } from 'node:async_hooks';
21
+ * import fs from 'node:fs';
22
+ *
23
+ * console.log(executionAsyncId()); // 1 - bootstrap
24
+ * const path = '.';
25
+ * fs.open(path, 'r', (err, fd) => {
26
+ * console.log(executionAsyncId()); // 6 - open()
27
+ * });
28
+ * ```
29
+ *
30
+ * The ID returned from `executionAsyncId()` is related to execution timing, not
31
+ * causality (which is covered by `triggerAsyncId()`):
32
+ *
33
+ * ```js
34
+ * const server = net.createServer((conn) => {
35
+ * // Returns the ID of the server, not of the new connection, because the
36
+ * // callback runs in the execution scope of the server's MakeCallback().
37
+ * async_hooks.executionAsyncId();
38
+ *
39
+ * }).listen(port, () => {
40
+ * // Returns the ID of a TickObject (process.nextTick()) because all
41
+ * // callbacks passed to .listen() are wrapped in a nextTick().
42
+ * async_hooks.executionAsyncId();
43
+ * });
44
+ * ```
45
+ *
46
+ * Promise contexts may not get precise `executionAsyncIds` by default.
47
+ * See the section on `promise execution tracking`.
48
+ * @since v8.1.0
49
+ * @return The `asyncId` of the current execution context. Useful to track when something calls.
50
+ */
51
+ function executionAsyncId(): number;
52
+ /**
53
+ * Resource objects returned by `executionAsyncResource()` are most often internal
54
+ * Node.js handle objects with undocumented APIs. Using any functions or properties
55
+ * on the object is likely to crash your application and should be avoided.
56
+ *
57
+ * Using `executionAsyncResource()` in the top-level execution context will
58
+ * return an empty object as there is no handle or request object to use,
59
+ * but having an object representing the top-level can be helpful.
60
+ *
61
+ * ```js
62
+ * import { open } from 'node:fs';
63
+ * import { executionAsyncId, executionAsyncResource } from 'node:async_hooks';
64
+ *
65
+ * console.log(executionAsyncId(), executionAsyncResource()); // 1 {}
66
+ * open(new URL(import.meta.url), 'r', (err, fd) => {
67
+ * console.log(executionAsyncId(), executionAsyncResource()); // 7 FSReqWrap
68
+ * });
69
+ * ```
70
+ *
71
+ * This can be used to implement continuation local storage without the
72
+ * use of a tracking `Map` to store the metadata:
73
+ *
74
+ * ```js
75
+ * import { createServer } from 'node:http';
76
+ * import {
77
+ * executionAsyncId,
78
+ * executionAsyncResource,
79
+ * createHook,
80
+ * } from 'async_hooks';
81
+ * const sym = Symbol('state'); // Private symbol to avoid pollution
82
+ *
83
+ * createHook({
84
+ * init(asyncId, type, triggerAsyncId, resource) {
85
+ * const cr = executionAsyncResource();
86
+ * if (cr) {
87
+ * resource[sym] = cr[sym];
88
+ * }
89
+ * },
90
+ * }).enable();
91
+ *
92
+ * const server = createServer((req, res) => {
93
+ * executionAsyncResource()[sym] = { state: req.url };
94
+ * setTimeout(function() {
95
+ * res.end(JSON.stringify(executionAsyncResource()[sym]));
96
+ * }, 100);
97
+ * }).listen(3000);
98
+ * ```
99
+ * @since v13.9.0, v12.17.0
100
+ * @return The resource representing the current execution. Useful to store data within the resource.
101
+ */
102
+ function executionAsyncResource(): object;
103
+ /**
104
+ * ```js
105
+ * const server = net.createServer((conn) => {
106
+ * // The resource that caused (or triggered) this callback to be called
107
+ * // was that of the new connection. Thus the return value of triggerAsyncId()
108
+ * // is the asyncId of "conn".
109
+ * async_hooks.triggerAsyncId();
110
+ *
111
+ * }).listen(port, () => {
112
+ * // Even though all callbacks passed to .listen() are wrapped in a nextTick()
113
+ * // the callback itself exists because the call to the server's .listen()
114
+ * // was made. So the return value would be the ID of the server.
115
+ * async_hooks.triggerAsyncId();
116
+ * });
117
+ * ```
118
+ *
119
+ * Promise contexts may not get valid `triggerAsyncId`s by default. See
120
+ * the section on `promise execution tracking`.
121
+ * @return The ID of the resource responsible for calling the callback that is currently being executed.
122
+ */
123
+ function triggerAsyncId(): number;
124
+ interface HookCallbacks {
125
+ /**
126
+ * Called when a class is constructed that has the possibility to emit an asynchronous event.
127
+ * @param asyncId a unique ID for the async resource
128
+ * @param type the type of the async resource
129
+ * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created
130
+ * @param resource reference to the resource representing the async operation, needs to be released during destroy
131
+ */
132
+ init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void;
133
+ /**
134
+ * When an asynchronous operation is initiated or completes a callback is called to notify the user.
135
+ * The before callback is called just before said callback is executed.
136
+ * @param asyncId the unique identifier assigned to the resource about to execute the callback.
137
+ */
138
+ before?(asyncId: number): void;
139
+ /**
140
+ * Called immediately after the callback specified in before is completed.
141
+ * @param asyncId the unique identifier assigned to the resource which has executed the callback.
142
+ */
143
+ after?(asyncId: number): void;
144
+ /**
145
+ * Called when a promise has resolve() called. This may not be in the same execution id
146
+ * as the promise itself.
147
+ * @param asyncId the unique id for the promise that was resolve()d.
148
+ */
149
+ promiseResolve?(asyncId: number): void;
150
+ /**
151
+ * Called after the resource corresponding to asyncId is destroyed
152
+ * @param asyncId a unique ID for the async resource
153
+ */
154
+ destroy?(asyncId: number): void;
155
+ }
156
+ interface AsyncHook {
157
+ /**
158
+ * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop.
159
+ */
160
+ enable(): this;
161
+ /**
162
+ * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled.
163
+ */
164
+ disable(): this;
165
+ }
166
+ /**
167
+ * Registers functions to be called for different lifetime events of each async
168
+ * operation.
169
+ *
170
+ * The callbacks `init()`/`before()`/`after()`/`destroy()` are called for the
171
+ * respective asynchronous event during a resource's lifetime.
172
+ *
173
+ * All callbacks are optional. For example, if only resource cleanup needs to
174
+ * be tracked, then only the `destroy` callback needs to be passed. The
175
+ * specifics of all functions that can be passed to `callbacks` is in the `Hook Callbacks` section.
176
+ *
177
+ * ```js
178
+ * import { createHook } from 'node:async_hooks';
179
+ *
180
+ * const asyncHook = createHook({
181
+ * init(asyncId, type, triggerAsyncId, resource) { },
182
+ * destroy(asyncId) { },
183
+ * });
184
+ * ```
185
+ *
186
+ * The callbacks will be inherited via the prototype chain:
187
+ *
188
+ * ```js
189
+ * class MyAsyncCallbacks {
190
+ * init(asyncId, type, triggerAsyncId, resource) { }
191
+ * destroy(asyncId) {}
192
+ * }
193
+ *
194
+ * class MyAddedCallbacks extends MyAsyncCallbacks {
195
+ * before(asyncId) { }
196
+ * after(asyncId) { }
197
+ * }
198
+ *
199
+ * const asyncHook = async_hooks.createHook(new MyAddedCallbacks());
200
+ * ```
201
+ *
202
+ * Because promises are asynchronous resources whose lifecycle is tracked
203
+ * via the async hooks mechanism, the `init()`, `before()`, `after()`, and`destroy()` callbacks _must not_ be async functions that return promises.
204
+ * @since v8.1.0
205
+ * @param callbacks The `Hook Callbacks` to register
206
+ * @return Instance used for disabling and enabling hooks
207
+ */
208
+ function createHook(callbacks: HookCallbacks): AsyncHook;
209
+ interface AsyncResourceOptions {
210
+ /**
211
+ * The ID of the execution context that created this async event.
212
+ * @default executionAsyncId()
213
+ */
214
+ triggerAsyncId?: number | undefined;
215
+ /**
216
+ * Disables automatic `emitDestroy` when the object is garbage collected.
217
+ * This usually does not need to be set (even if `emitDestroy` is called
218
+ * manually), unless the resource's `asyncId` is retrieved and the
219
+ * sensitive API's `emitDestroy` is called with it.
220
+ * @default false
221
+ */
222
+ requireManualDestroy?: boolean | undefined;
223
+ }
224
+ /**
225
+ * The class `AsyncResource` is designed to be extended by the embedder's async
226
+ * resources. Using this, users can easily trigger the lifetime events of their
227
+ * own resources.
228
+ *
229
+ * The `init` hook will trigger when an `AsyncResource` is instantiated.
230
+ *
231
+ * The following is an overview of the `AsyncResource` API.
232
+ *
233
+ * ```js
234
+ * import { AsyncResource, executionAsyncId } from 'node:async_hooks';
235
+ *
236
+ * // AsyncResource() is meant to be extended. Instantiating a
237
+ * // new AsyncResource() also triggers init. If triggerAsyncId is omitted then
238
+ * // async_hook.executionAsyncId() is used.
239
+ * const asyncResource = new AsyncResource(
240
+ * type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false },
241
+ * );
242
+ *
243
+ * // Run a function in the execution context of the resource. This will
244
+ * // * establish the context of the resource
245
+ * // * trigger the AsyncHooks before callbacks
246
+ * // * call the provided function `fn` with the supplied arguments
247
+ * // * trigger the AsyncHooks after callbacks
248
+ * // * restore the original execution context
249
+ * asyncResource.runInAsyncScope(fn, thisArg, ...args);
250
+ *
251
+ * // Call AsyncHooks destroy callbacks.
252
+ * asyncResource.emitDestroy();
253
+ *
254
+ * // Return the unique ID assigned to the AsyncResource instance.
255
+ * asyncResource.asyncId();
256
+ *
257
+ * // Return the trigger ID for the AsyncResource instance.
258
+ * asyncResource.triggerAsyncId();
259
+ * ```
260
+ */
261
+ class AsyncResource {
262
+ /**
263
+ * AsyncResource() is meant to be extended. Instantiating a
264
+ * new AsyncResource() also triggers init. If triggerAsyncId is omitted then
265
+ * async_hook.executionAsyncId() is used.
266
+ * @param type The type of async event.
267
+ * @param triggerAsyncId The ID of the execution context that created
268
+ * this async event (default: `executionAsyncId()`), or an
269
+ * AsyncResourceOptions object (since v9.3.0)
270
+ */
271
+ constructor(type: string, triggerAsyncId?: number | AsyncResourceOptions);
272
+ /**
273
+ * Binds the given function to the current execution context.
274
+ * @since v14.8.0, v12.19.0
275
+ * @param fn The function to bind to the current execution context.
276
+ * @param type An optional name to associate with the underlying `AsyncResource`.
277
+ */
278
+ static bind<Func extends (this: ThisArg, ...args: any[]) => any, ThisArg>(
279
+ fn: Func,
280
+ type?: string,
281
+ thisArg?: ThisArg,
282
+ ): Func;
283
+ /**
284
+ * Binds the given function to execute to this `AsyncResource`'s scope.
285
+ * @since v14.8.0, v12.19.0
286
+ * @param fn The function to bind to the current `AsyncResource`.
287
+ */
288
+ bind<Func extends (...args: any[]) => any>(fn: Func): Func;
289
+ /**
290
+ * Call the provided function with the provided arguments in the execution context
291
+ * of the async resource. This will establish the context, trigger the AsyncHooks
292
+ * before callbacks, call the function, trigger the AsyncHooks after callbacks, and
293
+ * then restore the original execution context.
294
+ * @since v9.6.0
295
+ * @param fn The function to call in the execution context of this async resource.
296
+ * @param thisArg The receiver to be used for the function call.
297
+ * @param args Optional arguments to pass to the function.
298
+ */
299
+ runInAsyncScope<This, Result>(
300
+ fn: (this: This, ...args: any[]) => Result,
301
+ thisArg?: This,
302
+ ...args: any[]
303
+ ): Result;
304
+ /**
305
+ * Call all `destroy` hooks. This should only ever be called once. An error will
306
+ * be thrown if it is called more than once. This **must** be manually called. If
307
+ * the resource is left to be collected by the GC then the `destroy` hooks will
308
+ * never be called.
309
+ * @return A reference to `asyncResource`.
310
+ */
311
+ emitDestroy(): this;
312
+ /**
313
+ * @return The unique `asyncId` assigned to the resource.
314
+ */
315
+ asyncId(): number;
316
+ /**
317
+ * @return The same `triggerAsyncId` that is passed to the `AsyncResource` constructor.
318
+ */
319
+ triggerAsyncId(): number;
320
+ }
321
+ /**
322
+ * This class creates stores that stay coherent through asynchronous operations.
323
+ *
324
+ * While you can create your own implementation on top of the `node:async_hooks`module, `AsyncLocalStorage` should be preferred as it is a performant and memory
325
+ * safe implementation that involves significant optimizations that are non-obvious
326
+ * to implement.
327
+ *
328
+ * The following example uses `AsyncLocalStorage` to build a simple logger
329
+ * that assigns IDs to incoming HTTP requests and includes them in messages
330
+ * logged within each request.
331
+ *
332
+ * ```js
333
+ * import http from 'node:http';
334
+ * import { AsyncLocalStorage } from 'node:async_hooks';
335
+ *
336
+ * const asyncLocalStorage = new AsyncLocalStorage();
337
+ *
338
+ * function logWithId(msg) {
339
+ * const id = asyncLocalStorage.getStore();
340
+ * console.log(`${id !== undefined ? id : '-'}:`, msg);
341
+ * }
342
+ *
343
+ * let idSeq = 0;
344
+ * http.createServer((req, res) => {
345
+ * asyncLocalStorage.run(idSeq++, () => {
346
+ * logWithId('start');
347
+ * // Imagine any chain of async operations here
348
+ * setImmediate(() => {
349
+ * logWithId('finish');
350
+ * res.end();
351
+ * });
352
+ * });
353
+ * }).listen(8080);
354
+ *
355
+ * http.get('http://localhost:8080');
356
+ * http.get('http://localhost:8080');
357
+ * // Prints:
358
+ * // 0: start
359
+ * // 1: start
360
+ * // 0: finish
361
+ * // 1: finish
362
+ * ```
363
+ *
364
+ * Each instance of `AsyncLocalStorage` maintains an independent storage context.
365
+ * Multiple instances can safely exist simultaneously without risk of interfering
366
+ * with each other's data.
367
+ * @since v13.10.0, v12.17.0
368
+ */
369
+ class AsyncLocalStorage<T> {
370
+ /**
371
+ * Binds the given function to the current execution context.
372
+ * @since v19.8.0
373
+ * @experimental
374
+ * @param fn The function to bind to the current execution context.
375
+ * @return A new function that calls `fn` within the captured execution context.
376
+ */
377
+ static bind<Func extends (...args: any[]) => any>(fn: Func): Func;
378
+ /**
379
+ * Captures the current execution context and returns a function that accepts a
380
+ * function as an argument. Whenever the returned function is called, it
381
+ * calls the function passed to it within the captured context.
382
+ *
383
+ * ```js
384
+ * const asyncLocalStorage = new AsyncLocalStorage();
385
+ * const runInAsyncScope = asyncLocalStorage.run(123, () => AsyncLocalStorage.snapshot());
386
+ * const result = asyncLocalStorage.run(321, () => runInAsyncScope(() => asyncLocalStorage.getStore()));
387
+ * console.log(result); // returns 123
388
+ * ```
389
+ *
390
+ * AsyncLocalStorage.snapshot() can replace the use of AsyncResource for simple
391
+ * async context tracking purposes, for example:
392
+ *
393
+ * ```js
394
+ * class Foo {
395
+ * #runInAsyncScope = AsyncLocalStorage.snapshot();
396
+ *
397
+ * get() { return this.#runInAsyncScope(() => asyncLocalStorage.getStore()); }
398
+ * }
399
+ *
400
+ * const foo = asyncLocalStorage.run(123, () => new Foo());
401
+ * console.log(asyncLocalStorage.run(321, () => foo.get())); // returns 123
402
+ * ```
403
+ * @since v19.8.0
404
+ * @experimental
405
+ * @return A new function with the signature `(fn: (...args) : R, ...args) : R`.
406
+ */
407
+ static snapshot(): <R, TArgs extends any[]>(fn: (...args: TArgs) => R, ...args: TArgs) => R;
408
+ /**
409
+ * Disables the instance of `AsyncLocalStorage`. All subsequent calls
410
+ * to `asyncLocalStorage.getStore()` will return `undefined` until`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
411
+ *
412
+ * When calling `asyncLocalStorage.disable()`, all current contexts linked to the
413
+ * instance will be exited.
414
+ *
415
+ * Calling `asyncLocalStorage.disable()` is required before the`asyncLocalStorage` can be garbage collected. This does not apply to stores
416
+ * provided by the `asyncLocalStorage`, as those objects are garbage collected
417
+ * along with the corresponding async resources.
418
+ *
419
+ * Use this method when the `asyncLocalStorage` is not in use anymore
420
+ * in the current process.
421
+ * @since v13.10.0, v12.17.0
422
+ * @experimental
423
+ */
424
+ disable(): void;
425
+ /**
426
+ * Returns the current store.
427
+ * If called outside of an asynchronous context initialized by
428
+ * calling `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()`, it
429
+ * returns `undefined`.
430
+ * @since v13.10.0, v12.17.0
431
+ */
432
+ getStore(): T | undefined;
433
+ /**
434
+ * Runs a function synchronously within a context and returns its
435
+ * return value. The store is not accessible outside of the callback function.
436
+ * The store is accessible to any asynchronous operations created within the
437
+ * callback.
438
+ *
439
+ * The optional `args` are passed to the callback function.
440
+ *
441
+ * If the callback function throws an error, the error is thrown by `run()` too.
442
+ * The stacktrace is not impacted by this call and the context is exited.
443
+ *
444
+ * Example:
445
+ *
446
+ * ```js
447
+ * const store = { id: 2 };
448
+ * try {
449
+ * asyncLocalStorage.run(store, () => {
450
+ * asyncLocalStorage.getStore(); // Returns the store object
451
+ * setTimeout(() => {
452
+ * asyncLocalStorage.getStore(); // Returns the store object
453
+ * }, 200);
454
+ * throw new Error();
455
+ * });
456
+ * } catch (e) {
457
+ * asyncLocalStorage.getStore(); // Returns undefined
458
+ * // The error will be caught here
459
+ * }
460
+ * ```
461
+ * @since v13.10.0, v12.17.0
462
+ */
463
+ run<R>(store: T, callback: () => R): R;
464
+ run<R, TArgs extends any[]>(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R;
465
+ /**
466
+ * Runs a function synchronously outside of a context and returns its
467
+ * return value. The store is not accessible within the callback function or
468
+ * the asynchronous operations created within the callback. Any `getStore()`call done within the callback function will always return `undefined`.
469
+ *
470
+ * The optional `args` are passed to the callback function.
471
+ *
472
+ * If the callback function throws an error, the error is thrown by `exit()` too.
473
+ * The stacktrace is not impacted by this call and the context is re-entered.
474
+ *
475
+ * Example:
476
+ *
477
+ * ```js
478
+ * // Within a call to run
479
+ * try {
480
+ * asyncLocalStorage.getStore(); // Returns the store object or value
481
+ * asyncLocalStorage.exit(() => {
482
+ * asyncLocalStorage.getStore(); // Returns undefined
483
+ * throw new Error();
484
+ * });
485
+ * } catch (e) {
486
+ * asyncLocalStorage.getStore(); // Returns the same object or value
487
+ * // The error will be caught here
488
+ * }
489
+ * ```
490
+ * @since v13.10.0, v12.17.0
491
+ * @experimental
492
+ */
493
+ exit<R, TArgs extends any[]>(callback: (...args: TArgs) => R, ...args: TArgs): R;
494
+ /**
495
+ * Transitions into the context for the remainder of the current
496
+ * synchronous execution and then persists the store through any following
497
+ * asynchronous calls.
498
+ *
499
+ * Example:
500
+ *
501
+ * ```js
502
+ * const store = { id: 1 };
503
+ * // Replaces previous store with the given store object
504
+ * asyncLocalStorage.enterWith(store);
505
+ * asyncLocalStorage.getStore(); // Returns the store object
506
+ * someAsyncOperation(() => {
507
+ * asyncLocalStorage.getStore(); // Returns the same object
508
+ * });
509
+ * ```
510
+ *
511
+ * This transition will continue for the _entire_ synchronous execution.
512
+ * This means that if, for example, the context is entered within an event
513
+ * handler subsequent event handlers will also run within that context unless
514
+ * specifically bound to another context with an `AsyncResource`. That is why`run()` should be preferred over `enterWith()` unless there are strong reasons
515
+ * to use the latter method.
516
+ *
517
+ * ```js
518
+ * const store = { id: 1 };
519
+ *
520
+ * emitter.on('my-event', () => {
521
+ * asyncLocalStorage.enterWith(store);
522
+ * });
523
+ * emitter.on('my-event', () => {
524
+ * asyncLocalStorage.getStore(); // Returns the same object
525
+ * });
526
+ *
527
+ * asyncLocalStorage.getStore(); // Returns undefined
528
+ * emitter.emit('my-event');
529
+ * asyncLocalStorage.getStore(); // Returns the same object
530
+ * ```
531
+ * @since v13.11.0, v12.17.0
532
+ * @experimental
533
+ */
534
+ enterWith(store: T): void;
535
+ }
536
+ }
537
+ declare module "node:async_hooks" {
538
+ export * from "async_hooks";
539
+ }