@catbee/utils 0.0.8-rc.0 → 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 (281) hide show
  1. package/README.md +25 -1
  2. package/build/esm/config.d.ts +0 -1
  3. package/build/esm/config.js +6 -7
  4. package/build/esm/index.d.ts +0 -1
  5. package/build/esm/index.js +0 -1
  6. package/build/esm/servers/server.builder.d.ts +0 -1
  7. package/build/esm/servers/server.builder.js +99 -147
  8. package/build/esm/servers/server.d.ts +0 -1
  9. package/build/esm/servers/server.js +591 -876
  10. package/build/esm/types/api-response.d.ts +0 -1
  11. package/build/esm/types/api-response.js +0 -1
  12. package/build/esm/types/index.d.ts +0 -1
  13. package/build/esm/types/index.js +0 -1
  14. package/build/esm/types/server.d.ts +0 -1
  15. package/build/esm/types/server.js +0 -1
  16. package/build/esm/utils/array.utils.d.ts +0 -1
  17. package/build/esm/utils/array.utils.js +48 -86
  18. package/build/esm/utils/async.utils.d.ts +0 -1
  19. package/build/esm/utils/async.utils.js +247 -524
  20. package/build/esm/utils/cache.utils.d.ts +0 -1
  21. package/build/esm/utils/cache.utils.js +96 -301
  22. package/build/esm/utils/context-store.utils.d.ts +0 -1
  23. package/build/esm/utils/context-store.utils.js +62 -79
  24. package/build/esm/utils/crypto.utils.d.ts +0 -1
  25. package/build/esm/utils/crypto.utils.js +78 -175
  26. package/build/esm/utils/date.utils.d.ts +0 -1
  27. package/build/esm/utils/date.utils.js +47 -53
  28. package/build/esm/utils/decorators.utils.d.ts +201 -5
  29. package/build/esm/utils/decorators.utils.js +632 -285
  30. package/build/esm/utils/dir.utils.d.ts +0 -1
  31. package/build/esm/utils/dir.utils.js +264 -786
  32. package/build/esm/utils/env.utils.d.ts +0 -1
  33. package/build/esm/utils/env.utils.js +180 -271
  34. package/build/esm/utils/exception.utils.d.ts +0 -1
  35. package/build/esm/utils/exception.utils.js +112 -289
  36. package/build/esm/utils/fs.utils.d.ts +0 -1
  37. package/build/esm/utils/fs.utils.js +169 -401
  38. package/build/esm/utils/http-status-codes.d.ts +0 -1
  39. package/build/esm/utils/http-status-codes.js +0 -1
  40. package/build/esm/utils/id.utils.d.ts +0 -1
  41. package/build/esm/utils/id.utils.js +5 -9
  42. package/build/esm/utils/logger.utils.d.ts +0 -1
  43. package/build/esm/utils/logger.utils.js +34 -71
  44. package/build/esm/utils/middleware.utils.d.ts +0 -1
  45. package/build/esm/utils/middleware.utils.js +65 -155
  46. package/build/esm/utils/obj.utils.d.ts +0 -1
  47. package/build/esm/utils/obj.utils.js +69 -176
  48. package/build/esm/utils/performance.utils.d.ts +0 -1
  49. package/build/esm/utils/performance.utils.js +92 -195
  50. package/build/esm/utils/request.utils.d.ts +0 -1
  51. package/build/esm/utils/request.utils.js +41 -74
  52. package/build/esm/utils/response.utils.d.ts +0 -1
  53. package/build/esm/utils/response.utils.js +84 -107
  54. package/build/esm/utils/stream.utils.d.ts +0 -1
  55. package/build/esm/utils/stream.utils.js +38 -113
  56. package/build/esm/utils/string.utils.d.ts +0 -1
  57. package/build/esm/utils/string.utils.js +6 -11
  58. package/build/esm/utils/type.utils.d.ts +0 -1
  59. package/build/esm/utils/type.utils.js +8 -12
  60. package/build/esm/utils/url.utils.d.ts +0 -1
  61. package/build/esm/utils/url.utils.js +49 -127
  62. package/build/esm/utils/validate.utils.d.ts +0 -1
  63. package/build/esm/utils/validate.utils.js +23 -40
  64. package/package.json +3 -33
  65. package/build/esm/config.js.map +0 -1
  66. package/build/esm/index.js.map +0 -1
  67. package/build/esm/servers/server.builder.js.map +0 -1
  68. package/build/esm/servers/server.js.map +0 -1
  69. package/build/esm/types/api-response.js.map +0 -1
  70. package/build/esm/types/index.js.map +0 -1
  71. package/build/esm/types/server.js.map +0 -1
  72. package/build/esm/utils/array.utils.js.map +0 -1
  73. package/build/esm/utils/async.utils.js.map +0 -1
  74. package/build/esm/utils/cache.utils.js.map +0 -1
  75. package/build/esm/utils/context-store.utils.js.map +0 -1
  76. package/build/esm/utils/crypto.utils.js.map +0 -1
  77. package/build/esm/utils/date.utils.js.map +0 -1
  78. package/build/esm/utils/decorators.utils.js.map +0 -1
  79. package/build/esm/utils/dir.utils.js.map +0 -1
  80. package/build/esm/utils/env.utils.js.map +0 -1
  81. package/build/esm/utils/exception.utils.js.map +0 -1
  82. package/build/esm/utils/fs.utils.js.map +0 -1
  83. package/build/esm/utils/http-status-codes.js.map +0 -1
  84. package/build/esm/utils/id.utils.js.map +0 -1
  85. package/build/esm/utils/logger.utils.js.map +0 -1
  86. package/build/esm/utils/middleware.utils.js.map +0 -1
  87. package/build/esm/utils/obj.utils.js.map +0 -1
  88. package/build/esm/utils/performance.utils.js.map +0 -1
  89. package/build/esm/utils/request.utils.js.map +0 -1
  90. package/build/esm/utils/response.utils.js.map +0 -1
  91. package/build/esm/utils/stream.utils.js.map +0 -1
  92. package/build/esm/utils/string.utils.js.map +0 -1
  93. package/build/esm/utils/type.utils.js.map +0 -1
  94. package/build/esm/utils/url.utils.js.map +0 -1
  95. package/build/esm/utils/validate.utils.js.map +0 -1
  96. package/build/esnext/config.d.ts +0 -122
  97. package/build/esnext/config.js +0 -133
  98. package/build/esnext/config.js.map +0 -1
  99. package/build/esnext/index.d.ts +0 -27
  100. package/build/esnext/index.js +0 -50
  101. package/build/esnext/index.js.map +0 -1
  102. package/build/esnext/servers/server.builder.d.ts +0 -508
  103. package/build/esnext/servers/server.builder.js +0 -657
  104. package/build/esnext/servers/server.builder.js.map +0 -1
  105. package/build/esnext/servers/server.d.ts +0 -256
  106. package/build/esnext/servers/server.js +0 -955
  107. package/build/esnext/servers/server.js.map +0 -1
  108. package/build/esnext/types/api-response.d.ts +0 -152
  109. package/build/esnext/types/api-response.js +0 -34
  110. package/build/esnext/types/api-response.js.map +0 -1
  111. package/build/esnext/types/index.d.ts +0 -125
  112. package/build/esnext/types/index.js +0 -25
  113. package/build/esnext/types/index.js.map +0 -1
  114. package/build/esnext/types/server.d.ts +0 -268
  115. package/build/esnext/types/server.js +0 -25
  116. package/build/esnext/types/server.js.map +0 -1
  117. package/build/esnext/utils/array.utils.d.ts +0 -168
  118. package/build/esnext/utils/array.utils.js +0 -345
  119. package/build/esnext/utils/array.utils.js.map +0 -1
  120. package/build/esnext/utils/async.utils.d.ts +0 -265
  121. package/build/esnext/utils/async.utils.js +0 -620
  122. package/build/esnext/utils/async.utils.js.map +0 -1
  123. package/build/esnext/utils/cache.utils.d.ts +0 -153
  124. package/build/esnext/utils/cache.utils.js +0 -293
  125. package/build/esnext/utils/cache.utils.js.map +0 -1
  126. package/build/esnext/utils/context-store.utils.d.ts +0 -189
  127. package/build/esnext/utils/context-store.utils.js +0 -289
  128. package/build/esnext/utils/context-store.utils.js.map +0 -1
  129. package/build/esnext/utils/crypto.utils.d.ts +0 -160
  130. package/build/esnext/utils/crypto.utils.js +0 -276
  131. package/build/esnext/utils/crypto.utils.js.map +0 -1
  132. package/build/esnext/utils/date.utils.d.ts +0 -159
  133. package/build/esnext/utils/date.utils.js +0 -384
  134. package/build/esnext/utils/date.utils.js.map +0 -1
  135. package/build/esnext/utils/decorators.utils.d.ts +0 -315
  136. package/build/esnext/utils/decorators.utils.js +0 -504
  137. package/build/esnext/utils/decorators.utils.js.map +0 -1
  138. package/build/esnext/utils/dir.utils.d.ts +0 -196
  139. package/build/esnext/utils/dir.utils.js +0 -477
  140. package/build/esnext/utils/dir.utils.js.map +0 -1
  141. package/build/esnext/utils/env.utils.d.ts +0 -377
  142. package/build/esnext/utils/env.utils.js +0 -785
  143. package/build/esnext/utils/env.utils.js.map +0 -1
  144. package/build/esnext/utils/exception.utils.d.ts +0 -230
  145. package/build/esnext/utils/exception.utils.js +0 -381
  146. package/build/esnext/utils/exception.utils.js.map +0 -1
  147. package/build/esnext/utils/fs.utils.d.ts +0 -164
  148. package/build/esnext/utils/fs.utils.js +0 -349
  149. package/build/esnext/utils/fs.utils.js.map +0 -1
  150. package/build/esnext/utils/http-status-codes.d.ts +0 -266
  151. package/build/esnext/utils/http-status-codes.js +0 -295
  152. package/build/esnext/utils/http-status-codes.js.map +0 -1
  153. package/build/esnext/utils/id.utils.d.ts +0 -36
  154. package/build/esnext/utils/id.utils.js +0 -84
  155. package/build/esnext/utils/id.utils.js.map +0 -1
  156. package/build/esnext/utils/logger.utils.d.ts +0 -160
  157. package/build/esnext/utils/logger.utils.js +0 -300
  158. package/build/esnext/utils/logger.utils.js.map +0 -1
  159. package/build/esnext/utils/middleware.utils.d.ts +0 -100
  160. package/build/esnext/utils/middleware.utils.js +0 -236
  161. package/build/esnext/utils/middleware.utils.js.map +0 -1
  162. package/build/esnext/utils/obj.utils.d.ts +0 -124
  163. package/build/esnext/utils/obj.utils.js +0 -413
  164. package/build/esnext/utils/obj.utils.js.map +0 -1
  165. package/build/esnext/utils/performance.utils.d.ts +0 -136
  166. package/build/esnext/utils/performance.utils.js +0 -271
  167. package/build/esnext/utils/performance.utils.js.map +0 -1
  168. package/build/esnext/utils/request.utils.d.ts +0 -86
  169. package/build/esnext/utils/request.utils.js +0 -186
  170. package/build/esnext/utils/request.utils.js.map +0 -1
  171. package/build/esnext/utils/response.utils.d.ts +0 -163
  172. package/build/esnext/utils/response.utils.js +0 -247
  173. package/build/esnext/utils/response.utils.js.map +0 -1
  174. package/build/esnext/utils/stream.utils.d.ts +0 -88
  175. package/build/esnext/utils/stream.utils.js +0 -210
  176. package/build/esnext/utils/stream.utils.js.map +0 -1
  177. package/build/esnext/utils/string.utils.d.ts +0 -93
  178. package/build/esnext/utils/string.utils.js +0 -165
  179. package/build/esnext/utils/string.utils.js.map +0 -1
  180. package/build/esnext/utils/type.utils.d.ts +0 -90
  181. package/build/esnext/utils/type.utils.js +0 -187
  182. package/build/esnext/utils/type.utils.js.map +0 -1
  183. package/build/esnext/utils/url.utils.d.ts +0 -141
  184. package/build/esnext/utils/url.utils.js +0 -304
  185. package/build/esnext/utils/url.utils.js.map +0 -1
  186. package/build/esnext/utils/validate.utils.d.ts +0 -177
  187. package/build/esnext/utils/validate.utils.js +0 -320
  188. package/build/esnext/utils/validate.utils.js.map +0 -1
  189. package/build/src/config.d.ts +0 -122
  190. package/build/src/config.js +0 -138
  191. package/build/src/config.js.map +0 -1
  192. package/build/src/index.d.ts +0 -27
  193. package/build/src/index.js +0 -69
  194. package/build/src/index.js.map +0 -1
  195. package/build/src/servers/server.builder.d.ts +0 -508
  196. package/build/src/servers/server.builder.js +0 -661
  197. package/build/src/servers/server.builder.js.map +0 -1
  198. package/build/src/servers/server.d.ts +0 -256
  199. package/build/src/servers/server.js +0 -962
  200. package/build/src/servers/server.js.map +0 -1
  201. package/build/src/types/api-response.d.ts +0 -152
  202. package/build/src/types/api-response.js +0 -37
  203. package/build/src/types/api-response.js.map +0 -1
  204. package/build/src/types/index.d.ts +0 -125
  205. package/build/src/types/index.js +0 -26
  206. package/build/src/types/index.js.map +0 -1
  207. package/build/src/types/server.d.ts +0 -268
  208. package/build/src/types/server.js +0 -26
  209. package/build/src/types/server.js.map +0 -1
  210. package/build/src/utils/array.utils.d.ts +0 -168
  211. package/build/src/utils/array.utils.js +0 -364
  212. package/build/src/utils/array.utils.js.map +0 -1
  213. package/build/src/utils/async.utils.d.ts +0 -265
  214. package/build/src/utils/async.utils.js +0 -641
  215. package/build/src/utils/async.utils.js.map +0 -1
  216. package/build/src/utils/cache.utils.d.ts +0 -153
  217. package/build/src/utils/cache.utils.js +0 -297
  218. package/build/src/utils/cache.utils.js.map +0 -1
  219. package/build/src/utils/context-store.utils.d.ts +0 -189
  220. package/build/src/utils/context-store.utils.js +0 -296
  221. package/build/src/utils/context-store.utils.js.map +0 -1
  222. package/build/src/utils/crypto.utils.d.ts +0 -160
  223. package/build/src/utils/crypto.utils.js +0 -293
  224. package/build/src/utils/crypto.utils.js.map +0 -1
  225. package/build/src/utils/date.utils.d.ts +0 -159
  226. package/build/src/utils/date.utils.js +0 -396
  227. package/build/src/utils/date.utils.js.map +0 -1
  228. package/build/src/utils/decorators.utils.d.ts +0 -315
  229. package/build/src/utils/decorators.utils.js +0 -516
  230. package/build/src/utils/decorators.utils.js.map +0 -1
  231. package/build/src/utils/dir.utils.d.ts +0 -196
  232. package/build/src/utils/dir.utils.js +0 -501
  233. package/build/src/utils/dir.utils.js.map +0 -1
  234. package/build/src/utils/env.utils.d.ts +0 -377
  235. package/build/src/utils/env.utils.js +0 -789
  236. package/build/src/utils/env.utils.js.map +0 -1
  237. package/build/src/utils/exception.utils.d.ts +0 -230
  238. package/build/src/utils/exception.utils.js +0 -407
  239. package/build/src/utils/exception.utils.js.map +0 -1
  240. package/build/src/utils/fs.utils.d.ts +0 -164
  241. package/build/src/utils/fs.utils.js +0 -372
  242. package/build/src/utils/fs.utils.js.map +0 -1
  243. package/build/src/utils/http-status-codes.d.ts +0 -266
  244. package/build/src/utils/http-status-codes.js +0 -298
  245. package/build/src/utils/http-status-codes.js.map +0 -1
  246. package/build/src/utils/id.utils.d.ts +0 -36
  247. package/build/src/utils/id.utils.js +0 -91
  248. package/build/src/utils/id.utils.js.map +0 -1
  249. package/build/src/utils/logger.utils.d.ts +0 -160
  250. package/build/src/utils/logger.utils.js +0 -346
  251. package/build/src/utils/logger.utils.js.map +0 -1
  252. package/build/src/utils/middleware.utils.d.ts +0 -100
  253. package/build/src/utils/middleware.utils.js +0 -244
  254. package/build/src/utils/middleware.utils.js.map +0 -1
  255. package/build/src/utils/obj.utils.d.ts +0 -124
  256. package/build/src/utils/obj.utils.js +0 -429
  257. package/build/src/utils/obj.utils.js.map +0 -1
  258. package/build/src/utils/performance.utils.d.ts +0 -136
  259. package/build/src/utils/performance.utils.js +0 -278
  260. package/build/src/utils/performance.utils.js.map +0 -1
  261. package/build/src/utils/request.utils.d.ts +0 -86
  262. package/build/src/utils/request.utils.js +0 -195
  263. package/build/src/utils/request.utils.js.map +0 -1
  264. package/build/src/utils/response.utils.d.ts +0 -163
  265. package/build/src/utils/response.utils.js +0 -260
  266. package/build/src/utils/response.utils.js.map +0 -1
  267. package/build/src/utils/stream.utils.d.ts +0 -88
  268. package/build/src/utils/stream.utils.js +0 -218
  269. package/build/src/utils/stream.utils.js.map +0 -1
  270. package/build/src/utils/string.utils.d.ts +0 -93
  271. package/build/src/utils/string.utils.js +0 -179
  272. package/build/src/utils/string.utils.js.map +0 -1
  273. package/build/src/utils/type.utils.d.ts +0 -90
  274. package/build/src/utils/type.utils.js +0 -196
  275. package/build/src/utils/type.utils.js.map +0 -1
  276. package/build/src/utils/url.utils.d.ts +0 -141
  277. package/build/src/utils/url.utils.js +0 -317
  278. package/build/src/utils/url.utils.js.map +0 -1
  279. package/build/src/utils/validate.utils.d.ts +0 -177
  280. package/build/src/utils/validate.utils.js +0 -345
  281. package/build/src/utils/validate.utils.js.map +0 -1
@@ -227,4 +227,3 @@ export declare function getErrorMessage(error: unknown): string;
227
227
  * @returns A function that always returns or throws an HTTP error.
228
228
  */
229
229
  export declare function withErrorHandling<T extends (...args: any[]) => Promise<any>>(handler: T): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>;
230
- //# sourceMappingURL=exception.utils.d.ts.map
@@ -21,82 +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 __extends = (this && this.__extends) || (function () {
25
- var extendStatics = function (d, b) {
26
- extendStatics = Object.setPrototypeOf ||
27
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
28
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
29
- return extendStatics(d, b);
30
- };
31
- return function (d, b) {
32
- if (typeof b !== "function" && b !== null)
33
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
34
- extendStatics(d, b);
35
- function __() { this.constructor = d; }
36
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
37
- };
38
- })();
39
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
40
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
41
- return new (P || (P = Promise))(function (resolve, reject) {
42
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
43
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
44
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
45
- step((generator = generator.apply(thisArg, _arguments || [])).next());
46
- });
47
- };
48
- var __generator = (this && this.__generator) || function (thisArg, body) {
49
- 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);
50
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
51
- function verb(n) { return function (v) { return step([n, v]); }; }
52
- function step(op) {
53
- if (f) throw new TypeError("Generator is already executing.");
54
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
55
- 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;
56
- if (y = 0, t) op = [op[0] & 2, t.value];
57
- switch (op[0]) {
58
- case 0: case 1: t = op; break;
59
- case 4: _.label++; return { value: op[1], done: false };
60
- case 5: _.label++; y = op[1]; op = [0]; continue;
61
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
62
- default:
63
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
64
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
65
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
66
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
67
- if (t[2]) _.ops.pop();
68
- _.trys.pop(); continue;
69
- }
70
- op = body.call(thisArg, _);
71
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
72
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
73
- }
74
- };
75
- var __read = (this && this.__read) || function (o, n) {
76
- var m = typeof Symbol === "function" && o[Symbol.iterator];
77
- if (!m) return o;
78
- var i = m.call(o), r, ar = [], e;
79
- try {
80
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
81
- }
82
- catch (error) { e = { error: error }; }
83
- finally {
84
- try {
85
- if (r && !r.done && (m = i["return"])) m.call(i);
86
- }
87
- finally { if (e) throw e.error; }
88
- }
89
- return ar;
90
- };
91
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
92
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
93
- if (ar || !(i in from)) {
94
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
95
- ar[i] = from[i];
96
- }
97
- }
98
- return to.concat(ar || Array.prototype.slice.call(from));
99
- };
100
24
  import { HttpStatusCodes } from './http-status-codes';
101
25
  import { getLogger } from './logger.utils';
102
26
  import { ErrorResponse } from './response.utils';
@@ -104,331 +28,244 @@ import { ErrorResponse } from './response.utils';
104
28
  * Generic HTTP error class used for custom exceptions with any status code.
105
29
  * Inherit this when you need to throw errors dynamically at runtime.
106
30
  */
107
- var HttpError = /** @class */ (function (_super) {
108
- __extends(HttpError, _super);
31
+ export class HttpError extends ErrorResponse {
109
32
  /**
110
33
  * Creates a new HTTP error instance.
111
34
  * @param status - A valid HTTP status code (e.g., 400, 500).
112
35
  * @param message - The error message to return to the client.
113
36
  */
114
- function HttpError(status, message) {
115
- var _this = _super.call(this, message) || this;
116
- _this.status = status;
117
- return _this;
37
+ constructor(status, message) {
38
+ super(message);
39
+ this.status = status;
118
40
  }
119
- return HttpError;
120
- }(ErrorResponse));
121
- export { HttpError };
41
+ }
122
42
  /**
123
43
  * Represents a 500 Internal Server Error.
124
44
  * Use this for unexpected backend errors that are not caused by the client.
125
45
  */
126
- var InternalServerErrorException = /** @class */ (function (_super) {
127
- __extends(InternalServerErrorException, _super);
46
+ export class InternalServerErrorException extends ErrorResponse {
128
47
  /**
129
48
  * @param message - Optional custom message. Defaults to "Internal server error".
130
49
  */
131
- function InternalServerErrorException(message) {
132
- if (message === void 0) { message = 'Internal server error'; }
133
- var _this = _super.call(this, message) || this;
134
- _this.status = HttpStatusCodes.INTERNAL_SERVER_ERROR;
135
- return _this;
50
+ constructor(message = 'Internal server error') {
51
+ super(message);
52
+ this.status = HttpStatusCodes.INTERNAL_SERVER_ERROR;
136
53
  }
137
- return InternalServerErrorException;
138
- }(ErrorResponse));
139
- export { InternalServerErrorException };
54
+ }
140
55
  /**
141
56
  * Represents a 401 Unauthorized Error.
142
57
  * Indicates that authentication is required and has failed or not been provided.
143
58
  */
144
- var UnauthorizedException = /** @class */ (function (_super) {
145
- __extends(UnauthorizedException, _super);
59
+ export class UnauthorizedException extends ErrorResponse {
146
60
  /**
147
61
  * @param message - Optional custom message. Defaults to "Unauthorized".
148
62
  */
149
- function UnauthorizedException(message) {
150
- if (message === void 0) { message = 'Unauthorized'; }
151
- var _this = _super.call(this, message) || this;
152
- _this.status = HttpStatusCodes.UNAUTHORIZED;
153
- return _this;
63
+ constructor(message = 'Unauthorized') {
64
+ super(message);
65
+ this.status = HttpStatusCodes.UNAUTHORIZED;
154
66
  }
155
- return UnauthorizedException;
156
- }(ErrorResponse));
157
- export { UnauthorizedException };
67
+ }
158
68
  /**
159
69
  * Represents a 400 Bad Request Error.
160
70
  * Indicates that the client has sent invalid data (e.g., malformed request body).
161
71
  */
162
- var BadRequestException = /** @class */ (function (_super) {
163
- __extends(BadRequestException, _super);
72
+ export class BadRequestException extends ErrorResponse {
164
73
  /**
165
74
  * @param message - Optional custom message. Defaults to "Bad request".
166
75
  */
167
- function BadRequestException(message) {
168
- if (message === void 0) { message = 'Bad request'; }
169
- var _this = _super.call(this, message) || this;
170
- _this.status = HttpStatusCodes.BAD_REQUEST;
171
- return _this;
76
+ constructor(message = 'Bad request') {
77
+ super(message);
78
+ this.status = HttpStatusCodes.BAD_REQUEST;
172
79
  }
173
- return BadRequestException;
174
- }(ErrorResponse));
175
- export { BadRequestException };
80
+ }
176
81
  /**
177
82
  * Represents a 404 Not Found Error.
178
83
  * Used when a requested resource (e.g., user, file) could not be located.
179
84
  */
180
- var NotFoundException = /** @class */ (function (_super) {
181
- __extends(NotFoundException, _super);
85
+ export class NotFoundException extends ErrorResponse {
182
86
  /**
183
87
  * @param message - Optional custom message. Defaults to "Resource not found".
184
88
  */
185
- function NotFoundException(message) {
186
- if (message === void 0) { message = 'Resource not found'; }
187
- var _this = _super.call(this, message) || this;
188
- _this.status = HttpStatusCodes.NOT_FOUND;
189
- return _this;
89
+ constructor(message = 'Resource not found') {
90
+ super(message);
91
+ this.status = HttpStatusCodes.NOT_FOUND;
190
92
  }
191
- return NotFoundException;
192
- }(ErrorResponse));
193
- export { NotFoundException };
93
+ }
194
94
  /**
195
95
  * Represents a 403 Forbidden Error.
196
96
  * Indicates that the client is authenticated but not allowed to access the resource.
197
97
  */
198
- var ForbiddenException = /** @class */ (function (_super) {
199
- __extends(ForbiddenException, _super);
98
+ export class ForbiddenException extends ErrorResponse {
200
99
  /**
201
100
  * @param message - Optional custom message. Defaults to "Forbidden".
202
101
  */
203
- function ForbiddenException(message) {
204
- if (message === void 0) { message = 'Forbidden'; }
205
- var _this = _super.call(this, message) || this;
206
- _this.status = HttpStatusCodes.FORBIDDEN;
207
- return _this;
102
+ constructor(message = 'Forbidden') {
103
+ super(message);
104
+ this.status = HttpStatusCodes.FORBIDDEN;
208
105
  }
209
- return ForbiddenException;
210
- }(ErrorResponse));
211
- export { ForbiddenException };
106
+ }
212
107
  /**
213
108
  * Represents a 409 Conflict Error.
214
109
  * Commonly used when a resource already exists or a versioning conflict occurs.
215
110
  */
216
- var ConflictException = /** @class */ (function (_super) {
217
- __extends(ConflictException, _super);
111
+ export class ConflictException extends ErrorResponse {
218
112
  /**
219
113
  * @param message - Optional custom message. Defaults to "Conflict".
220
114
  */
221
- function ConflictException(message) {
222
- if (message === void 0) { message = 'Conflict'; }
223
- var _this = _super.call(this, message) || this;
224
- _this.status = HttpStatusCodes.CONFLICT;
225
- return _this;
115
+ constructor(message = 'Conflict') {
116
+ super(message);
117
+ this.status = HttpStatusCodes.CONFLICT;
226
118
  }
227
- return ConflictException;
228
- }(ErrorResponse));
229
- export { ConflictException };
119
+ }
230
120
  /**
231
121
  * Represents a 502 Bad Gateway Error.
232
122
  * Used when the server receives an invalid response from an upstream server.
233
123
  */
234
- var BadGatewayException = /** @class */ (function (_super) {
235
- __extends(BadGatewayException, _super);
124
+ export class BadGatewayException extends ErrorResponse {
236
125
  /**
237
126
  * @param message - Optional custom message. Defaults to "Bad Gateway".
238
127
  */
239
- function BadGatewayException(message) {
240
- if (message === void 0) { message = 'Bad Gateway'; }
241
- var _this = _super.call(this, message) || this;
242
- _this.status = HttpStatusCodes.BAD_GATEWAY;
243
- return _this;
128
+ constructor(message = 'Bad Gateway') {
129
+ super(message);
130
+ this.status = HttpStatusCodes.BAD_GATEWAY;
244
131
  }
245
- return BadGatewayException;
246
- }(ErrorResponse));
247
- export { BadGatewayException };
132
+ }
248
133
  /**
249
134
  * Represents a 429 Too Many Requests Error.
250
135
  * Returned when the client has hit a rate limit.
251
136
  */
252
- var TooManyRequestsException = /** @class */ (function (_super) {
253
- __extends(TooManyRequestsException, _super);
137
+ export class TooManyRequestsException extends ErrorResponse {
254
138
  /**
255
139
  * @param message - Optional custom message. Defaults to "Too many requests".
256
140
  */
257
- function TooManyRequestsException(message) {
258
- if (message === void 0) { message = 'Too many requests'; }
259
- var _this = _super.call(this, message) || this;
260
- _this.status = HttpStatusCodes.TOO_MANY_REQUESTS;
261
- return _this;
141
+ constructor(message = 'Too many requests') {
142
+ super(message);
143
+ this.status = HttpStatusCodes.TOO_MANY_REQUESTS;
262
144
  }
263
- return TooManyRequestsException;
264
- }(ErrorResponse));
265
- export { TooManyRequestsException };
145
+ }
266
146
  /**
267
147
  * Represents a 503 Service Unavailable Error.
268
148
  * Indicates that the server is temporarily unavailable (e.g., for maintenance).
269
149
  */
270
- var ServiceUnavailableException = /** @class */ (function (_super) {
271
- __extends(ServiceUnavailableException, _super);
150
+ export class ServiceUnavailableException extends ErrorResponse {
272
151
  /**
273
152
  * @param message - Optional custom message. Defaults to "Service Unavailable".
274
153
  */
275
- function ServiceUnavailableException(message) {
276
- if (message === void 0) { message = 'Service Unavailable'; }
277
- var _this = _super.call(this, message) || this;
278
- _this.status = HttpStatusCodes.SERVICE_UNAVAILABLE;
279
- return _this;
154
+ constructor(message = 'Service Unavailable') {
155
+ super(message);
156
+ this.status = HttpStatusCodes.SERVICE_UNAVAILABLE;
280
157
  }
281
- return ServiceUnavailableException;
282
- }(ErrorResponse));
283
- export { ServiceUnavailableException };
158
+ }
284
159
  /**
285
160
  * Represents a 504 Gateway Timeout Error.
286
161
  * Returned when the server acting as a gateway times out waiting for a response.
287
162
  */
288
- var GatewayTimeoutException = /** @class */ (function (_super) {
289
- __extends(GatewayTimeoutException, _super);
163
+ export class GatewayTimeoutException extends ErrorResponse {
290
164
  /**
291
165
  * @param message - Optional custom message. Defaults to "Gateway Timeout".
292
166
  */
293
- function GatewayTimeoutException(message) {
294
- if (message === void 0) { message = 'Gateway Timeout'; }
295
- var _this = _super.call(this, message) || this;
296
- _this.status = HttpStatusCodes.GATEWAY_TIMEOUT;
297
- return _this;
167
+ constructor(message = 'Gateway Timeout') {
168
+ super(message);
169
+ this.status = HttpStatusCodes.GATEWAY_TIMEOUT;
298
170
  }
299
- return GatewayTimeoutException;
300
- }(ErrorResponse));
301
- export { GatewayTimeoutException };
171
+ }
302
172
  /**
303
173
  * Represents a 422 Unprocessable Entity Error.
304
174
  * Used when the server understands the content type but cannot process the contained instructions.
305
175
  */
306
- var UnprocessableEntityException = /** @class */ (function (_super) {
307
- __extends(UnprocessableEntityException, _super);
176
+ export class UnprocessableEntityException extends ErrorResponse {
177
+ details;
308
178
  /**
309
179
  * @param message - Optional custom message. Defaults to "Unprocessable Entity".
310
180
  * @param details - Optional validation details or additional error context.
311
181
  */
312
- function UnprocessableEntityException(message, details) {
313
- if (message === void 0) { message = 'Unprocessable Entity'; }
314
- var _this = _super.call(this, message) || this;
315
- _this.details = details;
316
- _this.status = HttpStatusCodes.UNPROCESSABLE_ENTITY;
317
- return _this;
182
+ constructor(message = 'Unprocessable Entity', details) {
183
+ super(message);
184
+ this.details = details;
185
+ this.status = HttpStatusCodes.UNPROCESSABLE_ENTITY;
318
186
  }
319
- return UnprocessableEntityException;
320
- }(ErrorResponse));
321
- export { UnprocessableEntityException };
187
+ }
322
188
  /**
323
189
  * Represents a 405 Method Not Allowed Error.
324
190
  * Used when the request method is not supported for the requested resource.
325
191
  */
326
- var MethodNotAllowedException = /** @class */ (function (_super) {
327
- __extends(MethodNotAllowedException, _super);
192
+ export class MethodNotAllowedException extends ErrorResponse {
193
+ allowedMethods;
328
194
  /**
329
195
  * @param message - Optional custom message. Defaults to "Method Not Allowed".
330
196
  * @param allowedMethods - Optional array of allowed HTTP methods.
331
197
  */
332
- function MethodNotAllowedException(message, allowedMethods) {
333
- if (message === void 0) { message = 'Method Not Allowed'; }
334
- var _this = _super.call(this, message) || this;
335
- _this.allowedMethods = allowedMethods;
336
- _this.status = HttpStatusCodes.METHOD_NOT_ALLOWED;
337
- return _this;
198
+ constructor(message = 'Method Not Allowed', allowedMethods) {
199
+ super(message);
200
+ this.allowedMethods = allowedMethods;
201
+ this.status = HttpStatusCodes.METHOD_NOT_ALLOWED;
338
202
  }
339
- return MethodNotAllowedException;
340
- }(ErrorResponse));
341
- export { MethodNotAllowedException };
203
+ }
342
204
  /**
343
205
  * Represents a 406 Not Acceptable Error.
344
206
  * Used when the server cannot produce a response matching the client's accepted content types.
345
207
  */
346
- var NotAcceptableException = /** @class */ (function (_super) {
347
- __extends(NotAcceptableException, _super);
208
+ export class NotAcceptableException extends ErrorResponse {
348
209
  /**
349
210
  * @param message - Optional custom message. Defaults to "Not Acceptable".
350
211
  */
351
- function NotAcceptableException(message) {
352
- if (message === void 0) { message = 'Not Acceptable'; }
353
- var _this = _super.call(this, message) || this;
354
- _this.status = HttpStatusCodes.NOT_ACCEPTABLE;
355
- return _this;
212
+ constructor(message = 'Not Acceptable') {
213
+ super(message);
214
+ this.status = HttpStatusCodes.NOT_ACCEPTABLE;
356
215
  }
357
- return NotAcceptableException;
358
- }(ErrorResponse));
359
- export { NotAcceptableException };
216
+ }
360
217
  /**
361
218
  * Represents a 408 Request Timeout Error.
362
219
  * Used when the server times out waiting for the client to send a request.
363
220
  */
364
- var RequestTimeoutException = /** @class */ (function (_super) {
365
- __extends(RequestTimeoutException, _super);
221
+ export class RequestTimeoutException extends ErrorResponse {
366
222
  /**
367
223
  * @param message - Optional custom message. Defaults to "Request Timeout".
368
224
  */
369
- function RequestTimeoutException(message) {
370
- if (message === void 0) { message = 'Request Timeout'; }
371
- var _this = _super.call(this, message) || this;
372
- _this.status = HttpStatusCodes.REQUEST_TIMEOUT;
373
- return _this;
225
+ constructor(message = 'Request Timeout') {
226
+ super(message);
227
+ this.status = HttpStatusCodes.REQUEST_TIMEOUT;
374
228
  }
375
- return RequestTimeoutException;
376
- }(ErrorResponse));
377
- export { RequestTimeoutException };
229
+ }
378
230
  /**
379
231
  * Represents a 415 Unsupported Media Type Error.
380
232
  * Used when the request's Content-Type is not supported.
381
233
  */
382
- var UnsupportedMediaTypeException = /** @class */ (function (_super) {
383
- __extends(UnsupportedMediaTypeException, _super);
234
+ export class UnsupportedMediaTypeException extends ErrorResponse {
384
235
  /**
385
236
  * @param message - Optional custom message. Defaults to "Unsupported Media Type".
386
237
  */
387
- function UnsupportedMediaTypeException(message) {
388
- if (message === void 0) { message = 'Unsupported Media Type'; }
389
- var _this = _super.call(this, message) || this;
390
- _this.status = HttpStatusCodes.UNSUPPORTED_MEDIA_TYPE;
391
- return _this;
238
+ constructor(message = 'Unsupported Media Type') {
239
+ super(message);
240
+ this.status = HttpStatusCodes.UNSUPPORTED_MEDIA_TYPE;
392
241
  }
393
- return UnsupportedMediaTypeException;
394
- }(ErrorResponse));
395
- export { UnsupportedMediaTypeException };
242
+ }
396
243
  /**
397
244
  * Represents a 413 Payload Too Large Error.
398
245
  * Used when the request body exceeds server limits.
399
246
  */
400
- var PayloadTooLargeException = /** @class */ (function (_super) {
401
- __extends(PayloadTooLargeException, _super);
247
+ export class PayloadTooLargeException extends ErrorResponse {
402
248
  /**
403
249
  * @param message - Optional custom message. Defaults to "Payload Too Large".
404
250
  */
405
- function PayloadTooLargeException(message) {
406
- if (message === void 0) { message = 'Payload Too Large'; }
407
- var _this = _super.call(this, message) || this;
408
- _this.status = HttpStatusCodes.PAYLOAD_TOO_LARGE;
409
- return _this;
251
+ constructor(message = 'Payload Too Large') {
252
+ super(message);
253
+ this.status = HttpStatusCodes.PAYLOAD_TOO_LARGE;
410
254
  }
411
- return PayloadTooLargeException;
412
- }(ErrorResponse));
413
- export { PayloadTooLargeException };
255
+ }
414
256
  /**
415
257
  * Represents a 507 Insufficient Storage Error.
416
258
  * Used when the server has insufficient storage to complete the request.
417
259
  */
418
- var InsufficientStorageException = /** @class */ (function (_super) {
419
- __extends(InsufficientStorageException, _super);
260
+ export class InsufficientStorageException extends ErrorResponse {
420
261
  /**
421
262
  * @param message - Optional custom message. Defaults to "Insufficient Storage".
422
263
  */
423
- function InsufficientStorageException(message) {
424
- if (message === void 0) { message = 'Insufficient Storage'; }
425
- var _this = _super.call(this, message) || this;
426
- _this.status = HttpStatusCodes.INSUFFICIENT_STORAGE;
427
- return _this;
264
+ constructor(message = 'Insufficient Storage') {
265
+ super(message);
266
+ this.status = HttpStatusCodes.INSUFFICIENT_STORAGE;
428
267
  }
429
- return InsufficientStorageException;
430
- }(ErrorResponse));
431
- export { InsufficientStorageException };
268
+ }
432
269
  /**
433
270
  * Checks if an error is an instance of HttpError or its subclasses.
434
271
  *
@@ -485,7 +322,7 @@ export function createHttpError(status, message) {
485
322
  case HttpStatusCodes.INSUFFICIENT_STORAGE:
486
323
  return new InsufficientStorageException(message);
487
324
  default:
488
- return new HttpError(status, message || "HTTP Error ".concat(status));
325
+ return new HttpError(status, message || `HTTP Error ${status}`);
489
326
  }
490
327
  }
491
328
  /**
@@ -523,37 +360,23 @@ export function getErrorMessage(error) {
523
360
  * @returns A function that always returns or throws an HTTP error.
524
361
  */
525
362
  export function withErrorHandling(handler) {
526
- var _this = this;
527
- return function () {
528
- var args = [];
529
- for (var _i = 0; _i < arguments.length; _i++) {
530
- args[_i] = arguments[_i];
363
+ return async (...args) => {
364
+ try {
365
+ return await handler(...args);
366
+ }
367
+ catch (err) {
368
+ if (isHttpError(err)) {
369
+ throw err;
370
+ }
371
+ // Log the original error (consider using a proper logger)
372
+ getLogger().error({ err }, 'Caught error in handler');
373
+ // Extract status code if it exists, otherwise use 500
374
+ let status = HttpStatusCodes.INTERNAL_SERVER_ERROR;
375
+ if (hasErrorShape(err) && typeof err.status === 'number') {
376
+ status = err.status;
377
+ }
378
+ // Create appropriate HTTP error
379
+ throw createHttpError(status, getErrorMessage(err));
531
380
  }
532
- return __awaiter(_this, void 0, void 0, function () {
533
- var err_1, status_1;
534
- return __generator(this, function (_a) {
535
- switch (_a.label) {
536
- case 0:
537
- _a.trys.push([0, 2, , 3]);
538
- return [4 /*yield*/, handler.apply(void 0, __spreadArray([], __read(args), false))];
539
- case 1: return [2 /*return*/, _a.sent()];
540
- case 2:
541
- err_1 = _a.sent();
542
- if (isHttpError(err_1)) {
543
- throw err_1;
544
- }
545
- // Log the original error (consider using a proper logger)
546
- getLogger().error({ err: err_1 }, 'Caught error in handler');
547
- status_1 = HttpStatusCodes.INTERNAL_SERVER_ERROR;
548
- if (hasErrorShape(err_1) && typeof err_1.status === 'number') {
549
- status_1 = err_1.status;
550
- }
551
- // Create appropriate HTTP error
552
- throw createHttpError(status_1, getErrorMessage(err_1));
553
- case 3: return [2 /*return*/];
554
- }
555
- });
556
- });
557
381
  };
558
382
  }
559
- //# sourceMappingURL=exception.utils.js.map
@@ -161,4 +161,3 @@ export declare function getFileSize(path: string): Promise<number>;
161
161
  * @returns {Promise<Buffer | null>} File contents as Buffer or null if reading fails.
162
162
  */
163
163
  export declare function readFileBuffer(path: string): Promise<Buffer | null>;
164
- //# sourceMappingURL=fs.utils.d.ts.map