rahad-media-downloader 2.1.12 → 2.1.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) 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 +185 -0
  4. package/.cache/typescript/5.4/node_modules/@types/caseless/LICENSE +21 -0
  5. package/.cache/typescript/5.4/node_modules/@types/caseless/README.md +48 -0
  6. package/.cache/typescript/5.4/node_modules/@types/caseless/index.d.ts +29 -0
  7. package/.cache/typescript/5.4/node_modules/@types/caseless/package.json +35 -0
  8. package/.cache/typescript/5.4/node_modules/@types/domhandler/LICENSE +21 -0
  9. package/.cache/typescript/5.4/node_modules/@types/domhandler/README.md +92 -0
  10. package/.cache/typescript/5.4/node_modules/@types/domhandler/index.d.ts +73 -0
  11. package/.cache/typescript/5.4/node_modules/@types/domhandler/package.json +25 -0
  12. package/.cache/typescript/5.4/node_modules/@types/domutils/LICENSE +21 -0
  13. package/.cache/typescript/5.4/node_modules/@types/domutils/README.md +15 -0
  14. package/.cache/typescript/5.4/node_modules/@types/domutils/index.d.ts +124 -0
  15. package/.cache/typescript/5.4/node_modules/@types/domutils/package.json +27 -0
  16. package/.cache/typescript/5.4/node_modules/@types/htmlparser2/LICENSE +21 -0
  17. package/.cache/typescript/5.4/node_modules/@types/htmlparser2/README.md +15 -0
  18. package/.cache/typescript/5.4/node_modules/@types/htmlparser2/index.d.ts +120 -0
  19. package/.cache/typescript/5.4/node_modules/@types/htmlparser2/package.json +45 -0
  20. package/.cache/typescript/5.4/node_modules/@types/node/LICENSE +21 -0
  21. package/.cache/typescript/5.4/node_modules/@types/node/README.md +15 -0
  22. package/.cache/typescript/5.4/node_modules/@types/node/assert/strict.d.ts +8 -0
  23. package/.cache/typescript/5.4/node_modules/@types/node/assert.d.ts +1040 -0
  24. package/.cache/typescript/5.4/node_modules/@types/node/async_hooks.d.ts +541 -0
  25. package/.cache/typescript/5.4/node_modules/@types/node/buffer.d.ts +2363 -0
  26. package/.cache/typescript/5.4/node_modules/@types/node/child_process.d.ts +1542 -0
  27. package/.cache/typescript/5.4/node_modules/@types/node/cluster.d.ts +578 -0
  28. package/.cache/typescript/5.4/node_modules/@types/node/console.d.ts +452 -0
  29. package/.cache/typescript/5.4/node_modules/@types/node/constants.d.ts +19 -0
  30. package/.cache/typescript/5.4/node_modules/@types/node/crypto.d.ts +4522 -0
  31. package/.cache/typescript/5.4/node_modules/@types/node/dgram.d.ts +596 -0
  32. package/.cache/typescript/5.4/node_modules/@types/node/diagnostics_channel.d.ts +545 -0
  33. package/.cache/typescript/5.4/node_modules/@types/node/dns/promises.d.ts +473 -0
  34. package/.cache/typescript/5.4/node_modules/@types/node/dns.d.ts +853 -0
  35. package/.cache/typescript/5.4/node_modules/@types/node/dom-events.d.ts +124 -0
  36. package/.cache/typescript/5.4/node_modules/@types/node/domain.d.ts +170 -0
  37. package/.cache/typescript/5.4/node_modules/@types/node/events.d.ts +884 -0
  38. package/.cache/typescript/5.4/node_modules/@types/node/fs/promises.d.ts +1245 -0
  39. package/.cache/typescript/5.4/node_modules/@types/node/fs.d.ts +4317 -0
  40. package/.cache/typescript/5.4/node_modules/@types/node/globals.d.ts +411 -0
  41. package/.cache/typescript/5.4/node_modules/@types/node/globals.global.d.ts +1 -0
  42. package/.cache/typescript/5.4/node_modules/@types/node/http.d.ts +1889 -0
  43. package/.cache/typescript/5.4/node_modules/@types/node/http2.d.ts +2418 -0
  44. package/.cache/typescript/5.4/node_modules/@types/node/https.d.ts +550 -0
  45. package/.cache/typescript/5.4/node_modules/@types/node/index.d.ts +89 -0
  46. package/.cache/typescript/5.4/node_modules/@types/node/inspector.d.ts +2746 -0
  47. package/.cache/typescript/5.4/node_modules/@types/node/module.d.ts +315 -0
  48. package/.cache/typescript/5.4/node_modules/@types/node/net.d.ts +996 -0
  49. package/.cache/typescript/5.4/node_modules/@types/node/os.d.ts +495 -0
  50. package/.cache/typescript/5.4/node_modules/@types/node/package.json +217 -0
  51. package/.cache/typescript/5.4/node_modules/@types/node/path.d.ts +191 -0
  52. package/.cache/typescript/5.4/node_modules/@types/node/perf_hooks.d.ts +645 -0
  53. package/.cache/typescript/5.4/node_modules/@types/node/process.d.ts +1747 -0
  54. package/.cache/typescript/5.4/node_modules/@types/node/punycode.d.ts +117 -0
  55. package/.cache/typescript/5.4/node_modules/@types/node/querystring.d.ts +153 -0
  56. package/.cache/typescript/5.4/node_modules/@types/node/readline/promises.d.ts +150 -0
  57. package/.cache/typescript/5.4/node_modules/@types/node/readline.d.ts +540 -0
  58. package/.cache/typescript/5.4/node_modules/@types/node/repl.d.ts +430 -0
  59. package/.cache/typescript/5.4/node_modules/@types/node/sea.d.ts +153 -0
  60. package/.cache/typescript/5.4/node_modules/@types/node/stream/consumers.d.ts +12 -0
  61. package/.cache/typescript/5.4/node_modules/@types/node/stream/promises.d.ts +83 -0
  62. package/.cache/typescript/5.4/node_modules/@types/node/stream/web.d.ts +367 -0
  63. package/.cache/typescript/5.4/node_modules/@types/node/stream.d.ts +1707 -0
  64. package/.cache/typescript/5.4/node_modules/@types/node/string_decoder.d.ts +67 -0
  65. package/.cache/typescript/5.4/node_modules/@types/node/test.d.ts +1470 -0
  66. package/.cache/typescript/5.4/node_modules/@types/node/timers/promises.d.ts +97 -0
  67. package/.cache/typescript/5.4/node_modules/@types/node/timers.d.ts +240 -0
  68. package/.cache/typescript/5.4/node_modules/@types/node/tls.d.ts +1217 -0
  69. package/.cache/typescript/5.4/node_modules/@types/node/trace_events.d.ts +197 -0
  70. package/.cache/typescript/5.4/node_modules/@types/node/tty.d.ts +208 -0
  71. package/.cache/typescript/5.4/node_modules/@types/node/url.d.ts +944 -0
  72. package/.cache/typescript/5.4/node_modules/@types/node/util.d.ts +2276 -0
  73. package/.cache/typescript/5.4/node_modules/@types/node/v8.d.ts +764 -0
  74. package/.cache/typescript/5.4/node_modules/@types/node/vm.d.ts +921 -0
  75. package/.cache/typescript/5.4/node_modules/@types/node/wasi.d.ts +181 -0
  76. package/.cache/typescript/5.4/node_modules/@types/node/worker_threads.d.ts +691 -0
  77. package/.cache/typescript/5.4/node_modules/@types/node/zlib.d.ts +530 -0
  78. package/.cache/typescript/5.4/node_modules/@types/node-fetch/LICENSE +21 -0
  79. package/.cache/typescript/5.4/node_modules/@types/node-fetch/README.md +15 -0
  80. package/.cache/typescript/5.4/node_modules/@types/node-fetch/externals.d.ts +32 -0
  81. package/.cache/typescript/5.4/node_modules/@types/node-fetch/index.d.ts +238 -0
  82. package/.cache/typescript/5.4/node_modules/@types/node-fetch/package.json +83 -0
  83. package/.cache/typescript/5.4/node_modules/@types/qs/LICENSE +21 -0
  84. package/.cache/typescript/5.4/node_modules/@types/qs/README.md +15 -0
  85. package/.cache/typescript/5.4/node_modules/@types/qs/index.d.ts +79 -0
  86. package/.cache/typescript/5.4/node_modules/@types/qs/package.json +65 -0
  87. package/.cache/typescript/5.4/node_modules/@types/request/LICENSE +21 -0
  88. package/.cache/typescript/5.4/node_modules/@types/request/README.md +15 -0
  89. package/.cache/typescript/5.4/node_modules/@types/request/index.d.ts +395 -0
  90. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/License +19 -0
  91. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md +350 -0
  92. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/README.md.bak +350 -0
  93. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/index.d.ts +51 -0
  94. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/browser.js +2 -0
  95. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/form_data.js +483 -0
  96. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/lib/populate.js +10 -0
  97. package/.cache/typescript/5.4/node_modules/@types/request/node_modules/form-data/package.json +68 -0
  98. package/.cache/typescript/5.4/node_modules/@types/request/package.json +70 -0
  99. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/LICENSE +21 -0
  100. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/README.md +15 -0
  101. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/index.d.ts +321 -0
  102. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/package.json +35 -0
  103. package/.cache/typescript/5.4/node_modules/asynckit/LICENSE +21 -0
  104. package/.cache/typescript/5.4/node_modules/asynckit/README.md +233 -0
  105. package/.cache/typescript/5.4/node_modules/asynckit/bench.js +76 -0
  106. package/.cache/typescript/5.4/node_modules/asynckit/index.js +6 -0
  107. package/.cache/typescript/5.4/node_modules/asynckit/lib/abort.js +29 -0
  108. package/.cache/typescript/5.4/node_modules/asynckit/lib/async.js +34 -0
  109. package/.cache/typescript/5.4/node_modules/asynckit/lib/defer.js +26 -0
  110. package/.cache/typescript/5.4/node_modules/asynckit/lib/iterate.js +75 -0
  111. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  112. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_parallel.js +25 -0
  113. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial.js +25 -0
  114. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  115. package/.cache/typescript/5.4/node_modules/asynckit/lib/state.js +37 -0
  116. package/.cache/typescript/5.4/node_modules/asynckit/lib/streamify.js +141 -0
  117. package/.cache/typescript/5.4/node_modules/asynckit/lib/terminator.js +29 -0
  118. package/.cache/typescript/5.4/node_modules/asynckit/package.json +63 -0
  119. package/.cache/typescript/5.4/node_modules/asynckit/parallel.js +43 -0
  120. package/.cache/typescript/5.4/node_modules/asynckit/serial.js +17 -0
  121. package/.cache/typescript/5.4/node_modules/asynckit/serialOrdered.js +75 -0
  122. package/.cache/typescript/5.4/node_modules/asynckit/stream.js +21 -0
  123. package/.cache/typescript/5.4/node_modules/combined-stream/License +19 -0
  124. package/.cache/typescript/5.4/node_modules/combined-stream/Readme.md +138 -0
  125. package/.cache/typescript/5.4/node_modules/combined-stream/lib/combined_stream.js +208 -0
  126. package/.cache/typescript/5.4/node_modules/combined-stream/package.json +25 -0
  127. package/.cache/typescript/5.4/node_modules/combined-stream/yarn.lock +17 -0
  128. package/.cache/typescript/5.4/node_modules/delayed-stream/License +19 -0
  129. package/.cache/typescript/5.4/node_modules/delayed-stream/Makefile +7 -0
  130. package/.cache/typescript/5.4/node_modules/delayed-stream/Readme.md +141 -0
  131. package/.cache/typescript/5.4/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  132. package/.cache/typescript/5.4/node_modules/delayed-stream/package.json +27 -0
  133. package/.cache/typescript/5.4/node_modules/domelementtype/LICENSE +11 -0
  134. package/.cache/typescript/5.4/node_modules/domelementtype/index.js +15 -0
  135. package/.cache/typescript/5.4/node_modules/domelementtype/package.json +16 -0
  136. package/.cache/typescript/5.4/node_modules/domelementtype/readme.md +1 -0
  137. package/.cache/typescript/5.4/node_modules/domhandler/.travis.yml +6 -0
  138. package/.cache/typescript/5.4/node_modules/domhandler/LICENSE +11 -0
  139. package/.cache/typescript/5.4/node_modules/domhandler/index.js +217 -0
  140. package/.cache/typescript/5.4/node_modules/domhandler/lib/element.js +20 -0
  141. package/.cache/typescript/5.4/node_modules/domhandler/lib/node.js +44 -0
  142. package/.cache/typescript/5.4/node_modules/domhandler/package.json +41 -0
  143. package/.cache/typescript/5.4/node_modules/domhandler/readme.md +116 -0
  144. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/01-basic.json +57 -0
  145. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/02-single_tag_1.json +21 -0
  146. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/03-single_tag_2.json +21 -0
  147. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/04-unescaped_in_script.json +27 -0
  148. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/05-tags_in_comment.json +18 -0
  149. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/06-comment_in_script.json +18 -0
  150. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/07-unescaped_in_style.json +20 -0
  151. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json +20 -0
  152. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/09-unquoted_attrib.json +20 -0
  153. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/10-singular_attribute.json +15 -0
  154. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/11-text_outside_tags.json +40 -0
  155. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/12-text_only.json +11 -0
  156. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/13-comment_in_text.json +19 -0
  157. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/14-comment_in_text_in_script.json +18 -0
  158. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/15-non-verbose.json +22 -0
  159. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/16-normalize_whitespace.json +47 -0
  160. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/17-xml_namespace.json +18 -0
  161. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/18-enforce_empty_tags.json +16 -0
  162. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/19-ignore_empty_tags.json +20 -0
  163. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/20-template_script_tags.json +20 -0
  164. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/21-conditional_comments.json +15 -0
  165. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/22-lowercase_tags.json +41 -0
  166. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/23-dom-lvl1.json +131 -0
  167. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/24-with-start-indices.json +85 -0
  168. package/.cache/typescript/5.4/node_modules/domhandler/test/cases/25-with-end-indices.json +86 -0
  169. package/.cache/typescript/5.4/node_modules/domhandler/test/tests.js +60 -0
  170. package/.cache/typescript/5.4/node_modules/form-data/License +19 -0
  171. package/.cache/typescript/5.4/node_modules/form-data/README.md.bak +358 -0
  172. package/.cache/typescript/5.4/node_modules/form-data/Readme.md +358 -0
  173. package/.cache/typescript/5.4/node_modules/form-data/index.d.ts +62 -0
  174. package/.cache/typescript/5.4/node_modules/form-data/lib/browser.js +2 -0
  175. package/.cache/typescript/5.4/node_modules/form-data/lib/form_data.js +501 -0
  176. package/.cache/typescript/5.4/node_modules/form-data/lib/populate.js +10 -0
  177. package/.cache/typescript/5.4/node_modules/form-data/package.json +68 -0
  178. package/.cache/typescript/5.4/node_modules/mime-db/HISTORY.md +507 -0
  179. package/.cache/typescript/5.4/node_modules/mime-db/LICENSE +23 -0
  180. package/.cache/typescript/5.4/node_modules/mime-db/README.md +100 -0
  181. package/.cache/typescript/5.4/node_modules/mime-db/db.json +8519 -0
  182. package/.cache/typescript/5.4/node_modules/mime-db/index.js +12 -0
  183. package/.cache/typescript/5.4/node_modules/mime-db/package.json +60 -0
  184. package/.cache/typescript/5.4/node_modules/mime-types/HISTORY.md +397 -0
  185. package/.cache/typescript/5.4/node_modules/mime-types/LICENSE +23 -0
  186. package/.cache/typescript/5.4/node_modules/mime-types/README.md +113 -0
  187. package/.cache/typescript/5.4/node_modules/mime-types/index.js +188 -0
  188. package/.cache/typescript/5.4/node_modules/mime-types/package.json +44 -0
  189. package/.cache/typescript/5.4/node_modules/types-registry/README.md +2 -0
  190. package/.cache/typescript/5.4/node_modules/types-registry/index.json +1 -0
  191. package/.cache/typescript/5.4/node_modules/types-registry/package.json +20 -0
  192. package/.cache/typescript/5.4/node_modules/undici-types/README.md +6 -0
  193. package/.cache/typescript/5.4/node_modules/undici-types/agent.d.ts +31 -0
  194. package/.cache/typescript/5.4/node_modules/undici-types/api.d.ts +43 -0
  195. package/.cache/typescript/5.4/node_modules/undici-types/balanced-pool.d.ts +18 -0
  196. package/.cache/typescript/5.4/node_modules/undici-types/cache.d.ts +36 -0
  197. package/.cache/typescript/5.4/node_modules/undici-types/client.d.ts +97 -0
  198. package/.cache/typescript/5.4/node_modules/undici-types/connector.d.ts +34 -0
  199. package/.cache/typescript/5.4/node_modules/undici-types/content-type.d.ts +21 -0
  200. package/.cache/typescript/5.4/node_modules/undici-types/cookies.d.ts +28 -0
  201. package/.cache/typescript/5.4/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
  202. package/.cache/typescript/5.4/node_modules/undici-types/dispatcher.d.ts +241 -0
  203. package/.cache/typescript/5.4/node_modules/undici-types/errors.d.ts +128 -0
  204. package/.cache/typescript/5.4/node_modules/undici-types/fetch.d.ts +209 -0
  205. package/.cache/typescript/5.4/node_modules/undici-types/file.d.ts +39 -0
  206. package/.cache/typescript/5.4/node_modules/undici-types/filereader.d.ts +54 -0
  207. package/.cache/typescript/5.4/node_modules/undici-types/formdata.d.ts +108 -0
  208. package/.cache/typescript/5.4/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  209. package/.cache/typescript/5.4/node_modules/undici-types/global-origin.d.ts +7 -0
  210. package/.cache/typescript/5.4/node_modules/undici-types/handlers.d.ts +9 -0
  211. package/.cache/typescript/5.4/node_modules/undici-types/header.d.ts +4 -0
  212. package/.cache/typescript/5.4/node_modules/undici-types/index.d.ts +63 -0
  213. package/.cache/typescript/5.4/node_modules/undici-types/interceptors.d.ts +5 -0
  214. package/.cache/typescript/5.4/node_modules/undici-types/mock-agent.d.ts +50 -0
  215. package/.cache/typescript/5.4/node_modules/undici-types/mock-client.d.ts +25 -0
  216. package/.cache/typescript/5.4/node_modules/undici-types/mock-errors.d.ts +12 -0
  217. package/.cache/typescript/5.4/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  218. package/.cache/typescript/5.4/node_modules/undici-types/mock-pool.d.ts +25 -0
  219. package/.cache/typescript/5.4/node_modules/undici-types/package.json +55 -0
  220. package/.cache/typescript/5.4/node_modules/undici-types/patch.d.ts +71 -0
  221. package/.cache/typescript/5.4/node_modules/undici-types/pool-stats.d.ts +19 -0
  222. package/.cache/typescript/5.4/node_modules/undici-types/pool.d.ts +28 -0
  223. package/.cache/typescript/5.4/node_modules/undici-types/proxy-agent.d.ts +30 -0
  224. package/.cache/typescript/5.4/node_modules/undici-types/readable.d.ts +61 -0
  225. package/.cache/typescript/5.4/node_modules/undici-types/webidl.d.ts +220 -0
  226. package/.cache/typescript/5.4/node_modules/undici-types/websocket.d.ts +131 -0
  227. package/.cache/typescript/5.4/package-lock.json +197 -0
  228. package/.cache/typescript/5.4/package.json +1 -0
  229. package/README.md +61 -2
  230. package/index.js +1 -1
  231. package/package.json +11 -2
  232. package/.cache/replit/modules/nodejs-20:v36-20240502-f4453db.res +0 -1
  233. package/.cache/replit/modules/replit:v9-20240429-0325cbb.res +0 -1
@@ -0,0 +1,853 @@
1
+ /**
2
+ * The `node:dns` module enables name resolution. For example, use it to look up IP
3
+ * addresses of host names.
4
+ *
5
+ * Although named for the [Domain Name System (DNS)](https://en.wikipedia.org/wiki/Domain_Name_System), it does not always use the
6
+ * DNS protocol for lookups. {@link lookup} uses the operating system
7
+ * facilities to perform name resolution. It may not need to perform any network
8
+ * communication. To perform name resolution the way other applications on the same
9
+ * system do, use {@link lookup}.
10
+ *
11
+ * ```js
12
+ * const dns = require('node:dns');
13
+ *
14
+ * dns.lookup('example.org', (err, address, family) => {
15
+ * console.log('address: %j family: IPv%s', address, family);
16
+ * });
17
+ * // address: "93.184.216.34" family: IPv4
18
+ * ```
19
+ *
20
+ * All other functions in the `node:dns` module connect to an actual DNS server to
21
+ * perform name resolution. They will always use the network to perform DNS
22
+ * queries. These functions do not use the same set of configuration files used by {@link lookup} (e.g. `/etc/hosts`). Use these functions to always perform
23
+ * DNS queries, bypassing other name-resolution facilities.
24
+ *
25
+ * ```js
26
+ * const dns = require('node:dns');
27
+ *
28
+ * dns.resolve4('archive.org', (err, addresses) => {
29
+ * if (err) throw err;
30
+ *
31
+ * console.log(`addresses: ${JSON.stringify(addresses)}`);
32
+ *
33
+ * addresses.forEach((a) => {
34
+ * dns.reverse(a, (err, hostnames) => {
35
+ * if (err) {
36
+ * throw err;
37
+ * }
38
+ * console.log(`reverse for ${a}: ${JSON.stringify(hostnames)}`);
39
+ * });
40
+ * });
41
+ * });
42
+ * ```
43
+ *
44
+ * See the [Implementation considerations section](https://nodejs.org/docs/latest-v20.x/api/dns.html#implementation-considerations) for more information.
45
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/dns.js)
46
+ */
47
+ declare module "dns" {
48
+ import * as dnsPromises from "node:dns/promises";
49
+ // Supported getaddrinfo flags.
50
+ /**
51
+ * Limits returned address types to the types of non-loopback addresses configured on the system. For example, IPv4 addresses are
52
+ * only returned if the current system has at least one IPv4 address configured.
53
+ */
54
+ export const ADDRCONFIG: number;
55
+ /**
56
+ * If the IPv6 family was specified, but no IPv6 addresses were found, then return IPv4 mapped IPv6 addresses. It is not supported
57
+ * on some operating systems (e.g. FreeBSD 10.1).
58
+ */
59
+ export const V4MAPPED: number;
60
+ /**
61
+ * If `dns.V4MAPPED` is specified, return resolved IPv6 addresses as
62
+ * well as IPv4 mapped IPv6 addresses.
63
+ */
64
+ export const ALL: number;
65
+ export interface LookupOptions {
66
+ /**
67
+ * The record family. Must be `4`, `6`, or `0`. For backward compatibility reasons,`'IPv4'` and `'IPv6'` are interpreted
68
+ * as `4` and `6` respectively. The value 0 indicates that either an IPv4 or IPv6 address is returned. If the value `0` is used
69
+ * with `{ all: true } (see below)`, both IPv4 and IPv6 addresses are returned.
70
+ * @default 0
71
+ */
72
+ family?: number | "IPv4" | "IPv6" | undefined;
73
+ /**
74
+ * One or more [supported `getaddrinfo`](https://nodejs.org/docs/latest-v20.x/api/dns.html#supported-getaddrinfo-flags) flags. Multiple flags may be
75
+ * passed by bitwise `OR`ing their values.
76
+ */
77
+ hints?: number | undefined;
78
+ /**
79
+ * When `true`, the callback returns all resolved addresses in an array. Otherwise, returns a single address.
80
+ * @default false
81
+ */
82
+ all?: boolean | undefined;
83
+ /**
84
+ * When `true`, the callback receives IPv4 and IPv6 addresses in the order the DNS resolver returned them. When `false`, IPv4
85
+ * addresses are placed before IPv6 addresses. Default value is configurable using {@link setDefaultResultOrder()}
86
+ * or [`--dns-result-order`](https://nodejs.org/docs/latest-v20.x/api/cli.html#--dns-result-orderorder).
87
+ * @default true (addresses are not reordered)
88
+ */
89
+ verbatim?: boolean | undefined;
90
+ }
91
+ export interface LookupOneOptions extends LookupOptions {
92
+ all?: false | undefined;
93
+ }
94
+ export interface LookupAllOptions extends LookupOptions {
95
+ all: true;
96
+ }
97
+ export interface LookupAddress {
98
+ /**
99
+ * A string representation of an IPv4 or IPv6 address.
100
+ */
101
+ address: string;
102
+ /**
103
+ * `4` or `6`, denoting the family of `address`, or `0` if the address is not an IPv4 or IPv6 address. `0` is a likely indicator of a
104
+ * bug in the name resolution service used by the operating system.
105
+ */
106
+ family: number;
107
+ }
108
+ /**
109
+ * Resolves a host name (e.g. `'nodejs.org'`) into the first found A (IPv4) or
110
+ * AAAA (IPv6) record. All `option` properties are optional. If `options` is an
111
+ * integer, then it must be `4` or `6` – if `options` is `0` or not provided, then
112
+ * IPv4 and IPv6 addresses are both returned if found.
113
+ *
114
+ * With the `all` option set to `true`, the arguments for `callback` change to `(err, addresses)`, with `addresses` being an array of objects with the
115
+ * properties `address` and `family`.
116
+ *
117
+ * On error, `err` is an `Error` object, where `err.code` is the error code.
118
+ * Keep in mind that `err.code` will be set to `'ENOTFOUND'` not only when
119
+ * the host name does not exist but also when the lookup fails in other ways
120
+ * such as no available file descriptors.
121
+ *
122
+ * `dns.lookup()` does not necessarily have anything to do with the DNS protocol.
123
+ * The implementation uses an operating system facility that can associate names
124
+ * with addresses and vice versa. This implementation can have subtle but
125
+ * important consequences on the behavior of any Node.js program. Please take some
126
+ * time to consult the [Implementation considerations section](https://nodejs.org/docs/latest-v20.x/api/dns.html#implementation-considerations)
127
+ * before using `dns.lookup()`.
128
+ *
129
+ * Example usage:
130
+ *
131
+ * ```js
132
+ * const dns = require('node:dns');
133
+ * const options = {
134
+ * family: 6,
135
+ * hints: dns.ADDRCONFIG | dns.V4MAPPED,
136
+ * };
137
+ * dns.lookup('example.com', options, (err, address, family) =>
138
+ * console.log('address: %j family: IPv%s', address, family));
139
+ * // address: "2606:2800:220:1:248:1893:25c8:1946" family: IPv6
140
+ *
141
+ * // When options.all is true, the result will be an Array.
142
+ * options.all = true;
143
+ * dns.lookup('example.com', options, (err, addresses) =>
144
+ * console.log('addresses: %j', addresses));
145
+ * // addresses: [{"address":"2606:2800:220:1:248:1893:25c8:1946","family":6}]
146
+ * ```
147
+ *
148
+ * If this method is invoked as its [util.promisify()](https://nodejs.org/docs/latest-v20.x/api/util.html#utilpromisifyoriginal) ed
149
+ * version, and `all` is not set to `true`, it returns a `Promise` for an `Object` with `address` and `family` properties.
150
+ * @since v0.1.90
151
+ */
152
+ export function lookup(
153
+ hostname: string,
154
+ family: number,
155
+ callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,
156
+ ): void;
157
+ export function lookup(
158
+ hostname: string,
159
+ options: LookupOneOptions,
160
+ callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,
161
+ ): void;
162
+ export function lookup(
163
+ hostname: string,
164
+ options: LookupAllOptions,
165
+ callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void,
166
+ ): void;
167
+ export function lookup(
168
+ hostname: string,
169
+ options: LookupOptions,
170
+ callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void,
171
+ ): void;
172
+ export function lookup(
173
+ hostname: string,
174
+ callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,
175
+ ): void;
176
+ export namespace lookup {
177
+ function __promisify__(hostname: string, options: LookupAllOptions): Promise<LookupAddress[]>;
178
+ function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise<LookupAddress>;
179
+ function __promisify__(hostname: string, options: LookupOptions): Promise<LookupAddress | LookupAddress[]>;
180
+ }
181
+ /**
182
+ * Resolves the given `address` and `port` into a host name and service using
183
+ * the operating system's underlying `getnameinfo` implementation.
184
+ *
185
+ * If `address` is not a valid IP address, a `TypeError` will be thrown.
186
+ * The `port` will be coerced to a number. If it is not a legal port, a `TypeError` will be thrown.
187
+ *
188
+ * On an error, `err` is an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object,
189
+ * where `err.code` is the error code.
190
+ *
191
+ * ```js
192
+ * const dns = require('node:dns');
193
+ * dns.lookupService('127.0.0.1', 22, (err, hostname, service) => {
194
+ * console.log(hostname, service);
195
+ * // Prints: localhost ssh
196
+ * });
197
+ * ```
198
+ *
199
+ * If this method is invoked as its [util.promisify()](https://nodejs.org/docs/latest-v20.x/api/util.html#utilpromisifyoriginal) ed
200
+ * version, it returns a `Promise` for an `Object` with `hostname` and `service` properties.
201
+ * @since v0.11.14
202
+ */
203
+ export function lookupService(
204
+ address: string,
205
+ port: number,
206
+ callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void,
207
+ ): void;
208
+ export namespace lookupService {
209
+ function __promisify__(
210
+ address: string,
211
+ port: number,
212
+ ): Promise<{
213
+ hostname: string;
214
+ service: string;
215
+ }>;
216
+ }
217
+ export interface ResolveOptions {
218
+ ttl: boolean;
219
+ }
220
+ export interface ResolveWithTtlOptions extends ResolveOptions {
221
+ ttl: true;
222
+ }
223
+ export interface RecordWithTtl {
224
+ address: string;
225
+ ttl: number;
226
+ }
227
+ /** @deprecated Use `AnyARecord` or `AnyAaaaRecord` instead. */
228
+ export type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord;
229
+ export interface AnyARecord extends RecordWithTtl {
230
+ type: "A";
231
+ }
232
+ export interface AnyAaaaRecord extends RecordWithTtl {
233
+ type: "AAAA";
234
+ }
235
+ export interface CaaRecord {
236
+ critical: number;
237
+ issue?: string | undefined;
238
+ issuewild?: string | undefined;
239
+ iodef?: string | undefined;
240
+ contactemail?: string | undefined;
241
+ contactphone?: string | undefined;
242
+ }
243
+ export interface MxRecord {
244
+ priority: number;
245
+ exchange: string;
246
+ }
247
+ export interface AnyMxRecord extends MxRecord {
248
+ type: "MX";
249
+ }
250
+ export interface NaptrRecord {
251
+ flags: string;
252
+ service: string;
253
+ regexp: string;
254
+ replacement: string;
255
+ order: number;
256
+ preference: number;
257
+ }
258
+ export interface AnyNaptrRecord extends NaptrRecord {
259
+ type: "NAPTR";
260
+ }
261
+ export interface SoaRecord {
262
+ nsname: string;
263
+ hostmaster: string;
264
+ serial: number;
265
+ refresh: number;
266
+ retry: number;
267
+ expire: number;
268
+ minttl: number;
269
+ }
270
+ export interface AnySoaRecord extends SoaRecord {
271
+ type: "SOA";
272
+ }
273
+ export interface SrvRecord {
274
+ priority: number;
275
+ weight: number;
276
+ port: number;
277
+ name: string;
278
+ }
279
+ export interface AnySrvRecord extends SrvRecord {
280
+ type: "SRV";
281
+ }
282
+ export interface AnyTxtRecord {
283
+ type: "TXT";
284
+ entries: string[];
285
+ }
286
+ export interface AnyNsRecord {
287
+ type: "NS";
288
+ value: string;
289
+ }
290
+ export interface AnyPtrRecord {
291
+ type: "PTR";
292
+ value: string;
293
+ }
294
+ export interface AnyCnameRecord {
295
+ type: "CNAME";
296
+ value: string;
297
+ }
298
+ export type AnyRecord =
299
+ | AnyARecord
300
+ | AnyAaaaRecord
301
+ | AnyCnameRecord
302
+ | AnyMxRecord
303
+ | AnyNaptrRecord
304
+ | AnyNsRecord
305
+ | AnyPtrRecord
306
+ | AnySoaRecord
307
+ | AnySrvRecord
308
+ | AnyTxtRecord;
309
+ /**
310
+ * Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array
311
+ * of the resource records. The `callback` function has arguments `(err, records)`. When successful, `records` will be an array of resource
312
+ * records. The type and structure of individual results varies based on `rrtype`:
313
+ *
314
+ * <omitted>
315
+ *
316
+ * On error, `err` is an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object,
317
+ * where `err.code` is one of the `DNS error codes`.
318
+ * @since v0.1.27
319
+ * @param hostname Host name to resolve.
320
+ * @param [rrtype='A'] Resource record type.
321
+ */
322
+ export function resolve(
323
+ hostname: string,
324
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
325
+ ): void;
326
+ export function resolve(
327
+ hostname: string,
328
+ rrtype: "A",
329
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
330
+ ): void;
331
+ export function resolve(
332
+ hostname: string,
333
+ rrtype: "AAAA",
334
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
335
+ ): void;
336
+ export function resolve(
337
+ hostname: string,
338
+ rrtype: "ANY",
339
+ callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void,
340
+ ): void;
341
+ export function resolve(
342
+ hostname: string,
343
+ rrtype: "CNAME",
344
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
345
+ ): void;
346
+ export function resolve(
347
+ hostname: string,
348
+ rrtype: "MX",
349
+ callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void,
350
+ ): void;
351
+ export function resolve(
352
+ hostname: string,
353
+ rrtype: "NAPTR",
354
+ callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void,
355
+ ): void;
356
+ export function resolve(
357
+ hostname: string,
358
+ rrtype: "NS",
359
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
360
+ ): void;
361
+ export function resolve(
362
+ hostname: string,
363
+ rrtype: "PTR",
364
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
365
+ ): void;
366
+ export function resolve(
367
+ hostname: string,
368
+ rrtype: "SOA",
369
+ callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void,
370
+ ): void;
371
+ export function resolve(
372
+ hostname: string,
373
+ rrtype: "SRV",
374
+ callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void,
375
+ ): void;
376
+ export function resolve(
377
+ hostname: string,
378
+ rrtype: "TXT",
379
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void,
380
+ ): void;
381
+ export function resolve(
382
+ hostname: string,
383
+ rrtype: string,
384
+ callback: (
385
+ err: NodeJS.ErrnoException | null,
386
+ addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[],
387
+ ) => void,
388
+ ): void;
389
+ export namespace resolve {
390
+ function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise<string[]>;
391
+ function __promisify__(hostname: string, rrtype: "ANY"): Promise<AnyRecord[]>;
392
+ function __promisify__(hostname: string, rrtype: "MX"): Promise<MxRecord[]>;
393
+ function __promisify__(hostname: string, rrtype: "NAPTR"): Promise<NaptrRecord[]>;
394
+ function __promisify__(hostname: string, rrtype: "SOA"): Promise<SoaRecord>;
395
+ function __promisify__(hostname: string, rrtype: "SRV"): Promise<SrvRecord[]>;
396
+ function __promisify__(hostname: string, rrtype: "TXT"): Promise<string[][]>;
397
+ function __promisify__(
398
+ hostname: string,
399
+ rrtype: string,
400
+ ): Promise<string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]>;
401
+ }
402
+ /**
403
+ * Uses the DNS protocol to resolve a IPv4 addresses (`A` records) for the `hostname`. The `addresses` argument passed to the `callback` function
404
+ * will contain an array of IPv4 addresses (e.g.`['74.125.79.104', '74.125.79.105', '74.125.79.106']`).
405
+ * @since v0.1.16
406
+ * @param hostname Host name to resolve.
407
+ */
408
+ export function resolve4(
409
+ hostname: string,
410
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
411
+ ): void;
412
+ export function resolve4(
413
+ hostname: string,
414
+ options: ResolveWithTtlOptions,
415
+ callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void,
416
+ ): void;
417
+ export function resolve4(
418
+ hostname: string,
419
+ options: ResolveOptions,
420
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void,
421
+ ): void;
422
+ export namespace resolve4 {
423
+ function __promisify__(hostname: string): Promise<string[]>;
424
+ function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
425
+ function __promisify__(hostname: string, options?: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
426
+ }
427
+ /**
428
+ * Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the `hostname`. The `addresses` argument passed to the `callback` function
429
+ * will contain an array of IPv6 addresses.
430
+ * @since v0.1.16
431
+ * @param hostname Host name to resolve.
432
+ */
433
+ export function resolve6(
434
+ hostname: string,
435
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
436
+ ): void;
437
+ export function resolve6(
438
+ hostname: string,
439
+ options: ResolveWithTtlOptions,
440
+ callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void,
441
+ ): void;
442
+ export function resolve6(
443
+ hostname: string,
444
+ options: ResolveOptions,
445
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void,
446
+ ): void;
447
+ export namespace resolve6 {
448
+ function __promisify__(hostname: string): Promise<string[]>;
449
+ function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
450
+ function __promisify__(hostname: string, options?: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
451
+ }
452
+ /**
453
+ * Uses the DNS protocol to resolve `CNAME` records for the `hostname`. The `addresses` argument passed to the `callback` function
454
+ * will contain an array of canonical name records available for the `hostname` (e.g. `['bar.example.com']`).
455
+ * @since v0.3.2
456
+ */
457
+ export function resolveCname(
458
+ hostname: string,
459
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
460
+ ): void;
461
+ export namespace resolveCname {
462
+ function __promisify__(hostname: string): Promise<string[]>;
463
+ }
464
+ /**
465
+ * Uses the DNS protocol to resolve `CAA` records for the `hostname`. The `addresses` argument passed to the `callback` function
466
+ * will contain an array of certification authority authorization records
467
+ * available for the `hostname` (e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'}, {critical: 128, issue: 'pki.example.com'}]`).
468
+ * @since v15.0.0, v14.17.0
469
+ */
470
+ export function resolveCaa(
471
+ hostname: string,
472
+ callback: (err: NodeJS.ErrnoException | null, records: CaaRecord[]) => void,
473
+ ): void;
474
+ export namespace resolveCaa {
475
+ function __promisify__(hostname: string): Promise<CaaRecord[]>;
476
+ }
477
+ /**
478
+ * Uses the DNS protocol to resolve mail exchange records (`MX` records) for the `hostname`. The `addresses` argument passed to the `callback` function will
479
+ * contain an array of objects containing both a `priority` and `exchange` property (e.g. `[{priority: 10, exchange: 'mx.example.com'}, ...]`).
480
+ * @since v0.1.27
481
+ */
482
+ export function resolveMx(
483
+ hostname: string,
484
+ callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void,
485
+ ): void;
486
+ export namespace resolveMx {
487
+ function __promisify__(hostname: string): Promise<MxRecord[]>;
488
+ }
489
+ /**
490
+ * Uses the DNS protocol to resolve regular expression-based records (`NAPTR` records) for the `hostname`. The `addresses` argument passed to the `callback` function will contain an array of
491
+ * objects with the following properties:
492
+ *
493
+ * * `flags`
494
+ * * `service`
495
+ * * `regexp`
496
+ * * `replacement`
497
+ * * `order`
498
+ * * `preference`
499
+ *
500
+ * ```js
501
+ * {
502
+ * flags: 's',
503
+ * service: 'SIP+D2U',
504
+ * regexp: '',
505
+ * replacement: '_sip._udp.example.com',
506
+ * order: 30,
507
+ * preference: 100
508
+ * }
509
+ * ```
510
+ * @since v0.9.12
511
+ */
512
+ export function resolveNaptr(
513
+ hostname: string,
514
+ callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void,
515
+ ): void;
516
+ export namespace resolveNaptr {
517
+ function __promisify__(hostname: string): Promise<NaptrRecord[]>;
518
+ }
519
+ /**
520
+ * Uses the DNS protocol to resolve name server records (`NS` records) for the `hostname`. The `addresses` argument passed to the `callback` function will
521
+ * contain an array of name server records available for `hostname` (e.g. `['ns1.example.com', 'ns2.example.com']`).
522
+ * @since v0.1.90
523
+ */
524
+ export function resolveNs(
525
+ hostname: string,
526
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
527
+ ): void;
528
+ export namespace resolveNs {
529
+ function __promisify__(hostname: string): Promise<string[]>;
530
+ }
531
+ /**
532
+ * Uses the DNS protocol to resolve pointer records (`PTR` records) for the `hostname`. The `addresses` argument passed to the `callback` function will
533
+ * be an array of strings containing the reply records.
534
+ * @since v6.0.0
535
+ */
536
+ export function resolvePtr(
537
+ hostname: string,
538
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
539
+ ): void;
540
+ export namespace resolvePtr {
541
+ function __promisify__(hostname: string): Promise<string[]>;
542
+ }
543
+ /**
544
+ * Uses the DNS protocol to resolve a start of authority record (`SOA` record) for
545
+ * the `hostname`. The `address` argument passed to the `callback` function will
546
+ * be an object with the following properties:
547
+ *
548
+ * * `nsname`
549
+ * * `hostmaster`
550
+ * * `serial`
551
+ * * `refresh`
552
+ * * `retry`
553
+ * * `expire`
554
+ * * `minttl`
555
+ *
556
+ * ```js
557
+ * {
558
+ * nsname: 'ns.example.com',
559
+ * hostmaster: 'root.example.com',
560
+ * serial: 2013101809,
561
+ * refresh: 10000,
562
+ * retry: 2400,
563
+ * expire: 604800,
564
+ * minttl: 3600
565
+ * }
566
+ * ```
567
+ * @since v0.11.10
568
+ */
569
+ export function resolveSoa(
570
+ hostname: string,
571
+ callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void,
572
+ ): void;
573
+ export namespace resolveSoa {
574
+ function __promisify__(hostname: string): Promise<SoaRecord>;
575
+ }
576
+ /**
577
+ * Uses the DNS protocol to resolve service records (`SRV` records) for the `hostname`. The `addresses` argument passed to the `callback` function will
578
+ * be an array of objects with the following properties:
579
+ *
580
+ * * `priority`
581
+ * * `weight`
582
+ * * `port`
583
+ * * `name`
584
+ *
585
+ * ```js
586
+ * {
587
+ * priority: 10,
588
+ * weight: 5,
589
+ * port: 21223,
590
+ * name: 'service.example.com'
591
+ * }
592
+ * ```
593
+ * @since v0.1.27
594
+ */
595
+ export function resolveSrv(
596
+ hostname: string,
597
+ callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void,
598
+ ): void;
599
+ export namespace resolveSrv {
600
+ function __promisify__(hostname: string): Promise<SrvRecord[]>;
601
+ }
602
+ /**
603
+ * Uses the DNS protocol to resolve text queries (`TXT` records) for the `hostname`. The `records` argument passed to the `callback` function is a
604
+ * two-dimensional array of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of
605
+ * one record. Depending on the use case, these could be either joined together or
606
+ * treated separately.
607
+ * @since v0.1.27
608
+ */
609
+ export function resolveTxt(
610
+ hostname: string,
611
+ callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void,
612
+ ): void;
613
+ export namespace resolveTxt {
614
+ function __promisify__(hostname: string): Promise<string[][]>;
615
+ }
616
+ /**
617
+ * Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query).
618
+ * The `ret` argument passed to the `callback` function will be an array containing
619
+ * various types of records. Each object has a property `type` that indicates the
620
+ * type of the current record. And depending on the `type`, additional properties
621
+ * will be present on the object:
622
+ *
623
+ * <omitted>
624
+ *
625
+ * Here is an example of the `ret` object passed to the callback:
626
+ *
627
+ * ```js
628
+ * [ { type: 'A', address: '127.0.0.1', ttl: 299 },
629
+ * { type: 'CNAME', value: 'example.com' },
630
+ * { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 },
631
+ * { type: 'NS', value: 'ns1.example.com' },
632
+ * { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] },
633
+ * { type: 'SOA',
634
+ * nsname: 'ns1.example.com',
635
+ * hostmaster: 'admin.example.com',
636
+ * serial: 156696742,
637
+ * refresh: 900,
638
+ * retry: 900,
639
+ * expire: 1800,
640
+ * minttl: 60 } ]
641
+ * ```
642
+ *
643
+ * DNS server operators may choose not to respond to `ANY` queries. It may be better to call individual methods like {@link resolve4}, {@link resolveMx}, and so on. For more details, see
644
+ * [RFC 8482](https://tools.ietf.org/html/rfc8482).
645
+ */
646
+ export function resolveAny(
647
+ hostname: string,
648
+ callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void,
649
+ ): void;
650
+ export namespace resolveAny {
651
+ function __promisify__(hostname: string): Promise<AnyRecord[]>;
652
+ }
653
+ /**
654
+ * Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an
655
+ * array of host names.
656
+ *
657
+ * On error, `err` is an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code` is
658
+ * one of the [DNS error codes](https://nodejs.org/docs/latest-v20.x/api/dns.html#error-codes).
659
+ * @since v0.1.16
660
+ */
661
+ export function reverse(
662
+ ip: string,
663
+ callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void,
664
+ ): void;
665
+ /**
666
+ * Get the default value for `verbatim` in {@link lookup} and [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromiseslookuphostname-options).
667
+ * The value could be:
668
+ *
669
+ * * `ipv4first`: for `verbatim` defaulting to `false`.
670
+ * * `verbatim`: for `verbatim` defaulting to `true`.
671
+ * @since v18.17.0
672
+ */
673
+ export function getDefaultResultOrder(): "ipv4first" | "verbatim";
674
+ /**
675
+ * Sets the IP address and port of servers to be used when performing DNS
676
+ * resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted
677
+ * addresses. If the port is the IANA default DNS port (53) it can be omitted.
678
+ *
679
+ * ```js
680
+ * dns.setServers([
681
+ * '4.4.4.4',
682
+ * '[2001:4860:4860::8888]',
683
+ * '4.4.4.4:1053',
684
+ * '[2001:4860:4860::8888]:1053',
685
+ * ]);
686
+ * ```
687
+ *
688
+ * An error will be thrown if an invalid address is provided.
689
+ *
690
+ * The `dns.setServers()` method must not be called while a DNS query is in
691
+ * progress.
692
+ *
693
+ * The {@link setServers} method affects only {@link resolve}, `dns.resolve*()` and {@link reverse} (and specifically _not_ {@link lookup}).
694
+ *
695
+ * This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html).
696
+ * 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
697
+ * subsequent servers provided. Fallback DNS servers will only be used if the
698
+ * earlier ones time out or result in some other error.
699
+ * @since v0.11.3
700
+ * @param servers array of [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952#section-6) formatted addresses
701
+ */
702
+ export function setServers(servers: readonly string[]): void;
703
+ /**
704
+ * Returns an array of IP address strings, formatted according to [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6),
705
+ * that are currently configured for DNS resolution. A string will include a port
706
+ * section if a custom port is used.
707
+ *
708
+ * ```js
709
+ * [
710
+ * '4.4.4.4',
711
+ * '2001:4860:4860::8888',
712
+ * '4.4.4.4:1053',
713
+ * '[2001:4860:4860::8888]:1053',
714
+ * ]
715
+ * ```
716
+ * @since v0.11.3
717
+ */
718
+ export function getServers(): string[];
719
+ /**
720
+ * Set the default value of `verbatim` in {@link lookup} and [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromiseslookuphostname-options).
721
+ * The value could be:
722
+ *
723
+ * * `ipv4first`: sets default `verbatim` `false`.
724
+ * * `verbatim`: sets default `verbatim` `true`.
725
+ *
726
+ * The default is `verbatim` and {@link setDefaultResultOrder} have higher
727
+ * priority than [`--dns-result-order`](https://nodejs.org/docs/latest-v20.x/api/cli.html#--dns-result-orderorder). When using
728
+ * [worker threads](https://nodejs.org/docs/latest-v20.x/api/worker_threads.html), {@link setDefaultResultOrder} from the main
729
+ * thread won't affect the default dns orders in workers.
730
+ * @since v16.4.0, v14.18.0
731
+ * @param order must be `'ipv4first'` or `'verbatim'`.
732
+ */
733
+ export function setDefaultResultOrder(order: "ipv4first" | "verbatim"): void;
734
+ // Error codes
735
+ export const NODATA: "NODATA";
736
+ export const FORMERR: "FORMERR";
737
+ export const SERVFAIL: "SERVFAIL";
738
+ export const NOTFOUND: "NOTFOUND";
739
+ export const NOTIMP: "NOTIMP";
740
+ export const REFUSED: "REFUSED";
741
+ export const BADQUERY: "BADQUERY";
742
+ export const BADNAME: "BADNAME";
743
+ export const BADFAMILY: "BADFAMILY";
744
+ export const BADRESP: "BADRESP";
745
+ export const CONNREFUSED: "TIMEOUT";
746
+ export const TIMEOUT: "TIMEOUT";
747
+ export const EOF: "EOF";
748
+ export const FILE: "FILE";
749
+ export const NOMEM: "NOMEM";
750
+ export const DESTRUCTION: "DESTRUCTION";
751
+ export const BADSTR: "BADSTR";
752
+ export const BADFLAGS: "BADFLAGS";
753
+ export const NONAME: "NONAME";
754
+ export const BADHINTS: "BADHINTS";
755
+ export const NOTINITIALIZED: "NOTINITIALIZED";
756
+ export const LOADIPHLPAPI: "LOADIPHLPAPI";
757
+ export const ADDRGETNETWORKPARAMS: "ADDRGETNETWORKPARAMS";
758
+ export const CANCELLED: "CANCELLED";
759
+ export interface ResolverOptions {
760
+ /**
761
+ * Query timeout in milliseconds, or `-1` to use the default timeout.
762
+ */
763
+ timeout?: number | undefined;
764
+ /**
765
+ * The number of tries the resolver will try contacting each name server before giving up.
766
+ * @default 4
767
+ */
768
+ tries?: number;
769
+ }
770
+ /**
771
+ * An independent resolver for DNS requests.
772
+ *
773
+ * Creating a new resolver uses the default server settings. Setting
774
+ * the servers used for a resolver using [`resolver.setServers()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnssetserversservers) does not affect
775
+ * other resolvers:
776
+ *
777
+ * ```js
778
+ * const { Resolver } = require('node:dns');
779
+ * const resolver = new Resolver();
780
+ * resolver.setServers(['4.4.4.4']);
781
+ *
782
+ * // This request will use the server at 4.4.4.4, independent of global settings.
783
+ * resolver.resolve4('example.org', (err, addresses) => {
784
+ * // ...
785
+ * });
786
+ * ```
787
+ *
788
+ * The following methods from the `node:dns` module are available:
789
+ *
790
+ * * `resolver.getServers()`
791
+ * * `resolver.resolve()`
792
+ * * `resolver.resolve4()`
793
+ * * `resolver.resolve6()`
794
+ * * `resolver.resolveAny()`
795
+ * * `resolver.resolveCaa()`
796
+ * * `resolver.resolveCname()`
797
+ * * `resolver.resolveMx()`
798
+ * * `resolver.resolveNaptr()`
799
+ * * `resolver.resolveNs()`
800
+ * * `resolver.resolvePtr()`
801
+ * * `resolver.resolveSoa()`
802
+ * * `resolver.resolveSrv()`
803
+ * * `resolver.resolveTxt()`
804
+ * * `resolver.reverse()`
805
+ * * `resolver.setServers()`
806
+ * @since v8.3.0
807
+ */
808
+ export class Resolver {
809
+ constructor(options?: ResolverOptions);
810
+ /**
811
+ * Cancel all outstanding DNS queries made by this resolver. The corresponding
812
+ * callbacks will be called with an error with code `ECANCELLED`.
813
+ * @since v8.3.0
814
+ */
815
+ cancel(): void;
816
+ getServers: typeof getServers;
817
+ resolve: typeof resolve;
818
+ resolve4: typeof resolve4;
819
+ resolve6: typeof resolve6;
820
+ resolveAny: typeof resolveAny;
821
+ resolveCaa: typeof resolveCaa;
822
+ resolveCname: typeof resolveCname;
823
+ resolveMx: typeof resolveMx;
824
+ resolveNaptr: typeof resolveNaptr;
825
+ resolveNs: typeof resolveNs;
826
+ resolvePtr: typeof resolvePtr;
827
+ resolveSoa: typeof resolveSoa;
828
+ resolveSrv: typeof resolveSrv;
829
+ resolveTxt: typeof resolveTxt;
830
+ reverse: typeof reverse;
831
+ /**
832
+ * The resolver instance will send its requests from the specified IP address.
833
+ * This allows programs to specify outbound interfaces when used on multi-homed
834
+ * systems.
835
+ *
836
+ * If a v4 or v6 address is not specified, it is set to the default and the
837
+ * operating system will choose a local address automatically.
838
+ *
839
+ * The resolver will use the v4 local address when making requests to IPv4 DNS
840
+ * servers, and the v6 local address when making requests to IPv6 DNS servers.
841
+ * The `rrtype` of resolution requests has no impact on the local address used.
842
+ * @since v15.1.0, v14.17.0
843
+ * @param [ipv4='0.0.0.0'] A string representation of an IPv4 address.
844
+ * @param [ipv6='::0'] A string representation of an IPv6 address.
845
+ */
846
+ setLocalAddress(ipv4?: string, ipv6?: string): void;
847
+ setServers: typeof setServers;
848
+ }
849
+ export { dnsPromises as promises };
850
+ }
851
+ declare module "node:dns" {
852
+ export * from "dns";
853
+ }