@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,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/websocket/websocket-room-manager.ts"],
4
+ "sourcesContent": ["import cluster from 'cluster';\nimport { log } from './utils.js';\nimport type WebSocketClientManager from './websocket-client-manager.js';\n\nexport default class WebSocketRoomManager {\n private clientManager: WebSocketClientManager;\n\n public rooms: Map<string, Set<string>> = new Map();\n\n constructor({ clientManager }: { clientManager: WebSocketClientManager }) {\n this.clientManager = clientManager;\n }\n\n public addClientToRoom({\n clientId,\n user,\n roomName,\n broadcast,\n }: {\n clientId: string;\n user: any;\n roomName: string;\n broadcast?: boolean;\n }) {\n // Check if room exists\n if (!this.rooms.has(roomName)) {\n // Create room\n this.rooms.set(roomName, new Set());\n }\n\n // Get room from room name\n const room = this.rooms.get(roomName);\n\n if (!room) {\n log('Room not found when adding client', { Name: roomName });\n\n return;\n }\n\n // Add client to room\n room.add(clientId);\n\n // Set room name in client manager\n this.clientManager.updateClient({\n clientId,\n key: 'roomName',\n data: roomName,\n });\n\n if (broadcast !== false) {\n this.clientManager.broadcastClientList('clientAddedToRoom');\n }\n\n this.printRooms();\n\n log('Client joined room', {\n 'User Type': user?.userType ?? '-',\n Room: roomName,\n ID: clientId,\n Email: user.email ?? '-',\n });\n }\n\n public removeClientFromRoom({\n roomName,\n clientId,\n broadcast,\n }: {\n roomName: string;\n clientId: string;\n broadcast?: boolean;\n }) {\n // Get room from room name\n const room = this.rooms.get(roomName);\n\n if (!room) {\n log('Room not found when removing client', { Name: roomName });\n\n return;\n }\n\n // Get clients in room\n const clientsInRoom = this.rooms.get(roomName);\n\n if (!clientsInRoom) {\n return;\n }\n\n // Remove client from room list\n clientsInRoom.delete(clientId);\n\n // Check if there are no clients in the room\n if (clientsInRoom.size === 0) {\n // Delete room\n this.rooms.delete(roomName);\n }\n\n // Set room name in client manager\n this.clientManager.updateClient({\n clientId,\n key: 'roomName',\n data: null,\n });\n\n if (broadcast !== false) {\n this.clientManager.broadcastClientList('clientRemovedFromRoom');\n }\n\n this.printRooms();\n\n log('Client left room', { Room: roomName, ID: clientId });\n }\n\n public removeClientFromAllRooms({ clientId }: { clientId: string }) {\n this.rooms.forEach((clientsInRoom, room) => {\n if (!clientsInRoom.has(clientId)) {\n return;\n }\n\n this.removeClientFromRoom({ roomName: room, clientId, broadcast: false });\n });\n\n this.clientManager.broadcastClientList('clientRemovedFromAllRooms');\n\n this.printRooms();\n }\n\n public isClientInRoom({ clientId, roomName }: { clientId: string; roomName: string }) {\n // Get clients in room\n const clientsInRoom = this.rooms.get(roomName);\n\n if (!clientsInRoom) {\n return false;\n }\n\n // Check if client is in room\n return clientsInRoom.has(clientId);\n }\n\n public printRooms() {\n const numRooms = this.rooms.size;\n\n let logOutput = '\\n-------------------------------------------------------\\n';\n logOutput += `Rooms (Count: ${numRooms}):\\n`;\n logOutput += '-------------------------------------------------------\\n';\n\n if (numRooms > 0) {\n const workerId = cluster.isWorker && cluster.worker ? cluster.worker.id : null;\n\n // Loop through all rooms\n let roomNumber = 1;\n\n this.rooms.forEach((clientsInRoom, room) => {\n const numClientsInRoom = clientsInRoom.size;\n\n logOutput += `Room ${roomNumber} (Name: ${room} | Clients: ${numClientsInRoom}${workerId ? ` | Worker: ${workerId}` : ''}):\\n`;\n logOutput += ' Clients:\\n';\n\n // Loop through all clients in room\n clientsInRoom.forEach(clientId => {\n const client = this.clientManager.getClient({ clientId });\n\n logOutput += ` Client (ID: ${clientId} | Username: ${client?.user?.username ?? '-'} | User Type: ${client?.user?.userType ?? '-'} | Email: ${client?.user?.email ?? '-'})\\n`;\n });\n\n roomNumber++;\n });\n } else {\n logOutput += 'No rooms\\n';\n }\n\n logOutput += '\\n';\n\n log(logOutput);\n }\n\n public getRoomClients({ roomName }: { roomName: string }): string[] {\n const room = this.rooms.get(roomName);\n return room ? Array.from(room) : [];\n }\n\n public cleanup(): void {\n // Clear all rooms\n this.rooms.clear();\n log('WebSocket room manager cleaned up');\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,92 @@
1
+ import { WebSocketServer as WS, WebSocket } from 'ws';
2
+ import { type WebSocketRoute, type WebSocketType } from './websocket.interface.js';
3
+ import type RedisInstance from '../redis/instance.js';
4
+ import type QueueManager from '../queue/manager.js';
5
+ import type DatabaseInstance from '../database/instance.js';
6
+ import type { WebSocketServerProps } from './websocket-server.interface.js';
7
+ import WebSocketClientManager from './websocket-client-manager.js';
8
+ import WebSocketBase from './websocket-base.js';
9
+ import type { FastifyInstance } from 'fastify';
10
+ export default class WebSocketServer extends WebSocketBase {
11
+ protected defaultRoutes: WebSocketRoute[];
12
+ private server?;
13
+ private checkConnectedClientsInterval?;
14
+ private workerId;
15
+ private uniqueInstanceId;
16
+ private applicationConfig;
17
+ private options;
18
+ clientManager: WebSocketClientManager;
19
+ private roomManager;
20
+ get rooms(): Map<string, Set<string>>;
21
+ private redisInstance;
22
+ private queueManager;
23
+ private databaseInstance;
24
+ /** Redis subscriber events */
25
+ private redisSubscriberEvents;
26
+ constructor(props: WebSocketServerProps);
27
+ get type(): WebSocketType;
28
+ private validateWebSocketAuth;
29
+ load(): Promise<void>;
30
+ start({ fastifyServer }: {
31
+ fastifyServer: FastifyInstance;
32
+ }): Promise<{
33
+ server: WS;
34
+ }>;
35
+ stop(): Promise<void>;
36
+ protected getControllerDependencies(): {
37
+ webSocketServer: WebSocketServer;
38
+ redisInstance: RedisInstance;
39
+ queueManager: QueueManager;
40
+ databaseInstance: DatabaseInstance;
41
+ };
42
+ protected shouldPrintRoutes(): boolean;
43
+ private handleServerStart;
44
+ /**
45
+ * Handle subscriber message.
46
+ */
47
+ private handleSubscriberMessage;
48
+ private handleServerError;
49
+ private handleServerClientConnection;
50
+ leaveRoom({ ws, roomName }: {
51
+ ws: WebSocket;
52
+ roomName: string;
53
+ }): void;
54
+ private onClientConnect;
55
+ private onClientDisconnect;
56
+ private handleServerClientDisconnection;
57
+ private handleClientMessage;
58
+ protected handleMessageError(clientId: string, error: string): void;
59
+ private checkInactiveClients;
60
+ broadcastToAllClients({ data, excludeClientId, }: {
61
+ data: {
62
+ [key: string]: any;
63
+ };
64
+ excludeClientId?: string;
65
+ }): void;
66
+ sendMessageError({ webSocketClientId, error }: {
67
+ webSocketClientId: string;
68
+ error: string;
69
+ }): void;
70
+ private onJoinRoom;
71
+ joinRoom({ ws, userId, userType, username, roomName, }: {
72
+ ws: WebSocket;
73
+ userId?: number;
74
+ userType?: string;
75
+ username?: string;
76
+ roomName: string;
77
+ }): Promise<true | undefined>;
78
+ sendClientMessage: (ws: WebSocket, data: unknown, binary?: boolean) => void;
79
+ sendMessage: ({ data }: {
80
+ data: unknown;
81
+ }) => void;
82
+ sendMessageToAll: ({ data }: {
83
+ data: unknown;
84
+ }) => void;
85
+ sendCustomMessage: ({ data }: {
86
+ data: unknown;
87
+ }) => void;
88
+ getClients({ userType }: {
89
+ userType?: string;
90
+ }): any[];
91
+ }
92
+ //# sourceMappingURL=websocket-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ApplicationConfig } from '../application/base-application.interface.js';
2
+ import type DatabaseInstance from '../database/instance.js';
3
+ import type QueueManager from '../queue/manager.js';
4
+ import type { RedisInstance } from '../redis/index.js';
5
+ import type { WebSocketOptions, WebSocketRoute } from './websocket.interface.js';
6
+ export interface WebSocketServerProps {
7
+ uniqueInstanceId: string;
8
+ applicationConfig: ApplicationConfig;
9
+ options: WebSocketOptions;
10
+ redisInstance: RedisInstance;
11
+ queueManager: QueueManager;
12
+ databaseInstance: DatabaseInstance;
13
+ routes: WebSocketRoute[];
14
+ workerId: number | null;
15
+ }
16
+ //# sourceMappingURL=websocket-server.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server.interface.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket-server.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEjF,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=websocket-server.interface.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }