alicezetion 1.9.7 → 1.9.8

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