ts-packages 1.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 (781) hide show
  1. package/biome.json +53 -0
  2. package/organize-imports.sh +87 -0
  3. package/package.json +25 -8
  4. package/packages/cache/README.md +791 -0
  5. package/packages/cache/dist/cjs/adapters/memcache/MemcacheCache.d.ts +18 -0
  6. package/packages/cache/dist/cjs/adapters/memcache/MemcacheCache.js +173 -0
  7. package/packages/cache/dist/cjs/adapters/memcache/index.d.ts +1 -0
  8. package/packages/cache/dist/cjs/adapters/memcache/index.js +5 -0
  9. package/packages/cache/dist/cjs/adapters/memory/MemoryCache.d.ts +63 -0
  10. package/packages/cache/dist/cjs/adapters/memory/MemoryCache.js +331 -0
  11. package/packages/cache/dist/cjs/adapters/memory/index.d.ts +1 -0
  12. package/packages/cache/dist/cjs/adapters/memory/index.js +5 -0
  13. package/packages/cache/dist/cjs/adapters/redis/RedisCache.d.ts +67 -0
  14. package/packages/cache/dist/cjs/adapters/redis/RedisCache.js +383 -0
  15. package/packages/cache/dist/cjs/adapters/redis/index.d.ts +1 -0
  16. package/packages/cache/dist/cjs/adapters/redis/index.js +5 -0
  17. package/packages/cache/dist/cjs/core/BaseCache.d.ts +78 -0
  18. package/packages/cache/dist/cjs/core/BaseCache.js +147 -0
  19. package/packages/cache/dist/cjs/core/factory.d.ts +16 -0
  20. package/packages/cache/dist/cjs/core/factory.js +82 -0
  21. package/packages/cache/dist/cjs/core/interfaces/ICache.d.ts +58 -0
  22. package/packages/cache/dist/cjs/core/interfaces/ICache.js +2 -0
  23. package/packages/cache/dist/cjs/core/interfaces/ISession.d.ts +30 -0
  24. package/packages/cache/dist/cjs/core/interfaces/ISession.js +2 -0
  25. package/packages/cache/dist/cjs/core/interfaces/index.d.ts +2 -0
  26. package/packages/cache/dist/cjs/core/interfaces/index.js +2 -0
  27. package/packages/cache/dist/cjs/errors/CacheError.d.ts +12 -0
  28. package/packages/cache/dist/cjs/errors/CacheError.js +12 -0
  29. package/packages/cache/dist/cjs/errors/cacheErrorCodes.d.ts +22 -0
  30. package/packages/cache/dist/cjs/errors/cacheErrorCodes.js +24 -0
  31. package/packages/cache/dist/cjs/errors/index.d.ts +1 -0
  32. package/packages/cache/dist/cjs/errors/index.js +8 -0
  33. package/packages/cache/dist/cjs/index.d.ts +10 -0
  34. package/packages/cache/dist/cjs/index.js +27 -0
  35. package/packages/cache/dist/cjs/middleware/express/cacheMiddleware.d.ts +22 -0
  36. package/packages/cache/dist/cjs/middleware/express/cacheMiddleware.js +116 -0
  37. package/packages/cache/dist/cjs/middleware/express/index.d.ts +1 -0
  38. package/packages/cache/dist/cjs/middleware/express/index.js +7 -0
  39. package/packages/cache/dist/cjs/session/SessionStore.d.ts +57 -0
  40. package/packages/cache/dist/cjs/session/SessionStore.js +217 -0
  41. package/packages/cache/dist/cjs/session/index.d.ts +2 -0
  42. package/packages/cache/dist/cjs/session/index.js +5 -0
  43. package/packages/cache/dist/cjs/types.d.ts +102 -0
  44. package/packages/cache/dist/cjs/types.js +2 -0
  45. package/packages/cache/dist/esm/adapters/memcache/MemcacheCache.d.ts +18 -0
  46. package/packages/cache/dist/esm/adapters/memcache/MemcacheCache.js +166 -0
  47. package/packages/cache/dist/esm/adapters/memcache/index.d.ts +1 -0
  48. package/packages/cache/dist/esm/adapters/memcache/index.js +1 -0
  49. package/packages/cache/dist/esm/adapters/memory/MemoryCache.d.ts +63 -0
  50. package/packages/cache/dist/esm/adapters/memory/MemoryCache.js +327 -0
  51. package/packages/cache/dist/esm/adapters/memory/index.d.ts +1 -0
  52. package/packages/cache/dist/esm/adapters/memory/index.js +1 -0
  53. package/packages/cache/dist/esm/adapters/redis/RedisCache.d.ts +67 -0
  54. package/packages/cache/dist/esm/adapters/redis/RedisCache.js +379 -0
  55. package/packages/cache/dist/esm/adapters/redis/index.d.ts +1 -0
  56. package/packages/cache/dist/esm/adapters/redis/index.js +1 -0
  57. package/packages/cache/dist/esm/core/BaseCache.d.ts +78 -0
  58. package/packages/cache/dist/esm/core/BaseCache.js +143 -0
  59. package/packages/cache/dist/esm/core/factory.d.ts +16 -0
  60. package/packages/cache/dist/esm/core/factory.js +78 -0
  61. package/packages/cache/dist/esm/core/interfaces/ICache.d.ts +58 -0
  62. package/packages/cache/dist/esm/core/interfaces/ICache.js +1 -0
  63. package/packages/cache/dist/esm/core/interfaces/ISession.d.ts +30 -0
  64. package/packages/cache/dist/esm/core/interfaces/ISession.js +1 -0
  65. package/packages/cache/dist/esm/core/interfaces/index.d.ts +2 -0
  66. package/packages/cache/dist/esm/core/interfaces/index.js +1 -0
  67. package/packages/cache/dist/esm/errors/CacheError.d.ts +12 -0
  68. package/packages/cache/dist/esm/errors/CacheError.js +8 -0
  69. package/packages/cache/dist/esm/errors/cacheErrorCodes.d.ts +22 -0
  70. package/packages/cache/dist/esm/errors/cacheErrorCodes.js +21 -0
  71. package/packages/cache/dist/esm/errors/index.d.ts +1 -0
  72. package/packages/cache/dist/esm/errors/index.js +4 -0
  73. package/packages/cache/dist/esm/index.d.ts +10 -0
  74. package/packages/cache/dist/esm/index.js +14 -0
  75. package/packages/cache/dist/esm/middleware/express/cacheMiddleware.d.ts +22 -0
  76. package/packages/cache/dist/esm/middleware/express/cacheMiddleware.js +111 -0
  77. package/packages/cache/dist/esm/middleware/express/index.d.ts +1 -0
  78. package/packages/cache/dist/esm/middleware/express/index.js +1 -0
  79. package/packages/cache/dist/esm/session/SessionStore.d.ts +57 -0
  80. package/packages/cache/dist/esm/session/SessionStore.js +213 -0
  81. package/packages/cache/dist/esm/session/index.d.ts +2 -0
  82. package/packages/cache/dist/esm/session/index.js +1 -0
  83. package/packages/cache/dist/esm/types.d.ts +102 -0
  84. package/packages/cache/dist/esm/types.js +1 -0
  85. package/packages/cache/dist/types/adapters/memcache/MemcacheCache.d.ts +18 -0
  86. package/packages/cache/dist/types/adapters/memcache/index.d.ts +1 -0
  87. package/packages/cache/dist/types/adapters/memory/MemoryCache.d.ts +63 -0
  88. package/packages/cache/dist/types/adapters/memory/index.d.ts +1 -0
  89. package/packages/cache/dist/types/adapters/redis/RedisCache.d.ts +67 -0
  90. package/packages/cache/dist/types/adapters/redis/index.d.ts +1 -0
  91. package/packages/cache/dist/types/core/BaseCache.d.ts +78 -0
  92. package/packages/cache/dist/types/core/factory.d.ts +16 -0
  93. package/packages/cache/dist/types/core/interfaces/ICache.d.ts +58 -0
  94. package/packages/cache/dist/types/core/interfaces/ISession.d.ts +30 -0
  95. package/packages/cache/dist/types/core/interfaces/index.d.ts +2 -0
  96. package/packages/cache/dist/types/errors/CacheError.d.ts +12 -0
  97. package/packages/cache/dist/types/errors/cacheErrorCodes.d.ts +22 -0
  98. package/packages/cache/dist/types/errors/index.d.ts +1 -0
  99. package/packages/cache/dist/types/index.d.ts +10 -0
  100. package/packages/cache/dist/types/middleware/express/cacheMiddleware.d.ts +22 -0
  101. package/packages/cache/dist/types/middleware/express/index.d.ts +1 -0
  102. package/packages/cache/dist/types/session/SessionStore.d.ts +57 -0
  103. package/packages/cache/dist/types/session/index.d.ts +2 -0
  104. package/packages/cache/dist/types/types.d.ts +102 -0
  105. package/packages/cache/node_modules/.bin/rimraf +21 -0
  106. package/packages/cache/node_modules/.bin/tsc +21 -0
  107. package/packages/cache/node_modules/.bin/tsserver +21 -0
  108. package/packages/cache/package.json +52 -0
  109. package/packages/cache/src/adapters/memcache/MemcacheCache.ts +179 -0
  110. package/packages/cache/src/adapters/memcache/index.ts +1 -0
  111. package/packages/cache/src/adapters/memory/MemoryCache.ts +354 -0
  112. package/packages/cache/src/adapters/memory/index.ts +1 -0
  113. package/packages/cache/src/adapters/redis/RedisCache.ts +404 -0
  114. package/packages/cache/src/adapters/redis/index.ts +1 -0
  115. package/packages/cache/src/core/BaseCache.ts +176 -0
  116. package/packages/cache/src/core/factory.ts +103 -0
  117. package/packages/cache/src/core/interfaces/ICache.ts +71 -0
  118. package/packages/cache/src/core/interfaces/ISession.ts +36 -0
  119. package/packages/cache/src/core/interfaces/index.ts +2 -0
  120. package/packages/cache/src/errors/CacheError.ts +21 -0
  121. package/packages/cache/src/errors/cacheErrorCodes.ts +24 -0
  122. package/packages/cache/src/errors/index.ts +6 -0
  123. package/packages/cache/src/index.ts +40 -0
  124. package/packages/cache/src/middleware/express/cacheMiddleware.ts +145 -0
  125. package/packages/cache/src/middleware/express/index.ts +5 -0
  126. package/packages/cache/src/session/SessionStore.ts +236 -0
  127. package/packages/cache/src/session/index.ts +2 -0
  128. package/packages/cache/src/types.ts +111 -0
  129. package/packages/cache/tsconfig.base.json +17 -0
  130. package/packages/cache/tsconfig.cjs.json +10 -0
  131. package/packages/cache/tsconfig.esm.json +10 -0
  132. package/packages/errors-utils/README.md +197 -0
  133. package/packages/errors-utils/dist/cjs/constants/errorCodes.d.ts +37 -0
  134. package/packages/errors-utils/dist/cjs/constants/errorCodes.js +69 -0
  135. package/packages/errors-utils/dist/cjs/constants/errorMessages.d.ts +9 -0
  136. package/packages/errors-utils/dist/cjs/constants/errorMessages.js +77 -0
  137. package/packages/errors-utils/dist/cjs/constants/index.d.ts +2 -0
  138. package/packages/errors-utils/dist/cjs/constants/index.js +18 -0
  139. package/packages/errors-utils/dist/cjs/error/AppError.d.ts +15 -0
  140. package/packages/errors-utils/dist/cjs/error/AppError.js +26 -0
  141. package/packages/errors-utils/dist/cjs/error/BadRequestError.d.ts +4 -0
  142. package/packages/errors-utils/dist/cjs/error/BadRequestError.js +12 -0
  143. package/packages/errors-utils/dist/cjs/error/ConflictError.d.ts +4 -0
  144. package/packages/errors-utils/dist/cjs/error/ConflictError.js +12 -0
  145. package/packages/errors-utils/dist/cjs/error/CryptoIntegrityError.d.ts +4 -0
  146. package/packages/errors-utils/dist/cjs/error/CryptoIntegrityError.js +11 -0
  147. package/packages/errors-utils/dist/cjs/error/ForbiddenError.d.ts +4 -0
  148. package/packages/errors-utils/dist/cjs/error/ForbiddenError.js +12 -0
  149. package/packages/errors-utils/dist/cjs/error/HTTPError.d.ts +6 -0
  150. package/packages/errors-utils/dist/cjs/error/HTTPError.js +11 -0
  151. package/packages/errors-utils/dist/cjs/error/InternalServerError.d.ts +5 -0
  152. package/packages/errors-utils/dist/cjs/error/InternalServerError.js +12 -0
  153. package/packages/errors-utils/dist/cjs/error/NotFoundError.d.ts +4 -0
  154. package/packages/errors-utils/dist/cjs/error/NotFoundError.js +12 -0
  155. package/packages/errors-utils/dist/cjs/error/ServiceUnavailableError.d.ts +4 -0
  156. package/packages/errors-utils/dist/cjs/error/ServiceUnavailableError.js +11 -0
  157. package/packages/errors-utils/dist/cjs/error/TokenExpiredError.d.ts +4 -0
  158. package/packages/errors-utils/dist/cjs/error/TokenExpiredError.js +12 -0
  159. package/packages/errors-utils/dist/cjs/error/TokenMalformedError.d.ts +4 -0
  160. package/packages/errors-utils/dist/cjs/error/TokenMalformedError.js +12 -0
  161. package/packages/errors-utils/dist/cjs/error/TooManyRequestsError.d.ts +5 -0
  162. package/packages/errors-utils/dist/cjs/error/TooManyRequestsError.js +12 -0
  163. package/packages/errors-utils/dist/cjs/error/UnauthorizedError.d.ts +4 -0
  164. package/packages/errors-utils/dist/cjs/error/UnauthorizedError.js +12 -0
  165. package/packages/errors-utils/dist/cjs/error/ValidationError.d.ts +4 -0
  166. package/packages/errors-utils/dist/cjs/error/ValidationError.js +12 -0
  167. package/packages/errors-utils/dist/cjs/error/index.d.ts +14 -0
  168. package/packages/errors-utils/dist/cjs/error/index.js +39 -0
  169. package/packages/errors-utils/dist/cjs/errorRegistry/errorRegistry.d.ts +19 -0
  170. package/packages/errors-utils/dist/cjs/errorRegistry/errorRegistry.js +63 -0
  171. package/packages/errors-utils/dist/cjs/errorRegistry/index.d.ts +3 -0
  172. package/packages/errors-utils/dist/cjs/errorRegistry/index.js +6 -0
  173. package/packages/errors-utils/dist/cjs/index.d.ts +4 -0
  174. package/packages/errors-utils/dist/cjs/index.js +29 -0
  175. package/packages/errors-utils/dist/cjs/middleware/express/errorConverter.middleware.d.ts +2 -0
  176. package/packages/errors-utils/dist/cjs/middleware/express/errorConverter.middleware.js +39 -0
  177. package/packages/errors-utils/dist/cjs/middleware/express/errorHandler.middleware.d.ts +2 -0
  178. package/packages/errors-utils/dist/cjs/middleware/express/errorHandler.middleware.js +19 -0
  179. package/packages/errors-utils/dist/cjs/middleware/express/index.d.ts +2 -0
  180. package/packages/errors-utils/dist/cjs/middleware/express/index.js +18 -0
  181. package/packages/errors-utils/dist/esm/constants/errorCodes.d.ts +37 -0
  182. package/packages/errors-utils/dist/esm/constants/errorCodes.js +66 -0
  183. package/packages/errors-utils/dist/esm/constants/errorMessages.d.ts +9 -0
  184. package/packages/errors-utils/dist/esm/constants/errorMessages.js +74 -0
  185. package/packages/errors-utils/dist/esm/constants/index.d.ts +2 -0
  186. package/packages/errors-utils/dist/esm/constants/index.js +2 -0
  187. package/packages/errors-utils/dist/esm/error/AppError.d.ts +15 -0
  188. package/packages/errors-utils/dist/esm/error/AppError.js +22 -0
  189. package/packages/errors-utils/dist/esm/error/BadRequestError.d.ts +4 -0
  190. package/packages/errors-utils/dist/esm/error/BadRequestError.js +8 -0
  191. package/packages/errors-utils/dist/esm/error/ConflictError.d.ts +4 -0
  192. package/packages/errors-utils/dist/esm/error/ConflictError.js +8 -0
  193. package/packages/errors-utils/dist/esm/error/CryptoIntegrityError.d.ts +4 -0
  194. package/packages/errors-utils/dist/esm/error/CryptoIntegrityError.js +7 -0
  195. package/packages/errors-utils/dist/esm/error/ForbiddenError.d.ts +4 -0
  196. package/packages/errors-utils/dist/esm/error/ForbiddenError.js +8 -0
  197. package/packages/errors-utils/dist/esm/error/HTTPError.d.ts +6 -0
  198. package/packages/errors-utils/dist/esm/error/HTTPError.js +7 -0
  199. package/packages/errors-utils/dist/esm/error/InternalServerError.d.ts +5 -0
  200. package/packages/errors-utils/dist/esm/error/InternalServerError.js +8 -0
  201. package/packages/errors-utils/dist/esm/error/NotFoundError.d.ts +4 -0
  202. package/packages/errors-utils/dist/esm/error/NotFoundError.js +8 -0
  203. package/packages/errors-utils/dist/esm/error/ServiceUnavailableError.d.ts +4 -0
  204. package/packages/errors-utils/dist/esm/error/ServiceUnavailableError.js +7 -0
  205. package/packages/errors-utils/dist/esm/error/TokenExpiredError.d.ts +4 -0
  206. package/packages/errors-utils/dist/esm/error/TokenExpiredError.js +8 -0
  207. package/packages/errors-utils/dist/esm/error/TokenMalformedError.d.ts +4 -0
  208. package/packages/errors-utils/dist/esm/error/TokenMalformedError.js +8 -0
  209. package/packages/errors-utils/dist/esm/error/TooManyRequestsError.d.ts +5 -0
  210. package/packages/errors-utils/dist/esm/error/TooManyRequestsError.js +8 -0
  211. package/packages/errors-utils/dist/esm/error/UnauthorizedError.d.ts +4 -0
  212. package/packages/errors-utils/dist/esm/error/UnauthorizedError.js +8 -0
  213. package/packages/errors-utils/dist/esm/error/ValidationError.d.ts +4 -0
  214. package/packages/errors-utils/dist/esm/error/ValidationError.js +8 -0
  215. package/packages/errors-utils/dist/esm/error/index.d.ts +14 -0
  216. package/packages/errors-utils/dist/esm/error/index.js +23 -0
  217. package/packages/errors-utils/dist/esm/errorRegistry/errorRegistry.d.ts +19 -0
  218. package/packages/errors-utils/dist/esm/errorRegistry/errorRegistry.js +59 -0
  219. package/packages/errors-utils/dist/esm/errorRegistry/index.d.ts +3 -0
  220. package/packages/errors-utils/dist/esm/errorRegistry/index.js +3 -0
  221. package/packages/errors-utils/dist/esm/index.d.ts +4 -0
  222. package/packages/errors-utils/dist/esm/index.js +13 -0
  223. package/packages/errors-utils/dist/esm/middleware/express/errorConverter.middleware.d.ts +2 -0
  224. package/packages/errors-utils/dist/esm/middleware/express/errorConverter.middleware.js +36 -0
  225. package/packages/errors-utils/dist/esm/middleware/express/errorHandler.middleware.d.ts +2 -0
  226. package/packages/errors-utils/dist/esm/middleware/express/errorHandler.middleware.js +16 -0
  227. package/packages/errors-utils/dist/esm/middleware/express/index.d.ts +2 -0
  228. package/packages/errors-utils/dist/esm/middleware/express/index.js +2 -0
  229. package/packages/errors-utils/dist/types/constants/errorCodes.d.ts +37 -0
  230. package/packages/errors-utils/dist/types/constants/errorMessages.d.ts +9 -0
  231. package/packages/errors-utils/dist/types/constants/index.d.ts +2 -0
  232. package/packages/errors-utils/dist/types/error/AppError.d.ts +15 -0
  233. package/packages/errors-utils/dist/types/error/BadRequestError.d.ts +4 -0
  234. package/packages/errors-utils/dist/types/error/ConflictError.d.ts +4 -0
  235. package/packages/errors-utils/dist/types/error/CryptoIntegrityError.d.ts +4 -0
  236. package/packages/errors-utils/dist/types/error/ForbiddenError.d.ts +4 -0
  237. package/packages/errors-utils/dist/types/error/HTTPError.d.ts +6 -0
  238. package/packages/errors-utils/dist/types/error/InternalServerError.d.ts +5 -0
  239. package/packages/errors-utils/dist/types/error/NotFoundError.d.ts +4 -0
  240. package/packages/errors-utils/dist/types/error/ServiceUnavailableError.d.ts +4 -0
  241. package/packages/errors-utils/dist/types/error/TokenExpiredError.d.ts +4 -0
  242. package/packages/errors-utils/dist/types/error/TokenMalformedError.d.ts +4 -0
  243. package/packages/errors-utils/dist/types/error/TooManyRequestsError.d.ts +5 -0
  244. package/packages/errors-utils/dist/types/error/UnauthorizedError.d.ts +4 -0
  245. package/packages/errors-utils/dist/types/error/ValidationError.d.ts +4 -0
  246. package/packages/errors-utils/dist/types/error/index.d.ts +14 -0
  247. package/packages/errors-utils/dist/types/errorRegistry/errorRegistry.d.ts +19 -0
  248. package/packages/errors-utils/dist/types/errorRegistry/index.d.ts +3 -0
  249. package/packages/errors-utils/dist/types/index.d.ts +4 -0
  250. package/packages/errors-utils/dist/types/middleware/express/errorConverter.middleware.d.ts +2 -0
  251. package/packages/errors-utils/dist/types/middleware/express/errorHandler.middleware.d.ts +2 -0
  252. package/packages/errors-utils/dist/types/middleware/express/index.d.ts +2 -0
  253. package/packages/errors-utils/node_modules/.bin/rimraf +21 -0
  254. package/packages/errors-utils/node_modules/.bin/tsc +21 -0
  255. package/packages/errors-utils/node_modules/.bin/tsserver +21 -0
  256. package/packages/errors-utils/package.json +42 -0
  257. package/packages/errors-utils/src/constants/errorCodes.ts +78 -0
  258. package/packages/errors-utils/src/constants/errorMessages.ts +94 -0
  259. package/packages/errors-utils/src/constants/index.ts +2 -0
  260. package/packages/errors-utils/src/error/AppError.ts +36 -0
  261. package/packages/errors-utils/src/error/BadRequestError.ts +14 -0
  262. package/packages/errors-utils/src/error/ConflictError.ts +14 -0
  263. package/packages/errors-utils/src/error/CryptoIntegrityError.ts +8 -0
  264. package/packages/errors-utils/src/error/ForbiddenError.ts +14 -0
  265. package/packages/errors-utils/src/error/HTTPError.ts +17 -0
  266. package/packages/errors-utils/src/error/InternalServerError.ts +18 -0
  267. package/packages/errors-utils/src/error/NotFoundError.ts +14 -0
  268. package/packages/errors-utils/src/error/ServiceUnavailableError.ts +8 -0
  269. package/packages/errors-utils/src/error/TokenExpiredError.ts +14 -0
  270. package/packages/errors-utils/src/error/TokenMalformedError.ts +14 -0
  271. package/packages/errors-utils/src/error/TooManyRequestsError.ts +13 -0
  272. package/packages/errors-utils/src/error/UnauthorizedError.ts +14 -0
  273. package/packages/errors-utils/src/error/ValidationError.ts +14 -0
  274. package/packages/errors-utils/src/error/index.ts +26 -0
  275. package/packages/errors-utils/src/errorRegistry/errorRegistry.ts +74 -0
  276. package/packages/errors-utils/src/errorRegistry/index.ts +4 -0
  277. package/packages/errors-utils/src/index.ts +13 -0
  278. package/packages/errors-utils/src/middleware/express/errorConverter.middleware.ts +52 -0
  279. package/packages/errors-utils/src/middleware/express/errorHandler.middleware.ts +32 -0
  280. package/packages/errors-utils/src/middleware/express/index.ts +2 -0
  281. package/packages/errors-utils/tsconfig.base.json +17 -0
  282. package/packages/errors-utils/tsconfig.cjs.json +9 -0
  283. package/packages/errors-utils/tsconfig.esm.json +9 -0
  284. package/packages/errors-utils/tsconfig.json +21 -0
  285. package/packages/js-extensions/README.md +218 -0
  286. package/packages/js-extensions/dist/cjs/array/array-extensions.d.ts +1 -0
  287. package/packages/js-extensions/dist/cjs/array/array-extensions.js +154 -0
  288. package/packages/js-extensions/dist/cjs/array/index.d.ts +1 -0
  289. package/packages/js-extensions/dist/cjs/array/index.js +5 -0
  290. package/packages/js-extensions/dist/cjs/core/index.d.ts +2 -0
  291. package/packages/js-extensions/dist/cjs/core/index.js +19 -0
  292. package/packages/js-extensions/dist/cjs/core/performance.d.ts +17 -0
  293. package/packages/js-extensions/dist/cjs/core/performance.js +82 -0
  294. package/packages/js-extensions/dist/cjs/core/validation.d.ts +4 -0
  295. package/packages/js-extensions/dist/cjs/core/validation.js +31 -0
  296. package/packages/js-extensions/dist/cjs/core/version.d.ts +1 -0
  297. package/packages/js-extensions/dist/cjs/core/version.js +9 -0
  298. package/packages/js-extensions/dist/cjs/extensions/index.d.ts +4 -0
  299. package/packages/js-extensions/dist/cjs/extensions/index.js +21 -0
  300. package/packages/js-extensions/dist/cjs/index.d.ts +61 -0
  301. package/packages/js-extensions/dist/cjs/index.js +77 -0
  302. package/packages/js-extensions/dist/cjs/init/index.d.ts +2 -0
  303. package/packages/js-extensions/dist/cjs/init/index.js +19 -0
  304. package/packages/js-extensions/dist/cjs/init/initializer.d.ts +3 -0
  305. package/packages/js-extensions/dist/cjs/init/initializer.js +28 -0
  306. package/packages/js-extensions/dist/cjs/init/options.d.ts +3 -0
  307. package/packages/js-extensions/dist/cjs/init/options.js +23 -0
  308. package/packages/js-extensions/dist/cjs/number/index.d.ts +1 -0
  309. package/packages/js-extensions/dist/cjs/number/index.js +5 -0
  310. package/packages/js-extensions/dist/cjs/number/number-extensions.d.ts +1 -0
  311. package/packages/js-extensions/dist/cjs/number/number-extensions.js +125 -0
  312. package/packages/js-extensions/dist/cjs/object/index.d.ts +1 -0
  313. package/packages/js-extensions/dist/cjs/object/index.js +5 -0
  314. package/packages/js-extensions/dist/cjs/object/object-extensions.d.ts +1 -0
  315. package/packages/js-extensions/dist/cjs/object/object-extensions.js +146 -0
  316. package/packages/js-extensions/dist/cjs/string/index.d.ts +1 -0
  317. package/packages/js-extensions/dist/cjs/string/index.js +5 -0
  318. package/packages/js-extensions/dist/cjs/string/string-extensions.d.ts +1 -0
  319. package/packages/js-extensions/dist/cjs/string/string-extensions.js +123 -0
  320. package/packages/js-extensions/dist/cjs/types/extension-types.d.ts +9 -0
  321. package/packages/js-extensions/dist/cjs/types/extension-types.js +2 -0
  322. package/packages/js-extensions/dist/cjs/types/global-augmentations.d.ts +72 -0
  323. package/packages/js-extensions/dist/cjs/types/global-augmentations.js +2 -0
  324. package/packages/js-extensions/dist/cjs/types/index.d.ts +2 -0
  325. package/packages/js-extensions/dist/cjs/types/index.js +19 -0
  326. package/packages/js-extensions/dist/cjs/utils/config.d.ts +4 -0
  327. package/packages/js-extensions/dist/cjs/utils/config.js +25 -0
  328. package/packages/js-extensions/dist/cjs/utils/defineExtension.d.ts +1 -0
  329. package/packages/js-extensions/dist/cjs/utils/defineExtension.js +13 -0
  330. package/packages/js-extensions/dist/cjs/utils/helpers.d.ts +5 -0
  331. package/packages/js-extensions/dist/cjs/utils/helpers.js +37 -0
  332. package/packages/js-extensions/dist/cjs/utils/index.d.ts +3 -0
  333. package/packages/js-extensions/dist/cjs/utils/index.js +20 -0
  334. package/packages/js-extensions/dist/esm/array/array-extensions.d.ts +1 -0
  335. package/packages/js-extensions/dist/esm/array/array-extensions.js +151 -0
  336. package/packages/js-extensions/dist/esm/array/index.d.ts +1 -0
  337. package/packages/js-extensions/dist/esm/array/index.js +1 -0
  338. package/packages/js-extensions/dist/esm/core/index.d.ts +2 -0
  339. package/packages/js-extensions/dist/esm/core/index.js +3 -0
  340. package/packages/js-extensions/dist/esm/core/performance.d.ts +17 -0
  341. package/packages/js-extensions/dist/esm/core/performance.js +74 -0
  342. package/packages/js-extensions/dist/esm/core/validation.d.ts +4 -0
  343. package/packages/js-extensions/dist/esm/core/validation.js +25 -0
  344. package/packages/js-extensions/dist/esm/core/version.d.ts +1 -0
  345. package/packages/js-extensions/dist/esm/core/version.js +5 -0
  346. package/packages/js-extensions/dist/esm/extensions/index.d.ts +4 -0
  347. package/packages/js-extensions/dist/esm/extensions/index.js +5 -0
  348. package/packages/js-extensions/dist/esm/index.d.ts +61 -0
  349. package/packages/js-extensions/dist/esm/index.js +68 -0
  350. package/packages/js-extensions/dist/esm/init/index.d.ts +2 -0
  351. package/packages/js-extensions/dist/esm/init/index.js +3 -0
  352. package/packages/js-extensions/dist/esm/init/initializer.d.ts +3 -0
  353. package/packages/js-extensions/dist/esm/init/initializer.js +24 -0
  354. package/packages/js-extensions/dist/esm/init/options.d.ts +3 -0
  355. package/packages/js-extensions/dist/esm/init/options.js +19 -0
  356. package/packages/js-extensions/dist/esm/number/index.d.ts +1 -0
  357. package/packages/js-extensions/dist/esm/number/index.js +1 -0
  358. package/packages/js-extensions/dist/esm/number/number-extensions.d.ts +1 -0
  359. package/packages/js-extensions/dist/esm/number/number-extensions.js +122 -0
  360. package/packages/js-extensions/dist/esm/object/index.d.ts +1 -0
  361. package/packages/js-extensions/dist/esm/object/index.js +1 -0
  362. package/packages/js-extensions/dist/esm/object/object-extensions.d.ts +1 -0
  363. package/packages/js-extensions/dist/esm/object/object-extensions.js +143 -0
  364. package/packages/js-extensions/dist/esm/string/index.d.ts +1 -0
  365. package/packages/js-extensions/dist/esm/string/index.js +1 -0
  366. package/packages/js-extensions/dist/esm/string/string-extensions.d.ts +1 -0
  367. package/packages/js-extensions/dist/esm/string/string-extensions.js +120 -0
  368. package/packages/js-extensions/dist/esm/types/extension-types.d.ts +9 -0
  369. package/packages/js-extensions/dist/esm/types/extension-types.js +1 -0
  370. package/packages/js-extensions/dist/esm/types/global-augmentations.d.ts +72 -0
  371. package/packages/js-extensions/dist/esm/types/global-augmentations.js +1 -0
  372. package/packages/js-extensions/dist/esm/types/index.d.ts +2 -0
  373. package/packages/js-extensions/dist/esm/types/index.js +3 -0
  374. package/packages/js-extensions/dist/esm/utils/config.d.ts +4 -0
  375. package/packages/js-extensions/dist/esm/utils/config.js +20 -0
  376. package/packages/js-extensions/dist/esm/utils/defineExtension.d.ts +1 -0
  377. package/packages/js-extensions/dist/esm/utils/defineExtension.js +10 -0
  378. package/packages/js-extensions/dist/esm/utils/helpers.d.ts +5 -0
  379. package/packages/js-extensions/dist/esm/utils/helpers.js +30 -0
  380. package/packages/js-extensions/dist/esm/utils/index.d.ts +3 -0
  381. package/packages/js-extensions/dist/esm/utils/index.js +4 -0
  382. package/packages/js-extensions/dist/types/array/array-extensions.d.ts +1 -0
  383. package/packages/js-extensions/dist/types/array/index.d.ts +1 -0
  384. package/packages/js-extensions/dist/types/core/index.d.ts +2 -0
  385. package/packages/js-extensions/dist/types/core/performance.d.ts +17 -0
  386. package/packages/js-extensions/dist/types/core/validation.d.ts +4 -0
  387. package/packages/js-extensions/dist/types/core/version.d.ts +1 -0
  388. package/packages/js-extensions/dist/types/extensions/index.d.ts +4 -0
  389. package/packages/js-extensions/dist/types/index.d.ts +61 -0
  390. package/packages/js-extensions/dist/types/init/index.d.ts +2 -0
  391. package/packages/js-extensions/dist/types/init/initializer.d.ts +3 -0
  392. package/packages/js-extensions/dist/types/init/options.d.ts +3 -0
  393. package/packages/js-extensions/dist/types/number/index.d.ts +1 -0
  394. package/packages/js-extensions/dist/types/number/number-extensions.d.ts +1 -0
  395. package/packages/js-extensions/dist/types/object/index.d.ts +1 -0
  396. package/packages/js-extensions/dist/types/object/object-extensions.d.ts +1 -0
  397. package/packages/js-extensions/dist/types/string/index.d.ts +1 -0
  398. package/packages/js-extensions/dist/types/string/string-extensions.d.ts +1 -0
  399. package/packages/js-extensions/dist/types/types/extension-types.d.ts +9 -0
  400. package/packages/js-extensions/dist/types/types/global-augmentations.d.ts +72 -0
  401. package/packages/js-extensions/dist/types/types/index.d.ts +2 -0
  402. package/packages/js-extensions/dist/types/utils/config.d.ts +4 -0
  403. package/packages/js-extensions/dist/types/utils/defineExtension.d.ts +1 -0
  404. package/packages/js-extensions/dist/types/utils/helpers.d.ts +5 -0
  405. package/packages/js-extensions/dist/types/utils/index.d.ts +3 -0
  406. package/packages/js-extensions/node_modules/.bin/rimraf +21 -0
  407. package/packages/js-extensions/node_modules/.bin/tsc +21 -0
  408. package/packages/js-extensions/node_modules/.bin/tsserver +21 -0
  409. package/packages/js-extensions/package.json +48 -0
  410. package/packages/js-extensions/src/array/array-extensions.ts +292 -0
  411. package/packages/js-extensions/src/array/index.ts +1 -0
  412. package/packages/js-extensions/src/core/index.ts +3 -0
  413. package/packages/js-extensions/src/core/performance.ts +103 -0
  414. package/packages/js-extensions/src/core/validation.ts +42 -0
  415. package/packages/js-extensions/src/core/version.ts +7 -0
  416. package/packages/js-extensions/src/extensions/index.ts +5 -0
  417. package/packages/js-extensions/src/index.ts +122 -0
  418. package/packages/js-extensions/src/init/index.ts +3 -0
  419. package/packages/js-extensions/src/init/initializer.ts +32 -0
  420. package/packages/js-extensions/src/init/options.ts +32 -0
  421. package/packages/js-extensions/src/number/index.ts +1 -0
  422. package/packages/js-extensions/src/number/number-extensions.ts +129 -0
  423. package/packages/js-extensions/src/object/index.ts +1 -0
  424. package/packages/js-extensions/src/object/object-extensions.ts +143 -0
  425. package/packages/js-extensions/src/string/index.ts +1 -0
  426. package/packages/js-extensions/src/string/string-extensions.ts +142 -0
  427. package/packages/js-extensions/src/types/extension-types.ts +12 -0
  428. package/packages/js-extensions/src/types/global-augmentations.ts +81 -0
  429. package/packages/js-extensions/src/types/index.ts +3 -0
  430. package/packages/js-extensions/src/utils/config.ts +33 -0
  431. package/packages/js-extensions/src/utils/defineExtension.ts +14 -0
  432. package/packages/js-extensions/src/utils/helpers.ts +35 -0
  433. package/packages/js-extensions/src/utils/index.ts +4 -0
  434. package/packages/js-extensions/tsconfig.base.json +18 -0
  435. package/packages/js-extensions/tsconfig.cjs.json +9 -0
  436. package/packages/js-extensions/tsconfig.esm.json +9 -0
  437. package/packages/js-extensions/tsconfig.json +22 -0
  438. package/packages/response-utils/README.md +189 -95
  439. package/packages/response-utils/dist/cjs/adapters/express/ExpressResponder.d.ts +18 -0
  440. package/packages/response-utils/dist/cjs/adapters/express/ExpressResponder.js +46 -0
  441. package/packages/response-utils/dist/cjs/constants/httpStatus.d.ts +54 -0
  442. package/packages/response-utils/dist/cjs/constants/httpStatus.js +34 -0
  443. package/packages/response-utils/dist/cjs/core/BaseResponder.d.ts +31 -0
  444. package/packages/response-utils/dist/cjs/core/BaseResponder.js +116 -0
  445. package/packages/response-utils/dist/cjs/core/config.d.ts +15 -0
  446. package/packages/response-utils/dist/cjs/core/config.js +15 -0
  447. package/packages/response-utils/dist/cjs/core/factory.d.ts +3 -0
  448. package/packages/response-utils/dist/cjs/core/factory.js +10 -0
  449. package/packages/response-utils/dist/cjs/core/types.d.ts +32 -0
  450. package/packages/response-utils/dist/cjs/core/types.js +2 -0
  451. package/packages/response-utils/dist/cjs/index.d.ts +8 -0
  452. package/packages/response-utils/dist/cjs/index.js +32 -0
  453. package/packages/response-utils/dist/cjs/legacy.d.ts +19 -0
  454. package/packages/response-utils/dist/cjs/legacy.js +23 -0
  455. package/packages/response-utils/dist/cjs/middleware/express/expressMiddleware.d.ts +3 -0
  456. package/packages/response-utils/dist/cjs/middleware/express/expressMiddleware.js +13 -0
  457. package/packages/response-utils/dist/esm/adapters/express/ExpressResponder.d.ts +18 -0
  458. package/packages/response-utils/dist/esm/adapters/express/ExpressResponder.js +42 -0
  459. package/packages/response-utils/dist/esm/constants/httpStatus.d.ts +54 -0
  460. package/packages/response-utils/dist/esm/constants/httpStatus.js +31 -0
  461. package/packages/response-utils/dist/esm/core/BaseResponder.d.ts +31 -0
  462. package/packages/response-utils/dist/esm/core/BaseResponder.js +112 -0
  463. package/packages/response-utils/dist/esm/core/config.d.ts +15 -0
  464. package/packages/response-utils/dist/esm/core/config.js +12 -0
  465. package/packages/response-utils/dist/esm/core/factory.d.ts +3 -0
  466. package/packages/response-utils/dist/esm/core/factory.js +6 -0
  467. package/packages/response-utils/dist/esm/core/types.d.ts +32 -0
  468. package/packages/response-utils/dist/esm/core/types.js +1 -0
  469. package/packages/response-utils/dist/esm/index.d.ts +8 -0
  470. package/packages/response-utils/dist/esm/index.js +10 -0
  471. package/packages/response-utils/dist/esm/legacy.d.ts +19 -0
  472. package/packages/response-utils/dist/esm/legacy.js +18 -0
  473. package/packages/response-utils/dist/esm/middleware/express/expressMiddleware.d.ts +3 -0
  474. package/packages/response-utils/dist/esm/middleware/express/expressMiddleware.js +9 -0
  475. package/packages/response-utils/dist/types/adapters/express/ExpressResponder.d.ts +18 -0
  476. package/packages/response-utils/dist/types/constants/httpStatus.d.ts +54 -0
  477. package/packages/response-utils/dist/types/core/BaseResponder.d.ts +31 -0
  478. package/packages/response-utils/dist/types/core/config.d.ts +15 -0
  479. package/packages/response-utils/dist/types/core/factory.d.ts +3 -0
  480. package/packages/response-utils/dist/types/core/types.d.ts +32 -0
  481. package/packages/response-utils/dist/types/index.d.ts +8 -0
  482. package/packages/response-utils/dist/types/legacy.d.ts +19 -0
  483. package/packages/response-utils/dist/types/middleware/express/expressMiddleware.d.ts +3 -0
  484. package/packages/response-utils/node_modules/.bin/rimraf +21 -0
  485. package/packages/response-utils/node_modules/.bin/tsc +21 -0
  486. package/packages/response-utils/node_modules/.bin/tsserver +21 -0
  487. package/packages/response-utils/package.json +38 -10
  488. package/packages/response-utils/src/adapters/express/ExpressResponder.ts +64 -0
  489. package/packages/response-utils/src/constants/httpStatus.ts +42 -0
  490. package/packages/response-utils/src/core/BaseResponder.ts +198 -0
  491. package/packages/response-utils/src/core/config.ts +29 -0
  492. package/packages/response-utils/src/core/factory.ts +11 -0
  493. package/packages/response-utils/src/core/types.ts +34 -0
  494. package/packages/response-utils/src/index.ts +13 -168
  495. package/packages/response-utils/src/middleware/express/expressMiddleware.ts +14 -0
  496. package/packages/response-utils/tsconfig.base.json +11 -0
  497. package/packages/response-utils/tsconfig.cjs.json +9 -0
  498. package/packages/response-utils/tsconfig.esm.json +9 -0
  499. package/packages/security/README.md +298 -86
  500. package/packages/security/dist/cjs/core/crypto/cryptoManager.d.ts +111 -0
  501. package/packages/security/dist/cjs/core/crypto/cryptoManager.js +208 -0
  502. package/packages/security/dist/cjs/core/crypto/decrypt.d.ts +1 -0
  503. package/packages/security/dist/cjs/core/crypto/decrypt.js +21 -0
  504. package/packages/security/dist/cjs/core/crypto/encrypt.d.ts +1 -0
  505. package/packages/security/dist/cjs/core/crypto/encrypt.js +16 -0
  506. package/packages/security/dist/cjs/core/crypto/hmac.d.ts +8 -0
  507. package/packages/security/dist/cjs/core/crypto/hmac.js +24 -0
  508. package/packages/security/dist/cjs/core/crypto/index.d.ts +5 -0
  509. package/packages/security/dist/cjs/core/crypto/index.js +28 -0
  510. package/packages/security/dist/cjs/core/crypto/random.d.ts +8 -0
  511. package/packages/security/dist/cjs/core/crypto/random.js +21 -0
  512. package/packages/security/dist/cjs/core/jwt/decode.d.ts +12 -0
  513. package/packages/security/dist/cjs/core/jwt/decode.js +28 -0
  514. package/packages/security/dist/cjs/core/jwt/extractToken.d.ts +11 -0
  515. package/packages/security/dist/cjs/core/jwt/extractToken.js +54 -0
  516. package/packages/security/dist/cjs/core/jwt/generateTokens.d.ts +4 -0
  517. package/packages/security/dist/cjs/core/jwt/generateTokens.js +37 -0
  518. package/packages/security/dist/cjs/core/jwt/index.d.ts +8 -0
  519. package/packages/security/dist/cjs/core/jwt/index.js +24 -0
  520. package/packages/security/dist/cjs/core/jwt/jwtManager.d.ts +43 -0
  521. package/packages/security/dist/cjs/core/jwt/jwtManager.js +188 -0
  522. package/packages/security/dist/cjs/core/jwt/parseDuration.d.ts +1 -0
  523. package/packages/security/dist/cjs/core/jwt/parseDuration.js +30 -0
  524. package/packages/security/dist/cjs/core/jwt/signToken.d.ts +2 -0
  525. package/packages/security/dist/cjs/core/jwt/signToken.js +27 -0
  526. package/packages/security/dist/cjs/core/jwt/types.d.ts +22 -0
  527. package/packages/security/dist/cjs/core/jwt/types.js +2 -0
  528. package/packages/security/dist/cjs/core/jwt/validateToken.d.ts +16 -0
  529. package/packages/security/dist/cjs/core/jwt/validateToken.js +46 -0
  530. package/packages/security/dist/cjs/core/jwt/verify.d.ts +18 -0
  531. package/packages/security/dist/cjs/core/jwt/verify.js +89 -0
  532. package/packages/security/dist/cjs/core/password/hash.d.ts +10 -0
  533. package/packages/security/dist/cjs/core/password/hash.js +45 -0
  534. package/packages/security/dist/cjs/core/password/index.d.ts +3 -0
  535. package/packages/security/dist/cjs/core/password/index.js +19 -0
  536. package/packages/security/dist/cjs/core/password/passwordManager.d.ts +29 -0
  537. package/packages/security/dist/cjs/core/password/passwordManager.js +212 -0
  538. package/packages/security/dist/cjs/core/password/strength.d.ts +2 -0
  539. package/packages/security/dist/cjs/core/password/strength.js +27 -0
  540. package/packages/security/dist/cjs/core/password/types.d.ts +7 -0
  541. package/packages/security/dist/cjs/core/password/types.js +2 -0
  542. package/packages/security/dist/cjs/core/password/utils.d.ts +16 -0
  543. package/packages/security/dist/cjs/core/password/utils.js +53 -0
  544. package/packages/security/dist/cjs/core/password/verify.d.ts +10 -0
  545. package/packages/security/dist/cjs/core/password/verify.js +46 -0
  546. package/packages/security/dist/cjs/index.d.ts +40 -0
  547. package/packages/security/dist/cjs/index.js +56 -0
  548. package/packages/security/dist/cjs/interfaces/jwt.interface.d.ts +47 -0
  549. package/packages/security/dist/cjs/interfaces/jwt.interface.js +2 -0
  550. package/packages/security/dist/cjs/interfaces/password.interface.d.ts +60 -0
  551. package/packages/security/dist/cjs/interfaces/password.interface.js +2 -0
  552. package/packages/security/dist/esm/core/crypto/cryptoManager.d.ts +111 -0
  553. package/packages/security/dist/esm/core/crypto/cryptoManager.js +203 -0
  554. package/packages/security/dist/esm/core/crypto/decrypt.d.ts +1 -0
  555. package/packages/security/dist/esm/core/crypto/decrypt.js +14 -0
  556. package/packages/security/dist/esm/core/crypto/encrypt.d.ts +1 -0
  557. package/packages/security/dist/esm/core/crypto/encrypt.js +9 -0
  558. package/packages/security/dist/esm/core/crypto/hmac.d.ts +8 -0
  559. package/packages/security/dist/esm/core/crypto/hmac.js +16 -0
  560. package/packages/security/dist/esm/core/crypto/index.d.ts +5 -0
  561. package/packages/security/dist/esm/core/crypto/index.js +5 -0
  562. package/packages/security/dist/esm/core/crypto/random.d.ts +8 -0
  563. package/packages/security/dist/esm/core/crypto/random.js +13 -0
  564. package/packages/security/dist/esm/core/jwt/decode.d.ts +12 -0
  565. package/packages/security/dist/esm/core/jwt/decode.js +24 -0
  566. package/packages/security/dist/esm/core/jwt/extractToken.d.ts +11 -0
  567. package/packages/security/dist/esm/core/jwt/extractToken.js +51 -0
  568. package/packages/security/dist/esm/core/jwt/generateTokens.d.ts +4 -0
  569. package/packages/security/dist/esm/core/jwt/generateTokens.js +32 -0
  570. package/packages/security/dist/esm/core/jwt/index.d.ts +8 -0
  571. package/packages/security/dist/esm/core/jwt/index.js +8 -0
  572. package/packages/security/dist/esm/core/jwt/jwtManager.d.ts +43 -0
  573. package/packages/security/dist/esm/core/jwt/jwtManager.js +181 -0
  574. package/packages/security/dist/esm/core/jwt/parseDuration.d.ts +1 -0
  575. package/packages/security/dist/esm/core/jwt/parseDuration.js +27 -0
  576. package/packages/security/dist/esm/core/jwt/signToken.d.ts +2 -0
  577. package/packages/security/dist/esm/core/jwt/signToken.js +23 -0
  578. package/packages/security/dist/esm/core/jwt/types.d.ts +22 -0
  579. package/packages/security/dist/esm/core/jwt/types.js +1 -0
  580. package/packages/security/dist/esm/core/jwt/validateToken.d.ts +16 -0
  581. package/packages/security/dist/esm/core/jwt/validateToken.js +42 -0
  582. package/packages/security/dist/esm/core/jwt/verify.d.ts +18 -0
  583. package/packages/security/dist/esm/core/jwt/verify.js +82 -0
  584. package/packages/security/dist/esm/core/password/hash.d.ts +10 -0
  585. package/packages/security/dist/esm/core/password/hash.js +35 -0
  586. package/packages/security/dist/esm/core/password/index.d.ts +3 -0
  587. package/packages/security/dist/esm/core/password/index.js +3 -0
  588. package/packages/security/dist/esm/core/password/passwordManager.d.ts +29 -0
  589. package/packages/security/dist/esm/core/password/passwordManager.js +205 -0
  590. package/packages/security/dist/esm/core/password/strength.d.ts +2 -0
  591. package/packages/security/dist/esm/core/password/strength.js +23 -0
  592. package/packages/security/dist/esm/core/password/types.d.ts +7 -0
  593. package/packages/security/dist/esm/core/password/types.js +1 -0
  594. package/packages/security/dist/esm/core/password/utils.d.ts +16 -0
  595. package/packages/security/dist/esm/core/password/utils.js +44 -0
  596. package/packages/security/dist/esm/core/password/verify.d.ts +10 -0
  597. package/packages/security/dist/esm/core/password/verify.js +36 -0
  598. package/packages/security/dist/esm/index.d.ts +40 -0
  599. package/packages/security/dist/esm/index.js +13 -0
  600. package/packages/security/dist/esm/interfaces/jwt.interface.d.ts +47 -0
  601. package/packages/security/dist/esm/interfaces/jwt.interface.js +1 -0
  602. package/packages/security/dist/esm/interfaces/password.interface.d.ts +60 -0
  603. package/packages/security/dist/esm/interfaces/password.interface.js +1 -0
  604. package/packages/security/dist/types/core/crypto/cryptoManager.d.ts +111 -0
  605. package/packages/security/dist/types/core/crypto/decrypt.d.ts +1 -0
  606. package/packages/security/dist/types/core/crypto/encrypt.d.ts +1 -0
  607. package/packages/security/dist/types/core/crypto/hmac.d.ts +8 -0
  608. package/packages/security/dist/types/core/crypto/index.d.ts +5 -0
  609. package/packages/security/dist/types/core/crypto/random.d.ts +8 -0
  610. package/packages/security/dist/types/core/jwt/decode.d.ts +12 -0
  611. package/packages/security/dist/types/core/jwt/extractToken.d.ts +11 -0
  612. package/packages/security/dist/types/core/jwt/generateTokens.d.ts +4 -0
  613. package/packages/security/dist/types/core/jwt/index.d.ts +8 -0
  614. package/packages/security/dist/types/core/jwt/jwtManager.d.ts +43 -0
  615. package/packages/security/dist/types/core/jwt/parseDuration.d.ts +1 -0
  616. package/packages/security/dist/types/core/jwt/signToken.d.ts +2 -0
  617. package/packages/security/dist/types/core/jwt/types.d.ts +22 -0
  618. package/packages/security/dist/types/core/jwt/validateToken.d.ts +16 -0
  619. package/packages/security/dist/types/core/jwt/verify.d.ts +18 -0
  620. package/packages/security/dist/types/core/password/hash.d.ts +10 -0
  621. package/packages/security/dist/types/core/password/index.d.ts +3 -0
  622. package/packages/security/dist/types/core/password/passwordManager.d.ts +29 -0
  623. package/packages/security/dist/types/core/password/strength.d.ts +2 -0
  624. package/packages/security/dist/types/core/password/types.d.ts +7 -0
  625. package/packages/security/dist/types/core/password/utils.d.ts +16 -0
  626. package/packages/security/dist/types/core/password/verify.d.ts +10 -0
  627. package/packages/security/dist/types/index.d.ts +40 -0
  628. package/packages/security/dist/types/interfaces/jwt.interface.d.ts +47 -0
  629. package/packages/security/dist/types/interfaces/password.interface.d.ts +60 -0
  630. package/packages/security/node_modules/.bin/bcrypt +21 -0
  631. package/packages/security/node_modules/.bin/rimraf +21 -0
  632. package/packages/security/node_modules/.bin/tsc +21 -0
  633. package/packages/security/node_modules/.bin/tsserver +21 -0
  634. package/packages/security/package.json +23 -4
  635. package/packages/security/src/core/crypto/cryptoManager.ts +324 -0
  636. package/packages/security/src/core/crypto/decrypt.ts +20 -0
  637. package/packages/security/src/core/crypto/encrypt.ts +14 -0
  638. package/packages/security/src/core/crypto/hmac.ts +23 -0
  639. package/packages/security/src/core/crypto/index.ts +5 -0
  640. package/packages/security/src/core/crypto/random.ts +15 -0
  641. package/packages/security/src/core/jwt/decode.ts +28 -0
  642. package/packages/security/src/core/jwt/extractToken.ts +59 -0
  643. package/packages/security/src/core/jwt/generateTokens.ts +51 -0
  644. package/packages/security/src/core/jwt/index.ts +8 -0
  645. package/packages/security/src/core/jwt/jwtManager.ts +233 -0
  646. package/packages/security/src/core/jwt/parseDuration.ts +34 -0
  647. package/packages/security/src/core/jwt/signToken.ts +32 -0
  648. package/packages/security/src/core/jwt/types.ts +29 -0
  649. package/packages/security/src/core/jwt/validateToken.ts +60 -0
  650. package/packages/security/src/core/jwt/verify.ts +117 -0
  651. package/packages/security/src/core/password/hash.ts +46 -0
  652. package/packages/security/src/core/password/index.ts +3 -0
  653. package/packages/security/src/core/password/passwordManager.ts +244 -0
  654. package/packages/security/src/core/password/strength.ts +40 -0
  655. package/packages/security/src/core/password/types.ts +7 -0
  656. package/packages/security/src/core/password/utils.ts +47 -0
  657. package/packages/security/src/core/password/verify.ts +49 -0
  658. package/packages/security/src/index.ts +21 -39
  659. package/packages/security/src/interfaces/jwt.interface.ts +58 -0
  660. package/packages/security/src/interfaces/password.interface.ts +54 -0
  661. package/packages/security/tsconfig.base.json +17 -0
  662. package/packages/security/tsconfig.cjs.json +9 -0
  663. package/packages/security/tsconfig.esm.json +9 -0
  664. package/packages/server-utils/README.md +412 -49
  665. package/packages/server-utils/dist/cjs/core/health.d.ts +5 -0
  666. package/packages/server-utils/dist/cjs/core/health.js +45 -0
  667. package/packages/server-utils/dist/cjs/core/periodic-health.d.ts +11 -0
  668. package/packages/server-utils/dist/cjs/core/periodic-health.js +68 -0
  669. package/packages/server-utils/dist/cjs/core/server.d.ts +73 -0
  670. package/packages/server-utils/dist/cjs/core/server.js +437 -0
  671. package/packages/server-utils/dist/cjs/core/shutdown.d.ts +5 -0
  672. package/packages/server-utils/dist/cjs/core/shutdown.js +58 -0
  673. package/packages/server-utils/dist/cjs/index.d.ts +46 -0
  674. package/packages/server-utils/dist/cjs/index.js +91 -0
  675. package/packages/server-utils/dist/cjs/middleware/auth.middleware.d.ts +6 -0
  676. package/packages/server-utils/dist/cjs/middleware/auth.middleware.js +44 -0
  677. package/packages/server-utils/dist/cjs/middleware/cache.middleware.d.ts +2 -0
  678. package/packages/server-utils/dist/cjs/middleware/cache.middleware.js +58 -0
  679. package/packages/server-utils/dist/cjs/middleware/errorHandler.middleware.d.ts +2 -0
  680. package/packages/server-utils/dist/cjs/middleware/errorHandler.middleware.js +47 -0
  681. package/packages/server-utils/dist/cjs/middleware/index.d.ts +10 -0
  682. package/packages/server-utils/dist/cjs/middleware/index.js +40 -0
  683. package/packages/server-utils/dist/cjs/middleware/logging.middleware.d.ts +2 -0
  684. package/packages/server-utils/dist/cjs/middleware/logging.middleware.js +19 -0
  685. package/packages/server-utils/dist/cjs/middleware/plugins.middleware.d.ts +14 -0
  686. package/packages/server-utils/dist/cjs/middleware/plugins.middleware.js +58 -0
  687. package/packages/server-utils/dist/cjs/middleware/rateLimiter.middleware.d.ts +8 -0
  688. package/packages/server-utils/dist/cjs/middleware/rateLimiter.middleware.js +35 -0
  689. package/packages/server-utils/dist/cjs/middleware/requestId.middleware.d.ts +2 -0
  690. package/packages/server-utils/dist/cjs/middleware/requestId.middleware.js +12 -0
  691. package/packages/server-utils/dist/cjs/middleware/session.middleware.d.ts +2 -0
  692. package/packages/server-utils/dist/cjs/middleware/session.middleware.js +53 -0
  693. package/packages/server-utils/dist/cjs/middleware/validation.middleware.d.ts +11 -0
  694. package/packages/server-utils/dist/cjs/middleware/validation.middleware.js +67 -0
  695. package/packages/server-utils/dist/cjs/types/index.d.ts +87 -0
  696. package/packages/server-utils/dist/cjs/types/index.js +2 -0
  697. package/packages/server-utils/dist/cjs/utils/utils.d.ts +3 -0
  698. package/packages/server-utils/dist/cjs/utils/utils.js +43 -0
  699. package/packages/server-utils/dist/esm/core/health.d.ts +5 -0
  700. package/packages/server-utils/dist/esm/core/health.js +40 -0
  701. package/packages/server-utils/dist/esm/core/periodic-health.d.ts +11 -0
  702. package/packages/server-utils/dist/esm/core/periodic-health.js +64 -0
  703. package/packages/server-utils/dist/esm/core/server.d.ts +73 -0
  704. package/packages/server-utils/dist/esm/core/server.js +396 -0
  705. package/packages/server-utils/dist/esm/core/shutdown.d.ts +5 -0
  706. package/packages/server-utils/dist/esm/core/shutdown.js +53 -0
  707. package/packages/server-utils/dist/esm/index.d.ts +46 -0
  708. package/packages/server-utils/dist/esm/index.js +58 -0
  709. package/packages/server-utils/dist/esm/middleware/auth.middleware.d.ts +6 -0
  710. package/packages/server-utils/dist/esm/middleware/auth.middleware.js +41 -0
  711. package/packages/server-utils/dist/esm/middleware/cache.middleware.d.ts +2 -0
  712. package/packages/server-utils/dist/esm/middleware/cache.middleware.js +55 -0
  713. package/packages/server-utils/dist/esm/middleware/errorHandler.middleware.d.ts +2 -0
  714. package/packages/server-utils/dist/esm/middleware/errorHandler.middleware.js +44 -0
  715. package/packages/server-utils/dist/esm/middleware/index.d.ts +10 -0
  716. package/packages/server-utils/dist/esm/middleware/index.js +20 -0
  717. package/packages/server-utils/dist/esm/middleware/logging.middleware.d.ts +2 -0
  718. package/packages/server-utils/dist/esm/middleware/logging.middleware.js +16 -0
  719. package/packages/server-utils/dist/esm/middleware/plugins.middleware.d.ts +14 -0
  720. package/packages/server-utils/dist/esm/middleware/plugins.middleware.js +47 -0
  721. package/packages/server-utils/dist/esm/middleware/rateLimiter.middleware.d.ts +8 -0
  722. package/packages/server-utils/dist/esm/middleware/rateLimiter.middleware.js +32 -0
  723. package/packages/server-utils/dist/esm/middleware/requestId.middleware.d.ts +2 -0
  724. package/packages/server-utils/dist/esm/middleware/requestId.middleware.js +9 -0
  725. package/packages/server-utils/dist/esm/middleware/session.middleware.d.ts +2 -0
  726. package/packages/server-utils/dist/esm/middleware/session.middleware.js +50 -0
  727. package/packages/server-utils/dist/esm/middleware/validation.middleware.d.ts +11 -0
  728. package/packages/server-utils/dist/esm/middleware/validation.middleware.js +64 -0
  729. package/packages/server-utils/dist/esm/types/index.d.ts +87 -0
  730. package/packages/server-utils/dist/esm/types/index.js +1 -0
  731. package/packages/server-utils/dist/esm/utils/utils.d.ts +3 -0
  732. package/packages/server-utils/dist/esm/utils/utils.js +38 -0
  733. package/packages/server-utils/dist/types/core/health.d.ts +5 -0
  734. package/packages/server-utils/dist/types/core/periodic-health.d.ts +11 -0
  735. package/packages/server-utils/dist/types/core/server.d.ts +73 -0
  736. package/packages/server-utils/dist/types/core/shutdown.d.ts +5 -0
  737. package/packages/server-utils/dist/types/index.d.ts +46 -0
  738. package/packages/server-utils/dist/types/middleware/auth.middleware.d.ts +6 -0
  739. package/packages/server-utils/dist/types/middleware/cache.middleware.d.ts +2 -0
  740. package/packages/server-utils/dist/types/middleware/errorHandler.middleware.d.ts +2 -0
  741. package/packages/server-utils/dist/types/middleware/index.d.ts +10 -0
  742. package/packages/server-utils/dist/types/middleware/logging.middleware.d.ts +2 -0
  743. package/packages/server-utils/dist/types/middleware/plugins.middleware.d.ts +14 -0
  744. package/packages/server-utils/dist/types/middleware/rateLimiter.middleware.d.ts +8 -0
  745. package/packages/server-utils/dist/types/middleware/requestId.middleware.d.ts +2 -0
  746. package/packages/server-utils/dist/types/middleware/session.middleware.d.ts +2 -0
  747. package/packages/server-utils/dist/types/middleware/validation.middleware.d.ts +11 -0
  748. package/packages/server-utils/dist/types/types/index.d.ts +87 -0
  749. package/packages/server-utils/dist/types/utils/utils.d.ts +3 -0
  750. package/packages/server-utils/node_modules/.bin/rimraf +21 -0
  751. package/packages/server-utils/node_modules/.bin/tsc +21 -0
  752. package/packages/server-utils/node_modules/.bin/tsserver +21 -0
  753. package/packages/server-utils/package.json +30 -6
  754. package/packages/server-utils/src/core/health.ts +58 -0
  755. package/packages/server-utils/src/core/periodic-health.ts +88 -0
  756. package/packages/server-utils/src/core/server.ts +650 -0
  757. package/packages/server-utils/src/core/shutdown.ts +78 -0
  758. package/packages/server-utils/src/express-augment.d.ts +35 -0
  759. package/packages/server-utils/src/index.ts +132 -95
  760. package/packages/server-utils/src/middleware/auth.middleware.ts +79 -0
  761. package/packages/server-utils/src/middleware/cache.middleware.ts +68 -0
  762. package/packages/server-utils/src/middleware/errorHandler.middleware.ts +59 -0
  763. package/packages/server-utils/src/middleware/index.ts +46 -0
  764. package/packages/server-utils/src/middleware/logging.middleware.ts +29 -0
  765. package/packages/server-utils/src/middleware/plugins.middleware.ts +64 -0
  766. package/packages/server-utils/src/middleware/rateLimiter.middleware.ts +59 -0
  767. package/packages/server-utils/src/middleware/requestId.middleware.ts +16 -0
  768. package/packages/server-utils/src/middleware/session.middleware.ts +69 -0
  769. package/packages/server-utils/src/middleware/validation.middleware.ts +100 -0
  770. package/packages/server-utils/src/types/index.ts +114 -0
  771. package/packages/server-utils/src/utils/utils.ts +43 -0
  772. package/packages/server-utils/tsconfig.base.json +17 -0
  773. package/packages/server-utils/tsconfig.cjs.json +9 -0
  774. package/packages/server-utils/tsconfig.esm.json +9 -0
  775. package/packages/server-utils/src/health.ts +0 -47
  776. package/packages/server-utils/src/middleware.ts +0 -275
  777. package/packages/server-utils/src/server.ts +0 -320
  778. package/packages/server-utils/src/shutdown.ts +0 -60
  779. package/packages/server-utils/src/types.ts +0 -64
  780. package/packages/server-utils/src/utils.ts +0 -34
  781. /package/packages/{response-utils → cache}/tsconfig.json +0 -0
@@ -0,0 +1,292 @@
1
+ import { defineExtension } from "src/utils"
2
+
3
+ let arrayExtended = false
4
+
5
+ export function extendArray() {
6
+ if (arrayExtended) return
7
+ arrayExtended = true
8
+
9
+ defineExtension(
10
+ Array.prototype,
11
+ 'unique',
12
+ function <T>(this: readonly T[]): T[] {
13
+ return [...new Set(this)]
14
+ },
15
+ )
16
+
17
+ defineExtension(
18
+ Array.prototype,
19
+ 'shuffle',
20
+ function <T>(this: readonly T[]): T[] {
21
+ const arr = [...this]
22
+ for (let i = arr.length - 1; i > 0; i--) {
23
+ const j = Math.floor(Math.random() * (i + 1))
24
+ ;[arr[i], arr[j]] = [arr[j], arr[i]]
25
+ }
26
+ return arr
27
+ },
28
+ )
29
+
30
+ defineExtension(
31
+ Array.prototype,
32
+ 'chunk',
33
+ function <T>(this: readonly T[], size: number): T[][] {
34
+ if (!Number.isInteger(size) || size <= 0) {
35
+ throw new TypeError(`chunk: size must be a positive integer, got ${size}`)
36
+ }
37
+ const chunks: T[][] = []
38
+ for (let i = 0; i < this.length; i += size) {
39
+ chunks.push(this.slice(i, i + size))
40
+ }
41
+ return chunks
42
+ },
43
+ )
44
+
45
+ defineExtension(
46
+ Array.prototype,
47
+ 'groupBy',
48
+ function <T>(
49
+ this: readonly T[],
50
+ keyFn: (item: T) => string | number,
51
+ ): Record<string | number, T[]> {
52
+ if (typeof keyFn !== 'function') {
53
+ throw new TypeError(
54
+ `groupBy: keyFn must be a function, got ${typeof keyFn}`,
55
+ )
56
+ }
57
+
58
+ return this.reduce(
59
+ (groups, item) => {
60
+ const key = keyFn(item)
61
+ if (!groups[key]) groups[key] = []
62
+ groups[key].push(item)
63
+ return groups
64
+ },
65
+ {} as Record<string | number, T[]>,
66
+ )
67
+ },
68
+ )
69
+
70
+ defineExtension(
71
+ Array.prototype,
72
+ 'sum',
73
+ function (this: readonly number[]): number {
74
+ if (this.length === 0) {
75
+ throw new TypeError('sum: array must contain at least one number')
76
+ }
77
+ return this.reduce((sum, num) => sum + num, 0)
78
+ },
79
+ )
80
+
81
+ defineExtension(
82
+ Array.prototype,
83
+ 'average',
84
+ function (this: readonly number[]): number {
85
+ if (this.length === 0) {
86
+ throw new TypeError('average: array must contain at least one number')
87
+ }
88
+ return this.reduce((sum, num) => sum + num, 0) / this.length
89
+ },
90
+ )
91
+
92
+ defineExtension(
93
+ Array.prototype,
94
+ 'compact',
95
+ function <T>(this: readonly T[]): T[] {
96
+ return this.filter(
97
+ (item) => item !== null && item !== undefined && item !== '',
98
+ )
99
+ },
100
+ )
101
+
102
+ defineExtension(
103
+ Array.prototype,
104
+ 'compactTruthy',
105
+ function <T>(this: readonly T[]): T[] {
106
+ return this.filter(Boolean)
107
+ },
108
+ )
109
+
110
+ defineExtension(
111
+ Array.prototype,
112
+ 'pluck',
113
+ function <T extends Record<PropertyKey, any>, K extends keyof T>(
114
+ this: readonly T[],
115
+ key: K,
116
+ ): T[K][] {
117
+ return this
118
+ .map((item) => item[key])
119
+ .filter((val): val is T[K] => val !== undefined)
120
+ },
121
+ )
122
+
123
+
124
+ defineExtension(
125
+ Array.prototype,
126
+ 'findLast',
127
+ function <T>(
128
+ this: readonly T[],
129
+ predicate: (item: T) => boolean,
130
+ ): T | undefined {
131
+ if (typeof predicate !== 'function') {
132
+ throw new TypeError(
133
+ `findLast: predicate must be a function, got ${typeof predicate}`,
134
+ )
135
+ }
136
+
137
+ for (let i = this.length - 1; i >= 0; i--) {
138
+ if (predicate(this[i])) return this[i]
139
+ }
140
+ return undefined
141
+ },
142
+ )
143
+
144
+ defineExtension(
145
+ Array.prototype,
146
+ 'partition',
147
+ function <T>(
148
+ this: readonly T[],
149
+ predicate: (item: T) => boolean,
150
+ ): [T[], T[]] {
151
+ if (typeof predicate !== 'function') {
152
+ throw new TypeError(
153
+ `partition: predicate must be a function, got ${typeof predicate}`,
154
+ )
155
+ }
156
+
157
+ const truthy: T[] = []
158
+ const falsy: T[] = []
159
+
160
+ this.forEach((item) =>
161
+ predicate(item) ? truthy.push(item) : falsy.push(item),
162
+ )
163
+
164
+ return [truthy, falsy]
165
+ },
166
+ )
167
+
168
+ defineExtension(
169
+ Array.prototype,
170
+ 'flatten',
171
+ function (this: readonly any[], depth = 1): any[] {
172
+ return depth > 0
173
+ ? this.reduce(
174
+ (acc: any[], val) =>
175
+ acc.concat(
176
+ Array.isArray(val) ? val.flatten(depth - 1) : val,
177
+ ),
178
+ [],
179
+ )
180
+ : this.slice()
181
+ },
182
+ )
183
+
184
+ defineExtension(
185
+ Array.prototype,
186
+ 'deepFlatten',
187
+ function (this: readonly any[]): any[] {
188
+ return this.reduce(
189
+ (acc: any[], val) =>
190
+ acc.concat(Array.isArray(val) ? val.deepFlatten() : val),
191
+ [],
192
+ )
193
+ },
194
+ )
195
+
196
+ defineExtension(
197
+ Array.prototype,
198
+ 'difference',
199
+ function <T>(this: readonly T[], other: T[]): T[] {
200
+ if (!Array.isArray(other)) {
201
+ throw new TypeError(
202
+ `difference: other must be an array, got ${typeof other}`,
203
+ )
204
+ }
205
+ return this.filter((item) => !other.includes(item))
206
+ },
207
+ )
208
+
209
+ defineExtension(
210
+ Array.prototype,
211
+ 'intersection',
212
+ function <T>(this: readonly T[], other: T[]): T[] {
213
+ if (!Array.isArray(other)) {
214
+ throw new TypeError(
215
+ `intersection: other must be an array, got ${typeof other}`,
216
+ )
217
+ }
218
+ return this.filter((item) => other.includes(item))
219
+ },
220
+ )
221
+
222
+ defineExtension(
223
+ Array.prototype,
224
+ 'union',
225
+ function <T>(this: readonly T[], other: T[]): T[] {
226
+ if (!Array.isArray(other)) {
227
+ throw new TypeError(`union: other must be an array, got ${typeof other}`)
228
+ }
229
+ return [...new Set([...this, ...other])]
230
+ },
231
+ )
232
+
233
+ defineExtension(
234
+ Array.prototype,
235
+ 'sample',
236
+ function <T>(this: readonly T[]): T | undefined {
237
+ return this.length > 0
238
+ ? this[Math.floor(Math.random() * this.length)]
239
+ : undefined
240
+ },
241
+ )
242
+
243
+ defineExtension(
244
+ Array.prototype,
245
+ 'take',
246
+ function <T>(this: readonly T[], count: number): T[] {
247
+ return this.slice(0, Math.max(0, count))
248
+ },
249
+ )
250
+
251
+ defineExtension(
252
+ Array.prototype,
253
+ 'drop',
254
+ function <T>(this: readonly T[], count: number): T[] {
255
+ return this.slice(Math.max(0, count))
256
+ },
257
+ )
258
+
259
+ defineExtension(Array.prototype, 'uniqueBy', function <T, K>(this: readonly T[], keyFn: (item: T) => K): T[] {
260
+ if (typeof keyFn !== 'function') {
261
+ throw new TypeError(`uniqueBy: keyFn must be a function, got ${typeof keyFn}`);
262
+ }
263
+ const seen = new Set<K>();
264
+ const result: T[] = [];
265
+ for (const item of this) {
266
+ const key = keyFn(item);
267
+ if (!seen.has(key)) {
268
+ seen.add(key);
269
+ result.push(item);
270
+ }
271
+ }
272
+ return result;
273
+ });
274
+
275
+ defineExtension(Array.prototype, 'sortBy', function <T>(this: readonly T[], keyFn: (item: T) => any): T[] {
276
+ if (typeof keyFn !== 'function') {
277
+ throw new TypeError(`sortBy: keyFn must be a function, got ${typeof keyFn}`);
278
+ }
279
+ return [...this].sort((a, b) => {
280
+ const aVal = keyFn(a);
281
+ const bVal = keyFn(b);
282
+ if (aVal < bVal) return -1;
283
+ if (aVal > bVal) return 1;
284
+ return 0;
285
+ });
286
+ });
287
+
288
+ defineExtension(Array.prototype, 'last', function <T>(this: readonly T[]): T | undefined {
289
+ return this.length > 0 ? this[this.length - 1] : undefined;
290
+ });
291
+
292
+ }
@@ -0,0 +1 @@
1
+ export { extendArray } from './array-extensions'
@@ -0,0 +1,3 @@
1
+ // Re-export core utilities
2
+ export * from './validation'
3
+ export * from './performance'
@@ -0,0 +1,103 @@
1
+ import { getPackageVersion } from "./version"
2
+
3
+ // Performance optimization utilities
4
+ export interface PerformanceConfig {
5
+ enableCaching?: boolean
6
+ maxCacheSize?: number
7
+ enableValidation?: boolean
8
+ }
9
+
10
+ const defaultConfig: PerformanceConfig = {
11
+ enableCaching: false,
12
+ maxCacheSize: 100,
13
+ enableValidation: true,
14
+ }
15
+
16
+ let config: PerformanceConfig = { ...defaultConfig }
17
+
18
+ export function setPerformanceConfig(
19
+ newConfig: Partial<PerformanceConfig>,
20
+ ): void {
21
+ const oldMaxSize = config.maxCacheSize
22
+ config = { ...config, ...newConfig }
23
+
24
+ // Recreate cache if maxCacheSize changed
25
+ if (cache && oldMaxSize !== config.maxCacheSize) {
26
+ cache = new LRUCache(config.maxCacheSize)
27
+ }
28
+ }
29
+
30
+ export function getPerformanceConfig(): PerformanceConfig {
31
+ return { ...config }
32
+ }
33
+
34
+ // Simple LRU cache for expensive operations
35
+ export class LRUCache<K, V> {
36
+ private cache = new Map<K, V>()
37
+ private maxSize: number
38
+
39
+ constructor(maxSize = 100) {
40
+ this.maxSize = maxSize
41
+ }
42
+
43
+ get(key: K): V | undefined {
44
+ const value = this.cache.get(key)
45
+ if (value !== undefined) {
46
+ // Move to end (most recently used)
47
+ this.cache.delete(key)
48
+ this.cache.set(key, value)
49
+ }
50
+ return value
51
+ }
52
+
53
+ set(key: K, value: V): void {
54
+ if (this.cache.has(key)) {
55
+ this.cache.delete(key)
56
+ } else if (this.cache.size >= this.maxSize) {
57
+ // Remove least recently used (first item)
58
+ const firstKey = this.cache.keys().next().value
59
+ if (firstKey !== undefined) {
60
+ this.cache.delete(firstKey)
61
+ }
62
+ }
63
+ this.cache.set(key, value)
64
+ }
65
+
66
+ clear(): void {
67
+ this.cache.clear()
68
+ }
69
+ }
70
+
71
+ let cache: LRUCache<string, any> | null = null
72
+
73
+ function getOrCreateCache(): LRUCache<string, any> {
74
+ if (!cache) {
75
+ cache = new LRUCache(config.maxCacheSize)
76
+ }
77
+ return cache
78
+ }
79
+
80
+
81
+ export function makeInternalCacheKey(
82
+ domain: string,
83
+ key: string | number,
84
+ ): string {
85
+ const INTERNAL_CACHE_PREFIX = '@js-ext' + getPackageVersion();
86
+ return `${INTERNAL_CACHE_PREFIX}:${domain}:${key}`;
87
+ }
88
+
89
+ export function withCache<T>(key: string, fn: () => T): T {
90
+ if (!config.enableCaching) {
91
+ return fn()
92
+ }
93
+
94
+ const currentCache = getOrCreateCache()
95
+ const cached = currentCache.get(key)
96
+ if (cached !== undefined) {
97
+ return cached as T
98
+ }
99
+
100
+ const result = fn()
101
+ currentCache.set(key, result)
102
+ return result
103
+ }
@@ -0,0 +1,42 @@
1
+ // Validation utilities for extensions
2
+ export function validateExtensionInput(
3
+ value: any,
4
+ type: string,
5
+ methodName: string,
6
+ ): void {
7
+ if (value == null) {
8
+ throw new TypeError(`Cannot call ${methodName} on ${value}`)
9
+ }
10
+
11
+ const actualType = typeof value
12
+ if (actualType !== type) {
13
+ throw new TypeError(
14
+ `${methodName} can only be called on ${type} values, got ${actualType}`,
15
+ )
16
+ }
17
+ }
18
+
19
+ export function validateArrayInput<T>(arr: T[], methodName: string): void {
20
+ if (!Array.isArray(arr)) {
21
+ throw new TypeError(`${methodName} can only be called on arrays`)
22
+ }
23
+ }
24
+
25
+ export function validateNumberRange(
26
+ num: number,
27
+ min: number,
28
+ max: number,
29
+ methodName: string,
30
+ ): void {
31
+ if (num < min || num > max) {
32
+ throw new RangeError(
33
+ `${methodName}: number must be between ${min} and ${max}, got ${num}`,
34
+ )
35
+ }
36
+ }
37
+
38
+ export function validatePositiveInteger(num: number, methodName: string): void {
39
+ if (!Number.isInteger(num) || num < 0) {
40
+ throw new TypeError(`${methodName}: expected positive integer, got ${num}`)
41
+ }
42
+ }
@@ -0,0 +1,7 @@
1
+ import { createRequire } from 'node:module';
2
+
3
+ const requireFn = createRequire("../../package.json");
4
+
5
+ export const getPackageVersion = (): string => {
6
+ return requireFn('../package.json').version as string;
7
+ }
@@ -0,0 +1,5 @@
1
+ // Re-export all extensions
2
+ export * from '../string'
3
+ export * from '../array'
4
+ export * from '../object'
5
+ export * from '../number'
@@ -0,0 +1,122 @@
1
+ // Import types first
2
+ import '../types/global-augmentations'
3
+
4
+ import { extendArray } from './array'
5
+ import { extendNumber } from './number'
6
+
7
+ import { extendObject } from './object'
8
+ // Import extension modules
9
+ import { extendString } from './string'
10
+
11
+ // Import core utilities
12
+ import {
13
+ LRUCache,
14
+ getPerformanceConfig,
15
+ makeInternalCacheKey,
16
+ setPerformanceConfig,
17
+ withCache,
18
+ } from './core/performance'
19
+
20
+ // Import validation utilities
21
+ import {
22
+ validateArrayInput,
23
+ validateExtensionInput,
24
+ validateNumberRange,
25
+ validatePositiveInteger,
26
+ } from './core/validation'
27
+
28
+ // Import utility functions
29
+ import {
30
+ mergeConfigs,
31
+ validateConfig,
32
+ validatePerformanceSettings,
33
+ } from './utils/config'
34
+
35
+ import {
36
+ ensurePositiveInteger,
37
+ getPathSegments,
38
+ hasOwnProperty,
39
+ isValidArrayIndex,
40
+ safeClone,
41
+ } from './utils/helpers'
42
+
43
+ // Re-export types
44
+ import { ExtensionOptions, PerformanceConfig } from './types/extension-types'
45
+ export { ExtensionOptions, PerformanceConfig }
46
+
47
+ // Export withCache for use in extensions
48
+ export { withCache }
49
+
50
+ // Import initialization functions
51
+ import { extendAll, initExtensions } from './init/initializer'
52
+
53
+ /**
54
+ * Initialize JavaScript prototype extensions
55
+ * @param options - Configure which extensions to enable (default: all enabled)
56
+ */
57
+ export function initializeExtensions(options: ExtensionOptions = {}): void {
58
+ initExtensions(options)
59
+ }
60
+
61
+ /**
62
+ * Initialize all extensions (convenience function)
63
+ */
64
+ export { extendAll }
65
+
66
+ /**
67
+ * Selective prototype extension helpers
68
+ * Initialize only specific extensions
69
+ */
70
+ export const extend = {
71
+ string: extendString,
72
+ array: extendArray,
73
+ object: extendObject,
74
+ number: extendNumber,
75
+ }
76
+
77
+ // Export validation utilities
78
+ export {
79
+ validateExtensionInput,
80
+ validateArrayInput,
81
+ validateNumberRange,
82
+ validatePositiveInteger,
83
+ }
84
+
85
+ // Export utility functions
86
+ export {
87
+ validateConfig,
88
+ validatePerformanceSettings,
89
+ mergeConfigs,
90
+ isValidArrayIndex,
91
+ ensurePositiveInteger,
92
+ safeClone,
93
+ getPathSegments,
94
+ hasOwnProperty,
95
+ }
96
+
97
+ // Export performance utilities
98
+ export { LRUCache, setPerformanceConfig, getPerformanceConfig }
99
+
100
+ // Default export
101
+ export default {
102
+ initializeExtensions,
103
+ extendAll,
104
+ extend,
105
+ LRUCache,
106
+ setPerformanceConfig,
107
+ getPerformanceConfig,
108
+ // Validation utilities
109
+ validateExtensionInput,
110
+ validateArrayInput,
111
+ validateNumberRange,
112
+ validatePositiveInteger,
113
+ // Utility functions
114
+ validateConfig,
115
+ validatePerformanceSettings,
116
+ mergeConfigs,
117
+ isValidArrayIndex,
118
+ ensurePositiveInteger,
119
+ safeClone,
120
+ getPathSegments,
121
+ hasOwnProperty,
122
+ }
@@ -0,0 +1,3 @@
1
+ // Re-export initialization logic
2
+ export * from './initializer'
3
+ export * from './options'
@@ -0,0 +1,32 @@
1
+ // Extension initialization logic
2
+ import { extendArray } from '../array'
3
+ import { setPerformanceConfig } from '../core/performance'
4
+ import { extendNumber } from '../number'
5
+ import { extendObject } from '../object'
6
+ import { extendString } from '../string'
7
+
8
+ import type { ExtensionOptions } from '../types/extension-types'
9
+
10
+ export function initExtensions(options: ExtensionOptions = {}): void {
11
+ const {
12
+ string = true,
13
+ array = true,
14
+ object = true,
15
+ number = true,
16
+ performance,
17
+ } = options
18
+
19
+ if (performance) {
20
+ // Set performance config if provided
21
+ setPerformanceConfig(performance)
22
+ }
23
+
24
+ if (string) extendString()
25
+ if (array) extendArray()
26
+ if (object) extendObject()
27
+ if (number) extendNumber()
28
+ }
29
+
30
+ export function extendAll(): void {
31
+ initExtensions()
32
+ }
@@ -0,0 +1,32 @@
1
+ // Extension options validation
2
+ import type { ExtensionOptions } from '../types/extension-types'
3
+
4
+ export function validateExtensionOptions(
5
+ options: Partial<ExtensionOptions>,
6
+ ): ExtensionOptions {
7
+ const validated: ExtensionOptions = {
8
+ string: options.string !== false,
9
+ array: options.array !== false,
10
+ object: options.object !== false,
11
+ number: options.number !== false,
12
+ performance: options.performance,
13
+ }
14
+
15
+ return validated
16
+ }
17
+
18
+ export function createExtensionOptions(
19
+ enableString = true,
20
+ enableArray = true,
21
+ enableObject = true,
22
+ enableNumber = true,
23
+ performanceConfig?: any,
24
+ ): ExtensionOptions {
25
+ return {
26
+ string: enableString,
27
+ array: enableArray,
28
+ object: enableObject,
29
+ number: enableNumber,
30
+ performance: performanceConfig,
31
+ }
32
+ }
@@ -0,0 +1 @@
1
+ export { extendNumber } from './number-extensions'