@scpxl/nodejs-framework 1.0.13

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 (411) hide show
  1. package/README.md +195 -0
  2. package/dist/api-requester/api-requester.d.ts +11 -0
  3. package/dist/api-requester/api-requester.d.ts.map +1 -0
  4. package/dist/api-requester/api-requester.js +59 -0
  5. package/dist/api-requester/api-requester.js.map +7 -0
  6. package/dist/api-requester/index.d.ts +2 -0
  7. package/dist/api-requester/index.d.ts.map +1 -0
  8. package/dist/api-requester/index.js +5 -0
  9. package/dist/api-requester/index.js.map +7 -0
  10. package/dist/application/base-application.d.ts +110 -0
  11. package/dist/application/base-application.d.ts.map +1 -0
  12. package/dist/application/base-application.interface.d.ts +161 -0
  13. package/dist/application/base-application.interface.d.ts.map +1 -0
  14. package/dist/application/base-application.interface.js +1 -0
  15. package/dist/application/base-application.interface.js.map +7 -0
  16. package/dist/application/base-application.js +350 -0
  17. package/dist/application/base-application.js.map +7 -0
  18. package/dist/application/command-application.d.ts +18 -0
  19. package/dist/application/command-application.d.ts.map +1 -0
  20. package/dist/application/command-application.interface.d.ts +26 -0
  21. package/dist/application/command-application.interface.d.ts.map +1 -0
  22. package/dist/application/command-application.interface.js +1 -0
  23. package/dist/application/command-application.interface.js.map +7 -0
  24. package/dist/application/command-application.js +110 -0
  25. package/dist/application/command-application.js.map +7 -0
  26. package/dist/application/index.d.ts +5 -0
  27. package/dist/application/index.d.ts.map +1 -0
  28. package/dist/application/index.js +7 -0
  29. package/dist/application/index.js.map +7 -0
  30. package/dist/application/web-application.d.ts +43 -0
  31. package/dist/application/web-application.d.ts.map +1 -0
  32. package/dist/application/web-application.interface.d.ts +21 -0
  33. package/dist/application/web-application.interface.d.ts.map +1 -0
  34. package/dist/application/web-application.interface.js +1 -0
  35. package/dist/application/web-application.interface.js.map +7 -0
  36. package/dist/application/web-application.js +176 -0
  37. package/dist/application/web-application.js.map +7 -0
  38. package/dist/auth/index.d.ts +2 -0
  39. package/dist/auth/index.d.ts.map +1 -0
  40. package/dist/auth/index.js +5 -0
  41. package/dist/auth/index.js.map +7 -0
  42. package/dist/auth/jwt.d.ts +25 -0
  43. package/dist/auth/jwt.d.ts.map +1 -0
  44. package/dist/auth/jwt.js +51 -0
  45. package/dist/auth/jwt.js.map +7 -0
  46. package/dist/cache/index.d.ts +2 -0
  47. package/dist/cache/index.d.ts.map +1 -0
  48. package/dist/cache/index.js +5 -0
  49. package/dist/cache/index.js.map +7 -0
  50. package/dist/cache/manager.d.ts +26 -0
  51. package/dist/cache/manager.d.ts.map +1 -0
  52. package/dist/cache/manager.js +54 -0
  53. package/dist/cache/manager.js.map +7 -0
  54. package/dist/cluster/cluster-manager.d.ts +15 -0
  55. package/dist/cluster/cluster-manager.d.ts.map +1 -0
  56. package/dist/cluster/cluster-manager.interface.d.ts +23 -0
  57. package/dist/cluster/cluster-manager.interface.d.ts.map +1 -0
  58. package/dist/cluster/cluster-manager.interface.js +1 -0
  59. package/dist/cluster/cluster-manager.interface.js.map +7 -0
  60. package/dist/cluster/cluster-manager.js +106 -0
  61. package/dist/cluster/cluster-manager.js.map +7 -0
  62. package/dist/cluster/index.d.ts +2 -0
  63. package/dist/cluster/index.d.ts.map +1 -0
  64. package/dist/cluster/index.js +13 -0
  65. package/dist/cluster/index.js.map +7 -0
  66. package/dist/command/command-manager.d.ts +19 -0
  67. package/dist/command/command-manager.d.ts.map +1 -0
  68. package/dist/command/command-manager.js +42 -0
  69. package/dist/command/command-manager.js.map +7 -0
  70. package/dist/command/command.d.ts +27 -0
  71. package/dist/command/command.d.ts.map +1 -0
  72. package/dist/command/command.interface.d.ts +11 -0
  73. package/dist/command/command.interface.d.ts.map +1 -0
  74. package/dist/command/command.interface.js +1 -0
  75. package/dist/command/command.interface.js.map +7 -0
  76. package/dist/command/command.js +37 -0
  77. package/dist/command/command.js.map +7 -0
  78. package/dist/command/index.d.ts +3 -0
  79. package/dist/command/index.d.ts.map +1 -0
  80. package/dist/command/index.js +7 -0
  81. package/dist/command/index.js.map +7 -0
  82. package/dist/database/dynamic-entity-form-decorators.d.ts +31 -0
  83. package/dist/database/dynamic-entity-form-decorators.d.ts.map +1 -0
  84. package/dist/database/dynamic-entity-form-decorators.js +62 -0
  85. package/dist/database/dynamic-entity-form-decorators.js.map +7 -0
  86. package/dist/database/dynamic-entity.d.ts +15 -0
  87. package/dist/database/dynamic-entity.d.ts.map +1 -0
  88. package/dist/database/dynamic-entity.js +42 -0
  89. package/dist/database/dynamic-entity.js.map +7 -0
  90. package/dist/database/index.d.ts +5 -0
  91. package/dist/database/index.d.ts.map +1 -0
  92. package/dist/database/index.js +12 -0
  93. package/dist/database/index.js.map +7 -0
  94. package/dist/database/instance.d.ts +36 -0
  95. package/dist/database/instance.d.ts.map +1 -0
  96. package/dist/database/instance.interface.d.ts +5 -0
  97. package/dist/database/instance.interface.d.ts.map +1 -0
  98. package/dist/database/instance.interface.js +1 -0
  99. package/dist/database/instance.interface.js.map +7 -0
  100. package/dist/database/instance.js +57 -0
  101. package/dist/database/instance.js.map +7 -0
  102. package/dist/database/manager.d.ts +27 -0
  103. package/dist/database/manager.d.ts.map +1 -0
  104. package/dist/database/manager.interface.d.ts +18 -0
  105. package/dist/database/manager.interface.d.ts.map +1 -0
  106. package/dist/database/manager.interface.js +1 -0
  107. package/dist/database/manager.interface.js.map +7 -0
  108. package/dist/database/manager.js +49 -0
  109. package/dist/database/manager.js.map +7 -0
  110. package/dist/event/controller/base.d.ts +23 -0
  111. package/dist/event/controller/base.d.ts.map +1 -0
  112. package/dist/event/controller/base.interface.d.ts +11 -0
  113. package/dist/event/controller/base.interface.d.ts.map +1 -0
  114. package/dist/event/controller/base.interface.js +1 -0
  115. package/dist/event/controller/base.interface.js.map +7 -0
  116. package/dist/event/controller/base.js +51 -0
  117. package/dist/event/controller/base.js.map +7 -0
  118. package/dist/event/index.d.ts +5 -0
  119. package/dist/event/index.d.ts.map +1 -0
  120. package/dist/event/index.js +9 -0
  121. package/dist/event/index.js.map +7 -0
  122. package/dist/event/manager.d.ts +21 -0
  123. package/dist/event/manager.d.ts.map +1 -0
  124. package/dist/event/manager.interface.d.ts +134 -0
  125. package/dist/event/manager.interface.d.ts.map +1 -0
  126. package/dist/event/manager.interface.js +1 -0
  127. package/dist/event/manager.interface.js.map +7 -0
  128. package/dist/event/manager.js +134 -0
  129. package/dist/event/manager.js.map +7 -0
  130. package/dist/index.d.ts +18 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +23 -0
  133. package/dist/index.js.map +7 -0
  134. package/dist/logger/index.d.ts +2 -0
  135. package/dist/logger/index.d.ts.map +1 -0
  136. package/dist/logger/index.js +5 -0
  137. package/dist/logger/index.js.map +7 -0
  138. package/dist/logger/logger.d.ts +51 -0
  139. package/dist/logger/logger.d.ts.map +1 -0
  140. package/dist/logger/logger.interface.d.ts +2 -0
  141. package/dist/logger/logger.interface.d.ts.map +1 -0
  142. package/dist/logger/logger.interface.js +1 -0
  143. package/dist/logger/logger.interface.js.map +7 -0
  144. package/dist/logger/logger.js +168 -0
  145. package/dist/logger/logger.js.map +7 -0
  146. package/dist/performance/cache-performance.d.ts +58 -0
  147. package/dist/performance/cache-performance.d.ts.map +1 -0
  148. package/dist/performance/cache-performance.js +199 -0
  149. package/dist/performance/cache-performance.js.map +7 -0
  150. package/dist/performance/database-performance.d.ts +40 -0
  151. package/dist/performance/database-performance.d.ts.map +1 -0
  152. package/dist/performance/database-performance.js +132 -0
  153. package/dist/performance/database-performance.js.map +7 -0
  154. package/dist/performance/index.d.ts +7 -0
  155. package/dist/performance/index.d.ts.map +1 -0
  156. package/dist/performance/index.js +7 -0
  157. package/dist/performance/index.js.map +7 -0
  158. package/dist/performance/performance-monitor.d.ts +68 -0
  159. package/dist/performance/performance-monitor.d.ts.map +1 -0
  160. package/dist/performance/performance-monitor.js +270 -0
  161. package/dist/performance/performance-monitor.js.map +7 -0
  162. package/dist/performance/queue-performance.d.ts +46 -0
  163. package/dist/performance/queue-performance.d.ts.map +1 -0
  164. package/dist/performance/queue-performance.js +144 -0
  165. package/dist/performance/queue-performance.js.map +7 -0
  166. package/dist/performance/webserver-performance.d.ts +69 -0
  167. package/dist/performance/webserver-performance.d.ts.map +1 -0
  168. package/dist/performance/webserver-performance.js +164 -0
  169. package/dist/performance/webserver-performance.js.map +7 -0
  170. package/dist/performance/websocket-performance.d.ts +44 -0
  171. package/dist/performance/websocket-performance.d.ts.map +1 -0
  172. package/dist/performance/websocket-performance.js +139 -0
  173. package/dist/performance/websocket-performance.js.map +7 -0
  174. package/dist/queue/index.d.ts +6 -0
  175. package/dist/queue/index.d.ts.map +1 -0
  176. package/dist/queue/index.interface.d.ts +10 -0
  177. package/dist/queue/index.interface.d.ts.map +1 -0
  178. package/dist/queue/index.interface.js +1 -0
  179. package/dist/queue/index.interface.js.map +7 -0
  180. package/dist/queue/index.js +7 -0
  181. package/dist/queue/index.js.map +7 -0
  182. package/dist/queue/job.interface.d.ts +42 -0
  183. package/dist/queue/job.interface.d.ts.map +1 -0
  184. package/dist/queue/job.interface.js +1 -0
  185. package/dist/queue/job.interface.js.map +7 -0
  186. package/dist/queue/manager.d.ts +36 -0
  187. package/dist/queue/manager.d.ts.map +1 -0
  188. package/dist/queue/manager.interface.d.ts +18 -0
  189. package/dist/queue/manager.interface.d.ts.map +1 -0
  190. package/dist/queue/manager.interface.js +1 -0
  191. package/dist/queue/manager.interface.js.map +7 -0
  192. package/dist/queue/manager.js +244 -0
  193. package/dist/queue/manager.js.map +7 -0
  194. package/dist/queue/processor/base.d.ts +28 -0
  195. package/dist/queue/processor/base.d.ts.map +1 -0
  196. package/dist/queue/processor/base.js +46 -0
  197. package/dist/queue/processor/base.js.map +7 -0
  198. package/dist/queue/processor/processor.interface.d.ts +15 -0
  199. package/dist/queue/processor/processor.interface.d.ts.map +1 -0
  200. package/dist/queue/processor/processor.interface.js +1 -0
  201. package/dist/queue/processor/processor.interface.js.map +7 -0
  202. package/dist/queue/worker.d.ts +14 -0
  203. package/dist/queue/worker.d.ts.map +1 -0
  204. package/dist/queue/worker.interface.d.ts +13 -0
  205. package/dist/queue/worker.interface.d.ts.map +1 -0
  206. package/dist/queue/worker.interface.js +1 -0
  207. package/dist/queue/worker.interface.js.map +7 -0
  208. package/dist/queue/worker.js +72 -0
  209. package/dist/queue/worker.js.map +7 -0
  210. package/dist/redis/index.d.ts +3 -0
  211. package/dist/redis/index.d.ts.map +1 -0
  212. package/dist/redis/index.js +7 -0
  213. package/dist/redis/index.js.map +7 -0
  214. package/dist/redis/instance.d.ts +32 -0
  215. package/dist/redis/instance.d.ts.map +1 -0
  216. package/dist/redis/instance.interface.d.ts +9 -0
  217. package/dist/redis/instance.interface.d.ts.map +1 -0
  218. package/dist/redis/instance.interface.js +1 -0
  219. package/dist/redis/instance.interface.js.map +7 -0
  220. package/dist/redis/instance.js +92 -0
  221. package/dist/redis/instance.js.map +7 -0
  222. package/dist/redis/manager.d.ts +15 -0
  223. package/dist/redis/manager.d.ts.map +1 -0
  224. package/dist/redis/manager.interface.d.ts +8 -0
  225. package/dist/redis/manager.interface.d.ts.map +1 -0
  226. package/dist/redis/manager.interface.js +1 -0
  227. package/dist/redis/manager.interface.js.map +7 -0
  228. package/dist/redis/manager.js +65 -0
  229. package/dist/redis/manager.js.map +7 -0
  230. package/dist/services/aws/index.d.ts +2 -0
  231. package/dist/services/aws/index.d.ts.map +1 -0
  232. package/dist/services/aws/index.js +5 -0
  233. package/dist/services/aws/index.js.map +7 -0
  234. package/dist/services/aws/s3.d.ts +54 -0
  235. package/dist/services/aws/s3.d.ts.map +1 -0
  236. package/dist/services/aws/s3.interface.d.ts +14 -0
  237. package/dist/services/aws/s3.interface.d.ts.map +1 -0
  238. package/dist/services/aws/s3.interface.js +1 -0
  239. package/dist/services/aws/s3.interface.js.map +7 -0
  240. package/dist/services/aws/s3.js +236 -0
  241. package/dist/services/aws/s3.js.map +7 -0
  242. package/dist/services/index.d.ts +2 -0
  243. package/dist/services/index.d.ts.map +1 -0
  244. package/dist/services/index.js +2 -0
  245. package/dist/services/index.js.map +7 -0
  246. package/dist/util/file.d.ts +45 -0
  247. package/dist/util/file.d.ts.map +1 -0
  248. package/dist/util/file.js +105 -0
  249. package/dist/util/file.js.map +7 -0
  250. package/dist/util/helper.d.ts +37 -0
  251. package/dist/util/helper.d.ts.map +1 -0
  252. package/dist/util/helper.js +73 -0
  253. package/dist/util/helper.js.map +7 -0
  254. package/dist/util/image.d.ts +12 -0
  255. package/dist/util/image.d.ts.map +1 -0
  256. package/dist/util/image.js +35 -0
  257. package/dist/util/image.js.map +7 -0
  258. package/dist/util/index.d.ts +10 -0
  259. package/dist/util/index.d.ts.map +1 -0
  260. package/dist/util/index.js +21 -0
  261. package/dist/util/index.js.map +7 -0
  262. package/dist/util/loader.d.ts +19 -0
  263. package/dist/util/loader.d.ts.map +1 -0
  264. package/dist/util/loader.js +84 -0
  265. package/dist/util/loader.js.map +7 -0
  266. package/dist/util/num.d.ts +13 -0
  267. package/dist/util/num.d.ts.map +1 -0
  268. package/dist/util/num.js +16 -0
  269. package/dist/util/num.js.map +7 -0
  270. package/dist/util/os.d.ts +6 -0
  271. package/dist/util/os.d.ts.map +1 -0
  272. package/dist/util/os.js +32 -0
  273. package/dist/util/os.js.map +7 -0
  274. package/dist/util/str.d.ts +39 -0
  275. package/dist/util/str.d.ts.map +1 -0
  276. package/dist/util/str.js +34 -0
  277. package/dist/util/str.js.map +7 -0
  278. package/dist/util/time.d.ts +13 -0
  279. package/dist/util/time.d.ts.map +1 -0
  280. package/dist/util/time.interface.d.ts +12 -0
  281. package/dist/util/time.interface.d.ts.map +1 -0
  282. package/dist/util/time.interface.js +1 -0
  283. package/dist/util/time.interface.js.map +7 -0
  284. package/dist/util/time.js +90 -0
  285. package/dist/util/time.js.map +7 -0
  286. package/dist/util/url.d.ts +7 -0
  287. package/dist/util/url.d.ts.map +1 -0
  288. package/dist/util/url.js +12 -0
  289. package/dist/util/url.js.map +7 -0
  290. package/dist/webserver/controller/auth-middleware.d.ts +21 -0
  291. package/dist/webserver/controller/auth-middleware.d.ts.map +1 -0
  292. package/dist/webserver/controller/auth-middleware.js +33 -0
  293. package/dist/webserver/controller/auth-middleware.js.map +7 -0
  294. package/dist/webserver/controller/base.d.ts +39 -0
  295. package/dist/webserver/controller/base.d.ts.map +1 -0
  296. package/dist/webserver/controller/base.interface.d.ts +45 -0
  297. package/dist/webserver/controller/base.interface.d.ts.map +1 -0
  298. package/dist/webserver/controller/base.interface.js +1 -0
  299. package/dist/webserver/controller/base.interface.js.map +7 -0
  300. package/dist/webserver/controller/base.js +188 -0
  301. package/dist/webserver/controller/base.js.map +7 -0
  302. package/dist/webserver/controller/entity.d.ts +94 -0
  303. package/dist/webserver/controller/entity.d.ts.map +1 -0
  304. package/dist/webserver/controller/entity.js +361 -0
  305. package/dist/webserver/controller/entity.js.map +7 -0
  306. package/dist/webserver/controller/example-auth.d.ts +12 -0
  307. package/dist/webserver/controller/example-auth.d.ts.map +1 -0
  308. package/dist/webserver/controller/example-auth.js +53 -0
  309. package/dist/webserver/controller/example-auth.js.map +7 -0
  310. package/dist/webserver/controller/health.d.ts +8 -0
  311. package/dist/webserver/controller/health.d.ts.map +1 -0
  312. package/dist/webserver/controller/health.js +50 -0
  313. package/dist/webserver/controller/health.js.map +7 -0
  314. package/dist/webserver/index.d.ts +12 -0
  315. package/dist/webserver/index.d.ts.map +1 -0
  316. package/dist/webserver/index.js +19 -0
  317. package/dist/webserver/index.js.map +7 -0
  318. package/dist/webserver/util.d.ts +10 -0
  319. package/dist/webserver/util.d.ts.map +1 -0
  320. package/dist/webserver/util.js +63 -0
  321. package/dist/webserver/util.js.map +7 -0
  322. package/dist/webserver/webserver.d.ts +65 -0
  323. package/dist/webserver/webserver.d.ts.map +1 -0
  324. package/dist/webserver/webserver.interface.d.ts +118 -0
  325. package/dist/webserver/webserver.interface.d.ts.map +1 -0
  326. package/dist/webserver/webserver.interface.js +9 -0
  327. package/dist/webserver/webserver.interface.js.map +7 -0
  328. package/dist/webserver/webserver.js +347 -0
  329. package/dist/webserver/webserver.js.map +7 -0
  330. package/dist/websocket/controller/client/base.d.ts +12 -0
  331. package/dist/websocket/controller/client/base.d.ts.map +1 -0
  332. package/dist/websocket/controller/client/base.interface.d.ts +12 -0
  333. package/dist/websocket/controller/client/base.interface.d.ts.map +1 -0
  334. package/dist/websocket/controller/client/base.interface.js +1 -0
  335. package/dist/websocket/controller/client/base.interface.js.map +7 -0
  336. package/dist/websocket/controller/client/base.js +26 -0
  337. package/dist/websocket/controller/client/base.js.map +7 -0
  338. package/dist/websocket/controller/server/base.d.ts +13 -0
  339. package/dist/websocket/controller/server/base.d.ts.map +1 -0
  340. package/dist/websocket/controller/server/base.interface.d.ts +13 -0
  341. package/dist/websocket/controller/server/base.interface.d.ts.map +1 -0
  342. package/dist/websocket/controller/server/base.interface.js +1 -0
  343. package/dist/websocket/controller/server/base.interface.js.map +7 -0
  344. package/dist/websocket/controller/server/base.js +26 -0
  345. package/dist/websocket/controller/server/base.js.map +7 -0
  346. package/dist/websocket/controllers/client/system.d.ts +6 -0
  347. package/dist/websocket/controllers/client/system.d.ts.map +1 -0
  348. package/dist/websocket/controllers/client/system.js +14 -0
  349. package/dist/websocket/controllers/client/system.js.map +7 -0
  350. package/dist/websocket/controllers/server/system.d.ts +7 -0
  351. package/dist/websocket/controllers/server/system.d.ts.map +1 -0
  352. package/dist/websocket/controllers/server/system.js +87 -0
  353. package/dist/websocket/controllers/server/system.js.map +7 -0
  354. package/dist/websocket/index.d.ts +7 -0
  355. package/dist/websocket/index.d.ts.map +1 -0
  356. package/dist/websocket/index.js +11 -0
  357. package/dist/websocket/index.js.map +7 -0
  358. package/dist/websocket/routes/client/system.d.ts +3 -0
  359. package/dist/websocket/routes/client/system.d.ts.map +1 -0
  360. package/dist/websocket/routes/client/system.js +11 -0
  361. package/dist/websocket/routes/client/system.js.map +7 -0
  362. package/dist/websocket/routes/server/system.d.ts +3 -0
  363. package/dist/websocket/routes/server/system.d.ts.map +1 -0
  364. package/dist/websocket/routes/server/system.js +16 -0
  365. package/dist/websocket/routes/server/system.js.map +7 -0
  366. package/dist/websocket/utils.d.ts +9 -0
  367. package/dist/websocket/utils.d.ts.map +1 -0
  368. package/dist/websocket/utils.js +39 -0
  369. package/dist/websocket/utils.js.map +7 -0
  370. package/dist/websocket/websocket-base.d.ts +15 -0
  371. package/dist/websocket/websocket-base.d.ts.map +1 -0
  372. package/dist/websocket/websocket-base.js +104 -0
  373. package/dist/websocket/websocket-base.js.map +7 -0
  374. package/dist/websocket/websocket-client-manager.d.ts +53 -0
  375. package/dist/websocket/websocket-client-manager.d.ts.map +1 -0
  376. package/dist/websocket/websocket-client-manager.interface.d.ts +8 -0
  377. package/dist/websocket/websocket-client-manager.interface.d.ts.map +1 -0
  378. package/dist/websocket/websocket-client-manager.interface.js +1 -0
  379. package/dist/websocket/websocket-client-manager.interface.js.map +7 -0
  380. package/dist/websocket/websocket-client-manager.js +225 -0
  381. package/dist/websocket/websocket-client-manager.js.map +7 -0
  382. package/dist/websocket/websocket-client.d.ts +35 -0
  383. package/dist/websocket/websocket-client.d.ts.map +1 -0
  384. package/dist/websocket/websocket-client.interface.d.ts +14 -0
  385. package/dist/websocket/websocket-client.interface.d.ts.map +1 -0
  386. package/dist/websocket/websocket-client.interface.js +1 -0
  387. package/dist/websocket/websocket-client.interface.js.map +7 -0
  388. package/dist/websocket/websocket-client.js +158 -0
  389. package/dist/websocket/websocket-client.js.map +7 -0
  390. package/dist/websocket/websocket-room-manager.d.ts +32 -0
  391. package/dist/websocket/websocket-room-manager.d.ts.map +1 -0
  392. package/dist/websocket/websocket-room-manager.js +130 -0
  393. package/dist/websocket/websocket-room-manager.js.map +7 -0
  394. package/dist/websocket/websocket-server.d.ts +92 -0
  395. package/dist/websocket/websocket-server.d.ts.map +1 -0
  396. package/dist/websocket/websocket-server.interface.d.ts +16 -0
  397. package/dist/websocket/websocket-server.interface.d.ts.map +1 -0
  398. package/dist/websocket/websocket-server.interface.js +1 -0
  399. package/dist/websocket/websocket-server.interface.js.map +7 -0
  400. package/dist/websocket/websocket-server.js +686 -0
  401. package/dist/websocket/websocket-server.js.map +7 -0
  402. package/dist/websocket/websocket-service.d.ts +44 -0
  403. package/dist/websocket/websocket-service.d.ts.map +1 -0
  404. package/dist/websocket/websocket-service.js +99 -0
  405. package/dist/websocket/websocket-service.js.map +7 -0
  406. package/dist/websocket/websocket.interface.d.ts +119 -0
  407. package/dist/websocket/websocket.interface.d.ts.map +1 -0
  408. package/dist/websocket/websocket.interface.js +18 -0
  409. package/dist/websocket/websocket.interface.js.map +7 -0
  410. package/package.json +159 -0
  411. package/pxl.js +4 -0
@@ -0,0 +1,199 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { PerformanceMonitor } from "./performance-monitor.js";
4
+ class CachePerformanceWrapper {
5
+ static {
6
+ __name(this, "CachePerformanceWrapper");
7
+ }
8
+ static performanceMonitor;
9
+ static setPerformanceMonitor(monitor) {
10
+ CachePerformanceWrapper.performanceMonitor = monitor;
11
+ }
12
+ static getPerformanceMonitor() {
13
+ if (!CachePerformanceWrapper.performanceMonitor) {
14
+ CachePerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();
15
+ }
16
+ return CachePerformanceWrapper.performanceMonitor;
17
+ }
18
+ /**
19
+ * Monitor cache get operations
20
+ */
21
+ static async monitorGet(key, operation, metadata) {
22
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
23
+ const operationMetadata = {
24
+ operation: "get",
25
+ key,
26
+ ...metadata
27
+ };
28
+ return monitor.measureAsync({
29
+ name: `get.${key}`,
30
+ type: "cache",
31
+ fn: /* @__PURE__ */ __name(async () => {
32
+ const result = await operation();
33
+ operationMetadata.hit = result !== null && result !== void 0;
34
+ operationMetadata.miss = !operationMetadata.hit;
35
+ return result;
36
+ }, "fn"),
37
+ metadata: operationMetadata
38
+ });
39
+ }
40
+ /**
41
+ * Monitor cache set operations
42
+ */
43
+ static async monitorSet(key, operation, metadata) {
44
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
45
+ const operationMetadata = {
46
+ operation: "set",
47
+ key,
48
+ ...metadata
49
+ };
50
+ return monitor.measureAsync({
51
+ name: `set.${key}`,
52
+ type: "cache",
53
+ fn: operation,
54
+ metadata: operationMetadata
55
+ });
56
+ }
57
+ /**
58
+ * Monitor cache delete operations
59
+ */
60
+ static async monitorDelete(key, operation, metadata) {
61
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
62
+ const operationMetadata = {
63
+ operation: "delete",
64
+ key,
65
+ ...metadata
66
+ };
67
+ return monitor.measureAsync({
68
+ name: `delete.${key}`,
69
+ type: "cache",
70
+ fn: operation,
71
+ metadata: operationMetadata
72
+ });
73
+ }
74
+ /**
75
+ * Monitor cache clear operations
76
+ */
77
+ static async monitorClear(pattern, operation, metadata) {
78
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
79
+ const operationMetadata = {
80
+ operation: "clear",
81
+ keyPattern: pattern,
82
+ ...metadata
83
+ };
84
+ return monitor.measureAsync({
85
+ name: `clear.${pattern}`,
86
+ type: "cache",
87
+ fn: operation,
88
+ metadata: operationMetadata
89
+ });
90
+ }
91
+ /**
92
+ * Monitor cache exists operations
93
+ */
94
+ static async monitorExists(key, operation, metadata) {
95
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
96
+ const operationMetadata = {
97
+ operation: "exists",
98
+ key,
99
+ ...metadata
100
+ };
101
+ return monitor.measureAsync({
102
+ name: `exists.${key}`,
103
+ type: "cache",
104
+ fn: operation,
105
+ metadata: operationMetadata
106
+ });
107
+ }
108
+ /**
109
+ * Monitor cache multi-get operations
110
+ */
111
+ static async monitorMultiGet(keys, operation, metadata) {
112
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
113
+ const operationMetadata = {
114
+ operation: "multi_get",
115
+ keyPattern: `[${keys.join(", ")}]`,
116
+ ...metadata
117
+ };
118
+ return monitor.measureAsync({
119
+ name: `multi_get.${keys.length}_keys`,
120
+ type: "cache",
121
+ fn: operation,
122
+ metadata: operationMetadata
123
+ });
124
+ }
125
+ /**
126
+ * Monitor cache multi-set operations
127
+ */
128
+ static async monitorMultiSet(keys, operation, metadata) {
129
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
130
+ const operationMetadata = {
131
+ operation: "multi_set",
132
+ keyPattern: `[${keys.join(", ")}]`,
133
+ ...metadata
134
+ };
135
+ return monitor.measureAsync({
136
+ name: `multi_set.${keys.length}_keys`,
137
+ type: "cache",
138
+ fn: operation,
139
+ metadata: operationMetadata
140
+ });
141
+ }
142
+ /**
143
+ * Monitor cache increment operations
144
+ */
145
+ static async monitorIncrement(key, operation, metadata) {
146
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
147
+ const operationMetadata = {
148
+ operation: "increment",
149
+ key,
150
+ ...metadata
151
+ };
152
+ return monitor.measureAsync({
153
+ name: `increment.${key}`,
154
+ type: "cache",
155
+ fn: operation,
156
+ metadata: operationMetadata
157
+ });
158
+ }
159
+ /**
160
+ * Monitor cache decrement operations
161
+ */
162
+ static async monitorDecrement(key, operation, metadata) {
163
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
164
+ const operationMetadata = {
165
+ operation: "decrement",
166
+ key,
167
+ ...metadata
168
+ };
169
+ return monitor.measureAsync({
170
+ name: `decrement.${key}`,
171
+ type: "cache",
172
+ fn: operation,
173
+ metadata: operationMetadata
174
+ });
175
+ }
176
+ }
177
+ function MonitorCacheOperation(operationName) {
178
+ return function(target, propertyKey, descriptor) {
179
+ const originalMethod = descriptor.value;
180
+ const className = target.constructor.name;
181
+ const operation = operationName ?? propertyKey;
182
+ descriptor.value = async function(...args) {
183
+ const monitor = CachePerformanceWrapper.getPerformanceMonitor();
184
+ return monitor.measureAsync({
185
+ name: `${className}.${operation}`,
186
+ type: "cache",
187
+ fn: /* @__PURE__ */ __name(() => originalMethod.apply(this, args), "fn"),
188
+ metadata: { argumentCount: args.length }
189
+ });
190
+ };
191
+ return descriptor;
192
+ };
193
+ }
194
+ __name(MonitorCacheOperation, "MonitorCacheOperation");
195
+ export {
196
+ CachePerformanceWrapper,
197
+ MonitorCacheOperation
198
+ };
199
+ //# sourceMappingURL=cache-performance.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/performance/cache-performance.ts"],
4
+ "sourcesContent": ["import { PerformanceMonitor } from './performance-monitor.js';\n\nexport interface CacheOperationMetadata {\n operation: string;\n key?: string;\n keyPattern?: string;\n hit?: boolean;\n miss?: boolean;\n size?: number;\n ttl?: number;\n error?: string;\n argumentCount?: number;\n}\n\nexport class CachePerformanceWrapper {\n private static performanceMonitor: PerformanceMonitor;\n\n public static setPerformanceMonitor(monitor: PerformanceMonitor): void {\n CachePerformanceWrapper.performanceMonitor = monitor;\n }\n\n public static getPerformanceMonitor(): PerformanceMonitor {\n if (!CachePerformanceWrapper.performanceMonitor) {\n CachePerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();\n }\n return CachePerformanceWrapper.performanceMonitor;\n }\n\n /**\n * Monitor cache get operations\n */\n public static async monitorGet<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'get',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `get.${key}`,\n type: 'cache',\n fn: async () => {\n const result = await operation();\n\n // Determine cache hit/miss\n operationMetadata.hit = result !== null && result !== undefined;\n operationMetadata.miss = !operationMetadata.hit;\n\n return result;\n },\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache set operations\n */\n public static async monitorSet<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'set',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `set.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache delete operations\n */\n public static async monitorDelete<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'delete',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `delete.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache clear operations\n */\n public static async monitorClear<T>(\n pattern: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'clear',\n keyPattern: pattern,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `clear.${pattern}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache exists operations\n */\n public static async monitorExists<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'exists',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `exists.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache multi-get operations\n */\n public static async monitorMultiGet<T>(\n keys: string[],\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'multi_get',\n keyPattern: `[${keys.join(', ')}]`,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `multi_get.${keys.length}_keys`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache multi-set operations\n */\n public static async monitorMultiSet<T>(\n keys: string[],\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'multi_set',\n keyPattern: `[${keys.join(', ')}]`,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `multi_set.${keys.length}_keys`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache increment operations\n */\n public static async monitorIncrement<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'increment',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `increment.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor cache decrement operations\n */\n public static async monitorDecrement<T>(\n key: string,\n operation: () => Promise<T>,\n metadata?: Partial<CacheOperationMetadata>,\n ): Promise<T> {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: CacheOperationMetadata = {\n operation: 'decrement',\n key,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `decrement.${key}`,\n type: 'cache',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n}\n\n/**\n * Decorator for monitoring cache operations\n */\nexport function MonitorCacheOperation(operationName?: string) {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n const className = target.constructor.name;\n const operation = operationName ?? propertyKey;\n\n descriptor.value = async function (...args: any[]) {\n const monitor = CachePerformanceWrapper.getPerformanceMonitor();\n\n return monitor.measureAsync({\n name: `${className}.${operation}`,\n type: 'cache',\n fn: () => originalMethod.apply(this, args),\n metadata: { argumentCount: args.length },\n });\n };\n\n return descriptor;\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,40 @@
1
+ import { PerformanceMonitor } from './performance-monitor.js';
2
+ export interface DatabaseOperationMetadata {
3
+ operation: string;
4
+ entity?: string;
5
+ query?: string;
6
+ parameters?: any[];
7
+ resultCount?: number;
8
+ cacheHit?: boolean;
9
+ argumentCount?: number;
10
+ }
11
+ export declare class DatabasePerformanceWrapper {
12
+ private static performanceMonitor;
13
+ static setPerformanceMonitor(monitor: PerformanceMonitor): void;
14
+ private static getPerformanceMonitor;
15
+ /**
16
+ * Monitor database repository operations
17
+ */
18
+ static monitorRepositoryOperation<T>(operationName: string, entity: string, operation: () => Promise<T>, additionalMetadata?: Record<string, any>): Promise<T>;
19
+ /**
20
+ * Monitor raw database queries
21
+ */
22
+ static monitorQuery<T>(query: string, parameters: any[] | undefined, operation: () => Promise<T>): Promise<T>;
23
+ /**
24
+ * Monitor database transactions
25
+ */
26
+ static monitorTransaction<T>(transactionName: string, operation: () => Promise<T>, additionalMetadata?: Record<string, any>): Promise<T>;
27
+ /**
28
+ * Monitor database connection operations
29
+ */
30
+ static monitorConnection<T>(connectionOperation: string, operation: () => Promise<T>): Promise<T>;
31
+ /**
32
+ * Monitor database migrations
33
+ */
34
+ static monitorMigration<T>(migrationName: string, operation: () => Promise<T>): Promise<T>;
35
+ }
36
+ /**
37
+ * Decorator for monitoring repository methods
38
+ */
39
+ export declare function MonitorDatabaseOperation(operationName?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
40
+ //# sourceMappingURL=database-performance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-performance.d.ts","sourceRoot":"","sources":["../../src/performance/database-performance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAqB;WAExC,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAItE,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC;;OAEG;WACiB,0BAA0B,CAAC,CAAC,EAC9C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACvC,OAAO,CAAC,CAAC,CAAC;IA8Bb;;OAEG;WACiB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,YAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA4BnH;;OAEG;WACiB,kBAAkB,CAAC,CAAC,EACtC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACvC,OAAO,CAAC,CAAC,CAAC;IAYb;;OAEG;WACiB,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAe9G;;OAEG;WACiB,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAUxG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,CAAC,EAAE,MAAM,IAC5C,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBAgBlF"}
@@ -0,0 +1,132 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { PerformanceMonitor } from "./performance-monitor.js";
4
+ class DatabasePerformanceWrapper {
5
+ static {
6
+ __name(this, "DatabasePerformanceWrapper");
7
+ }
8
+ static performanceMonitor;
9
+ static setPerformanceMonitor(monitor) {
10
+ DatabasePerformanceWrapper.performanceMonitor = monitor;
11
+ }
12
+ static getPerformanceMonitor() {
13
+ if (!DatabasePerformanceWrapper.performanceMonitor) {
14
+ DatabasePerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();
15
+ }
16
+ return DatabasePerformanceWrapper.performanceMonitor;
17
+ }
18
+ /**
19
+ * Monitor database repository operations
20
+ */
21
+ static async monitorRepositoryOperation(operationName, entity, operation, additionalMetadata) {
22
+ const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
23
+ const metadata = {
24
+ operation: operationName,
25
+ entity,
26
+ ...additionalMetadata
27
+ };
28
+ return monitor.measureAsync({
29
+ name: `${entity}.${operationName}`,
30
+ type: "database",
31
+ fn: /* @__PURE__ */ __name(async () => {
32
+ const result = await operation();
33
+ if (Array.isArray(result)) {
34
+ metadata.resultCount = result.length;
35
+ } else if (result && typeof result === "object") {
36
+ metadata.resultCount = 1;
37
+ } else {
38
+ metadata.resultCount = 0;
39
+ }
40
+ return result;
41
+ }, "fn"),
42
+ metadata
43
+ });
44
+ }
45
+ /**
46
+ * Monitor raw database queries
47
+ */
48
+ static async monitorQuery(query, parameters = [], operation) {
49
+ const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
50
+ const metadata = {
51
+ operation: "raw_query",
52
+ query: query.substring(0, 200) + (query.length > 200 ? "..." : ""),
53
+ // Truncate long queries
54
+ parameters: parameters.slice(0, 10)
55
+ // Limit parameters for logging
56
+ };
57
+ return monitor.measureAsync({
58
+ name: "raw_query",
59
+ type: "database",
60
+ fn: /* @__PURE__ */ __name(async () => {
61
+ const result = await operation();
62
+ if (Array.isArray(result)) {
63
+ metadata.resultCount = result.length;
64
+ } else if (result && typeof result === "object") {
65
+ metadata.resultCount = 1;
66
+ }
67
+ return result;
68
+ }, "fn"),
69
+ metadata
70
+ });
71
+ }
72
+ /**
73
+ * Monitor database transactions
74
+ */
75
+ static async monitorTransaction(transactionName, operation, additionalMetadata) {
76
+ const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
77
+ const metadata = {
78
+ operation: "transaction",
79
+ entity: transactionName,
80
+ ...additionalMetadata
81
+ };
82
+ return monitor.measureAsync({ name: `transaction.${transactionName}`, type: "database", fn: operation, metadata });
83
+ }
84
+ /**
85
+ * Monitor database connection operations
86
+ */
87
+ static async monitorConnection(connectionOperation, operation) {
88
+ const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
89
+ const metadata = {
90
+ operation: connectionOperation
91
+ };
92
+ return monitor.measureAsync({
93
+ name: `connection.${connectionOperation}`,
94
+ type: "database",
95
+ fn: operation,
96
+ metadata
97
+ });
98
+ }
99
+ /**
100
+ * Monitor database migrations
101
+ */
102
+ static async monitorMigration(migrationName, operation) {
103
+ const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();
104
+ const metadata = {
105
+ operation: "migration",
106
+ entity: migrationName
107
+ };
108
+ return monitor.measureAsync({ name: `migration.${migrationName}`, type: "database", fn: operation, metadata });
109
+ }
110
+ }
111
+ function MonitorDatabaseOperation(operationName) {
112
+ return function(target, propertyKey, descriptor) {
113
+ const originalMethod = descriptor.value;
114
+ const entityName = target.constructor.name.replace("Repository", "");
115
+ const operation = operationName ?? propertyKey;
116
+ descriptor.value = async function(...args) {
117
+ return DatabasePerformanceWrapper.monitorRepositoryOperation(
118
+ operation,
119
+ entityName,
120
+ () => originalMethod.apply(this, args),
121
+ { argumentCount: args.length }
122
+ );
123
+ };
124
+ return descriptor;
125
+ };
126
+ }
127
+ __name(MonitorDatabaseOperation, "MonitorDatabaseOperation");
128
+ export {
129
+ DatabasePerformanceWrapper,
130
+ MonitorDatabaseOperation
131
+ };
132
+ //# sourceMappingURL=database-performance.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/performance/database-performance.ts"],
4
+ "sourcesContent": ["import { PerformanceMonitor } from './performance-monitor.js';\n\nexport interface DatabaseOperationMetadata {\n operation: string;\n entity?: string;\n query?: string;\n parameters?: any[];\n resultCount?: number;\n cacheHit?: boolean;\n argumentCount?: number;\n}\n\nexport class DatabasePerformanceWrapper {\n private static performanceMonitor: PerformanceMonitor;\n\n public static setPerformanceMonitor(monitor: PerformanceMonitor): void {\n DatabasePerformanceWrapper.performanceMonitor = monitor;\n }\n\n private static getPerformanceMonitor(): PerformanceMonitor {\n if (!DatabasePerformanceWrapper.performanceMonitor) {\n DatabasePerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();\n }\n return DatabasePerformanceWrapper.performanceMonitor;\n }\n\n /**\n * Monitor database repository operations\n */\n public static async monitorRepositoryOperation<T>(\n operationName: string,\n entity: string,\n operation: () => Promise<T>,\n additionalMetadata?: Record<string, any>,\n ): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: operationName,\n entity,\n ...additionalMetadata,\n };\n\n return monitor.measureAsync({\n name: `${entity}.${operationName}`,\n type: 'database',\n fn: async () => {\n const result = await operation();\n\n // Add result metadata\n if (Array.isArray(result)) {\n metadata.resultCount = result.length;\n } else if (result && typeof result === 'object') {\n metadata.resultCount = 1;\n } else {\n metadata.resultCount = 0;\n }\n\n return result;\n },\n metadata,\n });\n }\n\n /**\n * Monitor raw database queries\n */\n public static async monitorQuery<T>(query: string, parameters: any[] = [], operation: () => Promise<T>): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: 'raw_query',\n query: query.substring(0, 200) + (query.length > 200 ? '...' : ''), // Truncate long queries\n parameters: parameters.slice(0, 10), // Limit parameters for logging\n };\n\n return monitor.measureAsync({\n name: 'raw_query',\n type: 'database',\n fn: async () => {\n const result = await operation();\n\n // Add result metadata\n if (Array.isArray(result)) {\n metadata.resultCount = result.length;\n } else if (result && typeof result === 'object') {\n metadata.resultCount = 1;\n }\n\n return result;\n },\n metadata,\n });\n }\n\n /**\n * Monitor database transactions\n */\n public static async monitorTransaction<T>(\n transactionName: string,\n operation: () => Promise<T>,\n additionalMetadata?: Record<string, any>,\n ): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: 'transaction',\n entity: transactionName,\n ...additionalMetadata,\n };\n\n return monitor.measureAsync({ name: `transaction.${transactionName}`, type: 'database', fn: operation, metadata });\n }\n\n /**\n * Monitor database connection operations\n */\n public static async monitorConnection<T>(connectionOperation: string, operation: () => Promise<T>): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: connectionOperation,\n };\n\n return monitor.measureAsync({\n name: `connection.${connectionOperation}`,\n type: 'database',\n fn: operation,\n metadata,\n });\n }\n\n /**\n * Monitor database migrations\n */\n public static async monitorMigration<T>(migrationName: string, operation: () => Promise<T>): Promise<T> {\n const monitor = DatabasePerformanceWrapper.getPerformanceMonitor();\n\n const metadata: DatabaseOperationMetadata = {\n operation: 'migration',\n entity: migrationName,\n };\n\n return monitor.measureAsync({ name: `migration.${migrationName}`, type: 'database', fn: operation, metadata });\n }\n}\n\n/**\n * Decorator for monitoring repository methods\n */\nexport function MonitorDatabaseOperation(operationName?: string) {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n const entityName = target.constructor.name.replace('Repository', '');\n const operation = operationName ?? propertyKey;\n\n descriptor.value = async function (...args: any[]) {\n return DatabasePerformanceWrapper.monitorRepositoryOperation(\n operation,\n entityName,\n () => originalMethod.apply(this, args),\n { argumentCount: args.length },\n );\n };\n\n return descriptor;\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ export * from './performance-monitor.js';
2
+ export * from './database-performance.js';
3
+ export * from './webserver-performance.js';
4
+ export * from './websocket-performance.js';
5
+ export * from './queue-performance.js';
6
+ export * from './cache-performance.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/performance/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./performance-monitor.js";
2
+ export * from "./database-performance.js";
3
+ export * from "./webserver-performance.js";
4
+ export * from "./websocket-performance.js";
5
+ export * from "./queue-performance.js";
6
+ export * from "./cache-performance.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/performance/index.ts"],
4
+ "sourcesContent": ["export * from './performance-monitor.js';\nexport * from './database-performance.js';\nexport * from './webserver-performance.js';\nexport * from './websocket-performance.js';\nexport * from './queue-performance.js';\nexport * from './cache-performance.js';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,68 @@
1
+ export interface PerformanceMetrics {
2
+ name: string;
3
+ duration: number;
4
+ timestamp: number;
5
+ type: 'http' | 'database' | 'cache' | 'queue' | 'websocket' | 'custom';
6
+ metadata?: Record<string, any>;
7
+ }
8
+ export interface PerformanceThresholds {
9
+ http: number;
10
+ database: number;
11
+ cache: number;
12
+ queue: number;
13
+ websocket: number;
14
+ custom: number;
15
+ }
16
+ export interface PerformanceMonitorOptions {
17
+ enabled?: boolean;
18
+ maxMetricsHistory?: number;
19
+ thresholds?: Partial<PerformanceThresholds>;
20
+ logSlowOperations?: boolean;
21
+ logAllOperations?: boolean;
22
+ }
23
+ export declare class PerformanceMonitor {
24
+ private static instance;
25
+ private observer;
26
+ private metrics;
27
+ private thresholds;
28
+ private maxMetricsHistory;
29
+ private isEnabled;
30
+ private logSlowOperations;
31
+ private logAllOperations;
32
+ private constructor();
33
+ static getInstance(options?: PerformanceMonitorOptions): PerformanceMonitor;
34
+ static initialize(options?: PerformanceMonitorOptions): PerformanceMonitor;
35
+ private initializeObserver;
36
+ private handlePerformanceEntry;
37
+ startMeasure(name: string, type?: PerformanceMetrics['type']): string;
38
+ endMeasure(startMark: string, _metadata?: Record<string, any>): void;
39
+ measureAsync<T>({ name, type, fn, metadata, }: {
40
+ name: string;
41
+ type: PerformanceMetrics['type'];
42
+ fn: () => Promise<T>;
43
+ metadata?: Record<string, any>;
44
+ }): Promise<T>;
45
+ measureSync<T>(name: string, type: PerformanceMetrics['type'], fn: () => T, metadata?: Record<string, any>): T;
46
+ getMetrics(type?: PerformanceMetrics['type'], limit?: number): PerformanceMetrics[];
47
+ getAverageMetrics(type?: PerformanceMetrics['type']): Record<string, number>;
48
+ getMemoryUsage(): NodeJS.MemoryUsage;
49
+ getDetailedMemoryUsage(): Record<string, number>;
50
+ getCpuUsage(): NodeJS.CpuUsage;
51
+ setThresholds(thresholds: Partial<PerformanceThresholds>): void;
52
+ setEnabled(enabled: boolean): void;
53
+ clearMetrics(): void;
54
+ generateReport(): {
55
+ summary: {
56
+ totalMetrics: number;
57
+ averages: Record<string, number>;
58
+ thresholds: PerformanceThresholds;
59
+ enabled: boolean;
60
+ };
61
+ metrics: PerformanceMetrics[];
62
+ memory: Record<string, number>;
63
+ cpu: NodeJS.CpuUsage;
64
+ };
65
+ generateFormattedReport(format?: 'simple' | 'detailed'): string;
66
+ destroy(): void;
67
+ }
68
+ //# sourceMappingURL=performance-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-monitor.d.ts","sourceRoot":"","sources":["../../src/performance/performance-monitor.ts"],"names":[],"mappings":"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"}