@catbee/utils 0.0.8-rc.1 → 0.0.8-rc.2

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 (280) hide show
  1. package/build/esm/config.d.ts +0 -1
  2. package/build/esm/config.js +6 -7
  3. package/build/esm/index.d.ts +0 -1
  4. package/build/esm/index.js +0 -1
  5. package/build/esm/servers/server.builder.d.ts +0 -1
  6. package/build/esm/servers/server.builder.js +99 -147
  7. package/build/esm/servers/server.d.ts +0 -1
  8. package/build/esm/servers/server.js +591 -876
  9. package/build/esm/types/api-response.d.ts +0 -1
  10. package/build/esm/types/api-response.js +0 -1
  11. package/build/esm/types/index.d.ts +0 -1
  12. package/build/esm/types/index.js +0 -1
  13. package/build/esm/types/server.d.ts +0 -1
  14. package/build/esm/types/server.js +0 -1
  15. package/build/esm/utils/array.utils.d.ts +0 -1
  16. package/build/esm/utils/array.utils.js +48 -86
  17. package/build/esm/utils/async.utils.d.ts +0 -1
  18. package/build/esm/utils/async.utils.js +247 -524
  19. package/build/esm/utils/cache.utils.d.ts +0 -1
  20. package/build/esm/utils/cache.utils.js +96 -301
  21. package/build/esm/utils/context-store.utils.d.ts +0 -1
  22. package/build/esm/utils/context-store.utils.js +62 -79
  23. package/build/esm/utils/crypto.utils.d.ts +0 -1
  24. package/build/esm/utils/crypto.utils.js +78 -175
  25. package/build/esm/utils/date.utils.d.ts +0 -1
  26. package/build/esm/utils/date.utils.js +47 -53
  27. package/build/esm/utils/decorators.utils.d.ts +30 -27
  28. package/build/esm/utils/decorators.utils.js +417 -461
  29. package/build/esm/utils/dir.utils.d.ts +0 -1
  30. package/build/esm/utils/dir.utils.js +264 -786
  31. package/build/esm/utils/env.utils.d.ts +0 -1
  32. package/build/esm/utils/env.utils.js +180 -271
  33. package/build/esm/utils/exception.utils.d.ts +0 -1
  34. package/build/esm/utils/exception.utils.js +112 -289
  35. package/build/esm/utils/fs.utils.d.ts +0 -1
  36. package/build/esm/utils/fs.utils.js +169 -401
  37. package/build/esm/utils/http-status-codes.d.ts +0 -1
  38. package/build/esm/utils/http-status-codes.js +0 -1
  39. package/build/esm/utils/id.utils.d.ts +0 -1
  40. package/build/esm/utils/id.utils.js +5 -9
  41. package/build/esm/utils/logger.utils.d.ts +0 -1
  42. package/build/esm/utils/logger.utils.js +34 -71
  43. package/build/esm/utils/middleware.utils.d.ts +0 -1
  44. package/build/esm/utils/middleware.utils.js +65 -155
  45. package/build/esm/utils/obj.utils.d.ts +0 -1
  46. package/build/esm/utils/obj.utils.js +69 -176
  47. package/build/esm/utils/performance.utils.d.ts +0 -1
  48. package/build/esm/utils/performance.utils.js +92 -195
  49. package/build/esm/utils/request.utils.d.ts +0 -1
  50. package/build/esm/utils/request.utils.js +41 -74
  51. package/build/esm/utils/response.utils.d.ts +0 -1
  52. package/build/esm/utils/response.utils.js +84 -107
  53. package/build/esm/utils/stream.utils.d.ts +0 -1
  54. package/build/esm/utils/stream.utils.js +38 -113
  55. package/build/esm/utils/string.utils.d.ts +0 -1
  56. package/build/esm/utils/string.utils.js +6 -11
  57. package/build/esm/utils/type.utils.d.ts +0 -1
  58. package/build/esm/utils/type.utils.js +8 -12
  59. package/build/esm/utils/url.utils.d.ts +0 -1
  60. package/build/esm/utils/url.utils.js +49 -127
  61. package/build/esm/utils/validate.utils.d.ts +0 -1
  62. package/build/esm/utils/validate.utils.js +23 -40
  63. package/package.json +3 -33
  64. package/build/esm/config.js.map +0 -1
  65. package/build/esm/index.js.map +0 -1
  66. package/build/esm/servers/server.builder.js.map +0 -1
  67. package/build/esm/servers/server.js.map +0 -1
  68. package/build/esm/types/api-response.js.map +0 -1
  69. package/build/esm/types/index.js.map +0 -1
  70. package/build/esm/types/server.js.map +0 -1
  71. package/build/esm/utils/array.utils.js.map +0 -1
  72. package/build/esm/utils/async.utils.js.map +0 -1
  73. package/build/esm/utils/cache.utils.js.map +0 -1
  74. package/build/esm/utils/context-store.utils.js.map +0 -1
  75. package/build/esm/utils/crypto.utils.js.map +0 -1
  76. package/build/esm/utils/date.utils.js.map +0 -1
  77. package/build/esm/utils/decorators.utils.js.map +0 -1
  78. package/build/esm/utils/dir.utils.js.map +0 -1
  79. package/build/esm/utils/env.utils.js.map +0 -1
  80. package/build/esm/utils/exception.utils.js.map +0 -1
  81. package/build/esm/utils/fs.utils.js.map +0 -1
  82. package/build/esm/utils/http-status-codes.js.map +0 -1
  83. package/build/esm/utils/id.utils.js.map +0 -1
  84. package/build/esm/utils/logger.utils.js.map +0 -1
  85. package/build/esm/utils/middleware.utils.js.map +0 -1
  86. package/build/esm/utils/obj.utils.js.map +0 -1
  87. package/build/esm/utils/performance.utils.js.map +0 -1
  88. package/build/esm/utils/request.utils.js.map +0 -1
  89. package/build/esm/utils/response.utils.js.map +0 -1
  90. package/build/esm/utils/stream.utils.js.map +0 -1
  91. package/build/esm/utils/string.utils.js.map +0 -1
  92. package/build/esm/utils/type.utils.js.map +0 -1
  93. package/build/esm/utils/url.utils.js.map +0 -1
  94. package/build/esm/utils/validate.utils.js.map +0 -1
  95. package/build/esnext/config.d.ts +0 -122
  96. package/build/esnext/config.js +0 -133
  97. package/build/esnext/config.js.map +0 -1
  98. package/build/esnext/index.d.ts +0 -27
  99. package/build/esnext/index.js +0 -50
  100. package/build/esnext/index.js.map +0 -1
  101. package/build/esnext/servers/server.builder.d.ts +0 -508
  102. package/build/esnext/servers/server.builder.js +0 -657
  103. package/build/esnext/servers/server.builder.js.map +0 -1
  104. package/build/esnext/servers/server.d.ts +0 -256
  105. package/build/esnext/servers/server.js +0 -955
  106. package/build/esnext/servers/server.js.map +0 -1
  107. package/build/esnext/types/api-response.d.ts +0 -152
  108. package/build/esnext/types/api-response.js +0 -34
  109. package/build/esnext/types/api-response.js.map +0 -1
  110. package/build/esnext/types/index.d.ts +0 -125
  111. package/build/esnext/types/index.js +0 -25
  112. package/build/esnext/types/index.js.map +0 -1
  113. package/build/esnext/types/server.d.ts +0 -268
  114. package/build/esnext/types/server.js +0 -25
  115. package/build/esnext/types/server.js.map +0 -1
  116. package/build/esnext/utils/array.utils.d.ts +0 -168
  117. package/build/esnext/utils/array.utils.js +0 -345
  118. package/build/esnext/utils/array.utils.js.map +0 -1
  119. package/build/esnext/utils/async.utils.d.ts +0 -265
  120. package/build/esnext/utils/async.utils.js +0 -620
  121. package/build/esnext/utils/async.utils.js.map +0 -1
  122. package/build/esnext/utils/cache.utils.d.ts +0 -153
  123. package/build/esnext/utils/cache.utils.js +0 -293
  124. package/build/esnext/utils/cache.utils.js.map +0 -1
  125. package/build/esnext/utils/context-store.utils.d.ts +0 -189
  126. package/build/esnext/utils/context-store.utils.js +0 -289
  127. package/build/esnext/utils/context-store.utils.js.map +0 -1
  128. package/build/esnext/utils/crypto.utils.d.ts +0 -160
  129. package/build/esnext/utils/crypto.utils.js +0 -276
  130. package/build/esnext/utils/crypto.utils.js.map +0 -1
  131. package/build/esnext/utils/date.utils.d.ts +0 -159
  132. package/build/esnext/utils/date.utils.js +0 -384
  133. package/build/esnext/utils/date.utils.js.map +0 -1
  134. package/build/esnext/utils/decorators.utils.d.ts +0 -508
  135. package/build/esnext/utils/decorators.utils.js +0 -877
  136. package/build/esnext/utils/decorators.utils.js.map +0 -1
  137. package/build/esnext/utils/dir.utils.d.ts +0 -196
  138. package/build/esnext/utils/dir.utils.js +0 -477
  139. package/build/esnext/utils/dir.utils.js.map +0 -1
  140. package/build/esnext/utils/env.utils.d.ts +0 -377
  141. package/build/esnext/utils/env.utils.js +0 -785
  142. package/build/esnext/utils/env.utils.js.map +0 -1
  143. package/build/esnext/utils/exception.utils.d.ts +0 -230
  144. package/build/esnext/utils/exception.utils.js +0 -381
  145. package/build/esnext/utils/exception.utils.js.map +0 -1
  146. package/build/esnext/utils/fs.utils.d.ts +0 -164
  147. package/build/esnext/utils/fs.utils.js +0 -349
  148. package/build/esnext/utils/fs.utils.js.map +0 -1
  149. package/build/esnext/utils/http-status-codes.d.ts +0 -266
  150. package/build/esnext/utils/http-status-codes.js +0 -295
  151. package/build/esnext/utils/http-status-codes.js.map +0 -1
  152. package/build/esnext/utils/id.utils.d.ts +0 -36
  153. package/build/esnext/utils/id.utils.js +0 -84
  154. package/build/esnext/utils/id.utils.js.map +0 -1
  155. package/build/esnext/utils/logger.utils.d.ts +0 -160
  156. package/build/esnext/utils/logger.utils.js +0 -300
  157. package/build/esnext/utils/logger.utils.js.map +0 -1
  158. package/build/esnext/utils/middleware.utils.d.ts +0 -100
  159. package/build/esnext/utils/middleware.utils.js +0 -236
  160. package/build/esnext/utils/middleware.utils.js.map +0 -1
  161. package/build/esnext/utils/obj.utils.d.ts +0 -124
  162. package/build/esnext/utils/obj.utils.js +0 -413
  163. package/build/esnext/utils/obj.utils.js.map +0 -1
  164. package/build/esnext/utils/performance.utils.d.ts +0 -136
  165. package/build/esnext/utils/performance.utils.js +0 -271
  166. package/build/esnext/utils/performance.utils.js.map +0 -1
  167. package/build/esnext/utils/request.utils.d.ts +0 -86
  168. package/build/esnext/utils/request.utils.js +0 -186
  169. package/build/esnext/utils/request.utils.js.map +0 -1
  170. package/build/esnext/utils/response.utils.d.ts +0 -163
  171. package/build/esnext/utils/response.utils.js +0 -247
  172. package/build/esnext/utils/response.utils.js.map +0 -1
  173. package/build/esnext/utils/stream.utils.d.ts +0 -88
  174. package/build/esnext/utils/stream.utils.js +0 -210
  175. package/build/esnext/utils/stream.utils.js.map +0 -1
  176. package/build/esnext/utils/string.utils.d.ts +0 -93
  177. package/build/esnext/utils/string.utils.js +0 -165
  178. package/build/esnext/utils/string.utils.js.map +0 -1
  179. package/build/esnext/utils/type.utils.d.ts +0 -90
  180. package/build/esnext/utils/type.utils.js +0 -187
  181. package/build/esnext/utils/type.utils.js.map +0 -1
  182. package/build/esnext/utils/url.utils.d.ts +0 -141
  183. package/build/esnext/utils/url.utils.js +0 -304
  184. package/build/esnext/utils/url.utils.js.map +0 -1
  185. package/build/esnext/utils/validate.utils.d.ts +0 -177
  186. package/build/esnext/utils/validate.utils.js +0 -320
  187. package/build/esnext/utils/validate.utils.js.map +0 -1
  188. package/build/src/config.d.ts +0 -122
  189. package/build/src/config.js +0 -138
  190. package/build/src/config.js.map +0 -1
  191. package/build/src/index.d.ts +0 -27
  192. package/build/src/index.js +0 -69
  193. package/build/src/index.js.map +0 -1
  194. package/build/src/servers/server.builder.d.ts +0 -508
  195. package/build/src/servers/server.builder.js +0 -661
  196. package/build/src/servers/server.builder.js.map +0 -1
  197. package/build/src/servers/server.d.ts +0 -256
  198. package/build/src/servers/server.js +0 -962
  199. package/build/src/servers/server.js.map +0 -1
  200. package/build/src/types/api-response.d.ts +0 -152
  201. package/build/src/types/api-response.js +0 -37
  202. package/build/src/types/api-response.js.map +0 -1
  203. package/build/src/types/index.d.ts +0 -125
  204. package/build/src/types/index.js +0 -26
  205. package/build/src/types/index.js.map +0 -1
  206. package/build/src/types/server.d.ts +0 -268
  207. package/build/src/types/server.js +0 -26
  208. package/build/src/types/server.js.map +0 -1
  209. package/build/src/utils/array.utils.d.ts +0 -168
  210. package/build/src/utils/array.utils.js +0 -364
  211. package/build/src/utils/array.utils.js.map +0 -1
  212. package/build/src/utils/async.utils.d.ts +0 -265
  213. package/build/src/utils/async.utils.js +0 -641
  214. package/build/src/utils/async.utils.js.map +0 -1
  215. package/build/src/utils/cache.utils.d.ts +0 -153
  216. package/build/src/utils/cache.utils.js +0 -297
  217. package/build/src/utils/cache.utils.js.map +0 -1
  218. package/build/src/utils/context-store.utils.d.ts +0 -189
  219. package/build/src/utils/context-store.utils.js +0 -296
  220. package/build/src/utils/context-store.utils.js.map +0 -1
  221. package/build/src/utils/crypto.utils.d.ts +0 -160
  222. package/build/src/utils/crypto.utils.js +0 -293
  223. package/build/src/utils/crypto.utils.js.map +0 -1
  224. package/build/src/utils/date.utils.d.ts +0 -159
  225. package/build/src/utils/date.utils.js +0 -396
  226. package/build/src/utils/date.utils.js.map +0 -1
  227. package/build/src/utils/decorators.utils.d.ts +0 -508
  228. package/build/src/utils/decorators.utils.js +0 -896
  229. package/build/src/utils/decorators.utils.js.map +0 -1
  230. package/build/src/utils/dir.utils.d.ts +0 -196
  231. package/build/src/utils/dir.utils.js +0 -501
  232. package/build/src/utils/dir.utils.js.map +0 -1
  233. package/build/src/utils/env.utils.d.ts +0 -377
  234. package/build/src/utils/env.utils.js +0 -789
  235. package/build/src/utils/env.utils.js.map +0 -1
  236. package/build/src/utils/exception.utils.d.ts +0 -230
  237. package/build/src/utils/exception.utils.js +0 -407
  238. package/build/src/utils/exception.utils.js.map +0 -1
  239. package/build/src/utils/fs.utils.d.ts +0 -164
  240. package/build/src/utils/fs.utils.js +0 -372
  241. package/build/src/utils/fs.utils.js.map +0 -1
  242. package/build/src/utils/http-status-codes.d.ts +0 -266
  243. package/build/src/utils/http-status-codes.js +0 -298
  244. package/build/src/utils/http-status-codes.js.map +0 -1
  245. package/build/src/utils/id.utils.d.ts +0 -36
  246. package/build/src/utils/id.utils.js +0 -91
  247. package/build/src/utils/id.utils.js.map +0 -1
  248. package/build/src/utils/logger.utils.d.ts +0 -160
  249. package/build/src/utils/logger.utils.js +0 -346
  250. package/build/src/utils/logger.utils.js.map +0 -1
  251. package/build/src/utils/middleware.utils.d.ts +0 -100
  252. package/build/src/utils/middleware.utils.js +0 -244
  253. package/build/src/utils/middleware.utils.js.map +0 -1
  254. package/build/src/utils/obj.utils.d.ts +0 -124
  255. package/build/src/utils/obj.utils.js +0 -429
  256. package/build/src/utils/obj.utils.js.map +0 -1
  257. package/build/src/utils/performance.utils.d.ts +0 -136
  258. package/build/src/utils/performance.utils.js +0 -278
  259. package/build/src/utils/performance.utils.js.map +0 -1
  260. package/build/src/utils/request.utils.d.ts +0 -86
  261. package/build/src/utils/request.utils.js +0 -195
  262. package/build/src/utils/request.utils.js.map +0 -1
  263. package/build/src/utils/response.utils.d.ts +0 -163
  264. package/build/src/utils/response.utils.js +0 -260
  265. package/build/src/utils/response.utils.js.map +0 -1
  266. package/build/src/utils/stream.utils.d.ts +0 -88
  267. package/build/src/utils/stream.utils.js +0 -218
  268. package/build/src/utils/stream.utils.js.map +0 -1
  269. package/build/src/utils/string.utils.d.ts +0 -93
  270. package/build/src/utils/string.utils.js +0 -179
  271. package/build/src/utils/string.utils.js.map +0 -1
  272. package/build/src/utils/type.utils.d.ts +0 -90
  273. package/build/src/utils/type.utils.js +0 -196
  274. package/build/src/utils/type.utils.js.map +0 -1
  275. package/build/src/utils/url.utils.d.ts +0 -141
  276. package/build/src/utils/url.utils.js +0 -317
  277. package/build/src/utils/url.utils.js.map +0 -1
  278. package/build/src/utils/validate.utils.d.ts +0 -177
  279. package/build/src/utils/validate.utils.js +0 -345
  280. package/build/src/utils/validate.utils.js.map +0 -1
@@ -150,4 +150,3 @@ export declare class TTLCache<K, V> {
150
150
  */
151
151
  private evictLRU;
152
152
  }
153
- //# sourceMappingURL=cache.utils.d.ts.map
@@ -21,69 +21,6 @@
21
21
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
22
  * SOFTWARE.
23
23
  */
24
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
25
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
26
- return new (P || (P = Promise))(function (resolve, reject) {
27
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
28
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
29
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
30
- step((generator = generator.apply(thisArg, _arguments || [])).next());
31
- });
32
- };
33
- var __generator = (this && this.__generator) || function (thisArg, body) {
34
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
35
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
36
- function verb(n) { return function (v) { return step([n, v]); }; }
37
- function step(op) {
38
- if (f) throw new TypeError("Generator is already executing.");
39
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
40
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
41
- if (y = 0, t) op = [op[0] & 2, t.value];
42
- switch (op[0]) {
43
- case 0: case 1: t = op; break;
44
- case 4: _.label++; return { value: op[1], done: false };
45
- case 5: _.label++; y = op[1]; op = [0]; continue;
46
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
47
- default:
48
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
49
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
50
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
51
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
52
- if (t[2]) _.ops.pop();
53
- _.trys.pop(); continue;
54
- }
55
- op = body.call(thisArg, _);
56
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
57
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
58
- }
59
- };
60
- var __values = (this && this.__values) || function(o) {
61
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
62
- if (m) return m.call(o);
63
- if (o && typeof o.length === "number") return {
64
- next: function () {
65
- if (o && i >= o.length) o = void 0;
66
- return { value: o && o[i++], done: !o };
67
- }
68
- };
69
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
70
- };
71
- var __read = (this && this.__read) || function (o, n) {
72
- var m = typeof Symbol === "function" && o[Symbol.iterator];
73
- if (!m) return o;
74
- var i = m.call(o), r, ar = [], e;
75
- try {
76
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
77
- }
78
- catch (error) { e = { error: error }; }
79
- finally {
80
- try {
81
- if (r && !r.done && (m = i["return"])) m.call(i);
82
- }
83
- finally { if (e) throw e.error; }
84
- }
85
- return ar;
86
- };
87
24
  import { config } from '../config';
88
25
  /**
89
26
  * An in-memory cache with time-to-live (TTL) support for each entry.
@@ -96,22 +33,22 @@ import { config } from '../config';
96
33
  * cache.set("x", 123);
97
34
  * const value = cache.get("x"); // 123
98
35
  */
99
- var TTLCache = /** @class */ (function () {
36
+ export class TTLCache {
37
+ cache = new Map();
38
+ ttlMs;
39
+ maxSize;
40
+ cleanupInterval;
100
41
  /**
101
42
  * @param options - Configuration options for the cache
102
43
  */
103
- function TTLCache(options) {
104
- if (options === void 0) { options = {}; }
105
- var _this = this;
106
- var _a;
107
- this.cache = new Map();
108
- this.ttlMs = (_a = options.ttlMs) !== null && _a !== void 0 ? _a : config.cache.defaultTtl;
44
+ constructor(options = {}) {
45
+ this.ttlMs = options.ttlMs ?? config.cache.defaultTtl;
109
46
  this.maxSize = options.maxSize;
110
47
  // Setup auto-cleanup if enabled
111
- var autoCleanupMs = options.autoCleanupMs;
48
+ const autoCleanupMs = options.autoCleanupMs;
112
49
  if (autoCleanupMs && autoCleanupMs > 0) {
113
- this.cleanupInterval = setInterval(function () {
114
- _this.cleanup();
50
+ this.cleanupInterval = setInterval(() => {
51
+ this.cleanup();
115
52
  }, autoCleanupMs);
116
53
  }
117
54
  }
@@ -121,9 +58,9 @@ var TTLCache = /** @class */ (function () {
121
58
  * @param key - The key to set.
122
59
  * @param value - The value to associate with the key.
123
60
  */
124
- TTLCache.prototype.set = function (key, value) {
61
+ set(key, value) {
125
62
  this.setWithTTL(key, value, this.ttlMs);
126
- };
63
+ }
127
64
  /**
128
65
  * Sets a key-value pair in the cache with a custom TTL.
129
66
  *
@@ -131,28 +68,28 @@ var TTLCache = /** @class */ (function () {
131
68
  * @param value - The value to associate with the key.
132
69
  * @param ttlMs - Time-to-live in milliseconds.
133
70
  */
134
- TTLCache.prototype.setWithTTL = function (key, value, ttlMs) {
135
- var now = Date.now();
136
- var expiresAt = now + ttlMs;
71
+ setWithTTL(key, value, ttlMs) {
72
+ const now = Date.now();
73
+ const expiresAt = now + ttlMs;
137
74
  if (this.cache.has(key)) {
138
75
  this.cache.delete(key); // remove old entry to maintain LRU order
139
76
  }
140
- this.cache.set(key, { value: value, expiresAt: expiresAt, lastAccessed: now });
77
+ this.cache.set(key, { value, expiresAt, lastAccessed: now });
141
78
  if (this.maxSize && this.cache.size > this.maxSize) {
142
79
  this.evictLRU();
143
80
  }
144
- };
81
+ }
145
82
  /**
146
83
  * Retrieves the value for a given key if it hasn't expired.
147
84
  *
148
85
  * @param key - The key to retrieve.
149
86
  * @returns The cached value, or undefined if not found or expired.
150
87
  */
151
- TTLCache.prototype.get = function (key) {
152
- var entry = this.cache.get(key);
88
+ get(key) {
89
+ const entry = this.cache.get(key);
153
90
  if (!entry)
154
91
  return undefined;
155
- var now = Date.now();
92
+ const now = Date.now();
156
93
  if (now > entry.expiresAt) {
157
94
  this.cache.delete(key);
158
95
  return undefined;
@@ -163,7 +100,7 @@ var TTLCache = /** @class */ (function () {
163
100
  this.cache.delete(key);
164
101
  this.cache.set(key, entry);
165
102
  return entry.value;
166
- };
103
+ }
167
104
  /**
168
105
  * Retrieves or computes a value if it's not in the cache or has expired.
169
106
  *
@@ -172,234 +109,117 @@ var TTLCache = /** @class */ (function () {
172
109
  * @param ttlMs - Optional custom TTL for the computed value
173
110
  * @returns The cached or computed value
174
111
  */
175
- TTLCache.prototype.getOrCompute = function (key, producer, ttlMs) {
176
- return __awaiter(this, void 0, void 0, function () {
177
- var value, newValue;
178
- return __generator(this, function (_a) {
179
- switch (_a.label) {
180
- case 0:
181
- value = this.get(key);
182
- if (value !== undefined)
183
- return [2 /*return*/, value];
184
- return [4 /*yield*/, producer()];
185
- case 1:
186
- newValue = _a.sent();
187
- this.setWithTTL(key, newValue, ttlMs !== null && ttlMs !== void 0 ? ttlMs : this.ttlMs);
188
- return [2 /*return*/, newValue];
189
- }
190
- });
191
- });
192
- };
112
+ async getOrCompute(key, producer, ttlMs) {
113
+ const value = this.get(key);
114
+ if (value !== undefined)
115
+ return value;
116
+ const newValue = await producer();
117
+ this.setWithTTL(key, newValue, ttlMs ?? this.ttlMs);
118
+ return newValue;
119
+ }
193
120
  /**
194
121
  * Checks if the key exists and hasn't expired.
195
122
  *
196
123
  * @param key - The key to check.
197
124
  * @returns `true` if key exists and is valid, otherwise `false`.
198
125
  */
199
- TTLCache.prototype.has = function (key) {
126
+ has(key) {
200
127
  return this.get(key) !== undefined;
201
- };
128
+ }
202
129
  /**
203
130
  * Deletes a key from the cache.
204
131
  *
205
132
  * @param key - The key to delete.
206
133
  * @returns `true` if the key existed and was removed, `false` otherwise.
207
134
  */
208
- TTLCache.prototype.delete = function (key) {
135
+ delete(key) {
209
136
  return this.cache.delete(key);
210
- };
137
+ }
211
138
  /**
212
139
  * Clears all entries from the cache.
213
140
  */
214
- TTLCache.prototype.clear = function () {
141
+ clear() {
215
142
  this.cache.clear();
216
- };
143
+ }
217
144
  /**
218
145
  * Returns the number of entries currently in the cache (includes expired entries until next access/cleanup).
219
146
  *
220
147
  * @returns Number of items in the cache (may include expired keys).
221
148
  */
222
- TTLCache.prototype.size = function () {
149
+ size() {
223
150
  return this.cache.size;
224
- };
151
+ }
225
152
  /**
226
153
  * Set multiple key-value pairs at once with the default TTL.
227
154
  *
228
155
  * @param entries - Array of [key, value] tuples to set
229
156
  */
230
- TTLCache.prototype.setMany = function (entries) {
231
- var e_1, _a;
232
- try {
233
- for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
234
- var _b = __read(entries_1_1.value, 2), key = _b[0], value = _b[1];
235
- this.set(key, value);
236
- }
237
- }
238
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
239
- finally {
240
- try {
241
- if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
242
- }
243
- finally { if (e_1) throw e_1.error; }
157
+ setMany(entries) {
158
+ for (const [key, value] of entries) {
159
+ this.set(key, value);
244
160
  }
245
- };
161
+ }
246
162
  /**
247
163
  * Get multiple values at once.
248
164
  *
249
165
  * @param keys - Array of keys to retrieve
250
166
  * @returns Array of values (undefined for keys that don't exist or expired)
251
167
  */
252
- TTLCache.prototype.getMany = function (keys) {
253
- var _this = this;
254
- return keys.map(function (key) { return _this.get(key); });
255
- };
168
+ getMany(keys) {
169
+ return keys.map(key => this.get(key));
170
+ }
256
171
  /**
257
172
  * Removes all expired entries from the cache.
258
173
  *
259
174
  * @returns Number of entries removed.
260
175
  */
261
- TTLCache.prototype.cleanup = function () {
262
- var e_2, _a;
263
- var removed = 0;
264
- var now = Date.now();
265
- try {
266
- for (var _b = __values(this.cache.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
267
- var _d = __read(_c.value, 2), key = _d[0], entry = _d[1];
268
- if (now > entry.expiresAt) {
269
- this.cache.delete(key);
270
- removed++;
271
- }
272
- }
273
- }
274
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
275
- finally {
276
- try {
277
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
176
+ cleanup() {
177
+ let removed = 0;
178
+ const now = Date.now();
179
+ for (const [key, entry] of this.cache.entries()) {
180
+ if (now > entry.expiresAt) {
181
+ this.cache.delete(key);
182
+ removed++;
278
183
  }
279
- finally { if (e_2) throw e_2.error; }
280
184
  }
281
185
  return removed;
282
- };
186
+ }
283
187
  /**
284
188
  * Returns an iterator of all current valid [key, value] pairs.
285
189
  *
286
190
  * @returns IterableIterator<[K, V]>
287
191
  */
288
- TTLCache.prototype.entries = function () {
289
- var _a, _b, _c, key, entry, e_3_1;
290
- var e_3, _d;
291
- return __generator(this, function (_e) {
292
- switch (_e.label) {
293
- case 0:
294
- _e.trys.push([0, 5, 6, 7]);
295
- _a = __values(this.cache.entries()), _b = _a.next();
296
- _e.label = 1;
297
- case 1:
298
- if (!!_b.done) return [3 /*break*/, 4];
299
- _c = __read(_b.value, 2), key = _c[0], entry = _c[1];
300
- if (!(Date.now() <= entry.expiresAt)) return [3 /*break*/, 3];
301
- return [4 /*yield*/, [key, entry.value]];
302
- case 2:
303
- _e.sent();
304
- _e.label = 3;
305
- case 3:
306
- _b = _a.next();
307
- return [3 /*break*/, 1];
308
- case 4: return [3 /*break*/, 7];
309
- case 5:
310
- e_3_1 = _e.sent();
311
- e_3 = { error: e_3_1 };
312
- return [3 /*break*/, 7];
313
- case 6:
314
- try {
315
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
316
- }
317
- finally { if (e_3) throw e_3.error; }
318
- return [7 /*endfinally*/];
319
- case 7: return [2 /*return*/];
192
+ *entries() {
193
+ for (const [key, entry] of this.cache.entries()) {
194
+ if (Date.now() <= entry.expiresAt) {
195
+ yield [key, entry.value];
320
196
  }
321
- });
322
- };
197
+ }
198
+ }
323
199
  /**
324
200
  * Returns an iterator of all current valid keys.
325
201
  *
326
202
  * @returns IterableIterator<K>
327
203
  */
328
- TTLCache.prototype.keys = function () {
329
- var _a, _b, _c, key, entry, e_4_1;
330
- var e_4, _d;
331
- return __generator(this, function (_e) {
332
- switch (_e.label) {
333
- case 0:
334
- _e.trys.push([0, 5, 6, 7]);
335
- _a = __values(this.cache.entries()), _b = _a.next();
336
- _e.label = 1;
337
- case 1:
338
- if (!!_b.done) return [3 /*break*/, 4];
339
- _c = __read(_b.value, 2), key = _c[0], entry = _c[1];
340
- if (!(Date.now() <= entry.expiresAt)) return [3 /*break*/, 3];
341
- return [4 /*yield*/, key];
342
- case 2:
343
- _e.sent();
344
- _e.label = 3;
345
- case 3:
346
- _b = _a.next();
347
- return [3 /*break*/, 1];
348
- case 4: return [3 /*break*/, 7];
349
- case 5:
350
- e_4_1 = _e.sent();
351
- e_4 = { error: e_4_1 };
352
- return [3 /*break*/, 7];
353
- case 6:
354
- try {
355
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
356
- }
357
- finally { if (e_4) throw e_4.error; }
358
- return [7 /*endfinally*/];
359
- case 7: return [2 /*return*/];
204
+ *keys() {
205
+ for (const [key, entry] of this.cache.entries()) {
206
+ if (Date.now() <= entry.expiresAt) {
207
+ yield key;
360
208
  }
361
- });
362
- };
209
+ }
210
+ }
363
211
  /**
364
212
  * Returns an iterator of all current valid values.
365
213
  *
366
214
  * @returns IterableIterator<V>
367
215
  */
368
- TTLCache.prototype.values = function () {
369
- var _a, _b, entry, e_5_1;
370
- var e_5, _c;
371
- return __generator(this, function (_d) {
372
- switch (_d.label) {
373
- case 0:
374
- _d.trys.push([0, 5, 6, 7]);
375
- _a = __values(this.cache.values()), _b = _a.next();
376
- _d.label = 1;
377
- case 1:
378
- if (!!_b.done) return [3 /*break*/, 4];
379
- entry = _b.value;
380
- if (!(Date.now() <= entry.expiresAt)) return [3 /*break*/, 3];
381
- return [4 /*yield*/, entry.value];
382
- case 2:
383
- _d.sent();
384
- _d.label = 3;
385
- case 3:
386
- _b = _a.next();
387
- return [3 /*break*/, 1];
388
- case 4: return [3 /*break*/, 7];
389
- case 5:
390
- e_5_1 = _d.sent();
391
- e_5 = { error: e_5_1 };
392
- return [3 /*break*/, 7];
393
- case 6:
394
- try {
395
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
396
- }
397
- finally { if (e_5) throw e_5.error; }
398
- return [7 /*endfinally*/];
399
- case 7: return [2 /*return*/];
216
+ *values() {
217
+ for (const entry of this.cache.values()) {
218
+ if (Date.now() <= entry.expiresAt) {
219
+ yield entry.value;
400
220
  }
401
- });
402
- };
221
+ }
222
+ }
403
223
  /**
404
224
  * Extends the expiration of a key by the specified time or default TTL.
405
225
  *
@@ -407,46 +227,35 @@ var TTLCache = /** @class */ (function () {
407
227
  * @param ttlMs - Optional new TTL in milliseconds (uses default if not specified)
408
228
  * @returns true if the key was found and refreshed, false otherwise
409
229
  */
410
- TTLCache.prototype.refresh = function (key, ttlMs) {
411
- var entry = this.cache.get(key);
230
+ refresh(key, ttlMs) {
231
+ const entry = this.cache.get(key);
412
232
  if (!entry)
413
233
  return false;
414
- var now = Date.now();
234
+ const now = Date.now();
415
235
  if (now > entry.expiresAt) {
416
236
  this.cache.delete(key);
417
237
  return false;
418
238
  }
419
- entry.expiresAt = now + (ttlMs !== null && ttlMs !== void 0 ? ttlMs : this.ttlMs);
239
+ entry.expiresAt = now + (ttlMs ?? this.ttlMs);
420
240
  entry.lastAccessed = now;
421
241
  return true;
422
- };
242
+ }
423
243
  /**
424
244
  * Returns a snapshot of cache stats.
425
245
  *
426
246
  * @returns Object containing cache statistics
427
247
  */
428
- TTLCache.prototype.stats = function () {
429
- var e_6, _a;
430
- var now = Date.now();
431
- var expired = 0;
432
- var valid = 0;
433
- try {
434
- for (var _b = __values(this.cache.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
435
- var entry = _c.value;
436
- if (now > entry.expiresAt) {
437
- expired++;
438
- }
439
- else {
440
- valid++;
441
- }
248
+ stats() {
249
+ const now = Date.now();
250
+ let expired = 0;
251
+ let valid = 0;
252
+ for (const entry of this.cache.values()) {
253
+ if (now > entry.expiresAt) {
254
+ expired++;
442
255
  }
443
- }
444
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
445
- finally {
446
- try {
447
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
256
+ else {
257
+ valid++;
448
258
  }
449
- finally { if (e_6) throw e_6.error; }
450
259
  }
451
260
  return {
452
261
  size: this.cache.size,
@@ -454,46 +263,32 @@ var TTLCache = /** @class */ (function () {
454
263
  expiredEntries: expired,
455
264
  maxSize: this.maxSize
456
265
  };
457
- };
266
+ }
458
267
  /**
459
268
  * Stop the auto-cleanup interval if it's running.
460
269
  */
461
- TTLCache.prototype.destroy = function () {
270
+ destroy() {
462
271
  if (this.cleanupInterval) {
463
272
  clearInterval(this.cleanupInterval);
464
273
  this.cleanupInterval = undefined;
465
274
  }
466
- };
275
+ }
467
276
  /**
468
277
  * Evict the least recently used entry from the cache.
469
278
  * @private
470
279
  */
471
- TTLCache.prototype.evictLRU = function () {
472
- var e_7, _a;
473
- var now = Date.now();
474
- try {
475
- // Remove all expired items first
476
- for (var _b = __values(Array.from(this.cache.entries())), _c = _b.next(); !_c.done; _c = _b.next()) {
477
- var _d = __read(_c.value, 2), key = _d[0], entry = _d[1];
478
- if (now > entry.expiresAt) {
479
- this.cache.delete(key);
480
- }
481
- }
482
- }
483
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
484
- finally {
485
- try {
486
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
280
+ evictLRU() {
281
+ const now = Date.now();
282
+ // Remove all expired items first
283
+ for (const [key, entry] of Array.from(this.cache.entries())) {
284
+ if (now > entry.expiresAt) {
285
+ this.cache.delete(key);
487
286
  }
488
- finally { if (e_7) throw e_7.error; }
489
287
  }
490
288
  // Evict oldest entries until within max size
491
289
  while (this.maxSize && this.cache.size > this.maxSize) {
492
- var oldestKey = this.cache.keys().next().value;
290
+ const oldestKey = this.cache.keys().next().value;
493
291
  this.cache.delete(oldestKey);
494
292
  }
495
- };
496
- return TTLCache;
497
- }());
498
- export { TTLCache };
499
- //# sourceMappingURL=cache.utils.js.map
293
+ }
294
+ }
@@ -186,4 +186,3 @@ export declare class TypedContextKey<T> {
186
186
  */
187
187
  delete(): boolean;
188
188
  }
189
- //# sourceMappingURL=context-store.utils.d.ts.map