fca-smart-shankar 12.0.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/.replit +12 -3
  2. package/.upm/store.json +1 -0
  3. package/CHANGELOG.md +2 -0
  4. package/README.md +0 -1
  5. package/generated-icon.png +0 -0
  6. package/index.js +507 -437
  7. package/package.json +378 -42
  8. package/replit.nix +3 -1
  9. package/shankar-fca.json +4 -0
  10. package/src/addUserToGroup.js +3 -3
  11. package/src/changeAdminStatus.js +2 -2
  12. package/src/changeArchivedStatus.js +2 -2
  13. package/src/changeAvatar.js +8 -8
  14. package/src/changeAvatarV2.js +1 -1
  15. package/src/changeBio.js +4 -4
  16. package/src/changeBlockedStatus.js +2 -2
  17. package/src/changeCover.js +2 -2
  18. package/src/changeGroupImage.js +4 -4
  19. package/src/changeName.js +2 -2
  20. package/src/changeNickname.js +2 -2
  21. package/src/changeThreadColor.js +3 -3
  22. package/src/changeThreadEmoji.js +2 -2
  23. package/src/changeUsername.js +3 -3
  24. package/src/createCommentPost.js +5 -5
  25. package/src/createNewGroup.js +5 -5
  26. package/src/createPoll.js +2 -2
  27. package/src/createPost.js +6 -5
  28. package/src/deleteMessage.js +2 -2
  29. package/src/deleteThread.js +2 -2
  30. package/src/editMessage.js +30 -18
  31. package/src/follow.js +8 -8
  32. package/src/forwardAttachment.js +2 -2
  33. package/src/getAccess.js +2 -2
  34. package/src/getAvatarUser.js +2 -2
  35. package/src/getCurrentUserID.js +4 -4
  36. package/src/getFriendsList.js +3 -3
  37. package/src/getMessage.js +2 -2
  38. package/src/getThreadHistory.js +2 -2
  39. package/src/getThreadHistoryDeprecated.js +2 -2
  40. package/src/getThreadInfo.js +1 -1
  41. package/src/getThreadInfoDeprecated.js +2 -2
  42. package/src/getThreadList.js +3 -3
  43. package/src/getThreadListDeprecated.js +3 -3
  44. package/src/getThreadPictures.js +2 -2
  45. package/src/getUID.js +4 -4
  46. package/src/getUserID.js +3 -3
  47. package/src/getUserInfo.js +52 -18
  48. package/src/handleFriendRequest.js +5 -5
  49. package/src/handleMessageRequest.js +2 -2
  50. package/src/httpGet.js +3 -3
  51. package/src/httpPost.js +3 -3
  52. package/src/httpPostFormData.js +3 -3
  53. package/src/listenMqtt.js +648 -659
  54. package/src/listenNotification.js +1 -1
  55. package/src/logout.js +3 -3
  56. package/src/markAsDelivered.js +5 -2
  57. package/src/markAsRead.js +5 -2
  58. package/src/markAsReadAll.js +2 -2
  59. package/src/markAsSeen.js +2 -2
  60. package/src/muteThread.js +2 -2
  61. package/src/refreshFb_dtsg.js +3 -3
  62. package/src/removeUserFromGroup.js +2 -2
  63. package/src/resolvePhotoUrl.js +2 -2
  64. package/src/searchStickers.js +1 -1
  65. package/src/sendMessage.js +11 -8
  66. package/src/sendMessageMqtt.js +4 -4
  67. package/src/sendTypingIndicator.js +14 -5
  68. package/src/sendTypingIndicatorV2.js +1 -1
  69. package/src/setMessageReaction.js +3 -3
  70. package/src/setPostReaction.js +4 -4
  71. package/src/setProfileGuard.js +3 -3
  72. package/src/setStoryReaction.js +1 -1
  73. package/src/setTitle.js +3 -3
  74. package/src/shareContact.js +1 -1
  75. package/src/shareLink.js +1 -1
  76. package/src/stopListenMqtt.js +5 -2
  77. package/src/unfriend.js +2 -2
  78. package/src/unsendMessage.js +2 -2
  79. package/src/uploadAttachment.js +2 -2
  80. package/test/data/shareAttach.js +146 -0
  81. package/test/data/something.mov +0 -0
  82. package/test/data/test.png +0 -0
  83. package/test/data/test.txt +7 -0
  84. package/test/test-page.js +1 -1
  85. package/utils.js +564 -391
  86. package/.cache/nix/binary-cache-v6.sqlite +0 -0
  87. package/.cache/nix/binary-cache-v6.sqlite-journal +0 -0
  88. package/.cache/replit/env/latest +0 -125
  89. package/.cache/replit/env/latest.json +0 -1
  90. package/.cache/replit/modules/nix.res +0 -1
  91. package/.cache/replit/modules/nodejs-20.res +0 -1
  92. package/.cache/replit/modules/replit.res +0 -1
  93. package/.cache/replit/modules.stamp +0 -0
  94. package/.cache/replit/nix/env.json +0 -1
  95. package/.cache/typescript/5.6/node_modules/.package-lock.json +0 -171
  96. package/.cache/typescript/5.6/node_modules/@types/bluebird/LICENSE +0 -21
  97. package/.cache/typescript/5.6/node_modules/@types/bluebird/README.md +0 -15
  98. package/.cache/typescript/5.6/node_modules/@types/bluebird/index.d.ts +0 -1365
  99. package/.cache/typescript/5.6/node_modules/@types/bluebird/package.json +0 -25
  100. package/.cache/typescript/5.6/node_modules/@types/caseless/LICENSE +0 -21
  101. package/.cache/typescript/5.6/node_modules/@types/caseless/README.md +0 -48
  102. package/.cache/typescript/5.6/node_modules/@types/caseless/index.d.ts +0 -29
  103. package/.cache/typescript/5.6/node_modules/@types/caseless/package.json +0 -35
  104. package/.cache/typescript/5.6/node_modules/@types/cheerio/LICENSE +0 -21
  105. package/.cache/typescript/5.6/node_modules/@types/cheerio/README.md +0 -15
  106. package/.cache/typescript/5.6/node_modules/@types/cheerio/index.d.ts +0 -318
  107. package/.cache/typescript/5.6/node_modules/@types/cheerio/package.json +0 -71
  108. package/.cache/typescript/5.6/node_modules/@types/mocha/LICENSE +0 -21
  109. package/.cache/typescript/5.6/node_modules/@types/mocha/README.md +0 -15
  110. package/.cache/typescript/5.6/node_modules/@types/mocha/index.d.ts +0 -2929
  111. package/.cache/typescript/5.6/node_modules/@types/mocha/package.json +0 -56
  112. package/.cache/typescript/5.6/node_modules/@types/node/LICENSE +0 -21
  113. package/.cache/typescript/5.6/node_modules/@types/node/README.md +0 -15
  114. package/.cache/typescript/5.6/node_modules/@types/node/assert/strict.d.ts +0 -8
  115. package/.cache/typescript/5.6/node_modules/@types/node/assert.d.ts +0 -1040
  116. package/.cache/typescript/5.6/node_modules/@types/node/async_hooks.d.ts +0 -541
  117. package/.cache/typescript/5.6/node_modules/@types/node/buffer.buffer.d.ts +0 -385
  118. package/.cache/typescript/5.6/node_modules/@types/node/buffer.d.ts +0 -1933
  119. package/.cache/typescript/5.6/node_modules/@types/node/child_process.d.ts +0 -1549
  120. package/.cache/typescript/5.6/node_modules/@types/node/cluster.d.ts +0 -579
  121. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  122. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/index.d.ts +0 -9
  123. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/indexable.d.ts +0 -23
  124. package/.cache/typescript/5.6/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  125. package/.cache/typescript/5.6/node_modules/@types/node/console.d.ts +0 -452
  126. package/.cache/typescript/5.6/node_modules/@types/node/constants.d.ts +0 -19
  127. package/.cache/typescript/5.6/node_modules/@types/node/crypto.d.ts +0 -4475
  128. package/.cache/typescript/5.6/node_modules/@types/node/dgram.d.ts +0 -596
  129. package/.cache/typescript/5.6/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  130. package/.cache/typescript/5.6/node_modules/@types/node/dns/promises.d.ts +0 -476
  131. package/.cache/typescript/5.6/node_modules/@types/node/dns.d.ts +0 -865
  132. package/.cache/typescript/5.6/node_modules/@types/node/dom-events.d.ts +0 -124
  133. package/.cache/typescript/5.6/node_modules/@types/node/domain.d.ts +0 -170
  134. package/.cache/typescript/5.6/node_modules/@types/node/events.d.ts +0 -931
  135. package/.cache/typescript/5.6/node_modules/@types/node/fs/promises.d.ts +0 -1275
  136. package/.cache/typescript/5.6/node_modules/@types/node/fs.d.ts +0 -4396
  137. package/.cache/typescript/5.6/node_modules/@types/node/globals.d.ts +0 -566
  138. package/.cache/typescript/5.6/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  139. package/.cache/typescript/5.6/node_modules/@types/node/http.d.ts +0 -1958
  140. package/.cache/typescript/5.6/node_modules/@types/node/http2.d.ts +0 -2558
  141. package/.cache/typescript/5.6/node_modules/@types/node/https.d.ts +0 -543
  142. package/.cache/typescript/5.6/node_modules/@types/node/index.d.ts +0 -92
  143. package/.cache/typescript/5.6/node_modules/@types/node/inspector.d.ts +0 -3966
  144. package/.cache/typescript/5.6/node_modules/@types/node/module.d.ts +0 -402
  145. package/.cache/typescript/5.6/node_modules/@types/node/net.d.ts +0 -1001
  146. package/.cache/typescript/5.6/node_modules/@types/node/os.d.ts +0 -495
  147. package/.cache/typescript/5.6/node_modules/@types/node/package.json +0 -220
  148. package/.cache/typescript/5.6/node_modules/@types/node/path.d.ts +0 -200
  149. package/.cache/typescript/5.6/node_modules/@types/node/perf_hooks.d.ts +0 -965
  150. package/.cache/typescript/5.6/node_modules/@types/node/process.d.ts +0 -1963
  151. package/.cache/typescript/5.6/node_modules/@types/node/punycode.d.ts +0 -117
  152. package/.cache/typescript/5.6/node_modules/@types/node/querystring.d.ts +0 -153
  153. package/.cache/typescript/5.6/node_modules/@types/node/readline/promises.d.ts +0 -162
  154. package/.cache/typescript/5.6/node_modules/@types/node/readline.d.ts +0 -589
  155. package/.cache/typescript/5.6/node_modules/@types/node/repl.d.ts +0 -430
  156. package/.cache/typescript/5.6/node_modules/@types/node/sea.d.ts +0 -153
  157. package/.cache/typescript/5.6/node_modules/@types/node/sqlite.d.ts +0 -213
  158. package/.cache/typescript/5.6/node_modules/@types/node/stream/consumers.d.ts +0 -12
  159. package/.cache/typescript/5.6/node_modules/@types/node/stream/promises.d.ts +0 -90
  160. package/.cache/typescript/5.6/node_modules/@types/node/stream/web.d.ts +0 -609
  161. package/.cache/typescript/5.6/node_modules/@types/node/stream.d.ts +0 -1726
  162. package/.cache/typescript/5.6/node_modules/@types/node/string_decoder.d.ts +0 -67
  163. package/.cache/typescript/5.6/node_modules/@types/node/test.d.ts +0 -2248
  164. package/.cache/typescript/5.6/node_modules/@types/node/timers/promises.d.ts +0 -97
  165. package/.cache/typescript/5.6/node_modules/@types/node/timers.d.ts +0 -240
  166. package/.cache/typescript/5.6/node_modules/@types/node/tls.d.ts +0 -1226
  167. package/.cache/typescript/5.6/node_modules/@types/node/trace_events.d.ts +0 -197
  168. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -385
  169. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  170. package/.cache/typescript/5.6/node_modules/@types/node/ts5.6/index.d.ts +0 -92
  171. package/.cache/typescript/5.6/node_modules/@types/node/tty.d.ts +0 -208
  172. package/.cache/typescript/5.6/node_modules/@types/node/url.d.ts +0 -972
  173. package/.cache/typescript/5.6/node_modules/@types/node/util.d.ts +0 -2371
  174. package/.cache/typescript/5.6/node_modules/@types/node/v8.d.ts +0 -808
  175. package/.cache/typescript/5.6/node_modules/@types/node/vm.d.ts +0 -976
  176. package/.cache/typescript/5.6/node_modules/@types/node/wasi.d.ts +0 -181
  177. package/.cache/typescript/5.6/node_modules/@types/node/worker_threads.d.ts +0 -745
  178. package/.cache/typescript/5.6/node_modules/@types/node/zlib.d.ts +0 -539
  179. package/.cache/typescript/5.6/node_modules/@types/request/LICENSE +0 -21
  180. package/.cache/typescript/5.6/node_modules/@types/request/README.md +0 -15
  181. package/.cache/typescript/5.6/node_modules/@types/request/index.d.ts +0 -395
  182. package/.cache/typescript/5.6/node_modules/@types/request/package.json +0 -70
  183. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/LICENSE +0 -21
  184. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/README.md +0 -15
  185. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/index.d.ts +0 -321
  186. package/.cache/typescript/5.6/node_modules/@types/tough-cookie/package.json +0 -35
  187. package/.cache/typescript/5.6/node_modules/asynckit/LICENSE +0 -21
  188. package/.cache/typescript/5.6/node_modules/asynckit/README.md +0 -233
  189. package/.cache/typescript/5.6/node_modules/asynckit/bench.js +0 -76
  190. package/.cache/typescript/5.6/node_modules/asynckit/index.js +0 -6
  191. package/.cache/typescript/5.6/node_modules/asynckit/lib/abort.js +0 -29
  192. package/.cache/typescript/5.6/node_modules/asynckit/lib/async.js +0 -34
  193. package/.cache/typescript/5.6/node_modules/asynckit/lib/defer.js +0 -26
  194. package/.cache/typescript/5.6/node_modules/asynckit/lib/iterate.js +0 -75
  195. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  196. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_parallel.js +0 -25
  197. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_serial.js +0 -25
  198. package/.cache/typescript/5.6/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  199. package/.cache/typescript/5.6/node_modules/asynckit/lib/state.js +0 -37
  200. package/.cache/typescript/5.6/node_modules/asynckit/lib/streamify.js +0 -141
  201. package/.cache/typescript/5.6/node_modules/asynckit/lib/terminator.js +0 -29
  202. package/.cache/typescript/5.6/node_modules/asynckit/package.json +0 -63
  203. package/.cache/typescript/5.6/node_modules/asynckit/parallel.js +0 -43
  204. package/.cache/typescript/5.6/node_modules/asynckit/serial.js +0 -17
  205. package/.cache/typescript/5.6/node_modules/asynckit/serialOrdered.js +0 -75
  206. package/.cache/typescript/5.6/node_modules/asynckit/stream.js +0 -21
  207. package/.cache/typescript/5.6/node_modules/combined-stream/License +0 -19
  208. package/.cache/typescript/5.6/node_modules/combined-stream/Readme.md +0 -138
  209. package/.cache/typescript/5.6/node_modules/combined-stream/lib/combined_stream.js +0 -208
  210. package/.cache/typescript/5.6/node_modules/combined-stream/package.json +0 -25
  211. package/.cache/typescript/5.6/node_modules/combined-stream/yarn.lock +0 -17
  212. package/.cache/typescript/5.6/node_modules/delayed-stream/License +0 -19
  213. package/.cache/typescript/5.6/node_modules/delayed-stream/Makefile +0 -7
  214. package/.cache/typescript/5.6/node_modules/delayed-stream/Readme.md +0 -141
  215. package/.cache/typescript/5.6/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  216. package/.cache/typescript/5.6/node_modules/delayed-stream/package.json +0 -27
  217. package/.cache/typescript/5.6/node_modules/form-data/License +0 -19
  218. package/.cache/typescript/5.6/node_modules/form-data/Readme.md +0 -350
  219. package/.cache/typescript/5.6/node_modules/form-data/index.d.ts +0 -51
  220. package/.cache/typescript/5.6/node_modules/form-data/lib/browser.js +0 -2
  221. package/.cache/typescript/5.6/node_modules/form-data/lib/form_data.js +0 -484
  222. package/.cache/typescript/5.6/node_modules/form-data/lib/populate.js +0 -10
  223. package/.cache/typescript/5.6/node_modules/form-data/package.json +0 -72
  224. package/.cache/typescript/5.6/node_modules/mime-db/HISTORY.md +0 -507
  225. package/.cache/typescript/5.6/node_modules/mime-db/LICENSE +0 -23
  226. package/.cache/typescript/5.6/node_modules/mime-db/README.md +0 -100
  227. package/.cache/typescript/5.6/node_modules/mime-db/db.json +0 -8519
  228. package/.cache/typescript/5.6/node_modules/mime-db/index.js +0 -12
  229. package/.cache/typescript/5.6/node_modules/mime-db/package.json +0 -60
  230. package/.cache/typescript/5.6/node_modules/mime-types/HISTORY.md +0 -397
  231. package/.cache/typescript/5.6/node_modules/mime-types/LICENSE +0 -23
  232. package/.cache/typescript/5.6/node_modules/mime-types/README.md +0 -113
  233. package/.cache/typescript/5.6/node_modules/mime-types/index.js +0 -188
  234. package/.cache/typescript/5.6/node_modules/mime-types/package.json +0 -44
  235. package/.cache/typescript/5.6/node_modules/safe-buffer/LICENSE +0 -21
  236. package/.cache/typescript/5.6/node_modules/safe-buffer/README.md +0 -584
  237. package/.cache/typescript/5.6/node_modules/safe-buffer/index.d.ts +0 -187
  238. package/.cache/typescript/5.6/node_modules/safe-buffer/index.js +0 -65
  239. package/.cache/typescript/5.6/node_modules/safe-buffer/package.json +0 -51
  240. package/.cache/typescript/5.6/node_modules/types-registry/README.md +0 -2
  241. package/.cache/typescript/5.6/node_modules/types-registry/index.json +0 -1
  242. package/.cache/typescript/5.6/node_modules/types-registry/package.json +0 -20
  243. package/.cache/typescript/5.6/node_modules/undici-types/LICENSE +0 -21
  244. package/.cache/typescript/5.6/node_modules/undici-types/README.md +0 -6
  245. package/.cache/typescript/5.6/node_modules/undici-types/agent.d.ts +0 -31
  246. package/.cache/typescript/5.6/node_modules/undici-types/api.d.ts +0 -43
  247. package/.cache/typescript/5.6/node_modules/undici-types/balanced-pool.d.ts +0 -29
  248. package/.cache/typescript/5.6/node_modules/undici-types/cache.d.ts +0 -36
  249. package/.cache/typescript/5.6/node_modules/undici-types/client.d.ts +0 -108
  250. package/.cache/typescript/5.6/node_modules/undici-types/connector.d.ts +0 -34
  251. package/.cache/typescript/5.6/node_modules/undici-types/content-type.d.ts +0 -21
  252. package/.cache/typescript/5.6/node_modules/undici-types/cookies.d.ts +0 -28
  253. package/.cache/typescript/5.6/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  254. package/.cache/typescript/5.6/node_modules/undici-types/dispatcher.d.ts +0 -255
  255. package/.cache/typescript/5.6/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  256. package/.cache/typescript/5.6/node_modules/undici-types/errors.d.ts +0 -149
  257. package/.cache/typescript/5.6/node_modules/undici-types/eventsource.d.ts +0 -61
  258. package/.cache/typescript/5.6/node_modules/undici-types/fetch.d.ts +0 -209
  259. package/.cache/typescript/5.6/node_modules/undici-types/file.d.ts +0 -39
  260. package/.cache/typescript/5.6/node_modules/undici-types/filereader.d.ts +0 -54
  261. package/.cache/typescript/5.6/node_modules/undici-types/formdata.d.ts +0 -108
  262. package/.cache/typescript/5.6/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  263. package/.cache/typescript/5.6/node_modules/undici-types/global-origin.d.ts +0 -7
  264. package/.cache/typescript/5.6/node_modules/undici-types/handlers.d.ts +0 -15
  265. package/.cache/typescript/5.6/node_modules/undici-types/header.d.ts +0 -4
  266. package/.cache/typescript/5.6/node_modules/undici-types/index.d.ts +0 -71
  267. package/.cache/typescript/5.6/node_modules/undici-types/interceptors.d.ts +0 -17
  268. package/.cache/typescript/5.6/node_modules/undici-types/mock-agent.d.ts +0 -50
  269. package/.cache/typescript/5.6/node_modules/undici-types/mock-client.d.ts +0 -25
  270. package/.cache/typescript/5.6/node_modules/undici-types/mock-errors.d.ts +0 -12
  271. package/.cache/typescript/5.6/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  272. package/.cache/typescript/5.6/node_modules/undici-types/mock-pool.d.ts +0 -25
  273. package/.cache/typescript/5.6/node_modules/undici-types/package.json +0 -55
  274. package/.cache/typescript/5.6/node_modules/undici-types/patch.d.ts +0 -33
  275. package/.cache/typescript/5.6/node_modules/undici-types/pool-stats.d.ts +0 -19
  276. package/.cache/typescript/5.6/node_modules/undici-types/pool.d.ts +0 -39
  277. package/.cache/typescript/5.6/node_modules/undici-types/proxy-agent.d.ts +0 -28
  278. package/.cache/typescript/5.6/node_modules/undici-types/readable.d.ts +0 -60
  279. package/.cache/typescript/5.6/node_modules/undici-types/retry-agent.d.ts +0 -8
  280. package/.cache/typescript/5.6/node_modules/undici-types/retry-handler.d.ts +0 -116
  281. package/.cache/typescript/5.6/node_modules/undici-types/util.d.ts +0 -18
  282. package/.cache/typescript/5.6/node_modules/undici-types/webidl.d.ts +0 -222
  283. package/.cache/typescript/5.6/node_modules/undici-types/websocket.d.ts +0 -150
  284. package/.cache/typescript/5.6/package-lock.json +0 -183
  285. package/.cache/typescript/5.6/package.json +0 -1
@@ -1,476 +0,0 @@
1
- /**
2
- * The `dns.promises` API provides an alternative set of asynchronous DNS methods
3
- * that return `Promise` objects rather than using callbacks. The API is accessible
4
- * via `import { promises as dnsPromises } from 'node:dns'` or `import dnsPromises from 'node:dns/promises'`.
5
- * @since v10.6.0
6
- */
7
- declare module "dns/promises" {
8
- import {
9
- AnyRecord,
10
- CaaRecord,
11
- LookupAddress,
12
- LookupAllOptions,
13
- LookupOneOptions,
14
- LookupOptions,
15
- MxRecord,
16
- NaptrRecord,
17
- RecordWithTtl,
18
- ResolveOptions,
19
- ResolverOptions,
20
- ResolveWithTtlOptions,
21
- SoaRecord,
22
- SrvRecord,
23
- } from "node:dns";
24
- /**
25
- * Returns an array of IP address strings, formatted according to [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6),
26
- * that are currently configured for DNS resolution. A string will include a port
27
- * section if a custom port is used.
28
- *
29
- * ```js
30
- * [
31
- * '4.4.4.4',
32
- * '2001:4860:4860::8888',
33
- * '4.4.4.4:1053',
34
- * '[2001:4860:4860::8888]:1053',
35
- * ]
36
- * ```
37
- * @since v10.6.0
38
- */
39
- function getServers(): string[];
40
- /**
41
- * Resolves a host name (e.g. `'nodejs.org'`) into the first found A (IPv4) or
42
- * AAAA (IPv6) record. All `option` properties are optional. If `options` is an
43
- * integer, then it must be `4` or `6` – if `options` is not provided, then IPv4
44
- * and IPv6 addresses are both returned if found.
45
- *
46
- * With the `all` option set to `true`, the `Promise` is resolved with `addresses` being an array of objects with the properties `address` and `family`.
47
- *
48
- * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code` is the error code.
49
- * Keep in mind that `err.code` will be set to `'ENOTFOUND'` not only when
50
- * the host name does not exist but also when the lookup fails in other ways
51
- * such as no available file descriptors.
52
- *
53
- * [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromiseslookuphostname-options) does not necessarily have anything to do with the DNS
54
- * protocol. The implementation uses an operating system facility that can
55
- * associate names with addresses and vice versa. This implementation can have
56
- * subtle but important consequences on the behavior of any Node.js program. Please
57
- * take some time to consult the [Implementation considerations section](https://nodejs.org/docs/latest-v20.x/api/dns.html#implementation-considerations) before
58
- * using `dnsPromises.lookup()`.
59
- *
60
- * Example usage:
61
- *
62
- * ```js
63
- * import dns from 'node:dns';
64
- * const dnsPromises = dns.promises;
65
- * const options = {
66
- * family: 6,
67
- * hints: dns.ADDRCONFIG | dns.V4MAPPED,
68
- * };
69
- *
70
- * dnsPromises.lookup('example.com', options).then((result) => {
71
- * console.log('address: %j family: IPv%s', result.address, result.family);
72
- * // address: "2606:2800:220:1:248:1893:25c8:1946" family: IPv6
73
- * });
74
- *
75
- * // When options.all is true, the result will be an Array.
76
- * options.all = true;
77
- * dnsPromises.lookup('example.com', options).then((result) => {
78
- * console.log('addresses: %j', result);
79
- * // addresses: [{"address":"2606:2800:220:1:248:1893:25c8:1946","family":6}]
80
- * });
81
- * ```
82
- * @since v10.6.0
83
- */
84
- function lookup(hostname: string, family: number): Promise<LookupAddress>;
85
- function lookup(hostname: string, options: LookupOneOptions): Promise<LookupAddress>;
86
- function lookup(hostname: string, options: LookupAllOptions): Promise<LookupAddress[]>;
87
- function lookup(hostname: string, options: LookupOptions): Promise<LookupAddress | LookupAddress[]>;
88
- function lookup(hostname: string): Promise<LookupAddress>;
89
- /**
90
- * Resolves the given `address` and `port` into a host name and service using
91
- * the operating system's underlying `getnameinfo` implementation.
92
- *
93
- * If `address` is not a valid IP address, a `TypeError` will be thrown.
94
- * The `port` will be coerced to a number. If it is not a legal port, a `TypeError` will be thrown.
95
- *
96
- * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code` is the error code.
97
- *
98
- * ```js
99
- * import dnsPromises from 'node:dns';
100
- * dnsPromises.lookupService('127.0.0.1', 22).then((result) => {
101
- * console.log(result.hostname, result.service);
102
- * // Prints: localhost ssh
103
- * });
104
- * ```
105
- * @since v10.6.0
106
- */
107
- function lookupService(
108
- address: string,
109
- port: number,
110
- ): Promise<{
111
- hostname: string;
112
- service: string;
113
- }>;
114
- /**
115
- * Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array
116
- * of the resource records. When successful, the `Promise` is resolved with an
117
- * array of resource records. The type and structure of individual results vary
118
- * based on `rrtype`:
119
- *
120
- * <omitted>
121
- *
122
- * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code`
123
- * is one of the [DNS error codes](https://nodejs.org/docs/latest-v20.x/api/dns.html#error-codes).
124
- * @since v10.6.0
125
- * @param hostname Host name to resolve.
126
- * @param [rrtype='A'] Resource record type.
127
- */
128
- function resolve(hostname: string): Promise<string[]>;
129
- function resolve(hostname: string, rrtype: "A"): Promise<string[]>;
130
- function resolve(hostname: string, rrtype: "AAAA"): Promise<string[]>;
131
- function resolve(hostname: string, rrtype: "ANY"): Promise<AnyRecord[]>;
132
- function resolve(hostname: string, rrtype: "CAA"): Promise<CaaRecord[]>;
133
- function resolve(hostname: string, rrtype: "CNAME"): Promise<string[]>;
134
- function resolve(hostname: string, rrtype: "MX"): Promise<MxRecord[]>;
135
- function resolve(hostname: string, rrtype: "NAPTR"): Promise<NaptrRecord[]>;
136
- function resolve(hostname: string, rrtype: "NS"): Promise<string[]>;
137
- function resolve(hostname: string, rrtype: "PTR"): Promise<string[]>;
138
- function resolve(hostname: string, rrtype: "SOA"): Promise<SoaRecord>;
139
- function resolve(hostname: string, rrtype: "SRV"): Promise<SrvRecord[]>;
140
- function resolve(hostname: string, rrtype: "TXT"): Promise<string[][]>;
141
- function resolve(
142
- hostname: string,
143
- rrtype: string,
144
- ): Promise<string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]>;
145
- /**
146
- * Uses the DNS protocol to resolve IPv4 addresses (`A` records) for the `hostname`. On success, the `Promise` is resolved with an array of IPv4
147
- * addresses (e.g. `['74.125.79.104', '74.125.79.105', '74.125.79.106']`).
148
- * @since v10.6.0
149
- * @param hostname Host name to resolve.
150
- */
151
- function resolve4(hostname: string): Promise<string[]>;
152
- function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
153
- function resolve4(hostname: string, options: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
154
- /**
155
- * Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the `hostname`. On success, the `Promise` is resolved with an array of IPv6
156
- * addresses.
157
- * @since v10.6.0
158
- * @param hostname Host name to resolve.
159
- */
160
- function resolve6(hostname: string): Promise<string[]>;
161
- function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
162
- function resolve6(hostname: string, options: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
163
- /**
164
- * Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query).
165
- * On success, the `Promise` is resolved with an array containing various types of
166
- * records. Each object has a property `type` that indicates the type of the
167
- * current record. And depending on the `type`, additional properties will be
168
- * present on the object:
169
- *
170
- * <omitted>
171
- *
172
- * Here is an example of the result object:
173
- *
174
- * ```js
175
- * [ { type: 'A', address: '127.0.0.1', ttl: 299 },
176
- * { type: 'CNAME', value: 'example.com' },
177
- * { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 },
178
- * { type: 'NS', value: 'ns1.example.com' },
179
- * { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] },
180
- * { type: 'SOA',
181
- * nsname: 'ns1.example.com',
182
- * hostmaster: 'admin.example.com',
183
- * serial: 156696742,
184
- * refresh: 900,
185
- * retry: 900,
186
- * expire: 1800,
187
- * minttl: 60 } ]
188
- * ```
189
- * @since v10.6.0
190
- */
191
- function resolveAny(hostname: string): Promise<AnyRecord[]>;
192
- /**
193
- * Uses the DNS protocol to resolve `CAA` records for the `hostname`. On success,
194
- * the `Promise` is resolved with an array of objects containing available
195
- * certification authority authorization records available for the `hostname` (e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'},{critical: 128, issue: 'pki.example.com'}]`).
196
- * @since v15.0.0, v14.17.0
197
- */
198
- function resolveCaa(hostname: string): Promise<CaaRecord[]>;
199
- /**
200
- * Uses the DNS protocol to resolve `CNAME` records for the `hostname`. On success,
201
- * the `Promise` is resolved with an array of canonical name records available for
202
- * the `hostname` (e.g. `['bar.example.com']`).
203
- * @since v10.6.0
204
- */
205
- function resolveCname(hostname: string): Promise<string[]>;
206
- /**
207
- * Uses the DNS protocol to resolve mail exchange records (`MX` records) for the `hostname`. On success, the `Promise` is resolved with an array of objects
208
- * containing both a `priority` and `exchange` property (e.g.`[{priority: 10, exchange: 'mx.example.com'}, ...]`).
209
- * @since v10.6.0
210
- */
211
- function resolveMx(hostname: string): Promise<MxRecord[]>;
212
- /**
213
- * Uses the DNS protocol to resolve regular expression-based records (`NAPTR` records) for the `hostname`. On success, the `Promise` is resolved with an array
214
- * of objects with the following properties:
215
- *
216
- * * `flags`
217
- * * `service`
218
- * * `regexp`
219
- * * `replacement`
220
- * * `order`
221
- * * `preference`
222
- *
223
- * ```js
224
- * {
225
- * flags: 's',
226
- * service: 'SIP+D2U',
227
- * regexp: '',
228
- * replacement: '_sip._udp.example.com',
229
- * order: 30,
230
- * preference: 100
231
- * }
232
- * ```
233
- * @since v10.6.0
234
- */
235
- function resolveNaptr(hostname: string): Promise<NaptrRecord[]>;
236
- /**
237
- * Uses the DNS protocol to resolve name server records (`NS` records) for the `hostname`. On success, the `Promise` is resolved with an array of name server
238
- * records available for `hostname` (e.g.`['ns1.example.com', 'ns2.example.com']`).
239
- * @since v10.6.0
240
- */
241
- function resolveNs(hostname: string): Promise<string[]>;
242
- /**
243
- * Uses the DNS protocol to resolve pointer records (`PTR` records) for the `hostname`. On success, the `Promise` is resolved with an array of strings
244
- * containing the reply records.
245
- * @since v10.6.0
246
- */
247
- function resolvePtr(hostname: string): Promise<string[]>;
248
- /**
249
- * Uses the DNS protocol to resolve a start of authority record (`SOA` record) for
250
- * the `hostname`. On success, the `Promise` is resolved with an object with the
251
- * following properties:
252
- *
253
- * * `nsname`
254
- * * `hostmaster`
255
- * * `serial`
256
- * * `refresh`
257
- * * `retry`
258
- * * `expire`
259
- * * `minttl`
260
- *
261
- * ```js
262
- * {
263
- * nsname: 'ns.example.com',
264
- * hostmaster: 'root.example.com',
265
- * serial: 2013101809,
266
- * refresh: 10000,
267
- * retry: 2400,
268
- * expire: 604800,
269
- * minttl: 3600
270
- * }
271
- * ```
272
- * @since v10.6.0
273
- */
274
- function resolveSoa(hostname: string): Promise<SoaRecord>;
275
- /**
276
- * Uses the DNS protocol to resolve service records (`SRV` records) for the `hostname`. On success, the `Promise` is resolved with an array of objects with
277
- * the following properties:
278
- *
279
- * * `priority`
280
- * * `weight`
281
- * * `port`
282
- * * `name`
283
- *
284
- * ```js
285
- * {
286
- * priority: 10,
287
- * weight: 5,
288
- * port: 21223,
289
- * name: 'service.example.com'
290
- * }
291
- * ```
292
- * @since v10.6.0
293
- */
294
- function resolveSrv(hostname: string): Promise<SrvRecord[]>;
295
- /**
296
- * Uses the DNS protocol to resolve text queries (`TXT` records) for the `hostname`. On success, the `Promise` is resolved with a two-dimensional array
297
- * of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of
298
- * one record. Depending on the use case, these could be either joined together or
299
- * treated separately.
300
- * @since v10.6.0
301
- */
302
- function resolveTxt(hostname: string): Promise<string[][]>;
303
- /**
304
- * Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an
305
- * array of host names.
306
- *
307
- * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code`
308
- * is one of the [DNS error codes](https://nodejs.org/docs/latest-v20.x/api/dns.html#error-codes).
309
- * @since v10.6.0
310
- */
311
- function reverse(ip: string): Promise<string[]>;
312
- /**
313
- * Get the default value for `verbatim` in {@link lookup} and [dnsPromises.lookup()](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromiseslookuphostname-options).
314
- * The value could be:
315
- *
316
- * * `ipv4first`: for `verbatim` defaulting to `false`.
317
- * * `verbatim`: for `verbatim` defaulting to `true`.
318
- * @since v20.1.0
319
- */
320
- function getDefaultResultOrder(): "ipv4first" | "verbatim";
321
- /**
322
- * Sets the IP address and port of servers to be used when performing DNS
323
- * resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted
324
- * addresses. If the port is the IANA default DNS port (53) it can be omitted.
325
- *
326
- * ```js
327
- * dnsPromises.setServers([
328
- * '4.4.4.4',
329
- * '[2001:4860:4860::8888]',
330
- * '4.4.4.4:1053',
331
- * '[2001:4860:4860::8888]:1053',
332
- * ]);
333
- * ```
334
- *
335
- * An error will be thrown if an invalid address is provided.
336
- *
337
- * The `dnsPromises.setServers()` method must not be called while a DNS query is in
338
- * progress.
339
- *
340
- * This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html).
341
- * That is, if attempting to resolve with the first server provided results in a `NOTFOUND` error, the `resolve()` method will _not_ attempt to resolve with
342
- * subsequent servers provided. Fallback DNS servers will only be used if the
343
- * earlier ones time out or result in some other error.
344
- * @since v10.6.0
345
- * @param servers array of `RFC 5952` formatted addresses
346
- */
347
- function setServers(servers: readonly string[]): void;
348
- /**
349
- * Set the default value of `order` in `dns.lookup()` and `{@link lookup}`. The value could be:
350
- *
351
- * * `ipv4first`: sets default `order` to `ipv4first`.
352
- * * `ipv6first`: sets default `order` to `ipv6first`.
353
- * * `verbatim`: sets default `order` to `verbatim`.
354
- *
355
- * The default is `verbatim` and [dnsPromises.setDefaultResultOrder()](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromisessetdefaultresultorderorder)
356
- * have higher priority than [`--dns-result-order`](https://nodejs.org/docs/latest-v20.x/api/cli.html#--dns-result-orderorder).
357
- * When using [worker threads](https://nodejs.org/docs/latest-v20.x/api/worker_threads.html), [`dnsPromises.setDefaultResultOrder()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromisessetdefaultresultorderorder)
358
- * from the main thread won't affect the default dns orders in workers.
359
- * @since v16.4.0, v14.18.0
360
- * @param order must be `'ipv4first'`, `'ipv6first'` or `'verbatim'`.
361
- */
362
- function setDefaultResultOrder(order: "ipv4first" | "ipv6first" | "verbatim"): void;
363
- // Error codes
364
- const NODATA: "ENODATA";
365
- const FORMERR: "EFORMERR";
366
- const SERVFAIL: "ESERVFAIL";
367
- const NOTFOUND: "ENOTFOUND";
368
- const NOTIMP: "ENOTIMP";
369
- const REFUSED: "EREFUSED";
370
- const BADQUERY: "EBADQUERY";
371
- const BADNAME: "EBADNAME";
372
- const BADFAMILY: "EBADFAMILY";
373
- const BADRESP: "EBADRESP";
374
- const CONNREFUSED: "ECONNREFUSED";
375
- const TIMEOUT: "ETIMEOUT";
376
- const EOF: "EOF";
377
- const FILE: "EFILE";
378
- const NOMEM: "ENOMEM";
379
- const DESTRUCTION: "EDESTRUCTION";
380
- const BADSTR: "EBADSTR";
381
- const BADFLAGS: "EBADFLAGS";
382
- const NONAME: "ENONAME";
383
- const BADHINTS: "EBADHINTS";
384
- const NOTINITIALIZED: "ENOTINITIALIZED";
385
- const LOADIPHLPAPI: "ELOADIPHLPAPI";
386
- const ADDRGETNETWORKPARAMS: "EADDRGETNETWORKPARAMS";
387
- const CANCELLED: "ECANCELLED";
388
-
389
- /**
390
- * An independent resolver for DNS requests.
391
- *
392
- * Creating a new resolver uses the default server settings. Setting
393
- * the servers used for a resolver using [`resolver.setServers()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromisessetserversservers) does not affect
394
- * other resolvers:
395
- *
396
- * ```js
397
- * import { promises } from 'node:dns';
398
- * const resolver = new promises.Resolver();
399
- * resolver.setServers(['4.4.4.4']);
400
- *
401
- * // This request will use the server at 4.4.4.4, independent of global settings.
402
- * resolver.resolve4('example.org').then((addresses) => {
403
- * // ...
404
- * });
405
- *
406
- * // Alternatively, the same code can be written using async-await style.
407
- * (async function() {
408
- * const addresses = await resolver.resolve4('example.org');
409
- * })();
410
- * ```
411
- *
412
- * The following methods from the `dnsPromises` API are available:
413
- *
414
- * * `resolver.getServers()`
415
- * * `resolver.resolve()`
416
- * * `resolver.resolve4()`
417
- * * `resolver.resolve6()`
418
- * * `resolver.resolveAny()`
419
- * * `resolver.resolveCaa()`
420
- * * `resolver.resolveCname()`
421
- * * `resolver.resolveMx()`
422
- * * `resolver.resolveNaptr()`
423
- * * `resolver.resolveNs()`
424
- * * `resolver.resolvePtr()`
425
- * * `resolver.resolveSoa()`
426
- * * `resolver.resolveSrv()`
427
- * * `resolver.resolveTxt()`
428
- * * `resolver.reverse()`
429
- * * `resolver.setServers()`
430
- * @since v10.6.0
431
- */
432
- class Resolver {
433
- constructor(options?: ResolverOptions);
434
- /**
435
- * Cancel all outstanding DNS queries made by this resolver. The corresponding
436
- * callbacks will be called with an error with code `ECANCELLED`.
437
- * @since v8.3.0
438
- */
439
- cancel(): void;
440
- getServers: typeof getServers;
441
- resolve: typeof resolve;
442
- resolve4: typeof resolve4;
443
- resolve6: typeof resolve6;
444
- resolveAny: typeof resolveAny;
445
- resolveCaa: typeof resolveCaa;
446
- resolveCname: typeof resolveCname;
447
- resolveMx: typeof resolveMx;
448
- resolveNaptr: typeof resolveNaptr;
449
- resolveNs: typeof resolveNs;
450
- resolvePtr: typeof resolvePtr;
451
- resolveSoa: typeof resolveSoa;
452
- resolveSrv: typeof resolveSrv;
453
- resolveTxt: typeof resolveTxt;
454
- reverse: typeof reverse;
455
- /**
456
- * The resolver instance will send its requests from the specified IP address.
457
- * This allows programs to specify outbound interfaces when used on multi-homed
458
- * systems.
459
- *
460
- * If a v4 or v6 address is not specified, it is set to the default and the
461
- * operating system will choose a local address automatically.
462
- *
463
- * The resolver will use the v4 local address when making requests to IPv4 DNS
464
- * servers, and the v6 local address when making requests to IPv6 DNS servers.
465
- * The `rrtype` of resolution requests has no impact on the local address used.
466
- * @since v15.1.0, v14.17.0
467
- * @param [ipv4='0.0.0.0'] A string representation of an IPv4 address.
468
- * @param [ipv6='::0'] A string representation of an IPv6 address.
469
- */
470
- setLocalAddress(ipv4?: string, ipv6?: string): void;
471
- setServers: typeof setServers;
472
- }
473
- }
474
- declare module "node:dns/promises" {
475
- export * from "dns/promises";
476
- }