cloudstructs 0.6.12 → 0.6.14

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 (138) hide show
  1. package/.jsii +3 -3
  2. package/assets/slack-app/provider.lambda/index.js +4 -5
  3. package/assets/slack-textract/detect.lambda/index.js +4 -5
  4. package/assets/ssl-server-test/analyze.lambda/index.js +4 -5
  5. package/lib/codecommit-mirror/index.js +2 -2
  6. package/lib/ecs-service-roller/index.js +2 -2
  7. package/lib/email-receiver/receiver.js +1 -1
  8. package/lib/saml-identity-provider/index.js +2 -2
  9. package/lib/slack-app/manifest.js +1 -1
  10. package/lib/slack-app/slack-app.js +2 -2
  11. package/lib/slack-events/index.js +1 -1
  12. package/lib/slack-textract/index.js +1 -1
  13. package/lib/ssl-server-test/index.js +1 -1
  14. package/lib/state-machine-cr-provider/index.js +1 -1
  15. package/lib/static-website/index.js +1 -1
  16. package/lib/toolkit-cleaner/index.js +1 -1
  17. package/lib/url-shortener/index.js +3 -2
  18. package/node_modules/@types/cacheable-request/README.md +2 -2
  19. package/node_modules/@types/cacheable-request/package.json +5 -5
  20. package/node_modules/@types/keyv/README.md +16 -3
  21. package/node_modules/@types/keyv/index.d.ts +90 -0
  22. package/node_modules/@types/keyv/node_modules/@types/node/LICENSE +21 -0
  23. package/node_modules/@types/keyv/node_modules/@types/node/README.md +16 -0
  24. package/node_modules/@types/keyv/node_modules/@types/node/assert/strict.d.ts +8 -0
  25. package/node_modules/@types/keyv/node_modules/@types/node/assert.d.ts +961 -0
  26. package/node_modules/@types/keyv/node_modules/@types/node/async_hooks.d.ts +501 -0
  27. package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +2258 -0
  28. package/node_modules/@types/keyv/node_modules/@types/node/child_process.d.ts +1369 -0
  29. package/node_modules/@types/keyv/node_modules/@types/node/cluster.d.ts +410 -0
  30. package/node_modules/@types/keyv/node_modules/@types/node/console.d.ts +412 -0
  31. package/node_modules/@types/keyv/node_modules/@types/node/constants.d.ts +18 -0
  32. package/node_modules/@types/keyv/node_modules/@types/node/crypto.d.ts +3964 -0
  33. package/node_modules/@types/keyv/node_modules/@types/node/dgram.d.ts +545 -0
  34. package/node_modules/@types/keyv/node_modules/@types/node/diagnostics_channel.d.ts +153 -0
  35. package/node_modules/@types/keyv/node_modules/@types/node/dns/promises.d.ts +370 -0
  36. package/node_modules/@types/keyv/node_modules/@types/node/dns.d.ts +659 -0
  37. package/node_modules/@types/keyv/node_modules/@types/node/dom-events.d.ts +126 -0
  38. package/node_modules/@types/keyv/node_modules/@types/node/domain.d.ts +170 -0
  39. package/node_modules/@types/keyv/node_modules/@types/node/events.d.ts +678 -0
  40. package/node_modules/@types/keyv/node_modules/@types/node/fs/promises.d.ts +1138 -0
  41. package/node_modules/@types/keyv/node_modules/@types/node/fs.d.ts +3872 -0
  42. package/node_modules/@types/keyv/node_modules/@types/node/globals.d.ts +300 -0
  43. package/node_modules/@types/keyv/node_modules/@types/node/globals.global.d.ts +1 -0
  44. package/node_modules/@types/keyv/node_modules/@types/node/http.d.ts +1614 -0
  45. package/node_modules/@types/keyv/node_modules/@types/node/http2.d.ts +2134 -0
  46. package/node_modules/@types/keyv/node_modules/@types/node/https.d.ts +541 -0
  47. package/node_modules/@types/keyv/node_modules/@types/node/index.d.ts +133 -0
  48. package/node_modules/@types/keyv/node_modules/@types/node/inspector.d.ts +2741 -0
  49. package/node_modules/@types/keyv/node_modules/@types/node/module.d.ts +114 -0
  50. package/node_modules/@types/keyv/node_modules/@types/node/net.d.ts +869 -0
  51. package/node_modules/@types/keyv/node_modules/@types/node/os.d.ts +466 -0
  52. package/node_modules/@types/keyv/node_modules/@types/node/package.json +232 -0
  53. package/node_modules/@types/keyv/node_modules/@types/node/path.d.ts +191 -0
  54. package/node_modules/@types/keyv/node_modules/@types/node/perf_hooks.d.ts +625 -0
  55. package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +1482 -0
  56. package/node_modules/@types/keyv/node_modules/@types/node/punycode.d.ts +117 -0
  57. package/node_modules/@types/keyv/node_modules/@types/node/querystring.d.ts +131 -0
  58. package/node_modules/@types/keyv/node_modules/@types/node/readline/promises.d.ts +143 -0
  59. package/node_modules/@types/keyv/node_modules/@types/node/readline.d.ts +653 -0
  60. package/node_modules/@types/keyv/node_modules/@types/node/repl.d.ts +424 -0
  61. package/node_modules/@types/keyv/node_modules/@types/node/stream/consumers.d.ts +12 -0
  62. package/node_modules/@types/keyv/node_modules/@types/node/stream/promises.d.ts +42 -0
  63. package/node_modules/@types/keyv/node_modules/@types/node/stream/web.d.ts +330 -0
  64. package/node_modules/@types/keyv/node_modules/@types/node/stream.d.ts +1340 -0
  65. package/node_modules/@types/keyv/node_modules/@types/node/string_decoder.d.ts +67 -0
  66. package/node_modules/@types/keyv/node_modules/@types/node/test.d.ts +374 -0
  67. package/node_modules/@types/keyv/node_modules/@types/node/timers/promises.d.ts +68 -0
  68. package/node_modules/@types/keyv/node_modules/@types/node/timers.d.ts +94 -0
  69. package/node_modules/@types/keyv/node_modules/@types/node/tls.d.ts +1028 -0
  70. package/node_modules/@types/keyv/node_modules/@types/node/trace_events.d.ts +171 -0
  71. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/assert/strict.d.ts +8 -0
  72. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/assert.d.ts +961 -0
  73. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/async_hooks.d.ts +501 -0
  74. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/buffer.d.ts +2259 -0
  75. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/child_process.d.ts +1369 -0
  76. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/cluster.d.ts +410 -0
  77. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/console.d.ts +412 -0
  78. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/constants.d.ts +18 -0
  79. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/crypto.d.ts +3964 -0
  80. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/dgram.d.ts +545 -0
  81. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +153 -0
  82. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/dns/promises.d.ts +370 -0
  83. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/dns.d.ts +659 -0
  84. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/dom-events.d.ts +126 -0
  85. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/domain.d.ts +170 -0
  86. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/events.d.ts +678 -0
  87. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/fs/promises.d.ts +1138 -0
  88. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/fs.d.ts +3872 -0
  89. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/globals.d.ts +294 -0
  90. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
  91. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/http.d.ts +1614 -0
  92. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/http2.d.ts +2134 -0
  93. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/https.d.ts +541 -0
  94. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/index.d.ts +88 -0
  95. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/inspector.d.ts +2741 -0
  96. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/module.d.ts +114 -0
  97. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/net.d.ts +869 -0
  98. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/os.d.ts +466 -0
  99. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/path.d.ts +191 -0
  100. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/perf_hooks.d.ts +625 -0
  101. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/process.d.ts +1482 -0
  102. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/punycode.d.ts +117 -0
  103. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/querystring.d.ts +131 -0
  104. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/readline/promises.d.ts +143 -0
  105. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/readline.d.ts +653 -0
  106. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/repl.d.ts +424 -0
  107. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/stream/consumers.d.ts +12 -0
  108. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/stream/promises.d.ts +42 -0
  109. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/stream/web.d.ts +330 -0
  110. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/stream.d.ts +1340 -0
  111. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/string_decoder.d.ts +67 -0
  112. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/test.d.ts +374 -0
  113. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/timers/promises.d.ts +68 -0
  114. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/timers.d.ts +94 -0
  115. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/tls.d.ts +1028 -0
  116. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/trace_events.d.ts +171 -0
  117. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/tty.d.ts +206 -0
  118. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/url.d.ts +897 -0
  119. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/util.d.ts +1850 -0
  120. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/v8.d.ts +396 -0
  121. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/vm.d.ts +509 -0
  122. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/wasi.d.ts +158 -0
  123. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/worker_threads.d.ts +689 -0
  124. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/zlib.d.ts +517 -0
  125. package/node_modules/@types/keyv/node_modules/@types/node/tty.d.ts +206 -0
  126. package/node_modules/@types/keyv/node_modules/@types/node/url.d.ts +897 -0
  127. package/node_modules/@types/keyv/node_modules/@types/node/util.d.ts +1850 -0
  128. package/node_modules/@types/keyv/node_modules/@types/node/v8.d.ts +396 -0
  129. package/node_modules/@types/keyv/node_modules/@types/node/vm.d.ts +509 -0
  130. package/node_modules/@types/keyv/node_modules/@types/node/wasi.d.ts +158 -0
  131. package/node_modules/@types/keyv/node_modules/@types/node/worker_threads.d.ts +689 -0
  132. package/node_modules/@types/keyv/node_modules/@types/node/zlib.d.ts +517 -0
  133. package/node_modules/@types/keyv/package.json +25 -5
  134. package/node_modules/keyv/README.md +23 -1
  135. package/node_modules/keyv/package.json +9 -8
  136. package/node_modules/keyv/src/index.d.ts +8 -1
  137. package/node_modules/keyv/src/index.js +4 -5
  138. package/package.json +7 -7
@@ -0,0 +1,153 @@
1
+ /**
2
+ * The `diagnostics_channel` module provides an API to create named channels
3
+ * to report arbitrary message data for diagnostics purposes.
4
+ *
5
+ * It can be accessed using:
6
+ *
7
+ * ```js
8
+ * import diagnostics_channel from 'diagnostics_channel';
9
+ * ```
10
+ *
11
+ * It is intended that a module writer wanting to report diagnostics messages
12
+ * will create one or many top-level channels to report messages through.
13
+ * Channels may also be acquired at runtime but it is not encouraged
14
+ * due to the additional overhead of doing so. Channels may be exported for
15
+ * convenience, but as long as the name is known it can be acquired anywhere.
16
+ *
17
+ * If you intend for your module to produce diagnostics data for others to
18
+ * consume it is recommended that you include documentation of what named
19
+ * channels are used along with the shape of the message data. Channel names
20
+ * should generally include the module name to avoid collisions with data from
21
+ * other modules.
22
+ * @experimental
23
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/diagnostics_channel.js)
24
+ */
25
+ declare module 'diagnostics_channel' {
26
+ /**
27
+ * Check if there are active subscribers to the named channel. This is helpful if
28
+ * the message you want to send might be expensive to prepare.
29
+ *
30
+ * This API is optional but helpful when trying to publish messages from very
31
+ * performance-sensitive code.
32
+ *
33
+ * ```js
34
+ * import diagnostics_channel from 'diagnostics_channel';
35
+ *
36
+ * if (diagnostics_channel.hasSubscribers('my-channel')) {
37
+ * // There are subscribers, prepare and publish message
38
+ * }
39
+ * ```
40
+ * @since v15.1.0, v14.17.0
41
+ * @param name The channel name
42
+ * @return If there are active subscribers
43
+ */
44
+ function hasSubscribers(name: string): boolean;
45
+ /**
46
+ * This is the primary entry-point for anyone wanting to interact with a named
47
+ * channel. It produces a channel object which is optimized to reduce overhead at
48
+ * publish time as much as possible.
49
+ *
50
+ * ```js
51
+ * import diagnostics_channel from 'diagnostics_channel';
52
+ *
53
+ * const channel = diagnostics_channel.channel('my-channel');
54
+ * ```
55
+ * @since v15.1.0, v14.17.0
56
+ * @param name The channel name
57
+ * @return The named channel object
58
+ */
59
+ function channel(name: string): Channel;
60
+ type ChannelListener = (message: unknown, name: string) => void;
61
+ /**
62
+ * The class `Channel` represents an individual named channel within the data
63
+ * pipeline. It is use to track subscribers and to publish messages when there
64
+ * are subscribers present. It exists as a separate object to avoid channel
65
+ * lookups at publish time, enabling very fast publish speeds and allowing
66
+ * for heavy use while incurring very minimal cost. Channels are created with {@link channel}, constructing a channel directly
67
+ * with `new Channel(name)` is not supported.
68
+ * @since v15.1.0, v14.17.0
69
+ */
70
+ class Channel {
71
+ readonly name: string;
72
+ /**
73
+ * Check if there are active subscribers to this channel. This is helpful if
74
+ * the message you want to send might be expensive to prepare.
75
+ *
76
+ * This API is optional but helpful when trying to publish messages from very
77
+ * performance-sensitive code.
78
+ *
79
+ * ```js
80
+ * import diagnostics_channel from 'diagnostics_channel';
81
+ *
82
+ * const channel = diagnostics_channel.channel('my-channel');
83
+ *
84
+ * if (channel.hasSubscribers) {
85
+ * // There are subscribers, prepare and publish message
86
+ * }
87
+ * ```
88
+ * @since v15.1.0, v14.17.0
89
+ */
90
+ readonly hasSubscribers: boolean;
91
+ private constructor(name: string);
92
+ /**
93
+ * Publish a message to any subscribers to the channel. This will
94
+ * trigger message handlers synchronously so they will execute within
95
+ * the same context.
96
+ *
97
+ * ```js
98
+ * import diagnostics_channel from 'diagnostics_channel';
99
+ *
100
+ * const channel = diagnostics_channel.channel('my-channel');
101
+ *
102
+ * channel.publish({
103
+ * some: 'message'
104
+ * });
105
+ * ```
106
+ * @since v15.1.0, v14.17.0
107
+ * @param message The message to send to the channel subscribers
108
+ */
109
+ publish(message: unknown): void;
110
+ /**
111
+ * Register a message handler to subscribe to this channel. This message handler
112
+ * will be run synchronously whenever a message is published to the channel. Any
113
+ * errors thrown in the message handler will trigger an `'uncaughtException'`.
114
+ *
115
+ * ```js
116
+ * import diagnostics_channel from 'diagnostics_channel';
117
+ *
118
+ * const channel = diagnostics_channel.channel('my-channel');
119
+ *
120
+ * channel.subscribe((message, name) => {
121
+ * // Received data
122
+ * });
123
+ * ```
124
+ * @since v15.1.0, v14.17.0
125
+ * @param onMessage The handler to receive channel messages
126
+ */
127
+ subscribe(onMessage: ChannelListener): void;
128
+ /**
129
+ * Remove a message handler previously registered to this channel with `channel.subscribe(onMessage)`.
130
+ *
131
+ * ```js
132
+ * import diagnostics_channel from 'diagnostics_channel';
133
+ *
134
+ * const channel = diagnostics_channel.channel('my-channel');
135
+ *
136
+ * function onMessage(message, name) {
137
+ * // Received data
138
+ * }
139
+ *
140
+ * channel.subscribe(onMessage);
141
+ *
142
+ * channel.unsubscribe(onMessage);
143
+ * ```
144
+ * @since v15.1.0, v14.17.0
145
+ * @param onMessage The previous subscribed handler to remove
146
+ * @return `true` if the handler was found, `false` otherwise.
147
+ */
148
+ unsubscribe(onMessage: ChannelListener): void;
149
+ }
150
+ }
151
+ declare module 'node:diagnostics_channel' {
152
+ export * from 'diagnostics_channel';
153
+ }
@@ -0,0 +1,370 @@
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 `require('dns').promises` or `require('dns/promises')`.
5
+ * @since v10.6.0
6
+ */
7
+ declare module 'dns/promises' {
8
+ import {
9
+ LookupAddress,
10
+ LookupOneOptions,
11
+ LookupAllOptions,
12
+ LookupOptions,
13
+ AnyRecord,
14
+ CaaRecord,
15
+ MxRecord,
16
+ NaptrRecord,
17
+ SoaRecord,
18
+ SrvRecord,
19
+ ResolveWithTtlOptions,
20
+ RecordWithTtl,
21
+ ResolveOptions,
22
+ ResolverOptions,
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` 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()` 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` before
58
+ * using `dnsPromises.lookup()`.
59
+ *
60
+ * Example usage:
61
+ *
62
+ * ```js
63
+ * const dns = require('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` object, where `err.code`is the error code.
97
+ *
98
+ * ```js
99
+ * const dnsPromises = require('dns').promises;
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` object, where `err.code`is one of the `DNS error codes`.
123
+ * @since v10.6.0
124
+ * @param hostname Host name to resolve.
125
+ * @param [rrtype='A'] Resource record type.
126
+ */
127
+ function resolve(hostname: string): Promise<string[]>;
128
+ function resolve(hostname: string, rrtype: 'A'): Promise<string[]>;
129
+ function resolve(hostname: string, rrtype: 'AAAA'): Promise<string[]>;
130
+ function resolve(hostname: string, rrtype: 'ANY'): Promise<AnyRecord[]>;
131
+ function resolve(hostname: string, rrtype: 'CAA'): Promise<CaaRecord[]>;
132
+ function resolve(hostname: string, rrtype: 'CNAME'): Promise<string[]>;
133
+ function resolve(hostname: string, rrtype: 'MX'): Promise<MxRecord[]>;
134
+ function resolve(hostname: string, rrtype: 'NAPTR'): Promise<NaptrRecord[]>;
135
+ function resolve(hostname: string, rrtype: 'NS'): Promise<string[]>;
136
+ function resolve(hostname: string, rrtype: 'PTR'): Promise<string[]>;
137
+ function resolve(hostname: string, rrtype: 'SOA'): Promise<SoaRecord>;
138
+ function resolve(hostname: string, rrtype: 'SRV'): Promise<SrvRecord[]>;
139
+ function resolve(hostname: string, rrtype: 'TXT'): Promise<string[][]>;
140
+ function resolve(hostname: string, rrtype: string): Promise<string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]>;
141
+ /**
142
+ * Uses the DNS protocol to resolve IPv4 addresses (`A` records) for the`hostname`. On success, the `Promise` is resolved with an array of IPv4
143
+ * addresses (e.g. `['74.125.79.104', '74.125.79.105', '74.125.79.106']`).
144
+ * @since v10.6.0
145
+ * @param hostname Host name to resolve.
146
+ */
147
+ function resolve4(hostname: string): Promise<string[]>;
148
+ function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
149
+ function resolve4(hostname: string, options: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
150
+ /**
151
+ * Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the`hostname`. On success, the `Promise` is resolved with an array of IPv6
152
+ * addresses.
153
+ * @since v10.6.0
154
+ * @param hostname Host name to resolve.
155
+ */
156
+ function resolve6(hostname: string): Promise<string[]>;
157
+ function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise<RecordWithTtl[]>;
158
+ function resolve6(hostname: string, options: ResolveOptions): Promise<string[] | RecordWithTtl[]>;
159
+ /**
160
+ * Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query).
161
+ * On success, the `Promise` is resolved with an array containing various types of
162
+ * records. Each object has a property `type` that indicates the type of the
163
+ * current record. And depending on the `type`, additional properties will be
164
+ * present on the object:
165
+ *
166
+ * <omitted>
167
+ *
168
+ * Here is an example of the result object:
169
+ *
170
+ * ```js
171
+ * [ { type: 'A', address: '127.0.0.1', ttl: 299 },
172
+ * { type: 'CNAME', value: 'example.com' },
173
+ * { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 },
174
+ * { type: 'NS', value: 'ns1.example.com' },
175
+ * { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] },
176
+ * { type: 'SOA',
177
+ * nsname: 'ns1.example.com',
178
+ * hostmaster: 'admin.example.com',
179
+ * serial: 156696742,
180
+ * refresh: 900,
181
+ * retry: 900,
182
+ * expire: 1800,
183
+ * minttl: 60 } ]
184
+ * ```
185
+ * @since v10.6.0
186
+ */
187
+ function resolveAny(hostname: string): Promise<AnyRecord[]>;
188
+ /**
189
+ * Uses the DNS protocol to resolve `CAA` records for the `hostname`. On success,
190
+ * the `Promise` is resolved with an array of objects containing available
191
+ * certification authority authorization records available for the `hostname`(e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'},{critical: 128, issue: 'pki.example.com'}]`).
192
+ * @since v15.0.0, v14.17.0
193
+ */
194
+ function resolveCaa(hostname: string): Promise<CaaRecord[]>;
195
+ /**
196
+ * Uses the DNS protocol to resolve `CNAME` records for the `hostname`. On success,
197
+ * the `Promise` is resolved with an array of canonical name records available for
198
+ * the `hostname` (e.g. `['bar.example.com']`).
199
+ * @since v10.6.0
200
+ */
201
+ function resolveCname(hostname: string): Promise<string[]>;
202
+ /**
203
+ * 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
204
+ * containing both a `priority` and `exchange` property (e.g.`[{priority: 10, exchange: 'mx.example.com'}, ...]`).
205
+ * @since v10.6.0
206
+ */
207
+ function resolveMx(hostname: string): Promise<MxRecord[]>;
208
+ /**
209
+ * Uses the DNS protocol to resolve regular expression based records (`NAPTR`records) for the `hostname`. On success, the `Promise` is resolved with an array
210
+ * of objects with the following properties:
211
+ *
212
+ * * `flags`
213
+ * * `service`
214
+ * * `regexp`
215
+ * * `replacement`
216
+ * * `order`
217
+ * * `preference`
218
+ *
219
+ * ```js
220
+ * {
221
+ * flags: 's',
222
+ * service: 'SIP+D2U',
223
+ * regexp: '',
224
+ * replacement: '_sip._udp.example.com',
225
+ * order: 30,
226
+ * preference: 100
227
+ * }
228
+ * ```
229
+ * @since v10.6.0
230
+ */
231
+ function resolveNaptr(hostname: string): Promise<NaptrRecord[]>;
232
+ /**
233
+ * 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
234
+ * records available for `hostname` (e.g.`['ns1.example.com', 'ns2.example.com']`).
235
+ * @since v10.6.0
236
+ */
237
+ function resolveNs(hostname: string): Promise<string[]>;
238
+ /**
239
+ * Uses the DNS protocol to resolve pointer records (`PTR` records) for the`hostname`. On success, the `Promise` is resolved with an array of strings
240
+ * containing the reply records.
241
+ * @since v10.6.0
242
+ */
243
+ function resolvePtr(hostname: string): Promise<string[]>;
244
+ /**
245
+ * Uses the DNS protocol to resolve a start of authority record (`SOA` record) for
246
+ * the `hostname`. On success, the `Promise` is resolved with an object with the
247
+ * following properties:
248
+ *
249
+ * * `nsname`
250
+ * * `hostmaster`
251
+ * * `serial`
252
+ * * `refresh`
253
+ * * `retry`
254
+ * * `expire`
255
+ * * `minttl`
256
+ *
257
+ * ```js
258
+ * {
259
+ * nsname: 'ns.example.com',
260
+ * hostmaster: 'root.example.com',
261
+ * serial: 2013101809,
262
+ * refresh: 10000,
263
+ * retry: 2400,
264
+ * expire: 604800,
265
+ * minttl: 3600
266
+ * }
267
+ * ```
268
+ * @since v10.6.0
269
+ */
270
+ function resolveSoa(hostname: string): Promise<SoaRecord>;
271
+ /**
272
+ * 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
273
+ * the following properties:
274
+ *
275
+ * * `priority`
276
+ * * `weight`
277
+ * * `port`
278
+ * * `name`
279
+ *
280
+ * ```js
281
+ * {
282
+ * priority: 10,
283
+ * weight: 5,
284
+ * port: 21223,
285
+ * name: 'service.example.com'
286
+ * }
287
+ * ```
288
+ * @since v10.6.0
289
+ */
290
+ function resolveSrv(hostname: string): Promise<SrvRecord[]>;
291
+ /**
292
+ * Uses the DNS protocol to resolve text queries (`TXT` records) for the`hostname`. On success, the `Promise` is resolved with a two-dimensional array
293
+ * of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of
294
+ * one record. Depending on the use case, these could be either joined together or
295
+ * treated separately.
296
+ * @since v10.6.0
297
+ */
298
+ function resolveTxt(hostname: string): Promise<string[][]>;
299
+ /**
300
+ * Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an
301
+ * array of host names.
302
+ *
303
+ * On error, the `Promise` is rejected with an `Error` object, where `err.code`is one of the `DNS error codes`.
304
+ * @since v10.6.0
305
+ */
306
+ function reverse(ip: string): Promise<string[]>;
307
+ /**
308
+ * Sets the IP address and port of servers to be used when performing DNS
309
+ * resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted
310
+ * addresses. If the port is the IANA default DNS port (53) it can be omitted.
311
+ *
312
+ * ```js
313
+ * dnsPromises.setServers([
314
+ * '4.4.4.4',
315
+ * '[2001:4860:4860::8888]',
316
+ * '4.4.4.4:1053',
317
+ * '[2001:4860:4860::8888]:1053',
318
+ * ]);
319
+ * ```
320
+ *
321
+ * An error will be thrown if an invalid address is provided.
322
+ *
323
+ * The `dnsPromises.setServers()` method must not be called while a DNS query is in
324
+ * progress.
325
+ *
326
+ * This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html).
327
+ * 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
328
+ * subsequent servers provided. Fallback DNS servers will only be used if the
329
+ * earlier ones time out or result in some other error.
330
+ * @since v10.6.0
331
+ * @param servers array of `RFC 5952` formatted addresses
332
+ */
333
+ function setServers(servers: ReadonlyArray<string>): void;
334
+ /**
335
+ * Set the default value of `verbatim` in `dns.lookup()` and `dnsPromises.lookup()`. The value could be:
336
+ *
337
+ * * `ipv4first`: sets default `verbatim` `false`.
338
+ * * `verbatim`: sets default `verbatim` `true`.
339
+ *
340
+ * The default is `ipv4first` and `dnsPromises.setDefaultResultOrder()` have
341
+ * higher priority than `--dns-result-order`. When using `worker threads`,`dnsPromises.setDefaultResultOrder()` from the main thread won't affect the
342
+ * default dns orders in workers.
343
+ * @since v16.4.0, v14.18.0
344
+ * @param order must be `'ipv4first'` or `'verbatim'`.
345
+ */
346
+ function setDefaultResultOrder(order: 'ipv4first' | 'verbatim'): void;
347
+ class Resolver {
348
+ constructor(options?: ResolverOptions);
349
+ cancel(): void;
350
+ getServers: typeof getServers;
351
+ resolve: typeof resolve;
352
+ resolve4: typeof resolve4;
353
+ resolve6: typeof resolve6;
354
+ resolveAny: typeof resolveAny;
355
+ resolveCname: typeof resolveCname;
356
+ resolveMx: typeof resolveMx;
357
+ resolveNaptr: typeof resolveNaptr;
358
+ resolveNs: typeof resolveNs;
359
+ resolvePtr: typeof resolvePtr;
360
+ resolveSoa: typeof resolveSoa;
361
+ resolveSrv: typeof resolveSrv;
362
+ resolveTxt: typeof resolveTxt;
363
+ reverse: typeof reverse;
364
+ setLocalAddress(ipv4?: string, ipv6?: string): void;
365
+ setServers: typeof setServers;
366
+ }
367
+ }
368
+ declare module 'node:dns/promises' {
369
+ export * from 'dns/promises';
370
+ }