@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,45 @@
1
+ declare function convertFile({ inputFilePath, outputFilePath, format, }: {
2
+ inputFilePath: string;
3
+ outputFilePath: string;
4
+ format: string;
5
+ }): Promise<void>;
6
+ /**
7
+ * Copy a file or directory synchronously
8
+ *
9
+ * @param src The source path
10
+ * @param dest The destination path
11
+ */
12
+ declare function copySync(src: string, dest: string): void;
13
+ /**
14
+ * Download file from URL
15
+ *
16
+ * @param url The URL to download the file from
17
+ * @param destinationPath The path to save the downloaded file
18
+ */
19
+ declare function downloadFile({ url, destinationPath }: {
20
+ url: string;
21
+ destinationPath: string;
22
+ }): Promise<void>;
23
+ /**
24
+ * Format file size.
25
+ *
26
+ * @param bytes The file size in bytes
27
+ */
28
+ declare function formatFileSize({ bytes }: {
29
+ bytes: number;
30
+ }): string;
31
+ /**
32
+ * Remove a file or directory synchronously
33
+ *
34
+ * @param target The path to the file or directory to remove
35
+ */
36
+ declare function removeSync(target: string): void;
37
+ declare const _default: {
38
+ convertFile: typeof convertFile;
39
+ copySync: typeof copySync;
40
+ downloadFile: typeof downloadFile;
41
+ formatFileSize: typeof formatFileSize;
42
+ removeSync: typeof removeSync;
43
+ };
44
+ export default _default;
45
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/util/file.ts"],"names":[],"mappings":"AASA,iBAAe,WAAW,CAAC,EACzB,aAAa,EACb,cAAc,EACd,MAAM,GACP,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBhB;AAED;;;;;GAKG;AACH,iBAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAwBjD;AAED;;;;;GAKG;AACH,iBAAe,YAAY,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B7G;AAED;;;;GAIG;AACH,iBAAS,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQ5D;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAuBxC;;;;;;;;AAED,wBAME"}
@@ -0,0 +1,105 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import * as fs from "fs";
4
+ import * as path from "path";
5
+ import * as https from "https";
6
+ import { pipeline } from "stream";
7
+ import { promisify } from "node:util";
8
+ import ffmpeg from "fluent-ffmpeg";
9
+ const pipelineAsync = promisify(pipeline);
10
+ async function convertFile({
11
+ inputFilePath,
12
+ outputFilePath,
13
+ format
14
+ }) {
15
+ return new Promise((resolve, reject) => {
16
+ console.log(`Starting conversion: ${inputFilePath} -> ${outputFilePath} (format: ${format})`);
17
+ const command = ffmpeg(inputFilePath).output(outputFilePath).outputFormat(format === "jpg" ? "mjpeg" : format).on("progress", (progress) => {
18
+ console.log(`Processing: ${Math.round(progress.percent)}% done`);
19
+ }).on("end", () => {
20
+ console.log("Conversion finished successfully");
21
+ resolve();
22
+ }).on("error", (err) => {
23
+ console.error("Error during conversion:", err);
24
+ reject(err);
25
+ });
26
+ command.run();
27
+ });
28
+ }
29
+ __name(convertFile, "convertFile");
30
+ function copySync(src, dest) {
31
+ const stats = fs.statSync(src);
32
+ if (stats.isDirectory()) {
33
+ if (!fs.existsSync(dest)) {
34
+ fs.mkdirSync(dest);
35
+ }
36
+ const entries = fs.readdirSync(src);
37
+ for (const entry of entries) {
38
+ const srcPath = path.join(src, entry);
39
+ const destPath = path.join(dest, entry);
40
+ copySync(srcPath, destPath);
41
+ }
42
+ } else {
43
+ fs.copyFileSync(src, dest);
44
+ }
45
+ }
46
+ __name(copySync, "copySync");
47
+ async function downloadFile({ url, destinationPath }) {
48
+ return new Promise((resolve, reject) => {
49
+ const file = fs.createWriteStream(destinationPath);
50
+ https.get(url, (response) => {
51
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode < 300) {
52
+ pipelineAsync(response, file).then(() => resolve()).catch((err) => {
53
+ fs.unlink(destinationPath, () => reject(err));
54
+ });
55
+ } else {
56
+ fs.unlink(destinationPath, () => {
57
+ reject(new Error(`Failed to download file, status code: ${response.statusCode}`));
58
+ });
59
+ }
60
+ }).on("error", (err) => {
61
+ fs.unlink(destinationPath, () => reject(err));
62
+ });
63
+ file.on("error", (err) => {
64
+ fs.unlink(destinationPath, () => reject(err));
65
+ });
66
+ });
67
+ }
68
+ __name(downloadFile, "downloadFile");
69
+ function formatFileSize({ bytes }) {
70
+ const sizes = ["bytes", "kB", "MB", "GB", "TB"];
71
+ if (bytes === 0) return "0 bytes";
72
+ const i = Math.floor(Math.log(bytes) / Math.log(1024));
73
+ const fileSize = (bytes / Math.pow(1024, i)).toFixed(1);
74
+ return `${fileSize} ${sizes[i]}`;
75
+ }
76
+ __name(formatFileSize, "formatFileSize");
77
+ function removeSync(target) {
78
+ if (fs.existsSync(target)) {
79
+ const stats = fs.statSync(target);
80
+ if (stats.isDirectory()) {
81
+ const entries = fs.readdirSync(target);
82
+ for (const entry of entries) {
83
+ const entryPath = path.join(target, entry);
84
+ removeSync(entryPath);
85
+ }
86
+ fs.rmdirSync(target);
87
+ } else {
88
+ fs.unlinkSync(target);
89
+ }
90
+ } else {
91
+ console.warn(`Path ${target} does not exist.`);
92
+ }
93
+ }
94
+ __name(removeSync, "removeSync");
95
+ var file_default = {
96
+ convertFile,
97
+ copySync,
98
+ downloadFile,
99
+ formatFileSize,
100
+ removeSync
101
+ };
102
+ export {
103
+ file_default as default
104
+ };
105
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/util/file.ts"],
4
+ "sourcesContent": ["import * as fs from 'fs';\nimport * as path from 'path';\nimport * as https from 'https';\nimport { pipeline } from 'stream';\nimport { promisify } from 'node:util';\nimport ffmpeg from 'fluent-ffmpeg';\n\nconst pipelineAsync = promisify(pipeline);\n\nasync function convertFile({\n inputFilePath,\n outputFilePath,\n format,\n}: {\n inputFilePath: string;\n outputFilePath: string;\n format: string;\n}): Promise<void> {\n return new Promise((resolve, reject) => {\n console.log(`Starting conversion: ${inputFilePath} -> ${outputFilePath} (format: ${format})`);\n\n const command = ffmpeg(inputFilePath)\n .output(outputFilePath)\n .outputFormat(format === 'jpg' ? 'mjpeg' : format) // Using 'mjpeg' for jpg\n .on('progress', (progress: any) => {\n console.log(`Processing: ${Math.round(progress.percent)}% done`);\n })\n .on('end', () => {\n console.log('Conversion finished successfully');\n resolve();\n })\n .on('error', (err: Error) => {\n console.error('Error during conversion:', err);\n reject(err);\n });\n\n // Start processing\n command.run();\n });\n}\n\n/**\n * Copy a file or directory synchronously\n *\n * @param src The source path\n * @param dest The destination path\n */\nfunction copySync(src: string, dest: string): void {\n const stats = fs.statSync(src);\n\n if (stats.isDirectory()) {\n // Create destination directory if it doesn't exist\n if (!fs.existsSync(dest)) {\n fs.mkdirSync(dest);\n }\n\n // Read directory contents\n const entries = fs.readdirSync(src);\n\n // Copy each file/folder\n for (const entry of entries) {\n const srcPath = path.join(src, entry);\n const destPath = path.join(dest, entry);\n\n // Recursively copy directory or file\n copySync(srcPath, destPath);\n }\n } else {\n // Copy file\n fs.copyFileSync(src, dest);\n }\n}\n\n/**\n * Download file from URL\n *\n * @param url The URL to download the file from\n * @param destinationPath The path to save the downloaded file\n */\nasync function downloadFile({ url, destinationPath }: { url: string; destinationPath: string }): Promise<void> {\n return new Promise((resolve, reject) => {\n const file = fs.createWriteStream(destinationPath);\n\n https\n .get(url, response => {\n // Check if response status is OK (200\u2013299)\n if (response.statusCode && response.statusCode >= 200 && response.statusCode < 300) {\n pipelineAsync(response, file)\n .then(() => resolve())\n .catch(err => {\n fs.unlink(destinationPath, () => reject(err)); // Clean up partially written file on error\n });\n } else {\n fs.unlink(destinationPath, () => {\n reject(new Error(`Failed to download file, status code: ${response.statusCode}`));\n });\n }\n })\n .on('error', err => {\n fs.unlink(destinationPath, () => reject(err)); // Handle request errors\n });\n\n // Handle file stream errors\n file.on('error', err => {\n fs.unlink(destinationPath, () => reject(err));\n });\n });\n}\n\n/**\n * Format file size.\n *\n * @param bytes The file size in bytes\n */\nfunction formatFileSize({ bytes }: { bytes: number }): string {\n const sizes = ['bytes', 'kB', 'MB', 'GB', 'TB'];\n if (bytes === 0) return '0 bytes';\n\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n const fileSize = (bytes / Math.pow(1024, i)).toFixed(1);\n\n return `${fileSize} ${sizes[i]}`;\n}\n\n/**\n * Remove a file or directory synchronously\n *\n * @param target The path to the file or directory to remove\n */\nfunction removeSync(target: string): void {\n if (fs.existsSync(target)) {\n const stats = fs.statSync(target);\n\n if (stats.isDirectory()) {\n // Read the directory contents\n const entries = fs.readdirSync(target);\n\n // Recursively remove directory contents\n for (const entry of entries) {\n const entryPath = path.join(target, entry);\n removeSync(entryPath); // Recursively remove each file/folder\n }\n\n // Remove the directory itself\n fs.rmdirSync(target);\n } else {\n // Remove the file\n fs.unlinkSync(target);\n }\n } else {\n console.warn(`Path ${target} does not exist.`);\n }\n}\n\nexport default {\n convertFile,\n copySync,\n downloadFile,\n formatFileSize,\n removeSync,\n};\n"],
5
+ "mappings": ";;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,WAAW;AACvB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,OAAO,YAAY;AAEnB,MAAM,gBAAgB,UAAU,QAAQ;AAExC,eAAe,YAAY;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAIkB;AAChB,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAQ,IAAI,wBAAwB,aAAa,OAAO,cAAc,aAAa,MAAM,GAAG;AAE5F,UAAM,UAAU,OAAO,aAAa,EACjC,OAAO,cAAc,EACrB,aAAa,WAAW,QAAQ,UAAU,MAAM,EAChD,GAAG,YAAY,CAAC,aAAkB;AACjC,cAAQ,IAAI,eAAe,KAAK,MAAM,SAAS,OAAO,CAAC,QAAQ;AAAA,IACjE,CAAC,EACA,GAAG,OAAO,MAAM;AACf,cAAQ,IAAI,kCAAkC;AAC9C,cAAQ;AAAA,IACV,CAAC,EACA,GAAG,SAAS,CAAC,QAAe;AAC3B,cAAQ,MAAM,4BAA4B,GAAG;AAC7C,aAAO,GAAG;AAAA,IACZ,CAAC;AAGH,YAAQ,IAAI;AAAA,EACd,CAAC;AACH;AA9Be;AAsCf,SAAS,SAAS,KAAa,MAAoB;AACjD,QAAM,QAAQ,GAAG,SAAS,GAAG;AAE7B,MAAI,MAAM,YAAY,GAAG;AAEvB,QAAI,CAAC,GAAG,WAAW,IAAI,GAAG;AACxB,SAAG,UAAU,IAAI;AAAA,IACnB;AAGA,UAAM,UAAU,GAAG,YAAY,GAAG;AAGlC,eAAW,SAAS,SAAS;AAC3B,YAAM,UAAU,KAAK,KAAK,KAAK,KAAK;AACpC,YAAM,WAAW,KAAK,KAAK,MAAM,KAAK;AAGtC,eAAS,SAAS,QAAQ;AAAA,IAC5B;AAAA,EACF,OAAO;AAEL,OAAG,aAAa,KAAK,IAAI;AAAA,EAC3B;AACF;AAxBS;AAgCT,eAAe,aAAa,EAAE,KAAK,gBAAgB,GAA4D;AAC7G,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,OAAO,GAAG,kBAAkB,eAAe;AAEjD,UACG,IAAI,KAAK,cAAY;AAEpB,UAAI,SAAS,cAAc,SAAS,cAAc,OAAO,SAAS,aAAa,KAAK;AAClF,sBAAc,UAAU,IAAI,EACzB,KAAK,MAAM,QAAQ,CAAC,EACpB,MAAM,SAAO;AACZ,aAAG,OAAO,iBAAiB,MAAM,OAAO,GAAG,CAAC;AAAA,QAC9C,CAAC;AAAA,MACL,OAAO;AACL,WAAG,OAAO,iBAAiB,MAAM;AAC/B,iBAAO,IAAI,MAAM,yCAAyC,SAAS,UAAU,EAAE,CAAC;AAAA,QAClF,CAAC;AAAA,MACH;AAAA,IACF,CAAC,EACA,GAAG,SAAS,SAAO;AAClB,SAAG,OAAO,iBAAiB,MAAM,OAAO,GAAG,CAAC;AAAA,IAC9C,CAAC;AAGH,SAAK,GAAG,SAAS,SAAO;AACtB,SAAG,OAAO,iBAAiB,MAAM,OAAO,GAAG,CAAC;AAAA,IAC9C,CAAC;AAAA,EACH,CAAC;AACH;AA5Be;AAmCf,SAAS,eAAe,EAAE,MAAM,GAA8B;AAC5D,QAAM,QAAQ,CAAC,SAAS,MAAM,MAAM,MAAM,IAAI;AAC9C,MAAI,UAAU,EAAG,QAAO;AAExB,QAAM,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC;AACrD,QAAM,YAAY,QAAQ,KAAK,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC;AAEtD,SAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC;AAChC;AARS;AAeT,SAAS,WAAW,QAAsB;AACxC,MAAI,GAAG,WAAW,MAAM,GAAG;AACzB,UAAM,QAAQ,GAAG,SAAS,MAAM;AAEhC,QAAI,MAAM,YAAY,GAAG;AAEvB,YAAM,UAAU,GAAG,YAAY,MAAM;AAGrC,iBAAW,SAAS,SAAS;AAC3B,cAAM,YAAY,KAAK,KAAK,QAAQ,KAAK;AACzC,mBAAW,SAAS;AAAA,MACtB;AAGA,SAAG,UAAU,MAAM;AAAA,IACrB,OAAO;AAEL,SAAG,WAAW,MAAM;AAAA,IACtB;AAAA,EACF,OAAO;AACL,YAAQ,KAAK,QAAQ,MAAM,kBAAkB;AAAA,EAC/C;AACF;AAvBS;AAyBT,IAAO,eAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Deep merge two objects safely, preventing prototype pollution.
3
+ */
4
+ declare function defaultsDeep(target: any, ...sources: any[]): any;
5
+ /**
6
+ * Check if a value is an object.
7
+ */
8
+ declare function isObject(item: any): boolean;
9
+ type AnyObject = {
10
+ [key: string]: any;
11
+ };
12
+ /**
13
+ * Retrieves the value from an object using a dotted key path safely.
14
+ *
15
+ * @param obj - The object to retrieve the value from.
16
+ * @param path - The dotted key path (e.g., 'user.email').
17
+ * @returns The value at the specified key path or undefined if not found.
18
+ */
19
+ declare function getValueFromObject(obj: AnyObject, path: string): any;
20
+ /**
21
+ * Retrieves the value from an array of objects using a dotted key path.
22
+ *
23
+ * @param arr - The array of objects.
24
+ * @param path - The dotted key path (e.g., 'user.email').
25
+ * @returns An array of values at the specified key path from each object.
26
+ */
27
+ declare function getValueFromArray(arr: AnyObject[], path: string): any[];
28
+ declare function getScriptFileExtension(): string;
29
+ declare const _default: {
30
+ defaultsDeep: typeof defaultsDeep;
31
+ isObject: typeof isObject;
32
+ getValueFromArray: typeof getValueFromArray;
33
+ getValueFromObject: typeof getValueFromObject;
34
+ getScriptFileExtension: typeof getScriptFileExtension;
35
+ };
36
+ export default _default;
37
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/util/helper.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CA2CzD;AAED;;GAEG;AACH,iBAAS,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAEpC;AAED,KAAK,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAExC;;;;;;GAMG;AACH,iBAAS,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAS7D;AAED;;;;;;GAMG;AACH,iBAAS,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAEhE;AAED,iBAAS,sBAAsB,IAAI,MAAM,CAExC;;;;;;;;AAED,wBAME"}
@@ -0,0 +1,73 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ function defaultsDeep(target, ...sources) {
4
+ if (!sources.length) return target;
5
+ const source = sources.shift();
6
+ if (isObject(target) && isObject(source)) {
7
+ for (const key in source) {
8
+ if (key === "__proto__" || key === "constructor" || key === "prototype") {
9
+ continue;
10
+ }
11
+ if (!Object.prototype.hasOwnProperty.call(source, key)) {
12
+ continue;
13
+ }
14
+ const sourceValue = Reflect.get(source, key);
15
+ if (isObject(sourceValue)) {
16
+ if (!Reflect.get(target, key)) {
17
+ Reflect.set(target, key, {});
18
+ }
19
+ defaultsDeep(Reflect.get(target, key), sourceValue);
20
+ } else if (Array.isArray(sourceValue) && Array.isArray(Reflect.get(target, key))) {
21
+ const sourceArray = sourceValue;
22
+ const targetArray = Reflect.get(target, key);
23
+ for (let i = 0; i < sourceArray.length; i++) {
24
+ if (sourceArray[i] === void 0 && targetArray[i] !== void 0) {
25
+ continue;
26
+ }
27
+ if (isObject(sourceArray[i])) {
28
+ if (typeof targetArray[i] !== "object") targetArray[i] = {};
29
+ defaultsDeep(targetArray[i], sourceArray[i]);
30
+ } else {
31
+ targetArray[i] = sourceArray[i];
32
+ }
33
+ }
34
+ } else if (!Object.prototype.hasOwnProperty.call(target, key)) {
35
+ Reflect.set(target, key, sourceValue);
36
+ }
37
+ }
38
+ }
39
+ return defaultsDeep(target, ...sources);
40
+ }
41
+ __name(defaultsDeep, "defaultsDeep");
42
+ function isObject(item) {
43
+ return item && typeof item === "object" && !Array.isArray(item);
44
+ }
45
+ __name(isObject, "isObject");
46
+ function getValueFromObject(obj, path) {
47
+ return path.split(".").reduce((acc, part) => {
48
+ if (part === "__proto__" || part === "constructor" || part === "prototype") {
49
+ return void 0;
50
+ }
51
+ return acc && Object.prototype.hasOwnProperty.call(acc, part) ? Reflect.get(acc, part) : void 0;
52
+ }, obj);
53
+ }
54
+ __name(getValueFromObject, "getValueFromObject");
55
+ function getValueFromArray(arr, path) {
56
+ return arr.map((obj) => getValueFromObject(obj, path));
57
+ }
58
+ __name(getValueFromArray, "getValueFromArray");
59
+ function getScriptFileExtension() {
60
+ return process.env.NODE_ENV === "local" ? "ts" : "js";
61
+ }
62
+ __name(getScriptFileExtension, "getScriptFileExtension");
63
+ var helper_default = {
64
+ defaultsDeep,
65
+ isObject,
66
+ getValueFromArray,
67
+ getValueFromObject,
68
+ getScriptFileExtension
69
+ };
70
+ export {
71
+ helper_default as default
72
+ };
73
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/util/helper.ts"],
4
+ "sourcesContent": ["/**\n * Deep merge two objects safely, preventing prototype pollution.\n */\nfunction defaultsDeep(target: any, ...sources: any[]): any {\n if (!sources.length) return target;\n const source = sources.shift();\n\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n // Skip prototype pollution attempts\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n continue;\n }\n\n // Only process own properties to prevent prototype chain access\n if (!Object.prototype.hasOwnProperty.call(source, key)) {\n continue;\n }\n\n const sourceValue = Reflect.get(source, key);\n if (isObject(sourceValue)) {\n if (!Reflect.get(target, key)) {\n Reflect.set(target, key, {});\n }\n defaultsDeep(Reflect.get(target, key), sourceValue);\n } else if (Array.isArray(sourceValue) && Array.isArray(Reflect.get(target, key))) {\n const sourceArray = sourceValue;\n const targetArray = Reflect.get(target, key);\n for (let i = 0; i < sourceArray.length; i++) {\n if (sourceArray[i] === undefined && targetArray[i] !== undefined) {\n continue;\n }\n if (isObject(sourceArray[i])) {\n if (typeof targetArray[i] !== 'object') targetArray[i] = {};\n defaultsDeep(targetArray[i], sourceArray[i]);\n } else {\n targetArray[i] = sourceArray[i];\n }\n }\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n Reflect.set(target, key, sourceValue);\n }\n }\n }\n\n return defaultsDeep(target, ...sources);\n}\n\n/**\n * Check if a value is an object.\n */\nfunction isObject(item: any): boolean {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\n\ntype AnyObject = { [key: string]: any };\n\n/**\n * Retrieves the value from an object using a dotted key path safely.\n *\n * @param obj - The object to retrieve the value from.\n * @param path - The dotted key path (e.g., 'user.email').\n * @returns The value at the specified key path or undefined if not found.\n */\nfunction getValueFromObject(obj: AnyObject, path: string): any {\n return path.split('.').reduce((acc, part) => {\n // Skip prototype pollution attempts\n if (part === '__proto__' || part === 'constructor' || part === 'prototype') {\n return undefined;\n }\n // Only access own properties\n return acc && Object.prototype.hasOwnProperty.call(acc, part) ? Reflect.get(acc, part) : undefined;\n }, obj);\n}\n\n/**\n * Retrieves the value from an array of objects using a dotted key path.\n *\n * @param arr - The array of objects.\n * @param path - The dotted key path (e.g., 'user.email').\n * @returns An array of values at the specified key path from each object.\n */\nfunction getValueFromArray(arr: AnyObject[], path: string): any[] {\n return arr.map(obj => getValueFromObject(obj, path));\n}\n\nfunction getScriptFileExtension(): string {\n return process.env.NODE_ENV === 'local' ? 'ts' : 'js';\n}\n\nexport default {\n defaultsDeep,\n isObject,\n getValueFromArray,\n getValueFromObject,\n getScriptFileExtension,\n};\n"],
5
+ "mappings": ";;AAGA,SAAS,aAAa,WAAgB,SAAqB;AACzD,MAAI,CAAC,QAAQ,OAAQ,QAAO;AAC5B,QAAM,SAAS,QAAQ,MAAM;AAE7B,MAAI,SAAS,MAAM,KAAK,SAAS,MAAM,GAAG;AACxC,eAAW,OAAO,QAAQ;AAExB,UAAI,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,aAAa;AACvE;AAAA,MACF;AAGA,UAAI,CAAC,OAAO,UAAU,eAAe,KAAK,QAAQ,GAAG,GAAG;AACtD;AAAA,MACF;AAEA,YAAM,cAAc,QAAQ,IAAI,QAAQ,GAAG;AAC3C,UAAI,SAAS,WAAW,GAAG;AACzB,YAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,GAAG;AAC7B,kBAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;AAAA,QAC7B;AACA,qBAAa,QAAQ,IAAI,QAAQ,GAAG,GAAG,WAAW;AAAA,MACpD,WAAW,MAAM,QAAQ,WAAW,KAAK,MAAM,QAAQ,QAAQ,IAAI,QAAQ,GAAG,CAAC,GAAG;AAChF,cAAM,cAAc;AACpB,cAAM,cAAc,QAAQ,IAAI,QAAQ,GAAG;AAC3C,iBAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,cAAI,YAAY,CAAC,MAAM,UAAa,YAAY,CAAC,MAAM,QAAW;AAChE;AAAA,UACF;AACA,cAAI,SAAS,YAAY,CAAC,CAAC,GAAG;AAC5B,gBAAI,OAAO,YAAY,CAAC,MAAM,SAAU,aAAY,CAAC,IAAI,CAAC;AAC1D,yBAAa,YAAY,CAAC,GAAG,YAAY,CAAC,CAAC;AAAA,UAC7C,OAAO;AACL,wBAAY,CAAC,IAAI,YAAY,CAAC;AAAA,UAChC;AAAA,QACF;AAAA,MACF,WAAW,CAAC,OAAO,UAAU,eAAe,KAAK,QAAQ,GAAG,GAAG;AAC7D,gBAAQ,IAAI,QAAQ,KAAK,WAAW;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAEA,SAAO,aAAa,QAAQ,GAAG,OAAO;AACxC;AA3CS;AAgDT,SAAS,SAAS,MAAoB;AACpC,SAAO,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI;AAChE;AAFS;AAaT,SAAS,mBAAmB,KAAgB,MAAmB;AAC7D,SAAO,KAAK,MAAM,GAAG,EAAE,OAAO,CAAC,KAAK,SAAS;AAE3C,QAAI,SAAS,eAAe,SAAS,iBAAiB,SAAS,aAAa;AAC1E,aAAO;AAAA,IACT;AAEA,WAAO,OAAO,OAAO,UAAU,eAAe,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,IAAI,IAAI;AAAA,EAC3F,GAAG,GAAG;AACR;AATS;AAkBT,SAAS,kBAAkB,KAAkB,MAAqB;AAChE,SAAO,IAAI,IAAI,SAAO,mBAAmB,KAAK,IAAI,CAAC;AACrD;AAFS;AAIT,SAAS,yBAAiC;AACxC,SAAO,QAAQ,IAAI,aAAa,UAAU,OAAO;AACnD;AAFS;AAIT,IAAO,iBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ declare function extractMimeType({ base64 }: {
2
+ base64: string;
3
+ }): string | undefined;
4
+ declare function mimeTypeToExtension({ mimeType }: {
5
+ mimeType: string;
6
+ }): string | undefined;
7
+ declare const _default: {
8
+ extractMimeType: typeof extractMimeType;
9
+ mimeTypeToExtension: typeof mimeTypeToExtension;
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/util/image.ts"],"names":[],"mappings":"AAAA,iBAAS,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAO3E;AAED,iBAAS,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAenF;;;;;AAED,wBAGE"}
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ function extractMimeType({ base64 }) {
4
+ const match = base64.match(/^data:(.*?);base64,/);
5
+ if (match && match.length > 1) {
6
+ return match[1];
7
+ }
8
+ return void 0;
9
+ }
10
+ __name(extractMimeType, "extractMimeType");
11
+ function mimeTypeToExtension({ mimeType }) {
12
+ switch (mimeType) {
13
+ case "image/jpeg": {
14
+ return "jpg";
15
+ }
16
+ case "image/png": {
17
+ return "png";
18
+ }
19
+ case "image/webp": {
20
+ return "webp";
21
+ }
22
+ default: {
23
+ return void 0;
24
+ }
25
+ }
26
+ }
27
+ __name(mimeTypeToExtension, "mimeTypeToExtension");
28
+ var image_default = {
29
+ extractMimeType,
30
+ mimeTypeToExtension
31
+ };
32
+ export {
33
+ image_default as default
34
+ };
35
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/util/image.ts"],
4
+ "sourcesContent": ["function extractMimeType({ base64 }: { base64: string }): string | undefined {\n const match = base64.match(/^data:(.*?);base64,/);\n\n if (match && match.length > 1) {\n return match[1];\n }\n return undefined;\n}\n\nfunction mimeTypeToExtension({ mimeType }: { mimeType: string }): string | undefined {\n switch (mimeType) {\n case 'image/jpeg': {\n return 'jpg';\n }\n case 'image/png': {\n return 'png';\n }\n case 'image/webp': {\n return 'webp';\n }\n default: {\n return undefined;\n }\n }\n}\n\nexport default {\n extractMimeType,\n mimeTypeToExtension,\n};\n"],
5
+ "mappings": ";;AAAA,SAAS,gBAAgB,EAAE,OAAO,GAA2C;AAC3E,QAAM,QAAQ,OAAO,MAAM,qBAAqB;AAEhD,MAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,WAAO,MAAM,CAAC;AAAA,EAChB;AACA,SAAO;AACT;AAPS;AAST,SAAS,oBAAoB,EAAE,SAAS,GAA6C;AACnF,UAAQ,UAAU;AAAA,IAChB,KAAK,cAAc;AACjB,aAAO;AAAA,IACT;AAAA,IACA,KAAK,aAAa;AAChB,aAAO;AAAA,IACT;AAAA,IACA,KAAK,cAAc;AACjB,aAAO;AAAA,IACT;AAAA,IACA,SAAS;AACP,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAfS;AAiBT,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ export { default as Time } from './time.js';
2
+ export { default as File } from './file.js';
3
+ export { default as Helper } from './helper.js';
4
+ export { default as Image } from './image.js';
5
+ export { default as Loader } from './loader.js';
6
+ export { default as Num } from './num.js';
7
+ export { default as OS } from './os.js';
8
+ export { default as Str } from './str.js';
9
+ export { default as URL } from './url.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { default as default2 } from "./time.js";
2
+ import { default as default3 } from "./file.js";
3
+ import { default as default4 } from "./helper.js";
4
+ import { default as default5 } from "./image.js";
5
+ import { default as default6 } from "./loader.js";
6
+ import { default as default7 } from "./num.js";
7
+ import { default as default8 } from "./os.js";
8
+ import { default as default9 } from "./str.js";
9
+ import { default as default10 } from "./url.js";
10
+ export {
11
+ default3 as File,
12
+ default4 as Helper,
13
+ default5 as Image,
14
+ default6 as Loader,
15
+ default7 as Num,
16
+ default8 as OS,
17
+ default9 as Str,
18
+ default2 as Time,
19
+ default10 as URL
20
+ };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/util/index.ts"],
4
+ "sourcesContent": ["export { default as Time } from './time.js';\nexport { default as File } from './file.js';\nexport { default as Helper } from './helper.js';\nexport { default as Image } from './image.js';\nexport { default as Loader } from './loader.js';\nexport { default as Num } from './num.js';\nexport { default as OS } from './os.js';\nexport { default as Str } from './str.js';\nexport { default as URL } from './url.js';\n"],
5
+ "mappings": "AAAA,SAAoB,WAAXA,gBAAuB;AAChC,SAAoB,WAAXA,gBAAuB;AAChC,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAAwB;AACjC,SAAoB,WAAXA,gBAAyB;AAClC,SAAoB,WAAXA,gBAAsB;AAC/B,SAAoB,WAAXA,gBAAqB;AAC9B,SAAoB,WAAXA,gBAAsB;AAC/B,SAAoB,WAAXA,iBAAsB;",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,19 @@
1
+ declare const _default: {
2
+ loadModulesInDirectory: ({ directory, extensions, }: {
3
+ directory: string;
4
+ extensions?: string[];
5
+ }) => Promise<{
6
+ [key: string]: any;
7
+ }>;
8
+ loadEntityModule: ({ entitiesDirectory, entityName, }: {
9
+ entitiesDirectory: string;
10
+ entityName: string;
11
+ }) => Promise<any>;
12
+ clearModuleCache: () => void;
13
+ getCacheStats: () => {
14
+ modulesCached: number;
15
+ entitiesCached: number;
16
+ };
17
+ };
18
+ export default _default;
19
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/util/loader.ts"],"names":[],"mappings":";yDAWG;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,KAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;2DAwDhC;QACD,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;KACpB,KAAG,OAAO,CAAC,GAAG,CAAC;4BAkCa,IAAI;yBAKP;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;;AAO3E,wBAKE"}
@@ -0,0 +1,84 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import fs from "fs";
4
+ import path from "path";
5
+ import { Helper } from "./index.js";
6
+ const moduleCache = /* @__PURE__ */ new Map();
7
+ const entityCache = /* @__PURE__ */ new Map();
8
+ const loadModulesInDirectory = /* @__PURE__ */ __name(async ({
9
+ directory,
10
+ extensions
11
+ }) => {
12
+ const cacheKey = `${directory}:${extensions?.join(",") ?? "all"}`;
13
+ if (moduleCache.has(cacheKey)) {
14
+ const cachedModule = moduleCache.get(cacheKey);
15
+ if (cachedModule) {
16
+ return cachedModule;
17
+ }
18
+ }
19
+ const loadedModules = {};
20
+ const dirents = await fs.promises.readdir(directory, { withFileTypes: true });
21
+ for (const dirent of dirents) {
22
+ if (dirent.isDirectory()) {
23
+ continue;
24
+ }
25
+ const file = dirent.name;
26
+ const ext = path.extname(file);
27
+ const isDeclarationFile = file.endsWith(".d.ts");
28
+ if (extensions && extensions.length > 0 && !extensions.includes(ext) || isDeclarationFile) {
29
+ continue;
30
+ }
31
+ const moduleName = path.basename(file, ext);
32
+ const filePath = path.join(directory, file);
33
+ try {
34
+ const importedModule = await import(filePath);
35
+ if (moduleName !== "__proto__" && moduleName !== "constructor" && moduleName !== "prototype") {
36
+ Reflect.set(loadedModules, moduleName, importedModule.default);
37
+ }
38
+ } catch (error) {
39
+ console.error(`Failed to import module ${filePath}:`, error);
40
+ }
41
+ }
42
+ moduleCache.set(cacheKey, loadedModules);
43
+ return loadedModules;
44
+ }, "loadModulesInDirectory");
45
+ const loadEntityModule = /* @__PURE__ */ __name(async ({
46
+ entitiesDirectory,
47
+ entityName
48
+ }) => {
49
+ const cacheKey = `${entitiesDirectory}:${entityName}`;
50
+ if (entityCache.has(cacheKey)) {
51
+ return entityCache.get(cacheKey);
52
+ }
53
+ const entityModulePath = path.join(entitiesDirectory, `${entityName}.${Helper.getScriptFileExtension()}`);
54
+ const entityModule = await import(entityModulePath);
55
+ if (entityName === "__proto__" || entityName === "constructor" || entityName === "prototype") {
56
+ throw new Error(`Invalid entity name (Entity: ${entityName})`);
57
+ }
58
+ if (!entityModule || !Object.prototype.hasOwnProperty.call(entityModule, entityName)) {
59
+ throw new Error(`Entity not found (Entity: ${entityName})`);
60
+ }
61
+ const EntityClass = Reflect.get(entityModule, entityName);
62
+ entityCache.set(cacheKey, EntityClass);
63
+ return EntityClass;
64
+ }, "loadEntityModule");
65
+ const clearModuleCache = /* @__PURE__ */ __name(() => {
66
+ moduleCache.clear();
67
+ entityCache.clear();
68
+ }, "clearModuleCache");
69
+ const getCacheStats = /* @__PURE__ */ __name(() => {
70
+ return {
71
+ modulesCached: moduleCache.size,
72
+ entitiesCached: entityCache.size
73
+ };
74
+ }, "getCacheStats");
75
+ var loader_default = {
76
+ loadModulesInDirectory,
77
+ loadEntityModule,
78
+ clearModuleCache,
79
+ getCacheStats
80
+ };
81
+ export {
82
+ loader_default as default
83
+ };
84
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/util/loader.ts"],
4
+ "sourcesContent": ["import fs from 'fs';\nimport path from 'path';\nimport { Helper } from './index.js';\n\n// Cache for loaded modules to avoid repeated imports\nconst moduleCache = new Map<string, { [key: string]: any }>();\nconst entityCache = new Map<string, any>();\n\nconst loadModulesInDirectory = async ({\n directory,\n extensions,\n}: {\n directory: string;\n extensions?: string[];\n}): Promise<{ [key: string]: any }> => {\n // Create cache key based on directory and extensions\n const cacheKey = `${directory}:${extensions?.join(',') ?? 'all'}`;\n\n // Check cache first\n if (moduleCache.has(cacheKey)) {\n const cachedModule = moduleCache.get(cacheKey);\n if (cachedModule) {\n return cachedModule;\n }\n }\n\n const loadedModules: { [key: string]: any } = {};\n\n // Use readdir with withFileTypes option to avoid separate stat calls\n const dirents = await fs.promises.readdir(directory, { withFileTypes: true });\n\n for (const dirent of dirents) {\n // Skip directories without needing stat call\n if (dirent.isDirectory()) {\n continue;\n }\n\n const file = dirent.name;\n const ext = path.extname(file);\n const isDeclarationFile = file.endsWith('.d.ts');\n\n // Skip files that are not in the specified extensions or are .d.ts files\n if ((extensions && extensions.length > 0 && !extensions.includes(ext)) || isDeclarationFile) {\n continue;\n }\n\n const moduleName = path.basename(file, ext);\n const filePath = path.join(directory, file);\n\n try {\n const importedModule = await import(filePath);\n\n // Use safe property assignment to prevent prototype pollution\n if (moduleName !== '__proto__' && moduleName !== 'constructor' && moduleName !== 'prototype') {\n Reflect.set(loadedModules, moduleName, importedModule.default);\n }\n } catch (error) {\n console.error(`Failed to import module ${filePath}:`, error);\n }\n }\n\n // Cache the results for future use\n moduleCache.set(cacheKey, loadedModules);\n\n return loadedModules;\n};\n\nconst loadEntityModule = async ({\n entitiesDirectory,\n entityName,\n}: {\n entitiesDirectory: string;\n entityName: string;\n}): Promise<any> => {\n // Create cache key based on directory and entity name\n const cacheKey = `${entitiesDirectory}:${entityName}`;\n\n // Check cache first\n if (entityCache.has(cacheKey)) {\n return entityCache.get(cacheKey);\n }\n\n // Define entity module path\n const entityModulePath = path.join(entitiesDirectory, `${entityName}.${Helper.getScriptFileExtension()}`);\n\n // Import entity module\n const entityModule = await import(entityModulePath);\n\n // Safe property access to prevent prototype pollution\n if (entityName === '__proto__' || entityName === 'constructor' || entityName === 'prototype') {\n throw new Error(`Invalid entity name (Entity: ${entityName})`);\n }\n\n if (!entityModule || !Object.prototype.hasOwnProperty.call(entityModule, entityName)) {\n throw new Error(`Entity not found (Entity: ${entityName})`);\n }\n\n // Get entity class\n const EntityClass = Reflect.get(entityModule, entityName);\n\n // Cache the entity for future use\n entityCache.set(cacheKey, EntityClass);\n\n return EntityClass;\n};\n\n// Cache management functions for development/testing\nconst clearModuleCache = (): void => {\n moduleCache.clear();\n entityCache.clear();\n};\n\nconst getCacheStats = (): { modulesCached: number; entitiesCached: number } => {\n return {\n modulesCached: moduleCache.size,\n entitiesCached: entityCache.size,\n };\n};\n\nexport default {\n loadModulesInDirectory,\n loadEntityModule,\n clearModuleCache,\n getCacheStats,\n};\n"],
5
+ "mappings": ";;AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,cAAc;AAGvB,MAAM,cAAc,oBAAI,IAAoC;AAC5D,MAAM,cAAc,oBAAI,IAAiB;AAEzC,MAAM,yBAAyB,8BAAO;AAAA,EACpC;AAAA,EACA;AACF,MAGuC;AAErC,QAAM,WAAW,GAAG,SAAS,IAAI,YAAY,KAAK,GAAG,KAAK,KAAK;AAG/D,MAAI,YAAY,IAAI,QAAQ,GAAG;AAC7B,UAAM,eAAe,YAAY,IAAI,QAAQ;AAC7C,QAAI,cAAc;AAChB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,gBAAwC,CAAC;AAG/C,QAAM,UAAU,MAAM,GAAG,SAAS,QAAQ,WAAW,EAAE,eAAe,KAAK,CAAC;AAE5E,aAAW,UAAU,SAAS;AAE5B,QAAI,OAAO,YAAY,GAAG;AACxB;AAAA,IACF;AAEA,UAAM,OAAO,OAAO;AACpB,UAAM,MAAM,KAAK,QAAQ,IAAI;AAC7B,UAAM,oBAAoB,KAAK,SAAS,OAAO;AAG/C,QAAK,cAAc,WAAW,SAAS,KAAK,CAAC,WAAW,SAAS,GAAG,KAAM,mBAAmB;AAC3F;AAAA,IACF;AAEA,UAAM,aAAa,KAAK,SAAS,MAAM,GAAG;AAC1C,UAAM,WAAW,KAAK,KAAK,WAAW,IAAI;AAE1C,QAAI;AACF,YAAM,iBAAiB,MAAM,OAAO;AAGpC,UAAI,eAAe,eAAe,eAAe,iBAAiB,eAAe,aAAa;AAC5F,gBAAQ,IAAI,eAAe,YAAY,eAAe,OAAO;AAAA,MAC/D;AAAA,IACF,SAAS,OAAO;AACd,cAAQ,MAAM,2BAA2B,QAAQ,KAAK,KAAK;AAAA,IAC7D;AAAA,EACF;AAGA,cAAY,IAAI,UAAU,aAAa;AAEvC,SAAO;AACT,GAzD+B;AA2D/B,MAAM,mBAAmB,8BAAO;AAAA,EAC9B;AAAA,EACA;AACF,MAGoB;AAElB,QAAM,WAAW,GAAG,iBAAiB,IAAI,UAAU;AAGnD,MAAI,YAAY,IAAI,QAAQ,GAAG;AAC7B,WAAO,YAAY,IAAI,QAAQ;AAAA,EACjC;AAGA,QAAM,mBAAmB,KAAK,KAAK,mBAAmB,GAAG,UAAU,IAAI,OAAO,uBAAuB,CAAC,EAAE;AAGxG,QAAM,eAAe,MAAM,OAAO;AAGlC,MAAI,eAAe,eAAe,eAAe,iBAAiB,eAAe,aAAa;AAC5F,UAAM,IAAI,MAAM,gCAAgC,UAAU,GAAG;AAAA,EAC/D;AAEA,MAAI,CAAC,gBAAgB,CAAC,OAAO,UAAU,eAAe,KAAK,cAAc,UAAU,GAAG;AACpF,UAAM,IAAI,MAAM,6BAA6B,UAAU,GAAG;AAAA,EAC5D;AAGA,QAAM,cAAc,QAAQ,IAAI,cAAc,UAAU;AAGxD,cAAY,IAAI,UAAU,WAAW;AAErC,SAAO;AACT,GArCyB;AAwCzB,MAAM,mBAAmB,6BAAY;AACnC,cAAY,MAAM;AAClB,cAAY,MAAM;AACpB,GAHyB;AAKzB,MAAM,gBAAgB,6BAAyD;AAC7E,SAAO;AAAA,IACL,eAAe,YAAY;AAAA,IAC3B,gBAAgB,YAAY;AAAA,EAC9B;AACF,GALsB;AAOtB,IAAO,iBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ declare const _default: {
2
+ getRandomNumber: ({ min, max }: {
3
+ min: number;
4
+ max: number;
5
+ }) => number;
6
+ clamp: ({ value, min, max }: {
7
+ value: number;
8
+ min: number;
9
+ max: number;
10
+ }) => number;
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=num.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"num.d.ts","sourceRoot":"","sources":["../../src/util/num.ts"],"names":[],"mappings":";oCAAuC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM;iCAIxC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM;;AAIxF,wBAGE"}
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const getRandomNumber = /* @__PURE__ */ __name(({ min, max }) => {
4
+ return Math.floor(Math.random() * (max - min + 1)) + min;
5
+ }, "getRandomNumber");
6
+ const clamp = /* @__PURE__ */ __name(({ value, min, max }) => {
7
+ return Math.min(Math.max(value, min), max);
8
+ }, "clamp");
9
+ var num_default = {
10
+ getRandomNumber,
11
+ clamp
12
+ };
13
+ export {
14
+ num_default as default
15
+ };
16
+ //# sourceMappingURL=num.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/util/num.ts"],
4
+ "sourcesContent": ["const getRandomNumber = ({ min, max }: { min: number; max: number }): number => {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n\nconst clamp = ({ value, min, max }: { value: number; min: number; max: number }): number => {\n return Math.min(Math.max(value, min), max);\n};\n\nexport default {\n getRandomNumber,\n clamp,\n};\n"],
5
+ "mappings": ";;AAAA,MAAM,kBAAkB,wBAAC,EAAE,KAAK,IAAI,MAA4C;AAC9E,SAAO,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,MAAM,EAAE,IAAI;AACvD,GAFwB;AAIxB,MAAM,QAAQ,wBAAC,EAAE,OAAO,KAAK,IAAI,MAA2D;AAC1F,SAAO,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,GAAG,GAAG;AAC3C,GAFc;AAId,IAAO,cAAQ;AAAA,EACb;AAAA,EACA;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ declare function getUniqueComputerId(): string;
2
+ declare const _default: {
3
+ getUniqueComputerId: typeof getUniqueComputerId;
4
+ };
5
+ export default _default;
6
+ //# sourceMappingURL=os.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os.d.ts","sourceRoot":"","sources":["../../src/util/os.ts"],"names":[],"mappings":"AAGA,iBAAS,mBAAmB,IAAI,MAAM,CA0BrC;;;;AAED,wBAEE"}
@@ -0,0 +1,32 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import os from "os";
4
+ import crypto from "crypto";
5
+ function getUniqueComputerId() {
6
+ const networkInterfaces = os.networkInterfaces();
7
+ let macAddress = "";
8
+ for (const key in networkInterfaces) {
9
+ const networkInterface = networkInterfaces[key];
10
+ if (networkInterface) {
11
+ for (const interfaceDetails of networkInterface) {
12
+ if (interfaceDetails.mac) {
13
+ macAddress = interfaceDetails.mac;
14
+ break;
15
+ }
16
+ }
17
+ }
18
+ if (macAddress) {
19
+ break;
20
+ }
21
+ }
22
+ const uniqueComputerId = crypto.createHash("sha256").update(macAddress).digest("hex");
23
+ return uniqueComputerId;
24
+ }
25
+ __name(getUniqueComputerId, "getUniqueComputerId");
26
+ var os_default = {
27
+ getUniqueComputerId
28
+ };
29
+ export {
30
+ os_default as default
31
+ };
32
+ //# sourceMappingURL=os.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/util/os.ts"],
4
+ "sourcesContent": ["import os from 'os';\nimport crypto from 'crypto';\n\nfunction getUniqueComputerId(): string {\n const networkInterfaces = os.networkInterfaces();\n\n let macAddress = '';\n\n for (const key in networkInterfaces) {\n const networkInterface = networkInterfaces[key];\n\n if (networkInterface) {\n for (const interfaceDetails of networkInterface) {\n if (interfaceDetails.mac) {\n macAddress = interfaceDetails.mac;\n\n break;\n }\n }\n }\n\n if (macAddress) {\n break;\n }\n }\n\n const uniqueComputerId = crypto.createHash('sha256').update(macAddress).digest('hex');\n\n return uniqueComputerId;\n}\n\nexport default {\n getUniqueComputerId,\n};\n"],
5
+ "mappings": ";;AAAA,OAAO,QAAQ;AACf,OAAO,YAAY;AAEnB,SAAS,sBAA8B;AACrC,QAAM,oBAAoB,GAAG,kBAAkB;AAE/C,MAAI,aAAa;AAEjB,aAAW,OAAO,mBAAmB;AACnC,UAAM,mBAAmB,kBAAkB,GAAG;AAE9C,QAAI,kBAAkB;AACpB,iBAAW,oBAAoB,kBAAkB;AAC/C,YAAI,iBAAiB,KAAK;AACxB,uBAAa,iBAAiB;AAE9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,QAAI,YAAY;AACd;AAAA,IACF;AAAA,EACF;AAEA,QAAM,mBAAmB,OAAO,WAAW,QAAQ,EAAE,OAAO,UAAU,EAAE,OAAO,KAAK;AAEpF,SAAO;AACT;AA1BS;AA4BT,IAAO,aAAQ;AAAA,EACb;AACF;",
6
+ "names": []
7
+ }