@rio-cloud/cdk-v2-constructs 8.2.0 → 8.2.1-alpha.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 (179) hide show
  1. package/.jsii +2 -2
  2. package/node_modules/@types/node/README.md +3 -3
  3. package/node_modules/@types/node/assert/strict.d.ts +105 -2
  4. package/node_modules/@types/node/assert.d.ts +211 -92
  5. package/node_modules/@types/node/async_hooks.d.ts +103 -19
  6. package/node_modules/@types/node/buffer.buffer.d.ts +472 -0
  7. package/node_modules/@types/node/buffer.d.ts +88 -516
  8. package/node_modules/@types/node/child_process.d.ts +167 -231
  9. package/node_modules/@types/node/cluster.d.ts +172 -26
  10. package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  11. package/node_modules/@types/node/console.d.ts +66 -28
  12. package/node_modules/@types/node/constants.d.ts +14 -12
  13. package/node_modules/@types/node/crypto.d.ts +1458 -497
  14. package/node_modules/@types/node/dgram.d.ts +44 -30
  15. package/node_modules/@types/node/diagnostics_channel.d.ts +389 -4
  16. package/node_modules/@types/node/dns/promises.d.ts +120 -42
  17. package/node_modules/@types/node/dns.d.ts +209 -95
  18. package/node_modules/@types/node/domain.d.ts +14 -18
  19. package/node_modules/@types/node/events.d.ts +245 -113
  20. package/node_modules/@types/node/fs/promises.d.ts +194 -96
  21. package/node_modules/@types/node/fs.d.ts +695 -270
  22. package/node_modules/@types/node/globals.d.ts +97 -308
  23. package/node_modules/@types/node/globals.typedarray.d.ts +41 -0
  24. package/node_modules/@types/node/http.d.ts +363 -97
  25. package/node_modules/@types/node/http2.d.ts +684 -231
  26. package/node_modules/@types/node/https.d.ts +122 -87
  27. package/node_modules/@types/node/index.d.ts +24 -11
  28. package/node_modules/@types/node/inspector.d.ts +220 -2690
  29. package/node_modules/@types/node/inspector.generated.d.ts +4239 -0
  30. package/node_modules/@types/node/module.d.ts +705 -149
  31. package/node_modules/@types/node/net.d.ts +178 -54
  32. package/node_modules/@types/node/os.d.ts +47 -17
  33. package/node_modules/@types/node/package.json +22 -97
  34. package/node_modules/@types/node/path.d.ts +12 -3
  35. package/node_modules/@types/node/perf_hooks.d.ts +500 -97
  36. package/node_modules/@types/node/process.d.ts +657 -87
  37. package/node_modules/@types/node/punycode.d.ts +5 -5
  38. package/node_modules/@types/node/querystring.d.ts +24 -13
  39. package/node_modules/@types/node/readline/promises.d.ts +25 -14
  40. package/node_modules/@types/node/readline.d.ts +102 -41
  41. package/node_modules/@types/node/repl.d.ts +38 -30
  42. package/node_modules/@types/node/sea.d.ts +162 -0
  43. package/node_modules/@types/node/sqlite.d.ts +1040 -0
  44. package/node_modules/@types/node/stream/consumers.d.ts +33 -7
  45. package/node_modules/@types/node/stream/promises.d.ts +8 -1
  46. package/node_modules/@types/node/stream/web.d.ts +251 -28
  47. package/node_modules/@types/node/stream.d.ts +1060 -1055
  48. package/node_modules/@types/node/string_decoder.d.ts +8 -8
  49. package/node_modules/@types/node/test.d.ts +2133 -1166
  50. package/node_modules/@types/node/timers/promises.d.ts +31 -16
  51. package/node_modules/@types/node/timers.d.ts +159 -114
  52. package/node_modules/@types/node/tls.d.ts +232 -163
  53. package/node_modules/@types/node/trace_events.d.ts +43 -28
  54. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  55. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  56. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  57. package/node_modules/@types/node/ts5.6/index.d.ts +103 -0
  58. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  59. package/node_modules/@types/node/ts5.7/index.d.ts +103 -0
  60. package/node_modules/@types/node/tty.d.ts +9 -9
  61. package/node_modules/@types/node/url.d.ts +236 -84
  62. package/node_modules/@types/node/util.d.ts +562 -412
  63. package/node_modules/@types/node/v8.d.ts +368 -21
  64. package/node_modules/@types/node/vm.d.ts +443 -149
  65. package/node_modules/@types/node/wasi.d.ts +62 -18
  66. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  67. package/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
  68. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  69. package/node_modules/@types/node/web-globals/events.d.ts +97 -0
  70. package/node_modules/@types/node/web-globals/fetch.d.ts +62 -0
  71. package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  72. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  73. package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
  74. package/node_modules/@types/node/worker_threads.d.ts +310 -107
  75. package/node_modules/@types/node/zlib.d.ts +301 -73
  76. package/node_modules/undici-types/LICENSE +21 -0
  77. package/node_modules/undici-types/agent.d.ts +13 -12
  78. package/node_modules/undici-types/api.d.ts +26 -26
  79. package/node_modules/undici-types/balanced-pool.d.ts +19 -7
  80. package/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  81. package/node_modules/undici-types/client-stats.d.ts +15 -0
  82. package/node_modules/undici-types/client.d.ts +26 -15
  83. package/node_modules/undici-types/connector.d.ts +2 -2
  84. package/node_modules/undici-types/cookies.d.ts +2 -0
  85. package/node_modules/undici-types/diagnostics-channel.d.ts +19 -12
  86. package/node_modules/undici-types/dispatcher.d.ts +148 -113
  87. package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  88. package/node_modules/undici-types/errors.d.ts +79 -46
  89. package/node_modules/undici-types/eventsource.d.ts +66 -0
  90. package/node_modules/undici-types/fetch.d.ts +41 -39
  91. package/node_modules/undici-types/formdata.d.ts +8 -8
  92. package/node_modules/undici-types/global-dispatcher.d.ts +4 -4
  93. package/node_modules/undici-types/global-origin.d.ts +5 -5
  94. package/node_modules/undici-types/h2c-client.d.ts +73 -0
  95. package/node_modules/undici-types/handlers.d.ts +11 -5
  96. package/node_modules/undici-types/header.d.ts +157 -1
  97. package/node_modules/undici-types/index.d.ts +68 -43
  98. package/node_modules/undici-types/interceptors.d.ts +71 -3
  99. package/node_modules/undici-types/mock-agent.d.ts +36 -18
  100. package/node_modules/undici-types/mock-call-history.d.ts +111 -0
  101. package/node_modules/undici-types/mock-client.d.ts +6 -4
  102. package/node_modules/undici-types/mock-errors.d.ts +3 -3
  103. package/node_modules/undici-types/mock-interceptor.d.ts +24 -23
  104. package/node_modules/undici-types/mock-pool.d.ts +6 -4
  105. package/node_modules/undici-types/package.json +1 -1
  106. package/node_modules/undici-types/patch.d.ts +0 -42
  107. package/node_modules/undici-types/pool-stats.d.ts +8 -8
  108. package/node_modules/undici-types/pool.d.ts +21 -8
  109. package/node_modules/undici-types/proxy-agent.d.ts +5 -6
  110. package/node_modules/undici-types/readable.d.ts +24 -17
  111. package/node_modules/undici-types/retry-agent.d.ts +8 -0
  112. package/node_modules/undici-types/retry-handler.d.ts +125 -0
  113. package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  114. package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  115. package/node_modules/undici-types/util.d.ts +18 -0
  116. package/node_modules/undici-types/utility.d.ts +7 -0
  117. package/node_modules/undici-types/webidl.d.ts +157 -36
  118. package/node_modules/undici-types/websocket.d.ts +67 -12
  119. package/package.json +9 -60
  120. package/version.json +1 -1
  121. package/node_modules/@types/node/dom-events.d.ts +0 -122
  122. package/node_modules/@types/node/globals.global.d.ts +0 -1
  123. package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
  124. package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
  125. package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
  126. package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2362
  127. package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
  128. package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
  129. package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
  130. package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
  131. package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4455
  132. package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -586
  133. package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -191
  134. package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
  135. package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
  136. package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
  137. package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
  138. package/node_modules/@types/node/ts4.8/events.d.ts +0 -796
  139. package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1232
  140. package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4289
  141. package/node_modules/@types/node/ts4.8/globals.d.ts +0 -381
  142. package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
  143. package/node_modules/@types/node/ts4.8/http.d.ts +0 -1888
  144. package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
  145. package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
  146. package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
  147. package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
  148. package/node_modules/@types/node/ts4.8/module.d.ts +0 -287
  149. package/node_modules/@types/node/ts4.8/net.d.ts +0 -949
  150. package/node_modules/@types/node/ts4.8/os.d.ts +0 -477
  151. package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
  152. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -639
  153. package/node_modules/@types/node/ts4.8/process.d.ts +0 -1532
  154. package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
  155. package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
  156. package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
  157. package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
  158. package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
  159. package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
  160. package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
  161. package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -350
  162. package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
  163. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
  164. package/node_modules/@types/node/ts4.8/test.d.ts +0 -1382
  165. package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
  166. package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
  167. package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
  168. package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
  169. package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
  170. package/node_modules/@types/node/ts4.8/url.d.ts +0 -927
  171. package/node_modules/@types/node/ts4.8/util.d.ts +0 -2186
  172. package/node_modules/@types/node/ts4.8/v8.d.ts +0 -635
  173. package/node_modules/@types/node/ts4.8/vm.d.ts +0 -901
  174. package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -158
  175. package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
  176. package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
  177. package/node_modules/argparse/CHANGELOG.md +0 -216
  178. package/node_modules/undici-types/file.d.ts +0 -39
  179. package/node_modules/undici-types/filereader.d.ts +0 -54
@@ -1,28 +1,41 @@
1
1
  import Client from './client'
2
2
  import TPoolStats from './pool-stats'
3
- import { URL } from 'url'
4
- import Dispatcher from "./dispatcher";
3
+ import { URL } from 'node:url'
4
+ import Dispatcher from './dispatcher'
5
5
 
6
6
  export default Pool
7
7
 
8
+ type PoolConnectOptions = Omit<Dispatcher.ConnectOptions, 'origin'>
9
+
8
10
  declare class Pool extends Dispatcher {
9
- constructor(url: string | URL, options?: Pool.Options)
11
+ constructor (url: string | URL, options?: Pool.Options)
10
12
  /** `true` after `pool.close()` has been called. */
11
- closed: boolean;
13
+ closed: boolean
12
14
  /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */
13
- destroyed: boolean;
15
+ destroyed: boolean
14
16
  /** Aggregate stats for a Pool. */
15
- readonly stats: TPoolStats;
17
+ readonly stats: TPoolStats
18
+
19
+ // Override dispatcher APIs.
20
+ override connect (
21
+ options: PoolConnectOptions
22
+ ): Promise<Dispatcher.ConnectData>
23
+ override connect (
24
+ options: PoolConnectOptions,
25
+ callback: (err: Error | null, data: Dispatcher.ConnectData) => void
26
+ ): void
16
27
  }
17
28
 
18
29
  declare namespace Pool {
19
- export type PoolStats = TPoolStats;
30
+ export type PoolStats = TPoolStats
20
31
  export interface Options extends Client.Options {
21
32
  /** Default: `(origin, opts) => new Client(origin, opts)`. */
22
33
  factory?(origin: URL, opts: object): Dispatcher;
23
34
  /** The max number of clients to create. `null` if no limit. Default `null`. */
24
35
  connections?: number | null;
36
+ /** The amount of time before a client is removed from the pool and closed. `null` if no time limit. Default `null` */
37
+ clientTtl?: number | null;
25
38
 
26
- interceptors?: { Pool?: readonly Dispatcher.DispatchInterceptor[] } & Client.Options["interceptors"]
39
+ interceptors?: { Pool?: readonly Dispatcher.DispatchInterceptor[] } & Client.Options['interceptors']
27
40
  }
28
41
  }
@@ -1,17 +1,15 @@
1
1
  import Agent from './agent'
2
- import buildConnector from './connector';
3
- import Client from './client'
2
+ import buildConnector from './connector'
4
3
  import Dispatcher from './dispatcher'
5
4
  import { IncomingHttpHeaders } from './header'
6
- import Pool from './pool'
7
5
 
8
6
  export default ProxyAgent
9
7
 
10
8
  declare class ProxyAgent extends Dispatcher {
11
- constructor(options: ProxyAgent.Options | string)
9
+ constructor (options: ProxyAgent.Options | string)
12
10
 
13
- dispatch(options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean;
14
- close(): Promise<void>;
11
+ dispatch (options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandler): boolean
12
+ close (): Promise<void>
15
13
  }
16
14
 
17
15
  declare namespace ProxyAgent {
@@ -26,5 +24,6 @@ declare namespace ProxyAgent {
26
24
  requestTls?: buildConnector.BuildOptions;
27
25
  proxyTls?: buildConnector.BuildOptions;
28
26
  clientFactory?(origin: URL, opts: object): Dispatcher;
27
+ proxyTunnel?: boolean;
29
28
  }
30
29
  }
@@ -1,40 +1,47 @@
1
- import { Readable } from "stream";
2
- import { Blob } from 'buffer'
1
+ import { Readable } from 'node:stream'
2
+ import { Blob } from 'node:buffer'
3
3
 
4
4
  export default BodyReadable
5
5
 
6
6
  declare class BodyReadable extends Readable {
7
- constructor(
8
- resume?: (this: Readable, size: number) => void | null,
9
- abort?: () => void | null,
10
- contentType?: string
11
- )
7
+ constructor (opts: {
8
+ resume: (this: Readable, size: number) => void | null;
9
+ abort: () => void | null;
10
+ contentType?: string;
11
+ contentLength?: number;
12
+ highWaterMark?: number;
13
+ })
12
14
 
13
15
  /** Consumes and returns the body as a string
14
16
  * https://fetch.spec.whatwg.org/#dom-body-text
15
17
  */
16
- text(): Promise<string>
18
+ text (): Promise<string>
17
19
 
18
20
  /** Consumes and returns the body as a JavaScript Object
19
21
  * https://fetch.spec.whatwg.org/#dom-body-json
20
22
  */
21
- json(): Promise<unknown>
23
+ json (): Promise<unknown>
22
24
 
23
25
  /** Consumes and returns the body as a Blob
24
26
  * https://fetch.spec.whatwg.org/#dom-body-blob
25
27
  */
26
- blob(): Promise<Blob>
28
+ blob (): Promise<Blob>
29
+
30
+ /** Consumes and returns the body as an Uint8Array
31
+ * https://fetch.spec.whatwg.org/#dom-body-bytes
32
+ */
33
+ bytes (): Promise<Uint8Array>
27
34
 
28
35
  /** Consumes and returns the body as an ArrayBuffer
29
36
  * https://fetch.spec.whatwg.org/#dom-body-arraybuffer
30
37
  */
31
- arrayBuffer(): Promise<ArrayBuffer>
38
+ arrayBuffer (): Promise<ArrayBuffer>
32
39
 
33
40
  /** Not implemented
34
41
  *
35
42
  * https://fetch.spec.whatwg.org/#dom-body-formdata
36
43
  */
37
- formData(): Promise<never>
44
+ formData (): Promise<never>
38
45
 
39
46
  /** Returns true if the body is not null and the body has been consumed
40
47
  *
@@ -44,9 +51,8 @@ declare class BodyReadable extends Readable {
44
51
  */
45
52
  readonly bodyUsed: boolean
46
53
 
47
- /** Throws on node 16.6.0
48
- *
49
- * If body is null, it should return null as the body
54
+ /**
55
+ * If body is null, it should return null as the body
50
56
  *
51
57
  * If body is not null, should return the body as a ReadableStream
52
58
  *
@@ -55,7 +61,8 @@ declare class BodyReadable extends Readable {
55
61
  readonly body: never | undefined
56
62
 
57
63
  /** Dumps the response body by reading `limit` number of bytes.
58
- * @param opts.limit Number of bytes to read (optional) - Default: 262144
64
+ * @param opts.limit Number of bytes to read (optional) - Default: 131072
65
+ * @param opts.signal AbortSignal to cancel the operation (optional)
59
66
  */
60
- dump(opts?: { limit: number }): Promise<void>
67
+ dump (opts?: { limit: number; signal?: AbortSignal }): Promise<void>
61
68
  }
@@ -0,0 +1,8 @@
1
+ import Dispatcher from './dispatcher'
2
+ import RetryHandler from './retry-handler'
3
+
4
+ export default RetryAgent
5
+
6
+ declare class RetryAgent extends Dispatcher {
7
+ constructor (dispatcher: Dispatcher, options?: RetryHandler.RetryOptions)
8
+ }
@@ -0,0 +1,125 @@
1
+ import Dispatcher from './dispatcher'
2
+
3
+ export default RetryHandler
4
+
5
+ declare class RetryHandler implements Dispatcher.DispatchHandler {
6
+ constructor (
7
+ options: Dispatcher.DispatchOptions & {
8
+ retryOptions?: RetryHandler.RetryOptions;
9
+ },
10
+ retryHandlers: RetryHandler.RetryHandlers
11
+ )
12
+ }
13
+
14
+ declare namespace RetryHandler {
15
+ export type RetryState = { counter: number; }
16
+
17
+ export type RetryContext = {
18
+ state: RetryState;
19
+ opts: Dispatcher.DispatchOptions & {
20
+ retryOptions?: RetryHandler.RetryOptions;
21
+ };
22
+ }
23
+
24
+ export type OnRetryCallback = (result?: Error | null) => void
25
+
26
+ export type RetryCallback = (
27
+ err: Error,
28
+ context: {
29
+ state: RetryState;
30
+ opts: Dispatcher.DispatchOptions & {
31
+ retryOptions?: RetryHandler.RetryOptions;
32
+ };
33
+ },
34
+ callback: OnRetryCallback
35
+ ) => void
36
+
37
+ export interface RetryOptions {
38
+ /**
39
+ * If true, the retry handler will throw an error if the request fails,
40
+ * this will prevent the folling handlers from being called, and will destroy the socket.
41
+ *
42
+ * @type {boolean}
43
+ * @memberof RetryOptions
44
+ * @default true
45
+ */
46
+ throwOnError?: boolean;
47
+ /**
48
+ * Callback to be invoked on every retry iteration.
49
+ * It receives the error, current state of the retry object and the options object
50
+ * passed when instantiating the retry handler.
51
+ *
52
+ * @type {RetryCallback}
53
+ * @memberof RetryOptions
54
+ */
55
+ retry?: RetryCallback;
56
+ /**
57
+ * Maximum number of retries to allow.
58
+ *
59
+ * @type {number}
60
+ * @memberof RetryOptions
61
+ * @default 5
62
+ */
63
+ maxRetries?: number;
64
+ /**
65
+ * Max number of milliseconds allow between retries
66
+ *
67
+ * @type {number}
68
+ * @memberof RetryOptions
69
+ * @default 30000
70
+ */
71
+ maxTimeout?: number;
72
+ /**
73
+ * Initial number of milliseconds to wait before retrying for the first time.
74
+ *
75
+ * @type {number}
76
+ * @memberof RetryOptions
77
+ * @default 500
78
+ */
79
+ minTimeout?: number;
80
+ /**
81
+ * Factior to multiply the timeout factor between retries.
82
+ *
83
+ * @type {number}
84
+ * @memberof RetryOptions
85
+ * @default 2
86
+ */
87
+ timeoutFactor?: number;
88
+ /**
89
+ * It enables to automatically infer timeout between retries based on the `Retry-After` header.
90
+ *
91
+ * @type {boolean}
92
+ * @memberof RetryOptions
93
+ * @default true
94
+ */
95
+ retryAfter?: boolean;
96
+ /**
97
+ * HTTP methods to retry.
98
+ *
99
+ * @type {Dispatcher.HttpMethod[]}
100
+ * @memberof RetryOptions
101
+ * @default ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE'],
102
+ */
103
+ methods?: Dispatcher.HttpMethod[];
104
+ /**
105
+ * Error codes to be retried. e.g. `ECONNRESET`, `ENOTFOUND`, `ETIMEDOUT`, `ECONNREFUSED`, etc.
106
+ *
107
+ * @type {string[]}
108
+ * @default ['ECONNRESET','ECONNREFUSED','ENOTFOUND','ENETDOWN','ENETUNREACH','EHOSTDOWN','EHOSTUNREACH','EPIPE']
109
+ */
110
+ errorCodes?: string[];
111
+ /**
112
+ * HTTP status codes to be retried.
113
+ *
114
+ * @type {number[]}
115
+ * @memberof RetryOptions
116
+ * @default [500, 502, 503, 504, 429],
117
+ */
118
+ statusCodes?: number[];
119
+ }
120
+
121
+ export interface RetryHandlers {
122
+ dispatch: Dispatcher['dispatch'];
123
+ handler: Dispatcher.DispatchHandler;
124
+ }
125
+ }
@@ -0,0 +1,41 @@
1
+ import Client from './client'
2
+ import TPoolStats from './pool-stats'
3
+ import { URL } from 'node:url'
4
+ import Dispatcher from './dispatcher'
5
+
6
+ export default RoundRobinPool
7
+
8
+ type RoundRobinPoolConnectOptions = Omit<Dispatcher.ConnectOptions, 'origin'>
9
+
10
+ declare class RoundRobinPool extends Dispatcher {
11
+ constructor (url: string | URL, options?: RoundRobinPool.Options)
12
+ /** `true` after `pool.close()` has been called. */
13
+ closed: boolean
14
+ /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */
15
+ destroyed: boolean
16
+ /** Aggregate stats for a RoundRobinPool. */
17
+ readonly stats: TPoolStats
18
+
19
+ // Override dispatcher APIs.
20
+ override connect (
21
+ options: RoundRobinPoolConnectOptions
22
+ ): Promise<Dispatcher.ConnectData>
23
+ override connect (
24
+ options: RoundRobinPoolConnectOptions,
25
+ callback: (err: Error | null, data: Dispatcher.ConnectData) => void
26
+ ): void
27
+ }
28
+
29
+ declare namespace RoundRobinPool {
30
+ export type RoundRobinPoolStats = TPoolStats
31
+ export interface Options extends Client.Options {
32
+ /** Default: `(origin, opts) => new Client(origin, opts)`. */
33
+ factory?(origin: URL, opts: object): Dispatcher;
34
+ /** The max number of clients to create. `null` if no limit. Default `null`. */
35
+ connections?: number | null;
36
+ /** The amount of time before a client is removed from the pool and closed. `null` if no time limit. Default `null` */
37
+ clientTtl?: number | null;
38
+
39
+ interceptors?: { RoundRobinPool?: readonly Dispatcher.DispatchInterceptor[] } & Client.Options['interceptors']
40
+ }
41
+ }
@@ -0,0 +1,109 @@
1
+ import MockAgent from './mock-agent'
2
+
3
+ declare class SnapshotRecorder {
4
+ constructor (options?: SnapshotRecorder.Options)
5
+
6
+ record (requestOpts: any, response: any): Promise<void>
7
+ findSnapshot (requestOpts: any): SnapshotRecorder.Snapshot | undefined
8
+ loadSnapshots (filePath?: string): Promise<void>
9
+ saveSnapshots (filePath?: string): Promise<void>
10
+ clear (): void
11
+ getSnapshots (): SnapshotRecorder.Snapshot[]
12
+ size (): number
13
+ resetCallCounts (): void
14
+ deleteSnapshot (requestOpts: any): boolean
15
+ getSnapshotInfo (requestOpts: any): SnapshotRecorder.SnapshotInfo | null
16
+ replaceSnapshots (snapshotData: SnapshotRecorder.SnapshotData[]): void
17
+ destroy (): void
18
+ }
19
+
20
+ declare namespace SnapshotRecorder {
21
+ type SnapshotRecorderMode = 'record' | 'playback' | 'update'
22
+
23
+ export interface Options {
24
+ snapshotPath?: string
25
+ mode?: SnapshotRecorderMode
26
+ maxSnapshots?: number
27
+ autoFlush?: boolean
28
+ flushInterval?: number
29
+ matchHeaders?: string[]
30
+ ignoreHeaders?: string[]
31
+ excludeHeaders?: string[]
32
+ matchBody?: boolean
33
+ matchQuery?: boolean
34
+ caseSensitive?: boolean
35
+ shouldRecord?: (requestOpts: any) => boolean
36
+ shouldPlayback?: (requestOpts: any) => boolean
37
+ excludeUrls?: (string | RegExp)[]
38
+ }
39
+
40
+ export interface Snapshot {
41
+ request: {
42
+ method: string
43
+ url: string
44
+ headers: Record<string, string>
45
+ body?: string
46
+ }
47
+ responses: {
48
+ statusCode: number
49
+ headers: Record<string, string>
50
+ body: string
51
+ trailers: Record<string, string>
52
+ }[]
53
+ callCount: number
54
+ timestamp: string
55
+ }
56
+
57
+ export interface SnapshotInfo {
58
+ hash: string
59
+ request: {
60
+ method: string
61
+ url: string
62
+ headers: Record<string, string>
63
+ body?: string
64
+ }
65
+ responseCount: number
66
+ callCount: number
67
+ timestamp: string
68
+ }
69
+
70
+ export interface SnapshotData {
71
+ hash: string
72
+ snapshot: Snapshot
73
+ }
74
+ }
75
+
76
+ declare class SnapshotAgent extends MockAgent {
77
+ constructor (options?: SnapshotAgent.Options)
78
+
79
+ saveSnapshots (filePath?: string): Promise<void>
80
+ loadSnapshots (filePath?: string): Promise<void>
81
+ getRecorder (): SnapshotRecorder
82
+ getMode (): SnapshotRecorder.SnapshotRecorderMode
83
+ clearSnapshots (): void
84
+ resetCallCounts (): void
85
+ deleteSnapshot (requestOpts: any): boolean
86
+ getSnapshotInfo (requestOpts: any): SnapshotRecorder.SnapshotInfo | null
87
+ replaceSnapshots (snapshotData: SnapshotRecorder.SnapshotData[]): void
88
+ }
89
+
90
+ declare namespace SnapshotAgent {
91
+ export interface Options extends MockAgent.Options {
92
+ mode?: SnapshotRecorder.SnapshotRecorderMode
93
+ snapshotPath?: string
94
+ maxSnapshots?: number
95
+ autoFlush?: boolean
96
+ flushInterval?: number
97
+ matchHeaders?: string[]
98
+ ignoreHeaders?: string[]
99
+ excludeHeaders?: string[]
100
+ matchBody?: boolean
101
+ matchQuery?: boolean
102
+ caseSensitive?: boolean
103
+ shouldRecord?: (requestOpts: any) => boolean
104
+ shouldPlayback?: (requestOpts: any) => boolean
105
+ excludeUrls?: (string | RegExp)[]
106
+ }
107
+ }
108
+
109
+ export { SnapshotAgent, SnapshotRecorder }
@@ -0,0 +1,18 @@
1
+ export namespace util {
2
+ /**
3
+ * Retrieves a header name and returns its lowercase value.
4
+ * @param value Header name
5
+ */
6
+ export function headerNameToString (value: string | Buffer): string
7
+
8
+ /**
9
+ * Receives a header object and returns the parsed value.
10
+ * @param headers Header object
11
+ * @param obj Object to specify a proxy object. Used to assign parsed values.
12
+ * @returns If `obj` is specified, it is equivalent to `obj`.
13
+ */
14
+ export function parseHeaders (
15
+ headers: (Buffer | string | (Buffer | string)[])[],
16
+ obj?: Record<string, string | string[]>
17
+ ): Record<string, string | string[]>
18
+ }
@@ -0,0 +1,7 @@
1
+ type AutocompletePrimitiveBaseType<T> =
2
+ T extends string ? string :
3
+ T extends number ? number :
4
+ T extends boolean ? boolean :
5
+ never
6
+
7
+ export type Autocomplete<T> = T | (AutocompletePrimitiveBaseType<T> & Record<never, never>)