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

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/{esnext → cjs}/config.d.ts +0 -1
  2. package/build/{src → cjs}/config.js +0 -1
  3. package/build/{esnext → cjs}/index.d.ts +0 -1
  4. package/build/{src → cjs}/index.js +0 -1
  5. package/build/{esnext → cjs}/servers/server.builder.d.ts +0 -1
  6. package/build/{src → cjs}/servers/server.builder.js +10 -13
  7. package/build/{src → cjs}/servers/server.d.ts +0 -1
  8. package/build/{src → cjs}/servers/server.js +83 -75
  9. package/build/{src → cjs}/types/api-response.d.ts +0 -1
  10. package/build/{src → cjs}/types/api-response.js +0 -1
  11. package/build/{src → cjs}/types/index.d.ts +0 -1
  12. package/build/{src → cjs}/types/index.js +0 -1
  13. package/build/{src → cjs}/types/server.d.ts +0 -1
  14. package/build/{src → cjs}/types/server.js +0 -1
  15. package/build/{src → cjs}/utils/array.utils.d.ts +0 -1
  16. package/build/{src → cjs}/utils/array.utils.js +0 -1
  17. package/build/{src → cjs}/utils/async.utils.d.ts +0 -1
  18. package/build/{src → cjs}/utils/async.utils.js +2 -3
  19. package/build/{esnext → cjs}/utils/cache.utils.d.ts +0 -1
  20. package/build/{src → cjs}/utils/cache.utils.js +7 -6
  21. package/build/{esnext → cjs}/utils/context-store.utils.d.ts +1 -2
  22. package/build/{src → cjs}/utils/context-store.utils.js +10 -9
  23. package/build/{esnext → cjs}/utils/crypto.utils.d.ts +0 -1
  24. package/build/{src → cjs}/utils/crypto.utils.js +5 -3
  25. package/build/{src → cjs}/utils/date.utils.d.ts +0 -1
  26. package/build/{src → cjs}/utils/date.utils.js +1 -2
  27. package/build/{src → cjs}/utils/decorators.utils.d.ts +30 -27
  28. package/build/{src → cjs}/utils/decorators.utils.js +169 -30
  29. package/build/{esnext → cjs}/utils/dir.utils.d.ts +0 -1
  30. package/build/{src → cjs}/utils/dir.utils.js +6 -7
  31. package/build/{esnext → cjs}/utils/env.utils.d.ts +0 -1
  32. package/build/{src → cjs}/utils/env.utils.js +5 -8
  33. package/build/{src → cjs}/utils/exception.utils.d.ts +0 -1
  34. package/build/{src → cjs}/utils/exception.utils.js +2 -1
  35. package/build/{src → cjs}/utils/fs.utils.d.ts +0 -1
  36. package/build/{src → cjs}/utils/fs.utils.js +12 -13
  37. package/build/{esnext → cjs}/utils/http-status-codes.d.ts +0 -1
  38. package/build/{src → cjs}/utils/http-status-codes.js +0 -1
  39. package/build/{esnext → cjs}/utils/id.utils.d.ts +0 -1
  40. package/build/{src → cjs}/utils/id.utils.js +0 -1
  41. package/build/{src → cjs}/utils/logger.utils.d.ts +0 -1
  42. package/build/{src → cjs}/utils/logger.utils.js +10 -6
  43. package/build/{esnext → cjs}/utils/middleware.utils.d.ts +0 -1
  44. package/build/{src → cjs}/utils/middleware.utils.js +16 -17
  45. package/build/{esnext → cjs}/utils/obj.utils.d.ts +0 -1
  46. package/build/{src → cjs}/utils/obj.utils.js +1 -2
  47. package/build/{src → cjs}/utils/performance.utils.d.ts +0 -1
  48. package/build/{src → cjs}/utils/performance.utils.js +6 -4
  49. package/build/{esnext → cjs}/utils/request.utils.d.ts +0 -1
  50. package/build/{src → cjs}/utils/request.utils.js +7 -3
  51. package/build/{esnext → cjs}/utils/response.utils.d.ts +0 -1
  52. package/build/{src → cjs}/utils/response.utils.js +42 -28
  53. package/build/{esnext → cjs}/utils/stream.utils.d.ts +0 -1
  54. package/build/{src → cjs}/utils/stream.utils.js +0 -1
  55. package/build/{esnext → cjs}/utils/string.utils.d.ts +0 -1
  56. package/build/{src → cjs}/utils/string.utils.js +0 -1
  57. package/build/{src → cjs}/utils/type.utils.d.ts +0 -1
  58. package/build/{src → cjs}/utils/type.utils.js +2 -3
  59. package/build/{src → cjs}/utils/url.utils.d.ts +0 -1
  60. package/build/{src → cjs}/utils/url.utils.js +8 -9
  61. package/build/{src → cjs}/utils/validate.utils.d.ts +0 -1
  62. package/build/{src → cjs}/utils/validate.utils.js +2 -3
  63. package/build/esm/config.d.ts +0 -1
  64. package/build/esm/config.js +6 -7
  65. package/build/esm/index.d.ts +0 -1
  66. package/build/esm/index.js +0 -1
  67. package/build/esm/servers/server.builder.d.ts +0 -1
  68. package/build/esm/servers/server.builder.js +99 -147
  69. package/build/esm/servers/server.d.ts +0 -1
  70. package/build/esm/servers/server.js +591 -876
  71. package/build/esm/types/api-response.d.ts +0 -1
  72. package/build/esm/types/api-response.js +0 -1
  73. package/build/esm/types/index.d.ts +0 -1
  74. package/build/esm/types/index.js +0 -1
  75. package/build/esm/types/server.d.ts +0 -1
  76. package/build/esm/types/server.js +0 -1
  77. package/build/esm/utils/array.utils.d.ts +0 -1
  78. package/build/esm/utils/array.utils.js +48 -86
  79. package/build/esm/utils/async.utils.d.ts +0 -1
  80. package/build/esm/utils/async.utils.js +247 -524
  81. package/build/esm/utils/cache.utils.d.ts +0 -1
  82. package/build/esm/utils/cache.utils.js +96 -301
  83. package/build/esm/utils/context-store.utils.d.ts +1 -2
  84. package/build/esm/utils/context-store.utils.js +62 -79
  85. package/build/esm/utils/crypto.utils.d.ts +0 -1
  86. package/build/esm/utils/crypto.utils.js +78 -175
  87. package/build/esm/utils/date.utils.d.ts +0 -1
  88. package/build/esm/utils/date.utils.js +47 -53
  89. package/build/esm/utils/decorators.utils.d.ts +30 -27
  90. package/build/esm/utils/decorators.utils.js +417 -461
  91. package/build/esm/utils/dir.utils.d.ts +0 -1
  92. package/build/esm/utils/dir.utils.js +264 -786
  93. package/build/esm/utils/env.utils.d.ts +0 -1
  94. package/build/esm/utils/env.utils.js +180 -271
  95. package/build/esm/utils/exception.utils.d.ts +0 -1
  96. package/build/esm/utils/exception.utils.js +112 -289
  97. package/build/esm/utils/fs.utils.d.ts +0 -1
  98. package/build/esm/utils/fs.utils.js +169 -401
  99. package/build/esm/utils/http-status-codes.d.ts +0 -1
  100. package/build/esm/utils/http-status-codes.js +0 -1
  101. package/build/esm/utils/id.utils.d.ts +0 -1
  102. package/build/esm/utils/id.utils.js +5 -9
  103. package/build/esm/utils/logger.utils.d.ts +0 -1
  104. package/build/esm/utils/logger.utils.js +34 -71
  105. package/build/esm/utils/middleware.utils.d.ts +0 -1
  106. package/build/esm/utils/middleware.utils.js +65 -155
  107. package/build/esm/utils/obj.utils.d.ts +0 -1
  108. package/build/esm/utils/obj.utils.js +69 -176
  109. package/build/esm/utils/performance.utils.d.ts +0 -1
  110. package/build/esm/utils/performance.utils.js +92 -195
  111. package/build/esm/utils/request.utils.d.ts +0 -1
  112. package/build/esm/utils/request.utils.js +41 -74
  113. package/build/esm/utils/response.utils.d.ts +0 -1
  114. package/build/esm/utils/response.utils.js +84 -107
  115. package/build/esm/utils/stream.utils.d.ts +0 -1
  116. package/build/esm/utils/stream.utils.js +38 -113
  117. package/build/esm/utils/string.utils.d.ts +0 -1
  118. package/build/esm/utils/string.utils.js +6 -11
  119. package/build/esm/utils/type.utils.d.ts +0 -1
  120. package/build/esm/utils/type.utils.js +8 -12
  121. package/build/esm/utils/url.utils.d.ts +0 -1
  122. package/build/esm/utils/url.utils.js +49 -127
  123. package/build/esm/utils/validate.utils.d.ts +0 -1
  124. package/build/esm/utils/validate.utils.js +23 -40
  125. package/package.json +288 -63
  126. package/build/esm/config.js.map +0 -1
  127. package/build/esm/index.js.map +0 -1
  128. package/build/esm/servers/server.builder.js.map +0 -1
  129. package/build/esm/servers/server.js.map +0 -1
  130. package/build/esm/types/api-response.js.map +0 -1
  131. package/build/esm/types/index.js.map +0 -1
  132. package/build/esm/types/server.js.map +0 -1
  133. package/build/esm/utils/array.utils.js.map +0 -1
  134. package/build/esm/utils/async.utils.js.map +0 -1
  135. package/build/esm/utils/cache.utils.js.map +0 -1
  136. package/build/esm/utils/context-store.utils.js.map +0 -1
  137. package/build/esm/utils/crypto.utils.js.map +0 -1
  138. package/build/esm/utils/date.utils.js.map +0 -1
  139. package/build/esm/utils/decorators.utils.js.map +0 -1
  140. package/build/esm/utils/dir.utils.js.map +0 -1
  141. package/build/esm/utils/env.utils.js.map +0 -1
  142. package/build/esm/utils/exception.utils.js.map +0 -1
  143. package/build/esm/utils/fs.utils.js.map +0 -1
  144. package/build/esm/utils/http-status-codes.js.map +0 -1
  145. package/build/esm/utils/id.utils.js.map +0 -1
  146. package/build/esm/utils/logger.utils.js.map +0 -1
  147. package/build/esm/utils/middleware.utils.js.map +0 -1
  148. package/build/esm/utils/obj.utils.js.map +0 -1
  149. package/build/esm/utils/performance.utils.js.map +0 -1
  150. package/build/esm/utils/request.utils.js.map +0 -1
  151. package/build/esm/utils/response.utils.js.map +0 -1
  152. package/build/esm/utils/stream.utils.js.map +0 -1
  153. package/build/esm/utils/string.utils.js.map +0 -1
  154. package/build/esm/utils/type.utils.js.map +0 -1
  155. package/build/esm/utils/url.utils.js.map +0 -1
  156. package/build/esm/utils/validate.utils.js.map +0 -1
  157. package/build/esnext/config.js +0 -133
  158. package/build/esnext/config.js.map +0 -1
  159. package/build/esnext/index.js +0 -50
  160. package/build/esnext/index.js.map +0 -1
  161. package/build/esnext/servers/server.builder.js +0 -657
  162. package/build/esnext/servers/server.builder.js.map +0 -1
  163. package/build/esnext/servers/server.d.ts +0 -256
  164. package/build/esnext/servers/server.js +0 -955
  165. package/build/esnext/servers/server.js.map +0 -1
  166. package/build/esnext/types/api-response.d.ts +0 -152
  167. package/build/esnext/types/api-response.js +0 -34
  168. package/build/esnext/types/api-response.js.map +0 -1
  169. package/build/esnext/types/index.d.ts +0 -125
  170. package/build/esnext/types/index.js +0 -25
  171. package/build/esnext/types/index.js.map +0 -1
  172. package/build/esnext/types/server.d.ts +0 -268
  173. package/build/esnext/types/server.js +0 -25
  174. package/build/esnext/types/server.js.map +0 -1
  175. package/build/esnext/utils/array.utils.d.ts +0 -168
  176. package/build/esnext/utils/array.utils.js +0 -345
  177. package/build/esnext/utils/array.utils.js.map +0 -1
  178. package/build/esnext/utils/async.utils.d.ts +0 -265
  179. package/build/esnext/utils/async.utils.js +0 -620
  180. package/build/esnext/utils/async.utils.js.map +0 -1
  181. package/build/esnext/utils/cache.utils.js +0 -293
  182. package/build/esnext/utils/cache.utils.js.map +0 -1
  183. package/build/esnext/utils/context-store.utils.js +0 -289
  184. package/build/esnext/utils/context-store.utils.js.map +0 -1
  185. package/build/esnext/utils/crypto.utils.js +0 -276
  186. package/build/esnext/utils/crypto.utils.js.map +0 -1
  187. package/build/esnext/utils/date.utils.d.ts +0 -159
  188. package/build/esnext/utils/date.utils.js +0 -384
  189. package/build/esnext/utils/date.utils.js.map +0 -1
  190. package/build/esnext/utils/decorators.utils.d.ts +0 -508
  191. package/build/esnext/utils/decorators.utils.js +0 -877
  192. package/build/esnext/utils/decorators.utils.js.map +0 -1
  193. package/build/esnext/utils/dir.utils.js +0 -477
  194. package/build/esnext/utils/dir.utils.js.map +0 -1
  195. package/build/esnext/utils/env.utils.js +0 -785
  196. package/build/esnext/utils/env.utils.js.map +0 -1
  197. package/build/esnext/utils/exception.utils.d.ts +0 -230
  198. package/build/esnext/utils/exception.utils.js +0 -381
  199. package/build/esnext/utils/exception.utils.js.map +0 -1
  200. package/build/esnext/utils/fs.utils.d.ts +0 -164
  201. package/build/esnext/utils/fs.utils.js +0 -349
  202. package/build/esnext/utils/fs.utils.js.map +0 -1
  203. package/build/esnext/utils/http-status-codes.js +0 -295
  204. package/build/esnext/utils/http-status-codes.js.map +0 -1
  205. package/build/esnext/utils/id.utils.js +0 -84
  206. package/build/esnext/utils/id.utils.js.map +0 -1
  207. package/build/esnext/utils/logger.utils.d.ts +0 -160
  208. package/build/esnext/utils/logger.utils.js +0 -300
  209. package/build/esnext/utils/logger.utils.js.map +0 -1
  210. package/build/esnext/utils/middleware.utils.js +0 -236
  211. package/build/esnext/utils/middleware.utils.js.map +0 -1
  212. package/build/esnext/utils/obj.utils.js +0 -413
  213. package/build/esnext/utils/obj.utils.js.map +0 -1
  214. package/build/esnext/utils/performance.utils.d.ts +0 -136
  215. package/build/esnext/utils/performance.utils.js +0 -271
  216. package/build/esnext/utils/performance.utils.js.map +0 -1
  217. package/build/esnext/utils/request.utils.js +0 -186
  218. package/build/esnext/utils/request.utils.js.map +0 -1
  219. package/build/esnext/utils/response.utils.js +0 -247
  220. package/build/esnext/utils/response.utils.js.map +0 -1
  221. package/build/esnext/utils/stream.utils.js +0 -210
  222. package/build/esnext/utils/stream.utils.js.map +0 -1
  223. package/build/esnext/utils/string.utils.js +0 -165
  224. package/build/esnext/utils/string.utils.js.map +0 -1
  225. package/build/esnext/utils/type.utils.d.ts +0 -90
  226. package/build/esnext/utils/type.utils.js +0 -187
  227. package/build/esnext/utils/type.utils.js.map +0 -1
  228. package/build/esnext/utils/url.utils.d.ts +0 -141
  229. package/build/esnext/utils/url.utils.js +0 -304
  230. package/build/esnext/utils/url.utils.js.map +0 -1
  231. package/build/esnext/utils/validate.utils.d.ts +0 -177
  232. package/build/esnext/utils/validate.utils.js +0 -320
  233. package/build/esnext/utils/validate.utils.js.map +0 -1
  234. package/build/src/config.d.ts +0 -122
  235. package/build/src/config.js.map +0 -1
  236. package/build/src/index.d.ts +0 -27
  237. package/build/src/index.js.map +0 -1
  238. package/build/src/servers/server.builder.d.ts +0 -508
  239. package/build/src/servers/server.builder.js.map +0 -1
  240. package/build/src/servers/server.js.map +0 -1
  241. package/build/src/types/api-response.js.map +0 -1
  242. package/build/src/types/index.js.map +0 -1
  243. package/build/src/types/server.js.map +0 -1
  244. package/build/src/utils/array.utils.js.map +0 -1
  245. package/build/src/utils/async.utils.js.map +0 -1
  246. package/build/src/utils/cache.utils.d.ts +0 -153
  247. package/build/src/utils/cache.utils.js.map +0 -1
  248. package/build/src/utils/context-store.utils.d.ts +0 -189
  249. package/build/src/utils/context-store.utils.js.map +0 -1
  250. package/build/src/utils/crypto.utils.d.ts +0 -160
  251. package/build/src/utils/crypto.utils.js.map +0 -1
  252. package/build/src/utils/date.utils.js.map +0 -1
  253. package/build/src/utils/decorators.utils.js.map +0 -1
  254. package/build/src/utils/dir.utils.d.ts +0 -196
  255. package/build/src/utils/dir.utils.js.map +0 -1
  256. package/build/src/utils/env.utils.d.ts +0 -377
  257. package/build/src/utils/env.utils.js.map +0 -1
  258. package/build/src/utils/exception.utils.js.map +0 -1
  259. package/build/src/utils/fs.utils.js.map +0 -1
  260. package/build/src/utils/http-status-codes.d.ts +0 -266
  261. package/build/src/utils/http-status-codes.js.map +0 -1
  262. package/build/src/utils/id.utils.d.ts +0 -36
  263. package/build/src/utils/id.utils.js.map +0 -1
  264. package/build/src/utils/logger.utils.js.map +0 -1
  265. package/build/src/utils/middleware.utils.d.ts +0 -100
  266. package/build/src/utils/middleware.utils.js.map +0 -1
  267. package/build/src/utils/obj.utils.d.ts +0 -124
  268. package/build/src/utils/obj.utils.js.map +0 -1
  269. package/build/src/utils/performance.utils.js.map +0 -1
  270. package/build/src/utils/request.utils.d.ts +0 -86
  271. package/build/src/utils/request.utils.js.map +0 -1
  272. package/build/src/utils/response.utils.d.ts +0 -163
  273. package/build/src/utils/response.utils.js.map +0 -1
  274. package/build/src/utils/stream.utils.d.ts +0 -88
  275. package/build/src/utils/stream.utils.js.map +0 -1
  276. package/build/src/utils/string.utils.d.ts +0 -93
  277. package/build/src/utils/string.utils.js.map +0 -1
  278. package/build/src/utils/type.utils.js.map +0 -1
  279. package/build/src/utils/url.utils.js.map +0 -1
  280. package/build/src/utils/validate.utils.js.map +0 -1
@@ -21,78 +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 __assign = (this && this.__assign) || function () {
25
- __assign = Object.assign || function(t) {
26
- for (var s, i = 1, n = arguments.length; i < n; i++) {
27
- s = arguments[i];
28
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
29
- t[p] = s[p];
30
- }
31
- return t;
32
- };
33
- return __assign.apply(this, arguments);
34
- };
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- var __generator = (this && this.__generator) || function (thisArg, body) {
45
- 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);
46
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
47
- function verb(n) { return function (v) { return step([n, v]); }; }
48
- function step(op) {
49
- if (f) throw new TypeError("Generator is already executing.");
50
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
51
- 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;
52
- if (y = 0, t) op = [op[0] & 2, t.value];
53
- switch (op[0]) {
54
- case 0: case 1: t = op; break;
55
- case 4: _.label++; return { value: op[1], done: false };
56
- case 5: _.label++; y = op[1]; op = [0]; continue;
57
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
58
- default:
59
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
60
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
61
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
62
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
63
- if (t[2]) _.ops.pop();
64
- _.trys.pop(); continue;
65
- }
66
- op = body.call(thisArg, _);
67
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
68
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
69
- }
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
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
88
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
89
- if (ar || !(i in from)) {
90
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
91
- ar[i] = from[i];
92
- }
93
- }
94
- return to.concat(ar || Array.prototype.slice.call(from));
95
- };
96
24
  import { TTLCache } from './cache.utils';
97
25
  import { getLogger } from './logger.utils';
98
26
  /**
@@ -112,46 +40,45 @@ import { getLogger } from './logger.utils';
112
40
  * console.log(`Result: ${result}, took ${timing.durationMs}ms`);
113
41
  * ```
114
42
  */
115
- export function timeSync(fn, options) {
116
- if (options === void 0) { options = {}; }
117
- var _a = options.label, label = _a === void 0 ? fn.name || 'anonymous function' : _a, _b = options.log, log = _b === void 0 ? false : _b, _c = options.logLevel, logLevel = _c === void 0 ? 'debug' : _c;
118
- var startTime = performance.now();
119
- var result = fn();
120
- var endTime = performance.now();
121
- var durationMs = endTime - startTime;
122
- var durationSec = durationMs / 1000;
123
- var timing = {
124
- durationMs: durationMs,
125
- durationSec: durationSec,
126
- startTime: startTime,
127
- endTime: endTime,
128
- label: label
43
+ export function timeSync(fn, options = {}) {
44
+ const { label = fn.name || 'anonymous function', log = false, logLevel = 'debug' } = options;
45
+ const startTime = performance.now();
46
+ const result = fn();
47
+ const endTime = performance.now();
48
+ const durationMs = endTime - startTime;
49
+ const durationSec = durationMs / 1000;
50
+ const timing = {
51
+ durationMs,
52
+ durationSec,
53
+ startTime,
54
+ endTime,
55
+ label
129
56
  };
130
57
  if (log) {
131
- var logger = getLogger();
132
- var message = "".concat(label, " completed in ").concat(durationMs.toFixed(2), "ms");
58
+ const logger = getLogger();
59
+ const message = `${label} completed in ${durationMs.toFixed(2)}ms`;
133
60
  switch (logLevel) {
134
61
  case 'trace':
135
- logger.trace({ timing: timing }, message);
62
+ logger.trace({ timing }, message);
136
63
  break;
137
64
  case 'debug':
138
- logger.debug({ timing: timing }, message);
65
+ logger.debug({ timing }, message);
139
66
  break;
140
67
  case 'info':
141
- logger.info({ timing: timing }, message);
68
+ logger.info({ timing }, message);
142
69
  break;
143
70
  case 'warn':
144
- logger.warn({ timing: timing }, message);
71
+ logger.warn({ timing }, message);
145
72
  break;
146
73
  case 'error':
147
- logger.error({ timing: timing }, message);
74
+ logger.error({ timing }, message);
148
75
  break;
149
76
  default:
150
- logger.debug({ timing: timing }, message);
77
+ logger.debug({ timing }, message);
151
78
  break;
152
79
  }
153
80
  }
154
- return { result: result, timing: timing };
81
+ return { result, timing };
155
82
  }
156
83
  /**
157
84
  * Measure the execution time of an asynchronous function.
@@ -171,56 +98,45 @@ export function timeSync(fn, options) {
171
98
  * console.log(`Fetched ${result.length} items in ${timing.durationSec.toFixed(2)}s`);
172
99
  * ```
173
100
  */
174
- export function timeAsync(fn_1) {
175
- return __awaiter(this, arguments, void 0, function (fn, options) {
176
- var _a, label, _b, log, _c, logLevel, startTime, result, endTime, durationMs, durationSec, timing, logger, message;
177
- if (options === void 0) { options = {}; }
178
- return __generator(this, function (_d) {
179
- switch (_d.label) {
180
- case 0:
181
- _a = options.label, label = _a === void 0 ? fn.name || 'anonymous async function' : _a, _b = options.log, log = _b === void 0 ? false : _b, _c = options.logLevel, logLevel = _c === void 0 ? 'debug' : _c;
182
- startTime = performance.now();
183
- return [4 /*yield*/, fn()];
184
- case 1:
185
- result = _d.sent();
186
- endTime = performance.now();
187
- durationMs = endTime - startTime;
188
- durationSec = durationMs / 1000;
189
- timing = {
190
- durationMs: durationMs,
191
- durationSec: durationSec,
192
- startTime: startTime,
193
- endTime: endTime,
194
- label: label
195
- };
196
- if (log) {
197
- logger = getLogger();
198
- message = "".concat(label, " completed in ").concat(durationMs.toFixed(2), "ms");
199
- switch (logLevel) {
200
- case 'trace':
201
- logger.trace({ timing: timing }, message);
202
- break;
203
- case 'debug':
204
- logger.debug({ timing: timing }, message);
205
- break;
206
- case 'info':
207
- logger.info({ timing: timing }, message);
208
- break;
209
- case 'warn':
210
- logger.warn({ timing: timing }, message);
211
- break;
212
- case 'error':
213
- logger.error({ timing: timing }, message);
214
- break;
215
- default:
216
- logger.debug({ timing: timing }, message);
217
- break;
218
- }
219
- }
220
- return [2 /*return*/, { result: result, timing: timing }];
221
- }
222
- });
223
- });
101
+ export async function timeAsync(fn, options = {}) {
102
+ const { label = fn.name || 'anonymous async function', log = false, logLevel = 'debug' } = options;
103
+ const startTime = performance.now();
104
+ const result = await fn();
105
+ const endTime = performance.now();
106
+ const durationMs = endTime - startTime;
107
+ const durationSec = durationMs / 1000;
108
+ const timing = {
109
+ durationMs,
110
+ durationSec,
111
+ startTime,
112
+ endTime,
113
+ label
114
+ };
115
+ if (log) {
116
+ const logger = getLogger();
117
+ const message = `${label} completed in ${durationMs.toFixed(2)}ms`;
118
+ switch (logLevel) {
119
+ case 'trace':
120
+ logger.trace({ timing }, message);
121
+ break;
122
+ case 'debug':
123
+ logger.debug({ timing }, message);
124
+ break;
125
+ case 'info':
126
+ logger.info({ timing }, message);
127
+ break;
128
+ case 'warn':
129
+ logger.warn({ timing }, message);
130
+ break;
131
+ case 'error':
132
+ logger.error({ timing }, message);
133
+ break;
134
+ default:
135
+ logger.debug({ timing }, message);
136
+ break;
137
+ }
138
+ }
139
+ return { result, timing };
224
140
  }
225
141
  /**
226
142
  * Create a timing decorator for class methods.
@@ -238,37 +154,31 @@ export function timeAsync(fn_1) {
238
154
  * }
239
155
  * ```
240
156
  */
241
- export function timed(options) {
242
- if (options === void 0) { options = {}; }
157
+ export function timed(options = {}) {
243
158
  return function (target, propertyKeyOrContext, descriptor) {
244
- var propertyKey;
245
- var actualDescriptor;
159
+ let propertyKey;
160
+ let actualDescriptor;
246
161
  // ESNext decorator: second argument is context object
247
162
  if (typeof propertyKeyOrContext === 'object' && propertyKeyOrContext !== null && 'name' in propertyKeyOrContext) {
248
163
  propertyKey = propertyKeyOrContext.name;
249
- actualDescriptor = descriptor !== null && descriptor !== void 0 ? descriptor : Object.getOwnPropertyDescriptor(target, propertyKey);
164
+ actualDescriptor = descriptor ?? Object.getOwnPropertyDescriptor(target, propertyKey);
250
165
  }
251
166
  else {
252
167
  // Legacy decorator: second argument is property key
253
168
  propertyKey = propertyKeyOrContext;
254
- actualDescriptor = descriptor !== null && descriptor !== void 0 ? descriptor : Object.getOwnPropertyDescriptor(target, propertyKey);
169
+ actualDescriptor = descriptor ?? Object.getOwnPropertyDescriptor(target, propertyKey);
255
170
  }
256
- var originalMethod = actualDescriptor.value;
257
- actualDescriptor.value = function () {
258
- var _this = this;
259
- var args = [];
260
- for (var _i = 0; _i < arguments.length; _i++) {
261
- args[_i] = arguments[_i];
262
- }
263
- var methodOptions = __assign(__assign({}, options), { label: options.label || "".concat(target.constructor.name, ".").concat(String(propertyKey)) });
171
+ const originalMethod = actualDescriptor.value;
172
+ actualDescriptor.value = function (...args) {
173
+ const methodOptions = {
174
+ ...options,
175
+ label: options.label || `${target.constructor.name}.${String(propertyKey)}`
176
+ };
264
177
  if (originalMethod.constructor.name === 'AsyncFunction') {
265
- return timeAsync(function () { return originalMethod.apply(_this, args); }, methodOptions).then(function (_a) {
266
- var result = _a.result;
267
- return result;
268
- });
178
+ return timeAsync(() => originalMethod.apply(this, args), methodOptions).then(({ result }) => result);
269
179
  }
270
180
  else {
271
- return timeSync(function () { return originalMethod.apply(_this, args); }, methodOptions).result;
181
+ return timeSync(() => originalMethod.apply(this, args), methodOptions).result;
272
182
  }
273
183
  };
274
184
  // For legacy decorators, assign the new descriptor
@@ -300,34 +210,23 @@ export function timed(options) {
300
210
  * );
301
211
  * ```
302
212
  */
303
- export function memoize(fn, options) {
304
- if (options === void 0) { options = {}; }
305
- var ttl = options.ttl, maxSize = options.maxSize, autoCleanupMs = options.autoCleanupMs, _a = options.cacheKey, cacheKey = _a === void 0 ? function () {
306
- var args = [];
307
- for (var _i = 0; _i < arguments.length; _i++) {
308
- args[_i] = arguments[_i];
309
- }
310
- return JSON.stringify(args);
311
- } : _a;
213
+ export function memoize(fn, options = {}) {
214
+ const { ttl, maxSize, autoCleanupMs, cacheKey = (...args) => JSON.stringify(args) } = options;
312
215
  // Create a properly configured TTLCache instance
313
- var cache = new TTLCache({
216
+ const cache = new TTLCache({
314
217
  ttlMs: ttl,
315
218
  maxSize: maxSize,
316
219
  autoCleanupMs: autoCleanupMs
317
220
  });
318
- return function () {
319
- var args = [];
320
- for (var _i = 0; _i < arguments.length; _i++) {
321
- args[_i] = arguments[_i];
322
- }
323
- var key = cacheKey.apply(void 0, __spreadArray([], __read(args), false));
221
+ return function (...args) {
222
+ const key = cacheKey(...args);
324
223
  // Try to get from cache first - TTLCache handles expiration internally
325
- var cachedValue = cache.get(key);
224
+ const cachedValue = cache.get(key);
326
225
  if (cachedValue !== undefined) {
327
226
  return cachedValue;
328
227
  }
329
228
  // Calculate the value and store in cache with configured TTL
330
- var value = fn.apply(void 0, __spreadArray([], __read(args), false));
229
+ const value = fn(...args);
331
230
  cache.set(key, value);
332
231
  return value;
333
232
  };
@@ -339,38 +238,36 @@ export function memoize(fn, options) {
339
238
  * @param options - Memory tracking options
340
239
  * @returns Result and memory usage information
341
240
  */
342
- export function trackMemoryUsage(fn, options) {
343
- if (options === void 0) { options = {}; }
344
- var _a = options.log, log = _a === void 0 ? false : _a, _b = options.label, label = _b === void 0 ? fn.name || 'anonymous function' : _b;
241
+ export function trackMemoryUsage(fn, options = {}) {
242
+ const { log = false, label = fn.name || 'anonymous function' } = options;
345
243
  // Collect garbage before measuring (optional)
346
244
  if (global.gc) {
347
245
  global.gc();
348
246
  }
349
- var beforeMemory = process.memoryUsage();
350
- var result = fn();
351
- var afterMemory = process.memoryUsage();
247
+ const beforeMemory = process.memoryUsage();
248
+ const result = fn();
249
+ const afterMemory = process.memoryUsage();
352
250
  // Calculate differences
353
- var diff = {};
354
- for (var key in afterMemory) {
251
+ const diff = {};
252
+ for (const key in afterMemory) {
355
253
  if (Object.prototype.hasOwnProperty.call(afterMemory, key)) {
356
254
  diff[key] = afterMemory[key] - beforeMemory[key];
357
255
  }
358
256
  }
359
257
  if (log) {
360
258
  getLogger().info({
361
- label: label,
259
+ label,
362
260
  memoryBefore: beforeMemory,
363
261
  memoryAfter: afterMemory,
364
262
  memoryDiff: diff
365
- }, "Memory usage for ".concat(label));
263
+ }, `Memory usage for ${label}`);
366
264
  }
367
265
  return {
368
- result: result,
266
+ result,
369
267
  memoryUsage: {
370
268
  before: beforeMemory,
371
269
  after: afterMemory,
372
- diff: diff
270
+ diff
373
271
  }
374
272
  };
375
273
  }
376
- //# sourceMappingURL=performance.utils.js.map
@@ -83,4 +83,3 @@ export declare function extractSortParams(query: Record<string, string | string[
83
83
  * @returns Object containing the filters as key-value pairs
84
84
  */
85
85
  export declare function extractFilterParams(query: Record<string, string | string[]>, allowedFilters: string[]): Record<string, string | string[]>;
86
- //# sourceMappingURL=request.utils.d.ts.map
@@ -21,28 +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 __assign = (this && this.__assign) || function () {
25
- __assign = Object.assign || function(t) {
26
- for (var s, i = 1, n = arguments.length; i < n; i++) {
27
- s = arguments[i];
28
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
29
- t[p] = s[p];
30
- }
31
- return t;
32
- };
33
- return __assign.apply(this, arguments);
34
- };
35
- var __values = (this && this.__values) || function(o) {
36
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
37
- if (m) return m.call(o);
38
- if (o && typeof o.length === "number") return {
39
- next: function () {
40
- if (o && i >= o.length) o = void 0;
41
- return { value: o && o[i++], done: !o };
42
- }
43
- };
44
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
45
- };
46
24
  import { BadRequestException } from './exception.utils';
47
25
  /**
48
26
  * Extracts pagination, sorting, and optional search params from a request.
@@ -50,14 +28,21 @@ import { BadRequestException } from './exception.utils';
50
28
  * @param req - Express request
51
29
  * @returns Object containing validated pagination, sorting, and additional query params
52
30
  */
53
- export var getPaginationParams = function (req) {
54
- var query = req.query;
31
+ export const getPaginationParams = (req) => {
32
+ const query = req.query;
55
33
  // Extract page & limit
56
- var _a = extractPaginationParams(query, 1, 20, 100), page = _a.page, limit = _a.limit;
57
- var _b = extractSortParams(query, []), sortBy = _b.sortBy, sortOrder = _b.sortOrder;
34
+ const { page, limit } = extractPaginationParams(query, 1, 20, 100);
35
+ const { sortBy, sortOrder } = extractSortParams(query, []);
58
36
  // Optional search param
59
- var search = typeof query.search === 'string' ? query.search : undefined;
60
- return __assign(__assign({}, query), { page: page, limit: limit, sortBy: sortBy, sortOrder: sortOrder, search: search });
37
+ const search = typeof query.search === 'string' ? query.search : undefined;
38
+ return {
39
+ ...query,
40
+ page,
41
+ limit,
42
+ sortBy,
43
+ sortOrder: sortOrder,
44
+ search
45
+ };
61
46
  };
62
47
  /**
63
48
  * Safely parses a string parameter to a number.
@@ -66,16 +51,15 @@ export var getPaginationParams = function (req) {
66
51
  * @param options - Validation options
67
52
  * @returns Validation result containing the parsed number or error
68
53
  */
69
- export function parseNumberParam(value, options) {
70
- if (options === void 0) { options = {}; }
71
- var _a = options.throwOnError, throwOnError = _a === void 0 ? false : _a, _b = options.errorMessage, errorMessage = _b === void 0 ? 'Invalid number parameter' : _b, defaultValue = options.defaultValue, _c = options.required, required = _c === void 0 ? false : _c;
54
+ export function parseNumberParam(value, options = {}) {
55
+ const { throwOnError = false, errorMessage = 'Invalid number parameter', defaultValue, required = false } = options;
72
56
  // Handle undefined case
73
57
  if (value === undefined) {
74
58
  if (required) {
75
- var error = "Required number parameter is missing";
59
+ const error = `Required number parameter is missing`;
76
60
  if (throwOnError)
77
61
  throw new BadRequestException(error);
78
- return { isValid: false, value: null, error: error };
62
+ return { isValid: false, value: null, error };
79
63
  }
80
64
  return {
81
65
  isValid: defaultValue !== undefined,
@@ -84,7 +68,7 @@ export function parseNumberParam(value, options) {
84
68
  };
85
69
  }
86
70
  // Parse and validate the number
87
- var num = Number(value);
71
+ const num = Number(value);
88
72
  if (isNaN(num)) {
89
73
  if (throwOnError)
90
74
  throw new BadRequestException(errorMessage);
@@ -99,16 +83,15 @@ export function parseNumberParam(value, options) {
99
83
  * @param options - Validation options
100
84
  * @returns Validation result containing the parsed boolean or error
101
85
  */
102
- export function parseBooleanParam(value, options) {
103
- if (options === void 0) { options = {}; }
104
- var _a = options.throwOnError, throwOnError = _a === void 0 ? false : _a, _b = options.errorMessage, errorMessage = _b === void 0 ? 'Invalid boolean parameter' : _b, defaultValue = options.defaultValue, _c = options.required, required = _c === void 0 ? false : _c;
86
+ export function parseBooleanParam(value, options = {}) {
87
+ const { throwOnError = false, errorMessage = 'Invalid boolean parameter', defaultValue, required = false } = options;
105
88
  // Handle undefined case
106
89
  if (value === undefined) {
107
90
  if (required) {
108
- var error = "Required boolean parameter is missing";
91
+ const error = `Required boolean parameter is missing`;
109
92
  if (throwOnError)
110
93
  throw new BadRequestException(error);
111
- return { isValid: false, value: null, error: error };
94
+ return { isValid: false, value: null, error };
112
95
  }
113
96
  return {
114
97
  isValid: defaultValue !== undefined,
@@ -117,7 +100,7 @@ export function parseBooleanParam(value, options) {
117
100
  };
118
101
  }
119
102
  // Parse the boolean value with various allowed formats
120
- var lowercaseValue = value.toLowerCase();
103
+ const lowercaseValue = value.toLowerCase();
121
104
  if (['true', 't', 'yes', 'y', '1'].includes(lowercaseValue)) {
122
105
  return { isValid: true, value: true };
123
106
  }
@@ -137,20 +120,17 @@ export function parseBooleanParam(value, options) {
137
120
  * @param maxLimitSize - Maximum allowed per page size (defaults to 100)
138
121
  * @returns Object containing validated page and limit
139
122
  */
140
- export function extractPaginationParams(query, defaultPage, defaultLimit, maxLimitSize) {
141
- if (defaultPage === void 0) { defaultPage = 1; }
142
- if (defaultLimit === void 0) { defaultLimit = 20; }
143
- if (maxLimitSize === void 0) { maxLimitSize = 100; }
123
+ export function extractPaginationParams(query, defaultPage = 1, defaultLimit = 20, maxLimitSize = 100) {
144
124
  // Parse page parameter
145
- var pageParam = typeof query.page === 'string' ? query.page : undefined;
146
- var pageResult = parseNumberParam(pageParam, { defaultValue: defaultPage });
125
+ const pageParam = typeof query.page === 'string' ? query.page : undefined;
126
+ const pageResult = parseNumberParam(pageParam, { defaultValue: defaultPage });
147
127
  // Parse limit parameter
148
- var limitParam = typeof query.limit === 'string' ? query.limit : undefined;
149
- var limitResult = parseNumberParam(limitParam, { defaultValue: defaultLimit });
128
+ const limitParam = typeof query.limit === 'string' ? query.limit : undefined;
129
+ const limitResult = parseNumberParam(limitParam, { defaultValue: defaultLimit });
150
130
  // Ensure valid values (handle 0 → fallback to default)
151
- var page = pageResult.value && pageResult.value > 0 ? pageResult.value : defaultPage;
152
- var limit = limitResult.value && limitResult.value > 0 ? Math.min(limitResult.value, maxLimitSize) : defaultLimit;
153
- return { page: page, limit: limit };
131
+ const page = pageResult.value && pageResult.value > 0 ? pageResult.value : defaultPage;
132
+ const limit = limitResult.value && limitResult.value > 0 ? Math.min(limitResult.value, maxLimitSize) : defaultLimit;
133
+ return { page, limit };
154
134
  }
155
135
  /**
156
136
  * Extracts sorting parameters from request query parameters.
@@ -160,10 +140,9 @@ export function extractPaginationParams(query, defaultPage, defaultLimit, maxLim
160
140
  * @param defaultSort - Default sort configuration if not specified
161
141
  * @returns Object containing sort field and direction
162
142
  */
163
- export function extractSortParams(query, allowedFields, defaultSort) {
164
- if (defaultSort === void 0) { defaultSort = { sortBy: 'createdAt', sortOrder: 'desc' }; }
165
- var sortBy = defaultSort.sortBy;
166
- var sortOrder = defaultSort.sortOrder;
143
+ export function extractSortParams(query, allowedFields, defaultSort = { sortBy: 'createdAt', sortOrder: 'desc' }) {
144
+ let sortBy = defaultSort.sortBy;
145
+ let sortOrder = defaultSort.sortOrder;
167
146
  // Extract from `sortBy` or `sort`
168
147
  if (typeof query.sortBy === 'string') {
169
148
  sortBy = query.sortBy;
@@ -181,7 +160,7 @@ export function extractSortParams(query, allowedFields, defaultSort) {
181
160
  }
182
161
  // Explicit sortOrder (overrides inferred one if valid)
183
162
  if (typeof query.sortOrder === 'string') {
184
- var order = query.sortOrder.toLowerCase();
163
+ const order = query.sortOrder.toLowerCase();
185
164
  if (order === 'asc' || order === 'desc') {
186
165
  sortOrder = order;
187
166
  }
@@ -190,7 +169,7 @@ export function extractSortParams(query, allowedFields, defaultSort) {
190
169
  if (allowedFields.length && !allowedFields.includes(sortBy)) {
191
170
  sortBy = defaultSort.sortBy;
192
171
  }
193
- return { sortBy: sortBy, sortOrder: sortOrder };
172
+ return { sortBy, sortOrder };
194
173
  }
195
174
  /**
196
175
  * Extracts filter parameters from query parameters based on allowed filter fields.
@@ -200,24 +179,12 @@ export function extractSortParams(query, allowedFields, defaultSort) {
200
179
  * @returns Object containing the filters as key-value pairs
201
180
  */
202
181
  export function extractFilterParams(query, allowedFilters) {
203
- var e_1, _a;
204
- var filters = {};
205
- try {
206
- // Find filter parameters in the query
207
- for (var allowedFilters_1 = __values(allowedFilters), allowedFilters_1_1 = allowedFilters_1.next(); !allowedFilters_1_1.done; allowedFilters_1_1 = allowedFilters_1.next()) {
208
- var field = allowedFilters_1_1.value;
209
- if (field in query) {
210
- filters[field] = query[field];
211
- }
212
- }
213
- }
214
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
215
- finally {
216
- try {
217
- if (allowedFilters_1_1 && !allowedFilters_1_1.done && (_a = allowedFilters_1.return)) _a.call(allowedFilters_1);
182
+ const filters = {};
183
+ // Find filter parameters in the query
184
+ for (const field of allowedFilters) {
185
+ if (field in query) {
186
+ filters[field] = query[field];
218
187
  }
219
- finally { if (e_1) throw e_1.error; }
220
188
  }
221
189
  return filters;
222
190
  }
223
- //# sourceMappingURL=request.utils.js.map
@@ -160,4 +160,3 @@ export declare function createPaginatedResponse<T>(allItems: T[], page: number,
160
160
  * @param {SuccessResponse<any> | ErrorResponse | RedirectResponse} apiResponse - API response instance.
161
161
  */
162
162
  export declare function sendResponse(res: any, apiResponse: SuccessResponse<any> | ErrorResponse | RedirectResponse): void;
163
- //# sourceMappingURL=response.utils.d.ts.map