ts-packages 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/package.json +1 -1
  2. package/packages/cache/README.md +105 -9
  3. package/packages/cache/dist/cjs/adapters/memcache/MemcacheCache.d.ts +1 -54
  4. package/packages/cache/dist/cjs/adapters/memcache/MemcacheCache.js +75 -281
  5. package/packages/cache/dist/cjs/adapters/memory/MemoryCache.js +76 -22
  6. package/packages/cache/dist/cjs/adapters/redis/RedisCache.js +84 -26
  7. package/packages/cache/dist/cjs/core/BaseCache.js +13 -4
  8. package/packages/cache/dist/cjs/core/factory.js +26 -4
  9. package/packages/cache/dist/cjs/errors/CacheError.d.ts +10 -7
  10. package/packages/cache/dist/cjs/errors/CacheError.js +6 -11
  11. package/packages/cache/dist/cjs/errors/cacheErrorCodes.d.ts +22 -0
  12. package/packages/cache/dist/cjs/errors/cacheErrorCodes.js +24 -0
  13. package/packages/cache/dist/cjs/errors/index.js +3 -0
  14. package/packages/cache/dist/cjs/middleware/express/cacheMiddleware.js +8 -8
  15. package/packages/cache/dist/cjs/session/SessionStore.js +84 -28
  16. package/packages/cache/dist/esm/adapters/memcache/MemcacheCache.d.ts +1 -54
  17. package/packages/cache/dist/esm/adapters/memcache/MemcacheCache.js +75 -281
  18. package/packages/cache/dist/esm/adapters/memory/MemoryCache.js +76 -22
  19. package/packages/cache/dist/esm/adapters/redis/RedisCache.js +84 -26
  20. package/packages/cache/dist/esm/core/BaseCache.js +13 -4
  21. package/packages/cache/dist/esm/core/factory.js +26 -4
  22. package/packages/cache/dist/esm/errors/CacheError.d.ts +10 -7
  23. package/packages/cache/dist/esm/errors/CacheError.js +6 -11
  24. package/packages/cache/dist/esm/errors/cacheErrorCodes.d.ts +22 -0
  25. package/packages/cache/dist/esm/errors/cacheErrorCodes.js +21 -0
  26. package/packages/cache/dist/esm/errors/index.js +3 -0
  27. package/packages/cache/dist/esm/middleware/express/cacheMiddleware.js +8 -8
  28. package/packages/cache/dist/esm/session/SessionStore.js +84 -28
  29. package/packages/cache/dist/types/adapters/memcache/MemcacheCache.d.ts +1 -54
  30. package/packages/cache/dist/types/errors/CacheError.d.ts +10 -7
  31. package/packages/cache/dist/types/errors/cacheErrorCodes.d.ts +22 -0
  32. package/packages/cache/package.json +8 -6
  33. package/packages/cache/src/adapters/memcache/MemcacheCache.ts +79 -352
  34. package/packages/cache/src/adapters/memory/MemoryCache.ts +76 -77
  35. package/packages/cache/src/adapters/redis/RedisCache.ts +84 -86
  36. package/packages/cache/src/core/BaseCache.ts +13 -14
  37. package/packages/cache/src/core/factory.ts +27 -16
  38. package/packages/cache/src/errors/CacheError.ts +16 -17
  39. package/packages/cache/src/errors/cacheErrorCodes.ts +24 -0
  40. package/packages/cache/src/errors/index.ts +5 -0
  41. package/packages/cache/src/middleware/express/cacheMiddleware.ts +8 -8
  42. package/packages/cache/src/session/SessionStore.ts +84 -84
  43. package/packages/errors-utils/README.md +54 -57
  44. package/packages/errors-utils/dist/cjs/constants/errorCodes.d.ts +28 -23
  45. package/packages/errors-utils/dist/cjs/constants/errorCodes.js +57 -22
  46. package/packages/errors-utils/dist/cjs/constants/errorMessages.d.ts +8 -1
  47. package/packages/errors-utils/dist/cjs/constants/errorMessages.js +72 -29
  48. package/packages/errors-utils/dist/cjs/error/AppError.d.ts +2 -2
  49. package/packages/errors-utils/dist/cjs/error/AppError.js +2 -2
  50. package/packages/errors-utils/dist/cjs/error/ServiceUnavailableError.d.ts +4 -0
  51. package/packages/errors-utils/dist/cjs/error/ServiceUnavailableError.js +11 -0
  52. package/packages/errors-utils/dist/cjs/error/TokenExpiredError.d.ts +2 -2
  53. package/packages/errors-utils/dist/cjs/error/TokenExpiredError.js +2 -2
  54. package/packages/errors-utils/dist/cjs/error/TokenMalformedError.d.ts +2 -2
  55. package/packages/errors-utils/dist/cjs/error/TokenMalformedError.js +2 -2
  56. package/packages/errors-utils/dist/cjs/error/UnauthorizedError.d.ts +1 -2
  57. package/packages/errors-utils/dist/cjs/error/UnauthorizedError.js +2 -2
  58. package/packages/errors-utils/dist/cjs/error/index.d.ts +14 -0
  59. package/packages/errors-utils/dist/cjs/error/index.js +39 -0
  60. package/packages/errors-utils/dist/cjs/errorRegistry/errorRegistry.d.ts +19 -0
  61. package/packages/errors-utils/dist/cjs/errorRegistry/errorRegistry.js +63 -0
  62. package/packages/errors-utils/dist/cjs/errorRegistry/index.d.ts +3 -0
  63. package/packages/errors-utils/dist/cjs/errorRegistry/index.js +6 -0
  64. package/packages/errors-utils/dist/cjs/index.d.ts +3 -9
  65. package/packages/errors-utils/dist/cjs/index.js +12 -9
  66. package/packages/errors-utils/dist/cjs/middleware/express/{errorHandler.js → errorHandler.middleware.js} +4 -4
  67. package/packages/errors-utils/dist/cjs/middleware/express/index.d.ts +2 -2
  68. package/packages/errors-utils/dist/cjs/middleware/express/index.js +2 -2
  69. package/packages/errors-utils/dist/esm/constants/errorCodes.d.ts +28 -23
  70. package/packages/errors-utils/dist/esm/constants/errorCodes.js +57 -22
  71. package/packages/errors-utils/dist/esm/constants/errorMessages.d.ts +8 -1
  72. package/packages/errors-utils/dist/esm/constants/errorMessages.js +72 -29
  73. package/packages/errors-utils/dist/esm/error/AppError.d.ts +2 -2
  74. package/packages/errors-utils/dist/esm/error/AppError.js +2 -2
  75. package/packages/errors-utils/dist/esm/error/ServiceUnavailableError.d.ts +4 -0
  76. package/packages/errors-utils/dist/esm/error/ServiceUnavailableError.js +7 -0
  77. package/packages/errors-utils/dist/esm/error/TokenExpiredError.d.ts +2 -2
  78. package/packages/errors-utils/dist/esm/error/TokenExpiredError.js +2 -2
  79. package/packages/errors-utils/dist/esm/error/TokenMalformedError.d.ts +2 -2
  80. package/packages/errors-utils/dist/esm/error/TokenMalformedError.js +2 -2
  81. package/packages/errors-utils/dist/esm/error/UnauthorizedError.d.ts +1 -2
  82. package/packages/errors-utils/dist/esm/error/UnauthorizedError.js +2 -2
  83. package/packages/errors-utils/dist/esm/error/index.d.ts +14 -0
  84. package/packages/errors-utils/dist/esm/error/index.js +23 -0
  85. package/packages/errors-utils/dist/esm/errorRegistry/errorRegistry.d.ts +19 -0
  86. package/packages/errors-utils/dist/esm/errorRegistry/errorRegistry.js +59 -0
  87. package/packages/errors-utils/dist/esm/errorRegistry/index.d.ts +3 -0
  88. package/packages/errors-utils/dist/esm/errorRegistry/index.js +3 -0
  89. package/packages/errors-utils/dist/esm/index.d.ts +3 -9
  90. package/packages/errors-utils/dist/esm/index.js +12 -9
  91. package/packages/errors-utils/dist/esm/middleware/express/{errorHandler.js → errorHandler.middleware.js} +5 -5
  92. package/packages/errors-utils/dist/esm/middleware/express/index.d.ts +2 -2
  93. package/packages/errors-utils/dist/esm/middleware/express/index.js +2 -2
  94. package/packages/errors-utils/dist/types/constants/errorCodes.d.ts +28 -23
  95. package/packages/errors-utils/dist/types/constants/errorMessages.d.ts +8 -1
  96. package/packages/errors-utils/dist/types/error/AppError.d.ts +2 -2
  97. package/packages/errors-utils/dist/types/error/ServiceUnavailableError.d.ts +4 -0
  98. package/packages/errors-utils/dist/types/error/TokenExpiredError.d.ts +2 -2
  99. package/packages/errors-utils/dist/types/error/TokenMalformedError.d.ts +2 -2
  100. package/packages/errors-utils/dist/types/error/UnauthorizedError.d.ts +1 -2
  101. package/packages/errors-utils/dist/types/error/index.d.ts +14 -0
  102. package/packages/errors-utils/dist/types/errorRegistry/errorRegistry.d.ts +19 -0
  103. package/packages/errors-utils/dist/types/errorRegistry/index.d.ts +3 -0
  104. package/packages/errors-utils/dist/types/index.d.ts +3 -9
  105. package/packages/errors-utils/dist/types/middleware/express/index.d.ts +2 -2
  106. package/packages/errors-utils/package.json +4 -4
  107. package/packages/errors-utils/src/constants/errorCodes.ts +64 -23
  108. package/packages/errors-utils/src/constants/errorMessages.ts +91 -34
  109. package/packages/errors-utils/src/error/AppError.ts +3 -2
  110. package/packages/errors-utils/src/error/ServiceUnavailableError.ts +8 -0
  111. package/packages/errors-utils/src/error/TokenExpiredError.ts +2 -2
  112. package/packages/errors-utils/src/error/TokenMalformedError.ts +2 -2
  113. package/packages/errors-utils/src/error/UnauthorizedError.ts +8 -8
  114. package/packages/errors-utils/src/error/index.ts +26 -0
  115. package/packages/errors-utils/src/errorRegistry/errorRegistry.ts +74 -0
  116. package/packages/errors-utils/src/errorRegistry/index.ts +4 -0
  117. package/packages/errors-utils/src/index.ts +12 -10
  118. package/packages/errors-utils/src/middleware/express/{errorHandler.ts → errorHandler.middleware.ts} +5 -5
  119. package/packages/errors-utils/src/middleware/express/index.ts +2 -2
  120. package/packages/js-extensions/README.md +174 -425
  121. package/packages/js-extensions/dist/cjs/array/array-extensions.js +84 -50
  122. package/packages/js-extensions/dist/cjs/core/performance.d.ts +1 -0
  123. package/packages/js-extensions/dist/cjs/core/performance.js +6 -0
  124. package/packages/js-extensions/dist/cjs/core/version.d.ts +1 -0
  125. package/packages/js-extensions/dist/cjs/core/version.js +9 -0
  126. package/packages/js-extensions/dist/cjs/index.d.ts +1 -0
  127. package/packages/js-extensions/dist/cjs/index.js +1 -0
  128. package/packages/js-extensions/dist/cjs/number/number-extensions.js +85 -97
  129. package/packages/js-extensions/dist/cjs/object/object-extensions.js +102 -103
  130. package/packages/js-extensions/dist/cjs/string/string-extensions.js +66 -43
  131. package/packages/js-extensions/dist/cjs/types/global-augmentations.d.ts +1 -0
  132. package/packages/js-extensions/dist/cjs/utils/defineExtension.d.ts +1 -0
  133. package/packages/js-extensions/dist/cjs/utils/defineExtension.js +13 -0
  134. package/packages/js-extensions/dist/cjs/utils/index.d.ts +1 -0
  135. package/packages/js-extensions/dist/cjs/utils/index.js +1 -0
  136. package/packages/js-extensions/dist/esm/array/array-extensions.js +84 -50
  137. package/packages/js-extensions/dist/esm/core/performance.d.ts +1 -0
  138. package/packages/js-extensions/dist/esm/core/performance.js +5 -0
  139. package/packages/js-extensions/dist/esm/core/version.d.ts +1 -0
  140. package/packages/js-extensions/dist/esm/core/version.js +5 -0
  141. package/packages/js-extensions/dist/esm/index.d.ts +1 -0
  142. package/packages/js-extensions/dist/esm/index.js +1 -0
  143. package/packages/js-extensions/dist/esm/number/number-extensions.js +86 -98
  144. package/packages/js-extensions/dist/esm/object/object-extensions.js +102 -103
  145. package/packages/js-extensions/dist/esm/string/string-extensions.js +66 -43
  146. package/packages/js-extensions/dist/esm/types/global-augmentations.d.ts +1 -0
  147. package/packages/js-extensions/dist/esm/utils/defineExtension.d.ts +1 -0
  148. package/packages/js-extensions/dist/esm/utils/defineExtension.js +10 -0
  149. package/packages/js-extensions/dist/esm/utils/index.d.ts +1 -0
  150. package/packages/js-extensions/dist/esm/utils/index.js +1 -0
  151. package/packages/js-extensions/dist/types/core/performance.d.ts +1 -0
  152. package/packages/js-extensions/dist/types/core/version.d.ts +1 -0
  153. package/packages/js-extensions/dist/types/index.d.ts +1 -0
  154. package/packages/js-extensions/dist/types/types/global-augmentations.d.ts +1 -0
  155. package/packages/js-extensions/dist/types/utils/defineExtension.d.ts +1 -0
  156. package/packages/js-extensions/dist/types/utils/index.d.ts +1 -0
  157. package/packages/js-extensions/package.json +8 -4
  158. package/packages/js-extensions/src/array/array-extensions.ts +268 -150
  159. package/packages/js-extensions/src/core/performance.ts +11 -0
  160. package/packages/js-extensions/src/core/version.ts +7 -0
  161. package/packages/js-extensions/src/index.ts +2 -0
  162. package/packages/js-extensions/src/number/number-extensions.ts +90 -123
  163. package/packages/js-extensions/src/object/object-extensions.ts +102 -130
  164. package/packages/js-extensions/src/string/string-extensions.ts +80 -76
  165. package/packages/js-extensions/src/types/global-augmentations.ts +2 -1
  166. package/packages/js-extensions/src/utils/defineExtension.ts +14 -0
  167. package/packages/js-extensions/src/utils/index.ts +1 -0
  168. package/packages/response-utils/README.md +156 -198
  169. package/packages/response-utils/dist/cjs/core/BaseResponder.js +20 -4
  170. package/packages/response-utils/dist/cjs/index.d.ts +0 -1
  171. package/packages/response-utils/dist/cjs/index.js +1 -25
  172. package/packages/response-utils/dist/esm/core/BaseResponder.js +20 -4
  173. package/packages/response-utils/dist/esm/index.d.ts +0 -1
  174. package/packages/response-utils/dist/esm/index.js +0 -2
  175. package/packages/response-utils/dist/types/index.d.ts +0 -1
  176. package/packages/response-utils/package.json +1 -1
  177. package/packages/response-utils/src/core/BaseResponder.ts +25 -4
  178. package/packages/response-utils/src/index.ts +0 -3
  179. package/packages/response-utils/src/middleware/express/expressMiddleware.ts +1 -1
  180. package/packages/security/README.md +153 -355
  181. package/packages/security/dist/cjs/core/crypto/cryptoManager.js +34 -17
  182. package/packages/security/dist/cjs/core/jwt/decode.js +4 -1
  183. package/packages/security/dist/cjs/core/jwt/generateTokens.js +4 -1
  184. package/packages/security/dist/cjs/core/jwt/jwtManager.d.ts +19 -43
  185. package/packages/security/dist/cjs/core/jwt/jwtManager.js +84 -199
  186. package/packages/security/dist/cjs/core/jwt/parseDuration.js +3 -2
  187. package/packages/security/dist/cjs/core/jwt/signToken.js +2 -1
  188. package/packages/security/dist/cjs/core/jwt/validateToken.d.ts +10 -7
  189. package/packages/security/dist/cjs/core/jwt/validateToken.js +19 -10
  190. package/packages/security/dist/cjs/core/jwt/verify.d.ts +8 -9
  191. package/packages/security/dist/cjs/core/jwt/verify.js +59 -14
  192. package/packages/security/dist/cjs/core/password/hash.js +4 -4
  193. package/packages/security/dist/cjs/core/password/passwordManager.d.ts +1 -1
  194. package/packages/security/dist/cjs/core/password/passwordManager.js +36 -80
  195. package/packages/security/dist/cjs/core/password/strength.js +12 -6
  196. package/packages/security/dist/cjs/core/password/utils.d.ts +12 -0
  197. package/packages/security/dist/cjs/core/password/utils.js +16 -1
  198. package/packages/security/dist/cjs/core/password/verify.js +4 -4
  199. package/packages/security/dist/cjs/index.d.ts +2 -7
  200. package/packages/security/dist/esm/core/crypto/cryptoManager.js +34 -17
  201. package/packages/security/dist/esm/core/jwt/decode.js +4 -1
  202. package/packages/security/dist/esm/core/jwt/generateTokens.js +4 -1
  203. package/packages/security/dist/esm/core/jwt/jwtManager.d.ts +19 -43
  204. package/packages/security/dist/esm/core/jwt/jwtManager.js +85 -200
  205. package/packages/security/dist/esm/core/jwt/parseDuration.js +3 -2
  206. package/packages/security/dist/esm/core/jwt/signToken.js +2 -1
  207. package/packages/security/dist/esm/core/jwt/validateToken.d.ts +10 -7
  208. package/packages/security/dist/esm/core/jwt/validateToken.js +19 -10
  209. package/packages/security/dist/esm/core/jwt/verify.d.ts +8 -9
  210. package/packages/security/dist/esm/core/jwt/verify.js +58 -13
  211. package/packages/security/dist/esm/core/password/hash.js +4 -4
  212. package/packages/security/dist/esm/core/password/passwordManager.d.ts +1 -1
  213. package/packages/security/dist/esm/core/password/passwordManager.js +36 -80
  214. package/packages/security/dist/esm/core/password/strength.js +12 -6
  215. package/packages/security/dist/esm/core/password/utils.d.ts +12 -0
  216. package/packages/security/dist/esm/core/password/utils.js +16 -1
  217. package/packages/security/dist/esm/core/password/verify.js +4 -4
  218. package/packages/security/dist/esm/index.d.ts +2 -7
  219. package/packages/security/dist/types/core/jwt/jwtManager.d.ts +19 -43
  220. package/packages/security/dist/types/core/jwt/validateToken.d.ts +10 -7
  221. package/packages/security/dist/types/core/jwt/verify.d.ts +8 -9
  222. package/packages/security/dist/types/core/password/passwordManager.d.ts +1 -1
  223. package/packages/security/dist/types/core/password/utils.d.ts +12 -0
  224. package/packages/security/dist/types/index.d.ts +2 -7
  225. package/packages/security/package.json +3 -3
  226. package/packages/security/src/core/crypto/cryptoManager.ts +53 -21
  227. package/packages/security/src/core/jwt/decode.ts +4 -1
  228. package/packages/security/src/core/jwt/generateTokens.ts +4 -1
  229. package/packages/security/src/core/jwt/jwtManager.ts +105 -257
  230. package/packages/security/src/core/jwt/parseDuration.ts +4 -2
  231. package/packages/security/src/core/jwt/signToken.ts +2 -1
  232. package/packages/security/src/core/jwt/validateToken.ts +21 -13
  233. package/packages/security/src/core/jwt/verify.ts +82 -20
  234. package/packages/security/src/core/password/hash.ts +10 -4
  235. package/packages/security/src/core/password/passwordManager.ts +38 -108
  236. package/packages/security/src/core/password/strength.ts +13 -8
  237. package/packages/security/src/core/password/utils.ts +19 -3
  238. package/packages/security/src/core/password/verify.ts +6 -4
  239. package/packages/server-utils/README.md +1 -1
  240. package/packages/server-utils/dist/cjs/core/server.js +6 -6
  241. package/packages/server-utils/dist/cjs/middleware/auth.middleware.d.ts +1 -2
  242. package/packages/server-utils/dist/cjs/middleware/auth.middleware.js +17 -14
  243. package/packages/server-utils/dist/cjs/middleware/cache.middleware.js +2 -2
  244. package/packages/server-utils/dist/cjs/middleware/errorHandler.middleware.d.ts +1 -1
  245. package/packages/server-utils/dist/cjs/middleware/errorHandler.middleware.js +34 -17
  246. package/packages/server-utils/dist/cjs/middleware/session.middleware.js +8 -8
  247. package/packages/server-utils/dist/cjs/middleware/validation.middleware.js +2 -2
  248. package/packages/server-utils/dist/esm/core/server.js +6 -6
  249. package/packages/server-utils/dist/esm/middleware/auth.middleware.d.ts +1 -2
  250. package/packages/server-utils/dist/esm/middleware/auth.middleware.js +18 -15
  251. package/packages/server-utils/dist/esm/middleware/cache.middleware.js +2 -2
  252. package/packages/server-utils/dist/esm/middleware/errorHandler.middleware.d.ts +1 -1
  253. package/packages/server-utils/dist/esm/middleware/errorHandler.middleware.js +34 -17
  254. package/packages/server-utils/dist/esm/middleware/session.middleware.js +8 -8
  255. package/packages/server-utils/dist/esm/middleware/validation.middleware.js +2 -2
  256. package/packages/server-utils/dist/types/middleware/auth.middleware.d.ts +1 -2
  257. package/packages/server-utils/dist/types/middleware/errorHandler.middleware.d.ts +1 -1
  258. package/packages/server-utils/package.json +4 -4
  259. package/packages/server-utils/src/core/server.ts +6 -6
  260. package/packages/server-utils/src/middleware/auth.middleware.ts +40 -27
  261. package/packages/server-utils/src/middleware/cache.middleware.ts +2 -2
  262. package/packages/server-utils/src/middleware/errorHandler.middleware.ts +39 -24
  263. package/packages/server-utils/src/middleware/session.middleware.ts +11 -8
  264. package/packages/server-utils/src/middleware/validation.middleware.ts +2 -3
  265. package/packages/errors-utils/dist/cjs/error/RateLimitError.d.ts +0 -4
  266. package/packages/errors-utils/dist/cjs/error/RateLimitError.js +0 -11
  267. package/packages/errors-utils/dist/cjs/utils/mapAppErrorToResponder.d.ts +0 -3
  268. package/packages/errors-utils/dist/cjs/utils/mapAppErrorToResponder.js +0 -27
  269. package/packages/errors-utils/dist/esm/error/RateLimitError.d.ts +0 -4
  270. package/packages/errors-utils/dist/esm/error/RateLimitError.js +0 -7
  271. package/packages/errors-utils/dist/esm/utils/mapAppErrorToResponder.d.ts +0 -3
  272. package/packages/errors-utils/dist/esm/utils/mapAppErrorToResponder.js +0 -24
  273. package/packages/errors-utils/dist/types/error/RateLimitError.d.ts +0 -4
  274. package/packages/errors-utils/dist/types/utils/mapAppErrorToResponder.d.ts +0 -3
  275. package/packages/errors-utils/src/error/RateLimitError.ts +0 -8
  276. package/packages/errors-utils/src/utils/mapAppErrorToResponder.ts +0 -38
  277. package/packages/response-utils/src/legacy.ts +0 -30
  278. /package/packages/errors-utils/dist/cjs/middleware/express/{errorConverter.d.ts → errorConverter.middleware.d.ts} +0 -0
  279. /package/packages/errors-utils/dist/cjs/middleware/express/{errorConverter.js → errorConverter.middleware.js} +0 -0
  280. /package/packages/errors-utils/dist/cjs/middleware/express/{errorHandler.d.ts → errorHandler.middleware.d.ts} +0 -0
  281. /package/packages/errors-utils/dist/esm/middleware/express/{errorConverter.d.ts → errorConverter.middleware.d.ts} +0 -0
  282. /package/packages/errors-utils/dist/esm/middleware/express/{errorConverter.js → errorConverter.middleware.js} +0 -0
  283. /package/packages/errors-utils/dist/esm/middleware/express/{errorHandler.d.ts → errorHandler.middleware.d.ts} +0 -0
  284. /package/packages/errors-utils/dist/types/middleware/express/{errorConverter.d.ts → errorConverter.middleware.d.ts} +0 -0
  285. /package/packages/errors-utils/dist/types/middleware/express/{errorHandler.d.ts → errorHandler.middleware.d.ts} +0 -0
  286. /package/packages/errors-utils/src/middleware/express/{errorConverter.ts → errorConverter.middleware.ts} +0 -0
@@ -1 +1,6 @@
1
+ import { errorMessageRegistry } from '@naman_deep_singh/errors-utils'
2
+ import { CACHE_ERROR_CODES } from './cacheErrorCodes'
3
+
4
+ errorMessageRegistry.register(CACHE_ERROR_CODES)
5
+
1
6
  export { CacheError } from './CacheError'
@@ -31,8 +31,8 @@ export function cacheSessionMiddleware(
31
31
  }
32
32
 
33
33
  next()
34
- } catch (err) {
35
- console.error('Session middleware error:', err)
34
+ } catch (error) {
35
+ console.error('Session middleware error:', error)
36
36
  next()
37
37
  }
38
38
  }
@@ -52,12 +52,12 @@ export function cacheHealthCheckMiddleware(
52
52
  .then((health) => {
53
53
  res.status(health.isAlive ? 200 : 503).json(health)
54
54
  })
55
- .catch((err) => {
55
+ .catch((error) => {
56
56
  res.status(503).json({
57
57
  isAlive: false,
58
58
  adapter: 'unknown',
59
59
  timestamp: new Date(),
60
- error: (err as Error).message,
60
+ error: (error as Error).message,
61
61
  })
62
62
  })
63
63
  return
@@ -125,8 +125,8 @@ export function cacheResponseMiddleware(
125
125
  }
126
126
 
127
127
  if (responseData !== null) {
128
- cache.set(cacheKey, responseData, ttl).catch((err) => {
129
- console.error('Failed to cache response:', err)
128
+ cache.set(cacheKey, responseData, ttl).catch((error) => {
129
+ console.error('Failed to cache response:', error)
130
130
  })
131
131
  }
132
132
  }
@@ -137,8 +137,8 @@ export function cacheResponseMiddleware(
137
137
 
138
138
  next()
139
139
  })
140
- .catch((err) => {
141
- console.error('Cache middleware error:', err)
140
+ .catch((error) => {
141
+ console.error('Cache middleware error:', error)
142
142
  next()
143
143
  })
144
144
  }
@@ -1,5 +1,6 @@
1
1
  import { CacheError } from '../errors'
2
2
 
3
+ import { CACHE_ERROR_CODES } from 'src/errors/cacheErrorCodes'
3
4
  import type { ICache } from '../core/interfaces'
4
5
  import type { SessionData, SessionOptions } from '../types'
5
6
 
@@ -31,13 +32,13 @@ export class SessionStore {
31
32
  try {
32
33
  const ttlValue = ttl ?? this.options.ttl
33
34
  await this.cache.set(sessionId, data, ttlValue)
34
- } catch (err) {
35
- throw new CacheError(
36
- `Failed to create session "${sessionId}"`,
37
- 'SESSION_CREATE_ERROR',
38
- 'session',
39
- err as Error,
40
- )
35
+ } catch (error) {
36
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_CREATE_ERROR, {
37
+ adapter: 'session',
38
+ operation: 'create',
39
+ details: { sessionId },
40
+ cause: error instanceof Error ? error : undefined,
41
+ })
41
42
  }
42
43
  }
43
44
 
@@ -47,13 +48,13 @@ export class SessionStore {
47
48
  async get(sessionId: string): Promise<SessionData | null> {
48
49
  try {
49
50
  return await this.cache.get(sessionId)
50
- } catch (err) {
51
- throw new CacheError(
52
- `Failed to get session "${sessionId}"`,
53
- 'SESSION_GET_ERROR',
54
- 'session',
55
- err as Error,
56
- )
51
+ } catch (error) {
52
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_GET_ERROR, {
53
+ adapter: 'session',
54
+ operation: 'get',
55
+ details: { sessionId },
56
+ cause: error instanceof Error ? error : undefined,
57
+ })
57
58
  }
58
59
  }
59
60
 
@@ -65,24 +66,25 @@ export class SessionStore {
65
66
  const current = await this.cache.get(sessionId)
66
67
 
67
68
  if (!current) {
68
- throw new CacheError(
69
- `Session "${sessionId}" not found`,
70
- 'SESSION_NOT_FOUND',
71
- )
69
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_NOT_FOUND, {
70
+ adapter: 'session',
71
+ operation: 'update',
72
+ details: { sessionId },
73
+ })
72
74
  }
73
75
 
74
76
  const merged = { ...current, ...data }
75
77
  await this.cache.set(sessionId, merged, this.options.ttl)
76
- } catch (err) {
77
- if (err instanceof CacheError) {
78
- throw err
78
+ } catch (error) {
79
+ if (error instanceof CacheError) {
80
+ throw error
79
81
  }
80
- throw new CacheError(
81
- `Failed to update session "${sessionId}"`,
82
- 'SESSION_UPDATE_ERROR',
83
- 'session',
84
- err as Error,
85
- )
82
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_UPDATE_ERROR, {
83
+ adapter: 'session',
84
+ operation: 'update',
85
+ details: { sessionId },
86
+ cause: error instanceof Error ? error : undefined,
87
+ })
86
88
  }
87
89
  }
88
90
 
@@ -92,13 +94,13 @@ export class SessionStore {
92
94
  async delete(sessionId: string): Promise<boolean> {
93
95
  try {
94
96
  return await this.cache.delete(sessionId)
95
- } catch (err) {
96
- throw new CacheError(
97
- `Failed to delete session "${sessionId}"`,
98
- 'SESSION_DELETE_ERROR',
99
- 'session',
100
- err as Error,
101
- )
97
+ } catch (error) {
98
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_DELETE_ERROR, {
99
+ adapter: 'session',
100
+ operation: 'delete',
101
+ details: { sessionId },
102
+ cause: error instanceof Error ? error : undefined,
103
+ })
102
104
  }
103
105
  }
104
106
 
@@ -108,13 +110,13 @@ export class SessionStore {
108
110
  async exists(sessionId: string): Promise<boolean> {
109
111
  try {
110
112
  return await this.cache.exists(sessionId)
111
- } catch (err) {
112
- throw new CacheError(
113
- `Failed to check session "${sessionId}" existence`,
114
- 'SESSION_EXISTS_ERROR',
115
- 'session',
116
- err as Error,
117
- )
113
+ } catch (error) {
114
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_EXISTS_ERROR, {
115
+ adapter: 'session',
116
+ operation: 'exists',
117
+ details: { sessionId },
118
+ cause: error instanceof Error ? error : undefined,
119
+ })
118
120
  }
119
121
  }
120
122
 
@@ -124,13 +126,12 @@ export class SessionStore {
124
126
  async clear(): Promise<void> {
125
127
  try {
126
128
  await this.cache.clear()
127
- } catch (err) {
128
- throw new CacheError(
129
- 'Failed to clear sessions',
130
- 'SESSION_CLEAR_ERROR',
131
- 'session',
132
- err as Error,
133
- )
129
+ } catch (error) {
130
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_CLEAR_ERROR, {
131
+ adapter: 'session',
132
+ operation: 'clear',
133
+ cause: error instanceof Error ? error : undefined,
134
+ })
134
135
  }
135
136
  }
136
137
 
@@ -142,13 +143,12 @@ export class SessionStore {
142
143
  ): Promise<Record<string, SessionData | null>> {
143
144
  try {
144
145
  return await this.cache.getMultiple(sessionIds)
145
- } catch (err) {
146
- throw new CacheError(
147
- 'Failed to get multiple sessions',
148
- 'SESSION_GET_MULTIPLE_ERROR',
149
- 'session',
150
- err as Error,
151
- )
146
+ } catch (error) {
147
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_GET_MULTIPLE_ERROR, {
148
+ adapter: 'session',
149
+ operation: 'getMultiple',
150
+ cause: error instanceof Error ? error : undefined,
151
+ })
152
152
  }
153
153
  }
154
154
 
@@ -158,13 +158,12 @@ export class SessionStore {
158
158
  async deleteMultiple(sessionIds: string[]): Promise<number> {
159
159
  try {
160
160
  return await this.cache.deleteMultiple(sessionIds)
161
- } catch (err) {
162
- throw new CacheError(
163
- 'Failed to delete multiple sessions',
164
- 'SESSION_DELETE_MULTIPLE_ERROR',
165
- 'session',
166
- err as Error,
167
- )
161
+ } catch (error) {
162
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_DELETE_MULTIPLE_ERROR, {
163
+ adapter: 'session',
164
+ operation: 'deleteMultiple',
165
+ cause: error instanceof Error ? error : undefined,
166
+ })
168
167
  }
169
168
  }
170
169
 
@@ -176,24 +175,25 @@ export class SessionStore {
176
175
  const current = await this.cache.get(sessionId)
177
176
 
178
177
  if (!current) {
179
- throw new CacheError(
180
- `Session "${sessionId}" not found`,
181
- 'SESSION_NOT_FOUND',
182
- )
178
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_NOT_FOUND, {
179
+ adapter: 'session',
180
+ operation: 'extend',
181
+ details: { sessionId },
182
+ })
183
183
  }
184
184
 
185
185
  const ttlValue = ttl ?? this.options.ttl
186
186
  await this.cache.set(sessionId, current, ttlValue)
187
- } catch (err) {
188
- if (err instanceof CacheError) {
189
- throw err
187
+ } catch (error) {
188
+ if (error instanceof CacheError) {
189
+ throw error
190
190
  }
191
- throw new CacheError(
192
- `Failed to extend session "${sessionId}"`,
193
- 'SESSION_EXTEND_ERROR',
194
- 'session',
195
- err as Error,
196
- )
191
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_EXTEND_ERROR, {
192
+ adapter: 'session',
193
+ operation: 'extend',
194
+ details: { sessionId },
195
+ cause: error instanceof Error ? error : undefined,
196
+ })
197
197
  }
198
198
  }
199
199
 
@@ -212,16 +212,16 @@ export class SessionStore {
212
212
  }
213
213
 
214
214
  return data
215
- } catch (err) {
216
- if (err instanceof CacheError) {
217
- throw err
215
+ } catch (error) {
216
+ if (error instanceof CacheError) {
217
+ throw error
218
218
  }
219
- throw new CacheError(
220
- `Failed to get and extend session "${sessionId}"`,
221
- 'SESSION_GET_EXTEND_ERROR',
222
- 'session',
223
- err as Error,
224
- )
219
+ throw new CacheError(CACHE_ERROR_CODES.SESSION_GET_EXTEND_ERROR, {
220
+ adapter: 'session',
221
+ operation: 'getAndExtend',
222
+ details: { sessionId },
223
+ cause: error instanceof Error ? error : undefined,
224
+ })
225
225
  }
226
226
  }
227
227
 
@@ -1,24 +1,20 @@
1
+ ```bash
1
2
  @naman_deep_singh/errors-utils
2
3
 
3
- Version: 1.3.1
4
+ Version: 1.4.2
4
5
 
5
6
  A standardized, code-driven error handling system for TypeScript and Express applications, providing consistent error identity, responses, and middleware integration.
6
7
 
7
8
  🚀 Features
8
9
 
9
10
  ✅ Structured Error Classes — AppError, HTTPError, ValidationError, etc.
10
-
11
11
  ✅ Strongly-Typed Error Codes — Centralized error identity via constants
12
-
13
12
  ✅ Centralized Error Messages — One source of truth for user-facing messages
14
-
15
13
  ✅ Express Middleware — Error converter & global handler
16
-
17
14
  ✅ Response Integration — Works seamlessly with @naman_deep_singh/response-utils
18
-
19
15
  ✅ TypeScript First — Full type safety & IntelliSense
20
-
21
16
  ✅ Consistent API Responses — Unified error shape across services
17
+ ✅ Extendable Error Messages — Add or override messages at runtime
22
18
 
23
19
  📦 Installation
24
20
  npm install @naman_deep_singh/errors-utils
@@ -27,19 +23,17 @@ npm install @naman_deep_singh/errors-utils
27
23
 
28
24
  This package is code-driven, not message-driven.
29
25
 
30
- Errors are identified by stable error codes
31
-
32
- Messages are resolved internally via centralized mappings
33
-
34
- API contracts remain stable even if messages change
26
+ Errors are identified by stable error codes.
35
27
 
36
- This ensures:
28
+ Messages are resolved internally via centralized mappings.
37
29
 
38
- Consistency across microservices
30
+ API contracts remain stable even if messages change.
39
31
 
40
- Safe refactoring
32
+ Benefits:
41
33
 
42
- Better logging, tracing, and observability
34
+ Consistency across microservices
35
+ ✅ Safe refactoring
36
+ ✅ Better logging, tracing, and observability
43
37
 
44
38
  🔧 Usage
45
39
  Creating Errors (Recommended)
@@ -49,32 +43,29 @@ import {
49
43
  NotFoundError,
50
44
  ValidationError,
51
45
  InternalServerError,
52
- ERROR_CODES,
53
46
  } from '@naman_deep_singh/errors-utils'
54
47
 
55
- throw new BadRequestError(ERROR_CODES.BAD_REQUEST)
48
+ // Basic usage
49
+ throw new BadRequestError()
56
50
 
57
- throw new UnauthorizedError(ERROR_CODES.UNAUTHORIZED)
51
+ throw new UnauthorizedError()
58
52
 
59
- throw new NotFoundError(ERROR_CODES.NOT_FOUND)
53
+ throw new NotFoundError()
60
54
 
61
- throw new ValidationError(ERROR_CODES.VALIDATION_FAILED, {
55
+ // With additional details
56
+ throw new ValidationError({
62
57
  fields: ['email', 'password'],
63
58
  })
64
59
 
65
- throw new InternalServerError(ERROR_CODES.INTERNAL_SERVER_ERROR)
60
+ throw new InternalServerError()
66
61
 
67
62
  🧾 Error Codes & Messages
68
-
69
- The package exposes a strongly-typed error code system.
70
-
71
63
  import {
72
64
  ERROR_CODES,
73
65
  ERROR_MESSAGES,
74
66
  ErrorCode,
75
67
  } from '@naman_deep_singh/errors-utils'
76
68
 
77
- Exports
78
69
 
79
70
  ERROR_CODES — Canonical list of all supported error codes
80
71
 
@@ -85,24 +76,16 @@ ErrorCode — Union type of all valid error codes
85
76
  Why Error Codes?
86
77
 
87
78
  ✅ Consistent error identity across services
88
-
89
79
  ✅ Centralized message management
90
-
91
80
  ✅ Safer API contracts
92
-
93
81
  ✅ Improved logging & observability
94
82
 
95
83
  🌐 Express Middleware
96
-
97
- This package provides Express-specific middleware under the hood
98
- and exposes a clean public API.
99
-
100
84
  import express from 'express'
101
85
  import {
102
86
  errorConverter,
103
87
  expressErrorHandler,
104
88
  ValidationError,
105
- ERROR_CODES,
106
89
  } from '@naman_deep_singh/errors-utils'
107
90
 
108
91
  const app = express()
@@ -115,25 +98,18 @@ app.use(expressErrorHandler)
115
98
 
116
99
  app.post('/users', (req, res) => {
117
100
  if (!req.body.email) {
118
- throw new ValidationError(ERROR_CODES.VALIDATION_FAILED)
101
+ throw new ValidationError({
102
+ fields: ['email'],
103
+ })
119
104
  }
120
105
  })
121
106
 
122
- Middleware Responsibilities
123
-
124
- errorConverter
125
107
 
126
- Converts unknown errors into AppError
127
-
128
- Preserves known operational errors
129
-
130
- expressErrorHandler
131
-
132
- Sends standardized API responses
108
+ Middleware Responsibilities
133
109
 
134
- Integrates with @naman_deep_singh/response-utils
110
+ errorConverter Converts unknown errors into AppError, preserves operational errors
135
111
 
136
- Hides internal errors in production
112
+ expressErrorHandler Sends standardized API responses and integrates with @naman_deep_singh/response-utils
137
113
 
138
114
  🔗 Integration
139
115
  With @naman_deep_singh/response-utils
@@ -148,17 +124,14 @@ import { createServer } from '@naman_deep_singh/server-utils'
148
124
  import { expressErrorHandler } from '@naman_deep_singh/errors-utils'
149
125
 
150
126
  const server = createServer('My API', '1.0.0')
151
-
152
127
  server.app.use(expressErrorHandler)
153
128
 
154
- 🧠 Custom Errors
129
+ 🧠 Extending & Adding Error Messages
155
130
 
156
- You can safely extend existing errors:
131
+ You can safely extend existing errors or add new codes/messages dynamically.
157
132
 
158
- import {
159
- InternalServerError,
160
- ERROR_CODES,
161
- } from '@naman_deep_singh/errors-utils'
133
+ Extending Existing Error Class
134
+ import { InternalServerError, ERROR_CODES } from '@naman_deep_singh/errors-utils'
162
135
 
163
136
  export class CryptoIntegrityError extends InternalServerError {
164
137
  constructor(details?: unknown, cause?: Error) {
@@ -166,6 +139,28 @@ export class CryptoIntegrityError extends InternalServerError {
166
139
  }
167
140
  }
168
141
 
142
+ Registering Custom Error Messages
143
+ import { errorMessageRegistry } from '@naman_deep_singh/errors-utils'
144
+
145
+ // Add new messages or override existing ones
146
+ errorMessageRegistry.register({
147
+ CUSTOM_ERROR: 'Something went wrong with custom logic',
148
+ VALIDATION_FAILED: 'Custom validation failed message',
149
+ })
150
+
151
+
152
+ After this, AppError or any derived class will use the updated messages automatically.
153
+
154
+ import { AppError, ErrorCode } from '@naman_deep_singh/errors-utils'
155
+
156
+ throw new AppError(
157
+ 'CUSTOM_ERROR' as ErrorCode,
158
+ 500,
159
+ {
160
+ reason: "Something went wrong with custom logic"
161
+ }
162
+ )
163
+
169
164
  📚 Available Error Classes
170
165
  Class Status Code Use Case
171
166
  AppError Custom Base error class
@@ -179,9 +174,10 @@ NotFoundError 404 Resource not found
179
174
  ConflictError 409 Resource conflicts
180
175
  ValidationError 422 Validation errors
181
176
  RateLimitError 429 Rate limiting
182
- TooManyRequestsError 429 Alias of RateLimitError
183
177
  CryptoIntegrityError 500 Crypto validation failure
184
178
  InternalServerError 500 Server-side failures
179
+ ServiceUnavailableError 500 Service not available
180
+
185
181
  🎯 Standard Error Response
186
182
 
187
183
  All errors resolve to a consistent response shape:
@@ -192,9 +188,10 @@ All errors resolve to a consistent response shape:
192
188
  "message": "Validation failed",
193
189
  "details": {
194
190
  "fields": ["email"]
195
- }
191
+ },
196
192
  }
197
193
 
198
194
  📄 License
199
195
 
200
- ISC © Naman Deep Singh
196
+ ISC © Naman Deep Singh
197
+ ```
@@ -1,32 +1,37 @@
1
1
  export declare const ERROR_CODES: {
2
2
  readonly BAD_REQUEST: "BAD_REQUEST";
3
+ readonly VALIDATION_FAILED: "VALIDATION_FAILED";
3
4
  readonly UNAUTHORIZED: "UNAUTHORIZED";
4
5
  readonly FORBIDDEN: "FORBIDDEN";
5
6
  readonly NOT_FOUND: "NOT_FOUND";
6
7
  readonly CONFLICT: "CONFLICT";
7
- readonly VALIDATION_FAILED: "VALIDATION_FAILED";
8
- readonly RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED";
9
- readonly INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR";
10
- readonly CRYPTO_INTEGRITY_ERROR: "CRYPTO_INTEGRITY_ERROR";
11
8
  readonly TOO_MANY_REQUESTS: "TOO_MANY_REQUESTS";
12
- readonly TOKEN_EXPIRED: "TOKEN_EXPIRED";
9
+ readonly INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR";
10
+ readonly SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE";
11
+ readonly DEPENDENCY_FAILURE: "DEPENDENCY_FAILURE";
12
+ readonly HTTP_ERROR: "HTTP_ERROR";
13
+ readonly HTTP_TIMEOUT: "HTTP_TIMEOUT";
14
+ readonly UPSTREAM_SERVICE_ERROR: "UPSTREAM_SERVICE_ERROR";
15
+ readonly AUTH_FAILED: "AUTH_FAILED";
16
+ readonly TOKEN_MISSING: "TOKEN_MISSING";
13
17
  readonly TOKEN_INVALID: "TOKEN_INVALID";
14
- readonly TOKEN_NOT_PROVIDED: "TOKEN_NOT_PROVIDED";
15
- readonly TOKEN_NOT_FOUND: "TOKEN_NOT_FOUND";
16
- readonly TOKEN_NOT_CREATED: "TOKEN_NOT_CREATED";
17
- readonly TOKEN_NOT_UPDATED: "TOKEN_NOT_UPDATED";
18
- readonly TOKEN_NOT_DELETED: "TOKEN_NOT_DELETED";
19
- readonly TOKEN_NOT_VALIDATED: "TOKEN_NOT_VALIDATED";
20
- readonly TOKEN_NOT_REFRESHED: "TOKEN_NOT_REFRESHED";
21
- readonly TOKEN_NOT_REVOKED: "TOKEN_NOT_REVOKED";
22
- readonly TOKEN_NOT_BLACKLISTED: "TOKEN_NOT_BLACKLISTED";
23
- readonly TOKEN_NOT_WHITELISTED: "TOKEN_NOT_WHITELISTED";
24
- readonly TOKEN_NOT_DECODED: "TOKEN_NOT_DECODED";
25
- readonly TOKEN_NOT_ENCODED: "TOKEN_NOT_ENCODED";
26
- readonly TOKEN_NOT_SIGNED: "TOKEN_NOT_SIGNED";
27
- readonly TOKEN_NOT_VERIFIED: "TOKEN_NOT_VERIFIED";
28
- readonly TOKEN_NOT_DECRYPTED: "TOKEN_NOT_DECRYPTED";
29
- readonly TOKEN_NOT_ENCRYPTED: "TOKEN_NOT_ENCRYPTED";
30
- readonly TOKEN_NOT_GENERATED: "TOKEN_NOT_GENERATED";
18
+ readonly TOKEN_EXPIRED: "TOKEN_EXPIRED";
19
+ readonly CRYPTO_ERROR: "CRYPTO_ERROR";
20
+ readonly CRYPTO_INTEGRITY_ERROR: "CRYPTO_INTEGRITY_ERROR";
21
+ readonly CACHE_ERROR: "CACHE_ERROR";
22
+ readonly CACHE_CONNECTION_FAILED: "CACHE_CONNECTION_FAILED";
23
+ readonly DATABASE_ERROR: "DATABASE_ERROR";
24
+ readonly DATABASE_CONNECTION_FAILED: "DATABASE_CONNECTION_FAILED";
25
+ readonly DATABASE_CONSTRAINT_VIOLATION: "DATABASE_CONSTRAINT_VIOLATION";
26
+ readonly MESSAGE_BROKER_ERROR: "MESSAGE_BROKER_ERROR";
27
+ readonly MESSAGE_PUBLISH_FAILED: "MESSAGE_PUBLISH_FAILED";
28
+ readonly FILE_ERROR: "FILE_ERROR";
29
+ readonly FILE_NOT_FOUND: "FILE_NOT_FOUND";
30
+ readonly FILE_UPLOAD_FAILED: "FILE_UPLOAD_FAILED";
31
+ readonly FILE_TOO_LARGE: "FILE_TOO_LARGE";
32
+ readonly CONFIG_ERROR: "CONFIG_ERROR";
33
+ readonly CONFIG_MISSING: "CONFIG_MISSING";
34
+ readonly TIMEOUT_ERROR: "TIMEOUT_ERROR";
35
+ readonly RESOURCE_EXHAUSTED: "RESOURCE_EXHAUSTED";
31
36
  };
32
- export type ErrorCode = keyof typeof ERROR_CODES;
37
+ export type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];