nlcurl 0.7.0 → 0.8.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 (350) hide show
  1. package/README.md +143 -140
  2. package/dist/cache/groups.d.ts +75 -0
  3. package/dist/cache/groups.d.ts.map +1 -0
  4. package/dist/cache/groups.js +118 -0
  5. package/dist/cache/groups.js.map +1 -0
  6. package/dist/cache/no-vary-search.d.ts +33 -0
  7. package/dist/cache/no-vary-search.d.ts.map +1 -0
  8. package/dist/cache/no-vary-search.js +148 -0
  9. package/dist/cache/no-vary-search.js.map +1 -0
  10. package/dist/cache/range.d.ts +120 -0
  11. package/dist/cache/range.d.ts.map +1 -0
  12. package/dist/cache/range.js +193 -0
  13. package/dist/cache/range.js.map +1 -0
  14. package/dist/cache/store.d.ts +58 -36
  15. package/dist/cache/store.d.ts.map +1 -1
  16. package/dist/cache/store.js +58 -46
  17. package/dist/cache/store.js.map +1 -1
  18. package/dist/cache/types.d.ts +7 -39
  19. package/dist/cache/types.d.ts.map +1 -1
  20. package/dist/cli/args.d.ts +4 -37
  21. package/dist/cli/args.d.ts.map +1 -1
  22. package/dist/cli/args.js +3 -4
  23. package/dist/cli/args.js.map +1 -1
  24. package/dist/cli/index.d.ts +0 -5
  25. package/dist/cli/index.d.ts.map +1 -1
  26. package/dist/cli/index.js +1 -6
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/output.d.ts +14 -20
  29. package/dist/cli/output.d.ts.map +1 -1
  30. package/dist/cli/output.js +14 -20
  31. package/dist/cli/output.js.map +1 -1
  32. package/dist/cookies/jar.d.ts +30 -39
  33. package/dist/cookies/jar.d.ts.map +1 -1
  34. package/dist/cookies/jar.js +27 -37
  35. package/dist/cookies/jar.js.map +1 -1
  36. package/dist/cookies/parser.d.ts +13 -17
  37. package/dist/cookies/parser.d.ts.map +1 -1
  38. package/dist/cookies/parser.js +17 -14
  39. package/dist/cookies/parser.js.map +1 -1
  40. package/dist/cookies/psl-data.d.ts +1 -1
  41. package/dist/cookies/psl-data.js +1 -1
  42. package/dist/cookies/public-suffix.d.ts +5 -27
  43. package/dist/cookies/public-suffix.d.ts.map +1 -1
  44. package/dist/cookies/public-suffix.js +5 -37
  45. package/dist/cookies/public-suffix.js.map +1 -1
  46. package/dist/core/auth.d.ts +30 -0
  47. package/dist/core/auth.d.ts.map +1 -0
  48. package/dist/core/auth.js +34 -0
  49. package/dist/core/auth.js.map +1 -0
  50. package/dist/core/client.d.ts +28 -40
  51. package/dist/core/client.d.ts.map +1 -1
  52. package/dist/core/client.js +31 -41
  53. package/dist/core/client.js.map +1 -1
  54. package/dist/core/errors.d.ts +64 -88
  55. package/dist/core/errors.d.ts.map +1 -1
  56. package/dist/core/errors.js +64 -88
  57. package/dist/core/errors.js.map +1 -1
  58. package/dist/core/request.d.ts +23 -111
  59. package/dist/core/request.d.ts.map +1 -1
  60. package/dist/core/response.d.ts +49 -66
  61. package/dist/core/response.d.ts.map +1 -1
  62. package/dist/core/response.js +45 -59
  63. package/dist/core/response.js.map +1 -1
  64. package/dist/core/session.d.ts +66 -78
  65. package/dist/core/session.d.ts.map +1 -1
  66. package/dist/core/session.js +105 -76
  67. package/dist/core/session.js.map +1 -1
  68. package/dist/core/validation.d.ts +44 -43
  69. package/dist/core/validation.d.ts.map +1 -1
  70. package/dist/core/validation.js +44 -56
  71. package/dist/core/validation.js.map +1 -1
  72. package/dist/dns/cache.d.ts +59 -0
  73. package/dist/dns/cache.d.ts.map +1 -0
  74. package/dist/dns/cache.js +99 -0
  75. package/dist/dns/cache.js.map +1 -0
  76. package/dist/dns/codec.d.ts +20 -18
  77. package/dist/dns/codec.d.ts.map +1 -1
  78. package/dist/dns/codec.js +20 -36
  79. package/dist/dns/codec.js.map +1 -1
  80. package/dist/dns/doh-resolver.d.ts +17 -31
  81. package/dist/dns/doh-resolver.d.ts.map +1 -1
  82. package/dist/dns/doh-resolver.js +46 -47
  83. package/dist/dns/doh-resolver.js.map +1 -1
  84. package/dist/dns/dot-resolver.d.ts +89 -0
  85. package/dist/dns/dot-resolver.d.ts.map +1 -0
  86. package/dist/dns/dot-resolver.js +158 -0
  87. package/dist/dns/dot-resolver.js.map +1 -0
  88. package/dist/dns/https-rr.d.ts +19 -30
  89. package/dist/dns/https-rr.d.ts.map +1 -1
  90. package/dist/dns/https-rr.js +22 -40
  91. package/dist/dns/https-rr.js.map +1 -1
  92. package/dist/dns/types.d.ts +31 -59
  93. package/dist/dns/types.d.ts.map +1 -1
  94. package/dist/dns/types.js +3 -14
  95. package/dist/dns/types.js.map +1 -1
  96. package/dist/fingerprints/akamai.d.ts +3 -11
  97. package/dist/fingerprints/akamai.d.ts.map +1 -1
  98. package/dist/fingerprints/akamai.js +3 -11
  99. package/dist/fingerprints/akamai.js.map +1 -1
  100. package/dist/fingerprints/database.d.ts +6 -14
  101. package/dist/fingerprints/database.d.ts.map +1 -1
  102. package/dist/fingerprints/database.js +6 -14
  103. package/dist/fingerprints/database.js.map +1 -1
  104. package/dist/fingerprints/extensions.d.ts +56 -71
  105. package/dist/fingerprints/extensions.d.ts.map +1 -1
  106. package/dist/fingerprints/extensions.js +58 -71
  107. package/dist/fingerprints/extensions.js.map +1 -1
  108. package/dist/fingerprints/ja3.d.ts +12 -30
  109. package/dist/fingerprints/ja3.d.ts.map +1 -1
  110. package/dist/fingerprints/ja3.js +12 -30
  111. package/dist/fingerprints/ja3.js.map +1 -1
  112. package/dist/fingerprints/ja4.d.ts +18 -0
  113. package/dist/fingerprints/ja4.d.ts.map +1 -0
  114. package/dist/fingerprints/ja4.js +83 -0
  115. package/dist/fingerprints/ja4.js.map +1 -0
  116. package/dist/fingerprints/profiles/chrome.d.ts +18 -21
  117. package/dist/fingerprints/profiles/chrome.d.ts.map +1 -1
  118. package/dist/fingerprints/profiles/chrome.js +35 -31
  119. package/dist/fingerprints/profiles/chrome.js.map +1 -1
  120. package/dist/fingerprints/profiles/edge.d.ts +7 -10
  121. package/dist/fingerprints/profiles/edge.d.ts.map +1 -1
  122. package/dist/fingerprints/profiles/edge.js +7 -10
  123. package/dist/fingerprints/profiles/edge.js.map +1 -1
  124. package/dist/fingerprints/profiles/firefox.d.ts +8 -11
  125. package/dist/fingerprints/profiles/firefox.d.ts.map +1 -1
  126. package/dist/fingerprints/profiles/firefox.js +8 -11
  127. package/dist/fingerprints/profiles/firefox.js.map +1 -1
  128. package/dist/fingerprints/profiles/safari.d.ts +11 -14
  129. package/dist/fingerprints/profiles/safari.d.ts.map +1 -1
  130. package/dist/fingerprints/profiles/safari.js +11 -14
  131. package/dist/fingerprints/profiles/safari.js.map +1 -1
  132. package/dist/fingerprints/profiles/tor.d.ts +5 -8
  133. package/dist/fingerprints/profiles/tor.d.ts.map +1 -1
  134. package/dist/fingerprints/profiles/tor.js +5 -8
  135. package/dist/fingerprints/profiles/tor.js.map +1 -1
  136. package/dist/fingerprints/types.d.ts +42 -73
  137. package/dist/fingerprints/types.d.ts.map +1 -1
  138. package/dist/hsts/store.d.ts +19 -21
  139. package/dist/hsts/store.d.ts.map +1 -1
  140. package/dist/hsts/store.js +20 -28
  141. package/dist/hsts/store.js.map +1 -1
  142. package/dist/hsts/types.d.ts +10 -14
  143. package/dist/hsts/types.d.ts.map +1 -1
  144. package/dist/http/alt-svc.d.ts +31 -49
  145. package/dist/http/alt-svc.d.ts.map +1 -1
  146. package/dist/http/alt-svc.js +21 -55
  147. package/dist/http/alt-svc.js.map +1 -1
  148. package/dist/http/early-hints.d.ts +23 -0
  149. package/dist/http/early-hints.d.ts.map +1 -0
  150. package/dist/http/early-hints.js +33 -0
  151. package/dist/http/early-hints.js.map +1 -0
  152. package/dist/http/form-data.d.ts +17 -35
  153. package/dist/http/form-data.d.ts.map +1 -1
  154. package/dist/http/form-data.js +12 -34
  155. package/dist/http/form-data.js.map +1 -1
  156. package/dist/http/h1/client.d.ts +14 -26
  157. package/dist/http/h1/client.d.ts.map +1 -1
  158. package/dist/http/h1/client.js +14 -23
  159. package/dist/http/h1/client.js.map +1 -1
  160. package/dist/http/h1/encoder.d.ts +10 -17
  161. package/dist/http/h1/encoder.d.ts.map +1 -1
  162. package/dist/http/h1/encoder.js +10 -17
  163. package/dist/http/h1/encoder.js.map +1 -1
  164. package/dist/http/h1/parser.d.ts +22 -59
  165. package/dist/http/h1/parser.d.ts.map +1 -1
  166. package/dist/http/h1/parser.js +15 -47
  167. package/dist/http/h1/parser.js.map +1 -1
  168. package/dist/http/h2/client.d.ts +18 -59
  169. package/dist/http/h2/client.d.ts.map +1 -1
  170. package/dist/http/h2/client.js +29 -64
  171. package/dist/http/h2/client.js.map +1 -1
  172. package/dist/http/h2/frames.d.ts +53 -84
  173. package/dist/http/h2/frames.d.ts.map +1 -1
  174. package/dist/http/h2/frames.js +48 -76
  175. package/dist/http/h2/frames.js.map +1 -1
  176. package/dist/http/h2/hpack.d.ts +16 -35
  177. package/dist/http/h2/hpack.d.ts.map +1 -1
  178. package/dist/http/h2/hpack.js +16 -35
  179. package/dist/http/h2/hpack.js.map +1 -1
  180. package/dist/http/h3/detection.d.ts +5 -7
  181. package/dist/http/h3/detection.d.ts.map +1 -1
  182. package/dist/http/h3/detection.js +5 -23
  183. package/dist/http/h3/detection.js.map +1 -1
  184. package/dist/http/negotiator.d.ts +25 -38
  185. package/dist/http/negotiator.d.ts.map +1 -1
  186. package/dist/http/negotiator.js +16 -28
  187. package/dist/http/negotiator.js.map +1 -1
  188. package/dist/http/pool.d.ts +32 -62
  189. package/dist/http/pool.d.ts.map +1 -1
  190. package/dist/http/pool.js +22 -41
  191. package/dist/http/pool.js.map +1 -1
  192. package/dist/http/resumable-upload.d.ts +76 -0
  193. package/dist/http/resumable-upload.d.ts.map +1 -0
  194. package/dist/http/resumable-upload.js +104 -0
  195. package/dist/http/resumable-upload.js.map +1 -0
  196. package/dist/http/trailers.d.ts +29 -0
  197. package/dist/http/trailers.d.ts.map +1 -0
  198. package/dist/http/trailers.js +57 -0
  199. package/dist/http/trailers.js.map +1 -0
  200. package/dist/index.d.ts +21 -8
  201. package/dist/index.d.ts.map +1 -1
  202. package/dist/index.js +21 -2
  203. package/dist/index.js.map +1 -1
  204. package/dist/middleware/interceptor.d.ts +13 -32
  205. package/dist/middleware/interceptor.d.ts.map +1 -1
  206. package/dist/middleware/interceptor.js +11 -16
  207. package/dist/middleware/interceptor.js.map +1 -1
  208. package/dist/middleware/rate-limiter.d.ts +8 -17
  209. package/dist/middleware/rate-limiter.d.ts.map +1 -1
  210. package/dist/middleware/rate-limiter.js +11 -12
  211. package/dist/middleware/rate-limiter.js.map +1 -1
  212. package/dist/middleware/retry-after.d.ts +15 -0
  213. package/dist/middleware/retry-after.d.ts.map +1 -0
  214. package/dist/middleware/retry-after.js +36 -0
  215. package/dist/middleware/retry-after.js.map +1 -0
  216. package/dist/middleware/retry.d.ts +9 -18
  217. package/dist/middleware/retry.d.ts.map +1 -1
  218. package/dist/middleware/retry.js +12 -9
  219. package/dist/middleware/retry.js.map +1 -1
  220. package/dist/proxy/auth.d.ts +73 -0
  221. package/dist/proxy/auth.d.ts.map +1 -0
  222. package/dist/proxy/auth.js +128 -0
  223. package/dist/proxy/auth.js.map +1 -0
  224. package/dist/proxy/env-proxy.d.ts +5 -15
  225. package/dist/proxy/env-proxy.d.ts.map +1 -1
  226. package/dist/proxy/env-proxy.js +5 -23
  227. package/dist/proxy/env-proxy.js.map +1 -1
  228. package/dist/proxy/http-proxy.d.ts +12 -19
  229. package/dist/proxy/http-proxy.d.ts.map +1 -1
  230. package/dist/proxy/http-proxy.js +5 -8
  231. package/dist/proxy/http-proxy.js.map +1 -1
  232. package/dist/proxy/socks.d.ts +13 -20
  233. package/dist/proxy/socks.d.ts.map +1 -1
  234. package/dist/proxy/socks.js +5 -8
  235. package/dist/proxy/socks.js.map +1 -1
  236. package/dist/sse/parser.d.ts +14 -37
  237. package/dist/sse/parser.d.ts.map +1 -1
  238. package/dist/sse/parser.js +14 -28
  239. package/dist/sse/parser.js.map +1 -1
  240. package/dist/tls/constants.d.ts +15 -74
  241. package/dist/tls/constants.d.ts.map +1 -1
  242. package/dist/tls/constants.js +15 -74
  243. package/dist/tls/constants.js.map +1 -1
  244. package/dist/tls/ct.d.ts +78 -0
  245. package/dist/tls/ct.d.ts.map +1 -0
  246. package/dist/tls/ct.js +175 -0
  247. package/dist/tls/ct.js.map +1 -0
  248. package/dist/tls/early-data.d.ts +45 -0
  249. package/dist/tls/early-data.d.ts.map +1 -0
  250. package/dist/tls/early-data.js +46 -0
  251. package/dist/tls/early-data.js.map +1 -0
  252. package/dist/tls/ech.d.ts +68 -85
  253. package/dist/tls/ech.d.ts.map +1 -1
  254. package/dist/tls/ech.js +54 -102
  255. package/dist/tls/ech.js.map +1 -1
  256. package/dist/tls/keylog.d.ts +34 -0
  257. package/dist/tls/keylog.d.ts.map +1 -0
  258. package/dist/tls/keylog.js +64 -0
  259. package/dist/tls/keylog.js.map +1 -0
  260. package/dist/tls/node-engine.d.ts +10 -17
  261. package/dist/tls/node-engine.d.ts.map +1 -1
  262. package/dist/tls/node-engine.js +20 -18
  263. package/dist/tls/node-engine.js.map +1 -1
  264. package/dist/tls/ocsp.d.ts +55 -0
  265. package/dist/tls/ocsp.d.ts.map +1 -0
  266. package/dist/tls/ocsp.js +131 -0
  267. package/dist/tls/ocsp.js.map +1 -0
  268. package/dist/tls/pin-verification.d.ts +5 -4
  269. package/dist/tls/pin-verification.d.ts.map +1 -1
  270. package/dist/tls/pin-verification.js +5 -11
  271. package/dist/tls/pin-verification.js.map +1 -1
  272. package/dist/tls/session-cache.d.ts +27 -39
  273. package/dist/tls/session-cache.d.ts.map +1 -1
  274. package/dist/tls/session-cache.js +20 -24
  275. package/dist/tls/session-cache.js.map +1 -1
  276. package/dist/tls/stealth/client-hello.d.ts +25 -44
  277. package/dist/tls/stealth/client-hello.d.ts.map +1 -1
  278. package/dist/tls/stealth/client-hello.js +17 -28
  279. package/dist/tls/stealth/client-hello.js.map +1 -1
  280. package/dist/tls/stealth/engine.d.ts +5 -15
  281. package/dist/tls/stealth/engine.d.ts.map +1 -1
  282. package/dist/tls/stealth/engine.js +11 -17
  283. package/dist/tls/stealth/engine.js.map +1 -1
  284. package/dist/tls/stealth/handshake.d.ts +21 -31
  285. package/dist/tls/stealth/handshake.d.ts.map +1 -1
  286. package/dist/tls/stealth/handshake.js +15 -43
  287. package/dist/tls/stealth/handshake.js.map +1 -1
  288. package/dist/tls/stealth/key-schedule.d.ts +59 -86
  289. package/dist/tls/stealth/key-schedule.d.ts.map +1 -1
  290. package/dist/tls/stealth/key-schedule.js +46 -58
  291. package/dist/tls/stealth/key-schedule.js.map +1 -1
  292. package/dist/tls/stealth/record-layer.d.ts +52 -75
  293. package/dist/tls/stealth/record-layer.d.ts.map +1 -1
  294. package/dist/tls/stealth/record-layer.js +47 -63
  295. package/dist/tls/stealth/record-layer.js.map +1 -1
  296. package/dist/tls/stealth/tls12-handshake.d.ts +16 -0
  297. package/dist/tls/stealth/tls12-handshake.d.ts.map +1 -1
  298. package/dist/tls/stealth/tls12-handshake.js +8 -0
  299. package/dist/tls/stealth/tls12-handshake.js.map +1 -1
  300. package/dist/tls/types.d.ts +42 -60
  301. package/dist/tls/types.d.ts.map +1 -1
  302. package/dist/utils/buffer-reader.d.ts +26 -81
  303. package/dist/utils/buffer-reader.d.ts.map +1 -1
  304. package/dist/utils/buffer-reader.js +26 -81
  305. package/dist/utils/buffer-reader.js.map +1 -1
  306. package/dist/utils/buffer-writer.d.ts +30 -66
  307. package/dist/utils/buffer-writer.d.ts.map +1 -1
  308. package/dist/utils/buffer-writer.js +30 -66
  309. package/dist/utils/buffer-writer.js.map +1 -1
  310. package/dist/utils/compression.d.ts +18 -0
  311. package/dist/utils/compression.d.ts.map +1 -0
  312. package/dist/utils/compression.js +34 -0
  313. package/dist/utils/compression.js.map +1 -0
  314. package/dist/utils/dictionary-transport.d.ts +97 -0
  315. package/dist/utils/dictionary-transport.d.ts.map +1 -0
  316. package/dist/utils/dictionary-transport.js +171 -0
  317. package/dist/utils/dictionary-transport.js.map +1 -0
  318. package/dist/utils/encoding.d.ts +12 -30
  319. package/dist/utils/encoding.d.ts.map +1 -1
  320. package/dist/utils/encoding.js +15 -46
  321. package/dist/utils/encoding.js.map +1 -1
  322. package/dist/utils/happy-eyeballs.d.ts +18 -8
  323. package/dist/utils/happy-eyeballs.d.ts.map +1 -1
  324. package/dist/utils/happy-eyeballs.js +19 -27
  325. package/dist/utils/happy-eyeballs.js.map +1 -1
  326. package/dist/utils/logger.d.ts +54 -81
  327. package/dist/utils/logger.d.ts.map +1 -1
  328. package/dist/utils/logger.js +92 -64
  329. package/dist/utils/logger.js.map +1 -1
  330. package/dist/utils/tcp-fast-open.d.ts +30 -0
  331. package/dist/utils/tcp-fast-open.d.ts.map +1 -0
  332. package/dist/utils/tcp-fast-open.js +36 -0
  333. package/dist/utils/tcp-fast-open.js.map +1 -0
  334. package/dist/utils/url.d.ts +18 -25
  335. package/dist/utils/url.d.ts.map +1 -1
  336. package/dist/utils/url.js +18 -25
  337. package/dist/utils/url.js.map +1 -1
  338. package/dist/ws/client.d.ts +33 -53
  339. package/dist/ws/client.d.ts.map +1 -1
  340. package/dist/ws/client.js +29 -30
  341. package/dist/ws/client.js.map +1 -1
  342. package/dist/ws/frame.d.ts +24 -41
  343. package/dist/ws/frame.d.ts.map +1 -1
  344. package/dist/ws/frame.js +18 -33
  345. package/dist/ws/frame.js.map +1 -1
  346. package/dist/ws/permessage-deflate.d.ts +23 -28
  347. package/dist/ws/permessage-deflate.d.ts.map +1 -1
  348. package/dist/ws/permessage-deflate.js +18 -26
  349. package/dist/ws/permessage-deflate.js.map +1 -1
  350. package/package.json +62 -62
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
@@ -1,107 +1,108 @@
1
1
  /**
2
- * Validates a single HTTP header name per RFC 7230 §3.2.6.
3
- * Must be a non-empty token consisting solely of tchar characters.
2
+ * Validates that a header name conforms to RFC 7230 token syntax.
3
+ *
4
+ * @param {string} name - The header name to validate.
5
+ * @throws {NLcURLError} If the name contains invalid characters.
4
6
  */
5
7
  export declare function validateHeaderName(name: string): void;
6
8
  /**
7
- * Validates a single HTTP header value per RFC 7230 §3.2.6.
8
- * Must not contain control characters (0x00-0x08, 0x0A-0x1F, 0x7F).
9
- * HTAB (0x09) is allowed per spec.
9
+ * Validates that a header value does not contain forbidden control characters.
10
+ *
11
+ * @param {string} name - The header name (used in the error message).
12
+ * @param {string} value - The header value to validate.
13
+ * @throws {NLcURLError} If the value contains CR, LF, NUL, or other forbidden characters.
10
14
  */
11
15
  export declare function validateHeaderValue(name: string, value: string): void;
12
16
  /**
13
- * Asserts that `value` is a non-empty string.
17
+ * Asserts that the value is a non-empty string.
14
18
  *
15
19
  * @param {unknown} value - The value to check.
16
- * @param {string} label - Parameter name for the error message.
20
+ * @param {string} label - A human-readable label for error messages.
17
21
  * @throws {NLcURLError} If the value is not a non-empty string.
18
22
  */
19
23
  export declare function assertNonEmptyString(value: unknown, label: string): asserts value is string;
20
24
  /**
21
- * Asserts that `value` is a positive finite number.
25
+ * Asserts that the value is a positive finite number.
22
26
  *
23
27
  * @param {unknown} value - The value to check.
24
- * @param {string} label - Parameter name for the error message.
28
+ * @param {string} label - A human-readable label for error messages.
25
29
  * @throws {NLcURLError} If the value is not a positive finite number.
26
30
  */
27
31
  export declare function assertPositiveNumber(value: unknown, label: string): asserts value is number;
28
32
  /**
29
- * Asserts that `value` is a non-negative finite integer.
33
+ * Asserts that the value is a non-negative integer.
30
34
  *
31
35
  * @param {unknown} value - The value to check.
32
- * @param {string} label - Parameter name for the error message.
36
+ * @param {string} label - A human-readable label for error messages.
33
37
  * @throws {NLcURLError} If the value is not a non-negative integer.
34
38
  */
35
39
  export declare function assertNonNegativeInt(value: unknown, label: string): asserts value is number;
36
40
  /**
37
- * Asserts that `value` is a member of the allowed set.
41
+ * Asserts that the value belongs to a predefined set of allowed values.
38
42
  *
39
- * @param {unknown} value - The value to check.
40
- * @param {Set<T>} allowed - Set of permitted values.
41
- * @param {string} label - Parameter name for the error message.
43
+ * @template T
44
+ * @param {unknown} value - The value to check.
45
+ * @param {Set<T>} allowed - The set of allowed values.
46
+ * @param {string} label - A human-readable label for error messages.
42
47
  * @throws {NLcURLError} If the value is not in the allowed set.
43
48
  */
44
49
  export declare function assertEnum<T>(value: unknown, allowed: Set<T>, label: string): asserts value is T;
45
50
  /**
46
- * Asserts that `value` is a plain object (not `null`, not an array, not a
47
- * class instance other than `Object`).
51
+ * Asserts that the value is a plain object (not null, not an array).
48
52
  *
49
53
  * @param {unknown} value - The value to check.
50
- * @param {string} label - Parameter name for the error message.
54
+ * @param {string} label - A human-readable label for error messages.
51
55
  * @throws {NLcURLError} If the value is not a plain object.
52
56
  */
53
57
  export declare function assertPlainObject(value: unknown, label: string): asserts value is Record<string, unknown>;
54
58
  /**
55
- * Validates the URL string and its protocol for HTTP requests.
59
+ * Validates that a URL string is well-formed and uses one of the allowed schemes.
56
60
  *
57
- * @param {string} url - The URL string to validate.
58
- * @param {Set<string>} [allowedSchemes] - Permitted protocol schemes.
59
- * @throws {NLcURLError} If the URL is invalid or uses an unsupported protocol.
61
+ * @param {string} url - The URL to validate.
62
+ * @param {Set<string>} [allowedSchemes] - Permitted URL schemes. Defaults to `http:` and `https:`.
63
+ * @throws {NLcURLError} If the URL is invalid or uses a disallowed scheme.
60
64
  */
61
65
  export declare function validateUrl(url: string, allowedSchemes?: Set<string>): void;
62
66
  /**
63
- * Validates per-phase timeout configuration. Each field must be a positive
64
- * finite number when present.
67
+ * Validates a timeout value, accepting either a positive number or a TimeoutConfig object.
65
68
  *
66
- * @param {unknown} timeout - A flat timeout number or per-phase object.
67
- * @throws {NLcURLError} If any timeout value is invalid.
69
+ * @param {unknown} timeout - The timeout value to validate.
70
+ * @throws {NLcURLError} If the timeout is not a valid number or TimeoutConfig.
68
71
  */
69
72
  export declare function validateTimeout(timeout: unknown): void;
70
73
  /**
71
- * Validates all user-supplied fields of an outgoing request descriptor.
72
- * Called at the entry of every public request function before any processing.
74
+ * Validates all fields of a request descriptor.
73
75
  *
74
- * @param {Record<string, unknown>} input - The raw request descriptor.
75
- * @throws {NLcURLError} If any field fails validation.
76
+ * @param {Record<string, unknown>} input - The request fields to validate.
77
+ * @throws {NLcURLError} If any field value is invalid.
76
78
  */
77
79
  export declare function validateRequest(input: Record<string, unknown>): void;
78
80
  /**
79
- * Validates session-level configuration. Called once in the
80
- * {@link NLcURLSession} constructor.
81
+ * Validates all fields of a session configuration object.
81
82
  *
82
- * @param {Record<string, unknown>} config - The raw session config.
83
- * @throws {NLcURLError} If any field fails validation.
83
+ * @param {Record<string, unknown>} config - The session config fields to validate.
84
+ * @throws {NLcURLError} If any field value is invalid.
84
85
  */
85
86
  export declare function validateSessionConfig(config: Record<string, unknown>): void;
86
87
  /**
87
- * Validates the retry configuration object.
88
+ * Validates retry configuration fields.
88
89
  *
89
- * @param {Record<string, unknown>} config - The raw retry config.
90
- * @throws {NLcURLError} If any retry setting is invalid.
90
+ * @param {Record<string, unknown>} config - The retry config fields to validate.
91
+ * @throws {NLcURLError} If any field value is invalid.
91
92
  */
92
93
  export declare function validateRetryConfig(config: Record<string, unknown>): void;
93
94
  /**
94
- * Validates rate limit configuration.
95
+ * Validates rate limit configuration fields.
95
96
  *
96
- * @param {Record<string, unknown>} config - The raw rate limit config.
97
- * @throws {NLcURLError} If any rate limit parameter is invalid.
97
+ * @param {Record<string, unknown>} config - The rate limit config fields to validate.
98
+ * @throws {NLcURLError} If maxRequests or windowMs is invalid.
98
99
  */
99
100
  export declare function validateRateLimitConfig(config: Record<string, unknown>): void;
100
101
  /**
101
- * Validates a WebSocket URL (must use `ws:` or `wss:` protocol).
102
+ * Validates that a URL uses the `ws:` or `wss:` scheme for WebSocket connections.
102
103
  *
103
- * @param {string} url - The WebSocket URL to validate.
104
- * @throws {NLcURLError} If the URL is invalid or uses a non-WebSocket protocol.
104
+ * @param {string} url - The URL to validate.
105
+ * @throws {NLcURLError} If the URL is invalid or uses a non-WebSocket scheme.
105
106
  */
106
107
  export declare function validateWebSocketUrl(url: string): void;
107
108
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrE;AAYD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAI3F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAI3F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAI3F;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAKhG;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzG;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,cAA+B,GAAG,IAAI,CAc5F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBtD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBpE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA0B3E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAezE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAM7E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtD"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrE;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAI3F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAI3F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAI3F;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAKhG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzG;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,cAA+B,GAAG,IAAI,CAc5F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBtD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBpE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA0B3E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAezE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAM7E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtD"}
@@ -1,10 +1,3 @@
1
- /**
2
- * @module validation
3
- * @description Provides reusable runtime validation helpers for all public API
4
- * entry points. Functions throw {@link NLcURLError} with code `ERR_VALIDATION`
5
- * when an input fails a check. These guards protect every trust boundary
6
- * between caller-supplied data and internal library logic.
7
- */
8
1
  import { NLcURLError } from "./errors.js";
9
2
  const VALID_METHODS = new Set(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]);
10
3
  const VALID_HTTP_VERSIONS = new Set(["1.1", "2", "3"]);
@@ -13,8 +6,10 @@ const VALID_BACKOFF = new Set(["linear", "exponential"]);
13
6
  const HEADER_NAME_RE = /^[!#$%&'*+\-.0-9A-Za-z^_`|~]+$/;
14
7
  const HEADER_VALUE_FORBIDDEN_RE = /[\x00-\x08\x0a-\x1f\x7f]/;
15
8
  /**
16
- * Validates a single HTTP header name per RFC 7230 §3.2.6.
17
- * Must be a non-empty token consisting solely of tchar characters.
9
+ * Validates that a header name conforms to RFC 7230 token syntax.
10
+ *
11
+ * @param {string} name - The header name to validate.
12
+ * @throws {NLcURLError} If the name contains invalid characters.
18
13
  */
19
14
  export function validateHeaderName(name) {
20
15
  if (!name || !HEADER_NAME_RE.test(name)) {
@@ -22,29 +17,25 @@ export function validateHeaderName(name) {
22
17
  }
23
18
  }
24
19
  /**
25
- * Validates a single HTTP header value per RFC 7230 §3.2.6.
26
- * Must not contain control characters (0x00-0x08, 0x0A-0x1F, 0x7F).
27
- * HTAB (0x09) is allowed per spec.
20
+ * Validates that a header value does not contain forbidden control characters.
21
+ *
22
+ * @param {string} name - The header name (used in the error message).
23
+ * @param {string} value - The header value to validate.
24
+ * @throws {NLcURLError} If the value contains CR, LF, NUL, or other forbidden characters.
28
25
  */
29
26
  export function validateHeaderValue(name, value) {
30
27
  if (HEADER_VALUE_FORBIDDEN_RE.test(value)) {
31
28
  fail(`HTTP header "${name}" contains forbidden control characters`);
32
29
  }
33
30
  }
34
- /**
35
- * Throws an `ERR_VALIDATION` error with the supplied message.
36
- *
37
- * @param {string} message - Description of the validation failure.
38
- * @throws {NLcURLError} Always.
39
- */
40
31
  function fail(message) {
41
32
  throw new NLcURLError(message, "ERR_VALIDATION");
42
33
  }
43
34
  /**
44
- * Asserts that `value` is a non-empty string.
35
+ * Asserts that the value is a non-empty string.
45
36
  *
46
37
  * @param {unknown} value - The value to check.
47
- * @param {string} label - Parameter name for the error message.
38
+ * @param {string} label - A human-readable label for error messages.
48
39
  * @throws {NLcURLError} If the value is not a non-empty string.
49
40
  */
50
41
  export function assertNonEmptyString(value, label) {
@@ -53,10 +44,10 @@ export function assertNonEmptyString(value, label) {
53
44
  }
54
45
  }
55
46
  /**
56
- * Asserts that `value` is a positive finite number.
47
+ * Asserts that the value is a positive finite number.
57
48
  *
58
49
  * @param {unknown} value - The value to check.
59
- * @param {string} label - Parameter name for the error message.
50
+ * @param {string} label - A human-readable label for error messages.
60
51
  * @throws {NLcURLError} If the value is not a positive finite number.
61
52
  */
62
53
  export function assertPositiveNumber(value, label) {
@@ -65,10 +56,10 @@ export function assertPositiveNumber(value, label) {
65
56
  }
66
57
  }
67
58
  /**
68
- * Asserts that `value` is a non-negative finite integer.
59
+ * Asserts that the value is a non-negative integer.
69
60
  *
70
61
  * @param {unknown} value - The value to check.
71
- * @param {string} label - Parameter name for the error message.
62
+ * @param {string} label - A human-readable label for error messages.
72
63
  * @throws {NLcURLError} If the value is not a non-negative integer.
73
64
  */
74
65
  export function assertNonNegativeInt(value, label) {
@@ -77,11 +68,12 @@ export function assertNonNegativeInt(value, label) {
77
68
  }
78
69
  }
79
70
  /**
80
- * Asserts that `value` is a member of the allowed set.
71
+ * Asserts that the value belongs to a predefined set of allowed values.
81
72
  *
82
- * @param {unknown} value - The value to check.
83
- * @param {Set<T>} allowed - Set of permitted values.
84
- * @param {string} label - Parameter name for the error message.
73
+ * @template T
74
+ * @param {unknown} value - The value to check.
75
+ * @param {Set<T>} allowed - The set of allowed values.
76
+ * @param {string} label - A human-readable label for error messages.
85
77
  * @throws {NLcURLError} If the value is not in the allowed set.
86
78
  */
87
79
  export function assertEnum(value, allowed, label) {
@@ -91,11 +83,10 @@ export function assertEnum(value, allowed, label) {
91
83
  }
92
84
  }
93
85
  /**
94
- * Asserts that `value` is a plain object (not `null`, not an array, not a
95
- * class instance other than `Object`).
86
+ * Asserts that the value is a plain object (not null, not an array).
96
87
  *
97
88
  * @param {unknown} value - The value to check.
98
- * @param {string} label - Parameter name for the error message.
89
+ * @param {string} label - A human-readable label for error messages.
99
90
  * @throws {NLcURLError} If the value is not a plain object.
100
91
  */
101
92
  export function assertPlainObject(value, label) {
@@ -104,11 +95,11 @@ export function assertPlainObject(value, label) {
104
95
  }
105
96
  }
106
97
  /**
107
- * Validates the URL string and its protocol for HTTP requests.
98
+ * Validates that a URL string is well-formed and uses one of the allowed schemes.
108
99
  *
109
- * @param {string} url - The URL string to validate.
110
- * @param {Set<string>} [allowedSchemes] - Permitted protocol schemes.
111
- * @throws {NLcURLError} If the URL is invalid or uses an unsupported protocol.
100
+ * @param {string} url - The URL to validate.
101
+ * @param {Set<string>} [allowedSchemes] - Permitted URL schemes. Defaults to `http:` and `https:`.
102
+ * @throws {NLcURLError} If the URL is invalid or uses a disallowed scheme.
112
103
  */
113
104
  export function validateUrl(url, allowedSchemes = new Set(["http:", "https:"])) {
114
105
  if (typeof url !== "string" || url.length === 0) {
@@ -127,11 +118,10 @@ export function validateUrl(url, allowedSchemes = new Set(["http:", "https:"]))
127
118
  }
128
119
  }
129
120
  /**
130
- * Validates per-phase timeout configuration. Each field must be a positive
131
- * finite number when present.
121
+ * Validates a timeout value, accepting either a positive number or a TimeoutConfig object.
132
122
  *
133
- * @param {unknown} timeout - A flat timeout number or per-phase object.
134
- * @throws {NLcURLError} If any timeout value is invalid.
123
+ * @param {unknown} timeout - The timeout value to validate.
124
+ * @throws {NLcURLError} If the timeout is not a valid number or TimeoutConfig.
135
125
  */
136
126
  export function validateTimeout(timeout) {
137
127
  if (timeout === undefined || timeout === null)
@@ -156,11 +146,10 @@ export function validateTimeout(timeout) {
156
146
  fail("timeout must be a number or a TimeoutConfig object");
157
147
  }
158
148
  /**
159
- * Validates all user-supplied fields of an outgoing request descriptor.
160
- * Called at the entry of every public request function before any processing.
149
+ * Validates all fields of a request descriptor.
161
150
  *
162
- * @param {Record<string, unknown>} input - The raw request descriptor.
163
- * @throws {NLcURLError} If any field fails validation.
151
+ * @param {Record<string, unknown>} input - The request fields to validate.
152
+ * @throws {NLcURLError} If any field value is invalid.
164
153
  */
165
154
  export function validateRequest(input) {
166
155
  if (input["method"] !== undefined) {
@@ -187,11 +176,10 @@ export function validateRequest(input) {
187
176
  }
188
177
  }
189
178
  /**
190
- * Validates session-level configuration. Called once in the
191
- * {@link NLcURLSession} constructor.
179
+ * Validates all fields of a session configuration object.
192
180
  *
193
- * @param {Record<string, unknown>} config - The raw session config.
194
- * @throws {NLcURLError} If any field fails validation.
181
+ * @param {Record<string, unknown>} config - The session config fields to validate.
182
+ * @throws {NLcURLError} If any field value is invalid.
195
183
  */
196
184
  export function validateSessionConfig(config) {
197
185
  if (config["baseURL"] !== undefined && config["baseURL"] !== null) {
@@ -221,10 +209,10 @@ export function validateSessionConfig(config) {
221
209
  }
222
210
  }
223
211
  /**
224
- * Validates the retry configuration object.
212
+ * Validates retry configuration fields.
225
213
  *
226
- * @param {Record<string, unknown>} config - The raw retry config.
227
- * @throws {NLcURLError} If any retry setting is invalid.
214
+ * @param {Record<string, unknown>} config - The retry config fields to validate.
215
+ * @throws {NLcURLError} If any field value is invalid.
228
216
  */
229
217
  export function validateRetryConfig(config) {
230
218
  if (config["count"] !== undefined) {
@@ -243,10 +231,10 @@ export function validateRetryConfig(config) {
243
231
  }
244
232
  }
245
233
  /**
246
- * Validates rate limit configuration.
234
+ * Validates rate limit configuration fields.
247
235
  *
248
- * @param {Record<string, unknown>} config - The raw rate limit config.
249
- * @throws {NLcURLError} If any rate limit parameter is invalid.
236
+ * @param {Record<string, unknown>} config - The rate limit config fields to validate.
237
+ * @throws {NLcURLError} If maxRequests or windowMs is invalid.
250
238
  */
251
239
  export function validateRateLimitConfig(config) {
252
240
  assertPositiveNumber(config["maxRequests"], "maxRequests");
@@ -256,10 +244,10 @@ export function validateRateLimitConfig(config) {
256
244
  }
257
245
  }
258
246
  /**
259
- * Validates a WebSocket URL (must use `ws:` or `wss:` protocol).
247
+ * Validates that a URL uses the `ws:` or `wss:` scheme for WebSocket connections.
260
248
  *
261
- * @param {string} url - The WebSocket URL to validate.
262
- * @throws {NLcURLError} If the URL is invalid or uses a non-WebSocket protocol.
249
+ * @param {string} url - The URL to validate.
250
+ * @throws {NLcURLError} If the URL is invalid or uses a non-WebSocket scheme.
263
251
  */
264
252
  export function validateWebSocketUrl(url) {
265
253
  validateUrl(url, new Set(["ws:", "wss:"]));
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { DNSRecord } from "./types.js";
2
+ /** Stored DNS cache entry with TTL and access tracking. */
3
+ export interface DNSCacheEntry {
4
+ /** Cached DNS records. */
5
+ records: DNSRecord[];
6
+ /** Timestamp when the entry was stored. */
7
+ storedAt: number;
8
+ /** Effective time-to-live in seconds. */
9
+ ttl: number;
10
+ /** Monotonic counter value of the last access (for LRU eviction). */
11
+ lastAccessedAt: number;
12
+ }
13
+ /** Configuration options for {@link DNSCache}. */
14
+ export interface DNSCacheConfig {
15
+ /** Maximum number of entries before LRU eviction. */
16
+ maxEntries?: number;
17
+ /** Minimum TTL in seconds applied to any cached record. */
18
+ minTTL?: number;
19
+ /** Maximum TTL in seconds applied to any cached record. */
20
+ maxTTL?: number;
21
+ }
22
+ /** LRU cache for DNS records with configurable TTL bounds. */
23
+ export declare class DNSCache {
24
+ private readonly entries;
25
+ private readonly maxEntries;
26
+ private readonly minTTL;
27
+ private readonly maxTTL;
28
+ private accessCounter;
29
+ /**
30
+ * Create a new DNS cache.
31
+ *
32
+ * @param {DNSCacheConfig} [config] - Cache configuration options.
33
+ */
34
+ constructor(config?: DNSCacheConfig);
35
+ private cacheKey;
36
+ /**
37
+ * Retrieve cached records for a name and type.
38
+ *
39
+ * @param {string} name - Domain name to look up.
40
+ * @param {string} type - Record type string.
41
+ * @returns {DNSRecord[]|undefined} Cached records, or `undefined` if absent or expired.
42
+ */
43
+ get(name: string, type: string): DNSRecord[] | undefined;
44
+ /**
45
+ * Store DNS records in the cache.
46
+ *
47
+ * @param {string} name - Domain name.
48
+ * @param {string} type - Record type string.
49
+ * @param {DNSRecord[]} records - DNS records to cache.
50
+ */
51
+ set(name: string, type: string, records: DNSRecord[]): void;
52
+ private computeTTL;
53
+ private evictLRU;
54
+ /** Remove all entries from the cache. */
55
+ clear(): void;
56
+ /** Number of entries currently in the cache. */
57
+ get size(): number;
58
+ }
59
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/dns/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,8DAA8D;AAC9D,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,aAAa,CAAK;IAE1B;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAMnC,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAS;IAexD;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAkB3D,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,QAAQ;IAchB,yCAAyC;IACzC,KAAK,IAAI,IAAI;IAIb,gDAAgD;IAChD,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}