ee-core 4.1.5 → 5.0.0-beta.5

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 (651) hide show
  1. package/dist/cjs/app/application.d.ts +41 -0
  2. package/dist/cjs/app/application.d.ts.map +1 -0
  3. package/dist/cjs/app/application.js +68 -0
  4. package/dist/cjs/app/application.js.map +1 -0
  5. package/dist/cjs/app/boot.d.ts +64 -0
  6. package/dist/cjs/app/boot.d.ts.map +1 -0
  7. package/dist/cjs/app/boot.js +138 -0
  8. package/dist/cjs/app/boot.js.map +1 -0
  9. package/dist/cjs/app/dir.d.ts +12 -0
  10. package/dist/cjs/app/dir.d.ts.map +1 -0
  11. package/dist/cjs/app/dir.js +88 -0
  12. package/dist/cjs/app/dir.js.map +1 -0
  13. package/dist/cjs/app/events.d.ts +71 -0
  14. package/dist/cjs/app/events.d.ts.map +1 -0
  15. package/dist/cjs/app/events.js +124 -0
  16. package/dist/cjs/app/events.js.map +1 -0
  17. package/dist/cjs/config/config_loader.d.ts +54 -0
  18. package/dist/cjs/config/config_loader.d.ts.map +1 -0
  19. package/dist/cjs/config/config_loader.js +137 -0
  20. package/dist/cjs/config/config_loader.js.map +1 -0
  21. package/dist/cjs/config/default_config.d.ts +8 -0
  22. package/dist/cjs/config/default_config.d.ts.map +1 -0
  23. package/dist/cjs/config/default_config.js +196 -0
  24. package/dist/cjs/config/default_config.js.map +1 -0
  25. package/dist/cjs/config/index.d.ts +34 -0
  26. package/dist/cjs/config/index.d.ts.map +1 -0
  27. package/dist/cjs/config/index.js +69 -0
  28. package/dist/cjs/config/index.js.map +1 -0
  29. package/dist/cjs/const/channel.d.ts +34 -0
  30. package/dist/cjs/const/channel.d.ts.map +1 -0
  31. package/dist/cjs/const/channel.js +37 -0
  32. package/dist/cjs/const/channel.js.map +1 -0
  33. package/dist/cjs/controller/controller_loader.d.ts +29 -0
  34. package/dist/cjs/controller/controller_loader.d.ts.map +1 -0
  35. package/dist/cjs/controller/controller_loader.js +158 -0
  36. package/dist/cjs/controller/controller_loader.js.map +1 -0
  37. package/dist/cjs/controller/index.d.ts +36 -0
  38. package/dist/cjs/controller/index.d.ts.map +1 -0
  39. package/dist/cjs/controller/index.js +88 -0
  40. package/dist/cjs/controller/index.js.map +1 -0
  41. package/dist/cjs/core/loader/file_loader.d.ts +112 -0
  42. package/dist/cjs/core/loader/file_loader.d.ts.map +1 -0
  43. package/dist/cjs/core/loader/file_loader.js +283 -0
  44. package/dist/cjs/core/loader/file_loader.js.map +1 -0
  45. package/dist/cjs/core/utils/index.d.ts +70 -0
  46. package/dist/cjs/core/utils/index.d.ts.map +1 -0
  47. package/dist/cjs/core/utils/index.js +181 -0
  48. package/dist/cjs/core/utils/index.js.map +1 -0
  49. package/dist/cjs/core/utils/timing.d.ts +65 -0
  50. package/dist/cjs/core/utils/timing.d.ts.map +1 -0
  51. package/dist/cjs/core/utils/timing.js +107 -0
  52. package/dist/cjs/core/utils/timing.js.map +1 -0
  53. package/dist/cjs/cross/cross.d.ts +104 -0
  54. package/dist/cjs/cross/cross.d.ts.map +1 -0
  55. package/dist/cjs/cross/cross.js +202 -0
  56. package/dist/cjs/cross/cross.js.map +1 -0
  57. package/dist/cjs/cross/crossProcess.d.ts +118 -0
  58. package/dist/cjs/cross/crossProcess.d.ts.map +1 -0
  59. package/dist/cjs/cross/crossProcess.js +262 -0
  60. package/dist/cjs/cross/crossProcess.js.map +1 -0
  61. package/dist/cjs/cross/index.d.ts +4 -0
  62. package/dist/cjs/cross/index.d.ts.map +1 -0
  63. package/dist/cjs/cross/index.js +9 -0
  64. package/dist/cjs/cross/index.js.map +1 -0
  65. package/dist/cjs/electron/app/index.d.ts +23 -0
  66. package/dist/cjs/electron/app/index.d.ts.map +1 -0
  67. package/dist/cjs/electron/app/index.js +99 -0
  68. package/dist/cjs/electron/app/index.js.map +1 -0
  69. package/dist/cjs/electron/index.d.ts +10 -0
  70. package/dist/cjs/electron/index.d.ts.map +1 -0
  71. package/dist/cjs/electron/index.js +35 -0
  72. package/dist/cjs/electron/index.js.map +1 -0
  73. package/dist/cjs/electron/window/index.d.ts +45 -0
  74. package/dist/cjs/electron/window/index.d.ts.map +1 -0
  75. package/dist/cjs/electron/window/index.js +311 -0
  76. package/dist/cjs/electron/window/index.js.map +1 -0
  77. package/dist/cjs/exception/index.d.ts +15 -0
  78. package/dist/cjs/exception/index.d.ts.map +1 -0
  79. package/dist/cjs/exception/index.js +145 -0
  80. package/dist/cjs/exception/index.js.map +1 -0
  81. package/dist/cjs/html/index.d.ts +21 -0
  82. package/dist/cjs/html/index.d.ts.map +1 -0
  83. package/dist/cjs/html/index.js +59 -0
  84. package/dist/cjs/html/index.js.map +1 -0
  85. package/dist/cjs/index.d.ts +60 -0
  86. package/dist/cjs/index.d.ts.map +1 -0
  87. package/dist/cjs/index.js +245 -0
  88. package/dist/cjs/index.js.map +1 -0
  89. package/dist/cjs/jobs/child/app.d.ts +2 -0
  90. package/dist/cjs/jobs/child/app.d.ts.map +1 -0
  91. package/dist/cjs/jobs/child/app.js +132 -0
  92. package/dist/cjs/jobs/child/app.js.map +1 -0
  93. package/dist/cjs/jobs/child/index.d.ts +29 -0
  94. package/dist/cjs/jobs/child/index.d.ts.map +1 -0
  95. package/dist/cjs/jobs/child/index.js +78 -0
  96. package/dist/cjs/jobs/child/index.js.map +1 -0
  97. package/dist/cjs/jobs/child/jobProcess.d.ts +102 -0
  98. package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -0
  99. package/dist/cjs/jobs/child/jobProcess.js +196 -0
  100. package/dist/cjs/jobs/child/jobProcess.js.map +1 -0
  101. package/dist/cjs/jobs/child-pool/index.d.ts +126 -0
  102. package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -0
  103. package/dist/cjs/jobs/child-pool/index.js +252 -0
  104. package/dist/cjs/jobs/child-pool/index.js.map +1 -0
  105. package/dist/cjs/jobs/index.d.ts +18 -0
  106. package/dist/cjs/jobs/index.d.ts.map +1 -0
  107. package/dist/cjs/jobs/index.js +22 -0
  108. package/dist/cjs/jobs/index.js.map +1 -0
  109. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +7 -0
  110. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
  111. package/dist/cjs/jobs/load-balancer/algorithm/index.js +32 -0
  112. package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -0
  113. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +6 -0
  114. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts.map +1 -0
  115. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +27 -0
  116. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js.map +1 -0
  117. package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +6 -0
  118. package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts.map +1 -0
  119. package/dist/cjs/jobs/load-balancer/algorithm/polling.js +15 -0
  120. package/dist/cjs/jobs/load-balancer/algorithm/polling.js.map +1 -0
  121. package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +6 -0
  122. package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts.map +1 -0
  123. package/dist/cjs/jobs/load-balancer/algorithm/random.js +12 -0
  124. package/dist/cjs/jobs/load-balancer/algorithm/random.js.map +1 -0
  125. package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +6 -0
  126. package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts.map +1 -0
  127. package/dist/cjs/jobs/load-balancer/algorithm/specify.js +18 -0
  128. package/dist/cjs/jobs/load-balancer/algorithm/specify.js.map +1 -0
  129. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +6 -0
  130. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -0
  131. package/dist/cjs/jobs/load-balancer/algorithm/weights.js +26 -0
  132. package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -0
  133. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +6 -0
  134. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -0
  135. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +32 -0
  136. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -0
  137. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +6 -0
  138. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts.map +1 -0
  139. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +26 -0
  140. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js.map +1 -0
  141. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +6 -0
  142. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts.map +1 -0
  143. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +22 -0
  144. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js.map +1 -0
  145. package/dist/cjs/jobs/load-balancer/consts.d.ts +35 -0
  146. package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -0
  147. package/dist/cjs/jobs/load-balancer/consts.js +36 -0
  148. package/dist/cjs/jobs/load-balancer/consts.js.map +1 -0
  149. package/dist/cjs/jobs/load-balancer/index.d.ts +84 -0
  150. package/dist/cjs/jobs/load-balancer/index.d.ts.map +1 -0
  151. package/dist/cjs/jobs/load-balancer/index.js +195 -0
  152. package/dist/cjs/jobs/load-balancer/index.js.map +1 -0
  153. package/dist/cjs/jobs/load-balancer/scheduler.d.ts +17 -0
  154. package/dist/cjs/jobs/load-balancer/scheduler.d.ts.map +1 -0
  155. package/dist/cjs/jobs/load-balancer/scheduler.js +36 -0
  156. package/dist/cjs/jobs/load-balancer/scheduler.js.map +1 -0
  157. package/dist/cjs/jobs/load-balancer/types.d.ts +43 -0
  158. package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -0
  159. package/dist/cjs/jobs/load-balancer/types.js +7 -0
  160. package/dist/cjs/jobs/load-balancer/types.js.map +1 -0
  161. package/dist/cjs/jobs/registry.d.ts +24 -0
  162. package/dist/cjs/jobs/registry.d.ts.map +1 -0
  163. package/dist/cjs/jobs/registry.js +52 -0
  164. package/dist/cjs/jobs/registry.js.map +1 -0
  165. package/dist/cjs/loader/index.d.ts +58 -0
  166. package/dist/cjs/loader/index.d.ts.map +1 -0
  167. package/dist/cjs/loader/index.js +151 -0
  168. package/dist/cjs/loader/index.js.map +1 -0
  169. package/dist/cjs/log/index.d.ts +59 -0
  170. package/dist/cjs/log/index.d.ts.map +1 -0
  171. package/dist/cjs/log/index.js +123 -0
  172. package/dist/cjs/log/index.js.map +1 -0
  173. package/dist/cjs/log/logger.d.ts +35 -0
  174. package/dist/cjs/log/logger.d.ts.map +1 -0
  175. package/dist/cjs/log/logger.js +246 -0
  176. package/dist/cjs/log/logger.js.map +1 -0
  177. package/dist/cjs/message/childMessage.d.ts +58 -0
  178. package/dist/cjs/message/childMessage.d.ts.map +1 -0
  179. package/dist/cjs/message/childMessage.js +118 -0
  180. package/dist/cjs/message/childMessage.js.map +1 -0
  181. package/dist/cjs/message/index.d.ts +2 -0
  182. package/dist/cjs/message/index.d.ts.map +1 -0
  183. package/dist/cjs/message/index.js +7 -0
  184. package/dist/cjs/message/index.js.map +1 -0
  185. package/dist/cjs/ps/index.d.ts +155 -0
  186. package/dist/cjs/ps/index.d.ts.map +1 -0
  187. package/dist/cjs/ps/index.js +369 -0
  188. package/dist/cjs/ps/index.js.map +1 -0
  189. package/dist/cjs/socket/httpServer.d.ts +74 -0
  190. package/dist/cjs/socket/httpServer.d.ts.map +1 -0
  191. package/dist/cjs/socket/httpServer.js +240 -0
  192. package/dist/cjs/socket/httpServer.js.map +1 -0
  193. package/dist/cjs/socket/index.d.ts +60 -0
  194. package/dist/cjs/socket/index.d.ts.map +1 -0
  195. package/dist/cjs/socket/index.js +103 -0
  196. package/dist/cjs/socket/index.js.map +1 -0
  197. package/dist/cjs/socket/ipcServer.d.ts +40 -0
  198. package/dist/cjs/socket/ipcServer.d.ts.map +1 -0
  199. package/dist/cjs/socket/ipcServer.js +124 -0
  200. package/dist/cjs/socket/ipcServer.js.map +1 -0
  201. package/dist/cjs/socket/socketServer.d.ts +43 -0
  202. package/dist/cjs/socket/socketServer.d.ts.map +1 -0
  203. package/dist/cjs/socket/socketServer.js +116 -0
  204. package/dist/cjs/socket/socketServer.js.map +1 -0
  205. package/dist/cjs/socket/utils.d.ts +13 -0
  206. package/dist/cjs/socket/utils.d.ts.map +1 -0
  207. package/dist/cjs/socket/utils.js +41 -0
  208. package/dist/cjs/socket/utils.js.map +1 -0
  209. package/dist/cjs/storage/index.d.ts +2 -0
  210. package/dist/cjs/storage/index.d.ts.map +1 -0
  211. package/dist/cjs/storage/index.js +6 -0
  212. package/dist/cjs/storage/index.js.map +1 -0
  213. package/dist/cjs/storage/sqliteStorage.d.ts +117 -0
  214. package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -0
  215. package/dist/cjs/storage/sqliteStorage.js +197 -0
  216. package/dist/cjs/storage/sqliteStorage.js.map +1 -0
  217. package/dist/cjs/types/index.d.ts +524 -0
  218. package/dist/cjs/types/index.d.ts.map +1 -0
  219. package/dist/cjs/types/index.js +3 -0
  220. package/dist/cjs/types/index.js.map +1 -0
  221. package/dist/cjs/utils/extend.d.ts +46 -0
  222. package/dist/cjs/utils/extend.d.ts.map +1 -0
  223. package/dist/cjs/utils/extend.js +105 -0
  224. package/dist/cjs/utils/extend.js.map +1 -0
  225. package/dist/cjs/utils/helper.d.ts +169 -0
  226. package/dist/cjs/utils/helper.d.ts.map +1 -0
  227. package/dist/cjs/utils/helper.js +351 -0
  228. package/dist/cjs/utils/helper.js.map +1 -0
  229. package/dist/cjs/utils/index.d.ts +113 -0
  230. package/dist/cjs/utils/index.d.ts.map +1 -0
  231. package/dist/cjs/utils/index.js +344 -0
  232. package/dist/cjs/utils/index.js.map +1 -0
  233. package/dist/cjs/utils/ip.d.ts +42 -0
  234. package/dist/cjs/utils/ip.d.ts.map +1 -0
  235. package/dist/cjs/utils/ip.js +276 -0
  236. package/dist/cjs/utils/ip.js.map +1 -0
  237. package/dist/cjs/utils/is.d.ts +138 -0
  238. package/dist/cjs/utils/is.d.ts.map +1 -0
  239. package/dist/cjs/utils/is.js +203 -0
  240. package/dist/cjs/utils/is.js.map +1 -0
  241. package/dist/cjs/utils/json.d.ts +64 -0
  242. package/dist/cjs/utils/json.d.ts.map +1 -0
  243. package/dist/cjs/utils/json.js +122 -0
  244. package/dist/cjs/utils/json.js.map +1 -0
  245. package/dist/cjs/utils/pargv.d.ts +67 -0
  246. package/dist/cjs/utils/pargv.d.ts.map +1 -0
  247. package/dist/cjs/utils/pargv.js +406 -0
  248. package/dist/cjs/utils/pargv.js.map +1 -0
  249. package/dist/cjs/utils/port/index.d.ts +48 -0
  250. package/dist/cjs/utils/port/index.d.ts.map +1 -0
  251. package/dist/cjs/utils/port/index.js +235 -0
  252. package/dist/cjs/utils/port/index.js.map +1 -0
  253. package/dist/cjs/utils/type_check.d.ts +88 -0
  254. package/dist/cjs/utils/type_check.d.ts.map +1 -0
  255. package/dist/cjs/utils/type_check.js +121 -0
  256. package/dist/cjs/utils/type_check.js.map +1 -0
  257. package/dist/cjs/utils/wrap.d.ts +31 -0
  258. package/dist/cjs/utils/wrap.d.ts.map +1 -0
  259. package/dist/cjs/utils/wrap.js +88 -0
  260. package/dist/cjs/utils/wrap.js.map +1 -0
  261. package/dist/esm/app/application.d.ts +41 -0
  262. package/dist/esm/app/application.d.ts.map +1 -0
  263. package/dist/esm/app/application.js +68 -0
  264. package/dist/esm/app/application.js.map +1 -0
  265. package/dist/esm/app/boot.d.ts +64 -0
  266. package/dist/esm/app/boot.d.ts.map +1 -0
  267. package/dist/esm/app/boot.js +138 -0
  268. package/dist/esm/app/boot.js.map +1 -0
  269. package/dist/esm/app/dir.d.ts +12 -0
  270. package/dist/esm/app/dir.d.ts.map +1 -0
  271. package/dist/esm/app/dir.js +88 -0
  272. package/dist/esm/app/dir.js.map +1 -0
  273. package/dist/esm/app/events.d.ts +71 -0
  274. package/dist/esm/app/events.d.ts.map +1 -0
  275. package/dist/esm/app/events.js +124 -0
  276. package/dist/esm/app/events.js.map +1 -0
  277. package/dist/esm/config/config_loader.d.ts +54 -0
  278. package/dist/esm/config/config_loader.d.ts.map +1 -0
  279. package/dist/esm/config/config_loader.js +137 -0
  280. package/dist/esm/config/config_loader.js.map +1 -0
  281. package/dist/esm/config/default_config.d.ts +8 -0
  282. package/dist/esm/config/default_config.d.ts.map +1 -0
  283. package/dist/esm/config/default_config.js +196 -0
  284. package/dist/esm/config/default_config.js.map +1 -0
  285. package/dist/esm/config/index.d.ts +34 -0
  286. package/dist/esm/config/index.d.ts.map +1 -0
  287. package/dist/esm/config/index.js +69 -0
  288. package/dist/esm/config/index.js.map +1 -0
  289. package/dist/esm/const/channel.d.ts +34 -0
  290. package/dist/esm/const/channel.d.ts.map +1 -0
  291. package/dist/esm/const/channel.js +37 -0
  292. package/dist/esm/const/channel.js.map +1 -0
  293. package/dist/esm/controller/controller_loader.d.ts +29 -0
  294. package/dist/esm/controller/controller_loader.d.ts.map +1 -0
  295. package/dist/esm/controller/controller_loader.js +158 -0
  296. package/dist/esm/controller/controller_loader.js.map +1 -0
  297. package/dist/esm/controller/index.d.ts +36 -0
  298. package/dist/esm/controller/index.d.ts.map +1 -0
  299. package/dist/esm/controller/index.js +88 -0
  300. package/dist/esm/controller/index.js.map +1 -0
  301. package/dist/esm/core/loader/file_loader.d.ts +112 -0
  302. package/dist/esm/core/loader/file_loader.d.ts.map +1 -0
  303. package/dist/esm/core/loader/file_loader.js +283 -0
  304. package/dist/esm/core/loader/file_loader.js.map +1 -0
  305. package/dist/esm/core/utils/index.d.ts +70 -0
  306. package/dist/esm/core/utils/index.d.ts.map +1 -0
  307. package/dist/esm/core/utils/index.js +148 -0
  308. package/dist/esm/core/utils/index.js.map +1 -0
  309. package/dist/esm/core/utils/timing.d.ts +65 -0
  310. package/dist/esm/core/utils/timing.d.ts.map +1 -0
  311. package/dist/esm/core/utils/timing.js +107 -0
  312. package/dist/esm/core/utils/timing.js.map +1 -0
  313. package/dist/esm/cross/cross.d.ts +104 -0
  314. package/dist/esm/cross/cross.d.ts.map +1 -0
  315. package/dist/esm/cross/cross.js +202 -0
  316. package/dist/esm/cross/cross.js.map +1 -0
  317. package/dist/esm/cross/crossProcess.d.ts +118 -0
  318. package/dist/esm/cross/crossProcess.d.ts.map +1 -0
  319. package/dist/esm/cross/crossProcess.js +262 -0
  320. package/dist/esm/cross/crossProcess.js.map +1 -0
  321. package/dist/esm/cross/index.d.ts +4 -0
  322. package/dist/esm/cross/index.d.ts.map +1 -0
  323. package/dist/esm/cross/index.js +9 -0
  324. package/dist/esm/cross/index.js.map +1 -0
  325. package/dist/esm/electron/app/index.d.ts +23 -0
  326. package/dist/esm/electron/app/index.d.ts.map +1 -0
  327. package/dist/esm/electron/app/index.js +99 -0
  328. package/dist/esm/electron/app/index.js.map +1 -0
  329. package/dist/esm/electron/index.d.ts +10 -0
  330. package/dist/esm/electron/index.d.ts.map +1 -0
  331. package/dist/esm/electron/index.js +35 -0
  332. package/dist/esm/electron/index.js.map +1 -0
  333. package/dist/esm/electron/window/index.d.ts +45 -0
  334. package/dist/esm/electron/window/index.d.ts.map +1 -0
  335. package/dist/esm/electron/window/index.js +311 -0
  336. package/dist/esm/electron/window/index.js.map +1 -0
  337. package/dist/esm/exception/index.d.ts +15 -0
  338. package/dist/esm/exception/index.d.ts.map +1 -0
  339. package/dist/esm/exception/index.js +145 -0
  340. package/dist/esm/exception/index.js.map +1 -0
  341. package/dist/esm/html/index.d.ts +21 -0
  342. package/dist/esm/html/index.d.ts.map +1 -0
  343. package/dist/esm/html/index.js +59 -0
  344. package/dist/esm/html/index.js.map +1 -0
  345. package/dist/esm/index.d.ts +60 -0
  346. package/dist/esm/index.d.ts.map +1 -0
  347. package/dist/esm/index.js +245 -0
  348. package/dist/esm/index.js.map +1 -0
  349. package/dist/esm/jobs/child/app.d.ts +2 -0
  350. package/dist/esm/jobs/child/app.d.ts.map +1 -0
  351. package/dist/esm/jobs/child/app.js +132 -0
  352. package/dist/esm/jobs/child/app.js.map +1 -0
  353. package/dist/esm/jobs/child/index.d.ts +29 -0
  354. package/dist/esm/jobs/child/index.d.ts.map +1 -0
  355. package/dist/esm/jobs/child/index.js +78 -0
  356. package/dist/esm/jobs/child/index.js.map +1 -0
  357. package/dist/esm/jobs/child/jobProcess.d.ts +102 -0
  358. package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -0
  359. package/dist/esm/jobs/child/jobProcess.js +196 -0
  360. package/dist/esm/jobs/child/jobProcess.js.map +1 -0
  361. package/dist/esm/jobs/child-pool/index.d.ts +126 -0
  362. package/dist/esm/jobs/child-pool/index.d.ts.map +1 -0
  363. package/dist/esm/jobs/child-pool/index.js +252 -0
  364. package/dist/esm/jobs/child-pool/index.js.map +1 -0
  365. package/dist/esm/jobs/index.d.ts +18 -0
  366. package/dist/esm/jobs/index.d.ts.map +1 -0
  367. package/dist/esm/jobs/index.js +22 -0
  368. package/dist/esm/jobs/index.js.map +1 -0
  369. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +7 -0
  370. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
  371. package/dist/esm/jobs/load-balancer/algorithm/index.js +32 -0
  372. package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -0
  373. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +6 -0
  374. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts.map +1 -0
  375. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +27 -0
  376. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js.map +1 -0
  377. package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +6 -0
  378. package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts.map +1 -0
  379. package/dist/esm/jobs/load-balancer/algorithm/polling.js +15 -0
  380. package/dist/esm/jobs/load-balancer/algorithm/polling.js.map +1 -0
  381. package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +6 -0
  382. package/dist/esm/jobs/load-balancer/algorithm/random.d.ts.map +1 -0
  383. package/dist/esm/jobs/load-balancer/algorithm/random.js +12 -0
  384. package/dist/esm/jobs/load-balancer/algorithm/random.js.map +1 -0
  385. package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +6 -0
  386. package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts.map +1 -0
  387. package/dist/esm/jobs/load-balancer/algorithm/specify.js +18 -0
  388. package/dist/esm/jobs/load-balancer/algorithm/specify.js.map +1 -0
  389. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +6 -0
  390. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -0
  391. package/dist/esm/jobs/load-balancer/algorithm/weights.js +26 -0
  392. package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -0
  393. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +6 -0
  394. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -0
  395. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +32 -0
  396. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -0
  397. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +6 -0
  398. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts.map +1 -0
  399. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +26 -0
  400. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js.map +1 -0
  401. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +6 -0
  402. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts.map +1 -0
  403. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +22 -0
  404. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js.map +1 -0
  405. package/dist/esm/jobs/load-balancer/consts.d.ts +35 -0
  406. package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -0
  407. package/dist/esm/jobs/load-balancer/consts.js +36 -0
  408. package/dist/esm/jobs/load-balancer/consts.js.map +1 -0
  409. package/dist/esm/jobs/load-balancer/index.d.ts +84 -0
  410. package/dist/esm/jobs/load-balancer/index.d.ts.map +1 -0
  411. package/dist/esm/jobs/load-balancer/index.js +195 -0
  412. package/dist/esm/jobs/load-balancer/index.js.map +1 -0
  413. package/dist/esm/jobs/load-balancer/scheduler.d.ts +17 -0
  414. package/dist/esm/jobs/load-balancer/scheduler.d.ts.map +1 -0
  415. package/dist/esm/jobs/load-balancer/scheduler.js +36 -0
  416. package/dist/esm/jobs/load-balancer/scheduler.js.map +1 -0
  417. package/dist/esm/jobs/load-balancer/types.d.ts +43 -0
  418. package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -0
  419. package/dist/esm/jobs/load-balancer/types.js +7 -0
  420. package/dist/esm/jobs/load-balancer/types.js.map +1 -0
  421. package/dist/esm/jobs/registry.d.ts +24 -0
  422. package/dist/esm/jobs/registry.d.ts.map +1 -0
  423. package/dist/esm/jobs/registry.js +52 -0
  424. package/dist/esm/jobs/registry.js.map +1 -0
  425. package/dist/esm/loader/index.d.ts +58 -0
  426. package/dist/esm/loader/index.d.ts.map +1 -0
  427. package/dist/esm/loader/index.js +151 -0
  428. package/dist/esm/loader/index.js.map +1 -0
  429. package/dist/esm/log/index.d.ts +59 -0
  430. package/dist/esm/log/index.d.ts.map +1 -0
  431. package/dist/esm/log/index.js +123 -0
  432. package/dist/esm/log/index.js.map +1 -0
  433. package/dist/esm/log/logger.d.ts +35 -0
  434. package/dist/esm/log/logger.d.ts.map +1 -0
  435. package/dist/esm/log/logger.js +246 -0
  436. package/dist/esm/log/logger.js.map +1 -0
  437. package/dist/esm/message/childMessage.d.ts +58 -0
  438. package/dist/esm/message/childMessage.d.ts.map +1 -0
  439. package/dist/esm/message/childMessage.js +118 -0
  440. package/dist/esm/message/childMessage.js.map +1 -0
  441. package/dist/esm/message/index.d.ts +2 -0
  442. package/dist/esm/message/index.d.ts.map +1 -0
  443. package/dist/esm/message/index.js +7 -0
  444. package/dist/esm/message/index.js.map +1 -0
  445. package/dist/esm/ps/index.d.ts +155 -0
  446. package/dist/esm/ps/index.d.ts.map +1 -0
  447. package/dist/esm/ps/index.js +369 -0
  448. package/dist/esm/ps/index.js.map +1 -0
  449. package/dist/esm/socket/httpServer.d.ts +74 -0
  450. package/dist/esm/socket/httpServer.d.ts.map +1 -0
  451. package/dist/esm/socket/httpServer.js +240 -0
  452. package/dist/esm/socket/httpServer.js.map +1 -0
  453. package/dist/esm/socket/index.d.ts +60 -0
  454. package/dist/esm/socket/index.d.ts.map +1 -0
  455. package/dist/esm/socket/index.js +103 -0
  456. package/dist/esm/socket/index.js.map +1 -0
  457. package/dist/esm/socket/ipcServer.d.ts +40 -0
  458. package/dist/esm/socket/ipcServer.d.ts.map +1 -0
  459. package/dist/esm/socket/ipcServer.js +124 -0
  460. package/dist/esm/socket/ipcServer.js.map +1 -0
  461. package/dist/esm/socket/socketServer.d.ts +43 -0
  462. package/dist/esm/socket/socketServer.d.ts.map +1 -0
  463. package/dist/esm/socket/socketServer.js +116 -0
  464. package/dist/esm/socket/socketServer.js.map +1 -0
  465. package/dist/esm/socket/utils.d.ts +13 -0
  466. package/dist/esm/socket/utils.d.ts.map +1 -0
  467. package/dist/esm/socket/utils.js +41 -0
  468. package/dist/esm/socket/utils.js.map +1 -0
  469. package/dist/esm/storage/index.d.ts +2 -0
  470. package/dist/esm/storage/index.d.ts.map +1 -0
  471. package/dist/esm/storage/index.js +6 -0
  472. package/dist/esm/storage/index.js.map +1 -0
  473. package/dist/esm/storage/sqliteStorage.d.ts +117 -0
  474. package/dist/esm/storage/sqliteStorage.d.ts.map +1 -0
  475. package/dist/esm/storage/sqliteStorage.js +197 -0
  476. package/dist/esm/storage/sqliteStorage.js.map +1 -0
  477. package/dist/esm/types/index.d.ts +524 -0
  478. package/dist/esm/types/index.d.ts.map +1 -0
  479. package/dist/esm/types/index.js +3 -0
  480. package/dist/esm/types/index.js.map +1 -0
  481. package/dist/esm/utils/extend.d.ts +46 -0
  482. package/dist/esm/utils/extend.d.ts.map +1 -0
  483. package/dist/esm/utils/extend.js +105 -0
  484. package/dist/esm/utils/extend.js.map +1 -0
  485. package/dist/esm/utils/helper.d.ts +169 -0
  486. package/dist/esm/utils/helper.d.ts.map +1 -0
  487. package/dist/esm/utils/helper.js +351 -0
  488. package/dist/esm/utils/helper.js.map +1 -0
  489. package/dist/esm/utils/index.d.ts +113 -0
  490. package/dist/esm/utils/index.d.ts.map +1 -0
  491. package/dist/esm/utils/index.js +344 -0
  492. package/dist/esm/utils/index.js.map +1 -0
  493. package/dist/esm/utils/ip.d.ts +42 -0
  494. package/dist/esm/utils/ip.d.ts.map +1 -0
  495. package/dist/esm/utils/ip.js +276 -0
  496. package/dist/esm/utils/ip.js.map +1 -0
  497. package/dist/esm/utils/is.d.ts +138 -0
  498. package/dist/esm/utils/is.d.ts.map +1 -0
  499. package/dist/esm/utils/is.js +203 -0
  500. package/dist/esm/utils/is.js.map +1 -0
  501. package/dist/esm/utils/json.d.ts +64 -0
  502. package/dist/esm/utils/json.d.ts.map +1 -0
  503. package/dist/esm/utils/json.js +122 -0
  504. package/dist/esm/utils/json.js.map +1 -0
  505. package/dist/esm/utils/pargv.d.ts +67 -0
  506. package/dist/esm/utils/pargv.d.ts.map +1 -0
  507. package/dist/esm/utils/pargv.js +406 -0
  508. package/dist/esm/utils/pargv.js.map +1 -0
  509. package/dist/esm/utils/port/index.d.ts +48 -0
  510. package/dist/esm/utils/port/index.d.ts.map +1 -0
  511. package/dist/esm/utils/port/index.js +235 -0
  512. package/dist/esm/utils/port/index.js.map +1 -0
  513. package/dist/esm/utils/type_check.d.ts +88 -0
  514. package/dist/esm/utils/type_check.d.ts.map +1 -0
  515. package/dist/esm/utils/type_check.js +121 -0
  516. package/dist/esm/utils/type_check.js.map +1 -0
  517. package/dist/esm/utils/wrap.d.ts +31 -0
  518. package/dist/esm/utils/wrap.d.ts.map +1 -0
  519. package/dist/esm/utils/wrap.js +88 -0
  520. package/dist/esm/utils/wrap.js.map +1 -0
  521. package/package.json +424 -27
  522. package/LICENSE +0 -21
  523. package/README.md +0 -66
  524. package/app/application.d.ts +0 -5
  525. package/app/application.js +0 -31
  526. package/app/boot.d.ts +0 -5
  527. package/app/boot.js +0 -81
  528. package/app/dir.d.ts +0 -1
  529. package/app/dir.js +0 -27
  530. package/app/events.d.ts +0 -14
  531. package/app/events.js +0 -56
  532. package/app/index.d.ts +0 -2
  533. package/app/index.js +0 -7
  534. package/config/config_loader.d.ts +0 -13
  535. package/config/config_loader.js +0 -66
  536. package/config/default_config.d.ts +0 -95
  537. package/config/default_config.js +0 -111
  538. package/config/index.d.ts +0 -28
  539. package/config/index.js +0 -25
  540. package/const/channel.d.ts +0 -16
  541. package/const/channel.js +0 -28
  542. package/controller/controller_loader.d.ts +0 -9
  543. package/controller/controller_loader.js +0 -78
  544. package/controller/index.d.ts +0 -2
  545. package/controller/index.js +0 -24
  546. package/core/index.d.ts +0 -2
  547. package/core/index.js +0 -12
  548. package/core/loader/file_loader.d.ts +0 -66
  549. package/core/loader/file_loader.js +0 -212
  550. package/core/utils/index.d.ts +0 -12
  551. package/core/utils/index.js +0 -83
  552. package/core/utils/timing.d.ts +0 -22
  553. package/core/utils/timing.js +0 -78
  554. package/cross/cross.d.ts +0 -19
  555. package/cross/cross.js +0 -153
  556. package/cross/crossProcess.d.ts +0 -29
  557. package/cross/crossProcess.js +0 -173
  558. package/cross/index.d.ts +0 -2
  559. package/cross/index.js +0 -8
  560. package/electron/app/index.d.ts +0 -5
  561. package/electron/app/index.js +0 -48
  562. package/electron/index.d.ts +0 -3
  563. package/electron/index.js +0 -16
  564. package/electron/window/index.d.ts +0 -6
  565. package/electron/window/index.js +0 -269
  566. package/exception/index.d.ts +0 -9
  567. package/exception/index.js +0 -101
  568. package/html/boot.html +0 -98
  569. package/html/cross-failure.html +0 -28
  570. package/html/failure.html +0 -28
  571. package/html/index.d.ts +0 -1
  572. package/html/index.js +0 -11
  573. package/index.d.ts +0 -2
  574. package/index.js +0 -7
  575. package/jobs/child/app.d.ts +0 -1
  576. package/jobs/child/app.js +0 -70
  577. package/jobs/child/index.d.ts +0 -13
  578. package/jobs/child/index.js +0 -85
  579. package/jobs/child/jobProcess.d.ts +0 -16
  580. package/jobs/child/jobProcess.js +0 -134
  581. package/jobs/child-pool/index.d.ts +0 -26
  582. package/jobs/child-pool/index.js +0 -190
  583. package/jobs/index.d.ts +0 -3
  584. package/jobs/index.js +0 -7
  585. package/jobs/load-balancer/algorithm/index.d.ts +0 -4
  586. package/jobs/load-balancer/algorithm/index.js +0 -12
  587. package/jobs/load-balancer/algorithm/minimumConnection.d.ts +0 -2
  588. package/jobs/load-balancer/algorithm/minimumConnection.js +0 -19
  589. package/jobs/load-balancer/algorithm/polling.d.ts +0 -2
  590. package/jobs/load-balancer/algorithm/polling.js +0 -12
  591. package/jobs/load-balancer/algorithm/random.d.ts +0 -2
  592. package/jobs/load-balancer/algorithm/random.js +0 -10
  593. package/jobs/load-balancer/algorithm/specify.d.ts +0 -2
  594. package/jobs/load-balancer/algorithm/specify.js +0 -15
  595. package/jobs/load-balancer/algorithm/weights.d.ts +0 -2
  596. package/jobs/load-balancer/algorithm/weights.js +0 -22
  597. package/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +0 -2
  598. package/jobs/load-balancer/algorithm/weightsMinimumConnection.js +0 -30
  599. package/jobs/load-balancer/algorithm/weightsPolling.d.ts +0 -2
  600. package/jobs/load-balancer/algorithm/weightsPolling.js +0 -23
  601. package/jobs/load-balancer/algorithm/weightsRandom.d.ts +0 -2
  602. package/jobs/load-balancer/algorithm/weightsRandom.js +0 -17
  603. package/jobs/load-balancer/consts.d.ts +0 -8
  604. package/jobs/load-balancer/consts.js +0 -10
  605. package/jobs/load-balancer/index.d.ts +0 -96
  606. package/jobs/load-balancer/index.js +0 -202
  607. package/jobs/load-balancer/scheduler.d.ts +0 -16
  608. package/jobs/load-balancer/scheduler.js +0 -32
  609. package/loader/index.d.ts +0 -9
  610. package/loader/index.js +0 -99
  611. package/log/index.d.ts +0 -5
  612. package/log/index.js +0 -86
  613. package/log/logger.d.ts +0 -2
  614. package/log/logger.js +0 -95
  615. package/message/childMessage.d.ts +0 -10
  616. package/message/childMessage.js +0 -43
  617. package/message/index.d.ts +0 -3
  618. package/message/index.js +0 -10
  619. package/ps/index.d.ts +0 -39
  620. package/ps/index.js +0 -295
  621. package/socket/httpServer.d.ts +0 -8
  622. package/socket/httpServer.js +0 -199
  623. package/socket/index.d.ts +0 -10
  624. package/socket/index.js +0 -65
  625. package/socket/ipcServer.d.ts +0 -9
  626. package/socket/ipcServer.js +0 -106
  627. package/socket/socketServer.d.ts +0 -10
  628. package/socket/socketServer.js +0 -82
  629. package/storage/index.d.ts +0 -5
  630. package/storage/index.js +0 -7
  631. package/storage/sqliteStorage.d.ts +0 -16
  632. package/storage/sqliteStorage.js +0 -124
  633. package/tsconfig.json +0 -14
  634. package/utils/extend.d.ts +0 -2
  635. package/utils/extend.js +0 -78
  636. package/utils/helper.d.ts +0 -14
  637. package/utils/helper.js +0 -207
  638. package/utils/index.d.ts +0 -11
  639. package/utils/index.js +0 -198
  640. package/utils/ip.d.ts +0 -2
  641. package/utils/ip.js +0 -221
  642. package/utils/is.d.ts +0 -14
  643. package/utils/is.js +0 -112
  644. package/utils/json.d.ts +0 -5
  645. package/utils/json.js +0 -80
  646. package/utils/pargv.d.ts +0 -3
  647. package/utils/pargv.js +0 -267
  648. package/utils/port/index.d.ts +0 -1
  649. package/utils/port/index.js +0 -126
  650. package/utils/wrap.d.ts +0 -4
  651. package/utils/wrap.js +0 -41
@@ -0,0 +1,74 @@
1
+ import Koa from 'koa';
2
+ import type { HttpServerConfig } from '../types/index.js';
3
+ /**
4
+ * HttpServer - HTTP server
5
+ *
6
+ * Created using factory pattern (static create()), because initialization requires async port acquisition.
7
+ * When enable=false in config, the service will not start after creation.
8
+ */
9
+ export declare class HttpServer {
10
+ /** HTTP server configuration */
11
+ config: HttpServerConfig;
12
+ /** Koa application instance */
13
+ httpApp: Koa | undefined;
14
+ /** Channel separator */
15
+ channelSeparator: string;
16
+ private constructor();
17
+ /**
18
+ * Factory method: create and initialize HttpServer
19
+ *
20
+ * @returns Fully initialized HttpServer instance
21
+ */
22
+ static create(): Promise<HttpServer>;
23
+ /**
24
+ * Initialize HTTP server
25
+ *
26
+ * Acquires an available port then creates a Koa application and starts listening.
27
+ * The port number is written to process.env.EE_HTTP_PORT for other modules to access.
28
+ */
29
+ init(): Promise<void>;
30
+ /**
31
+ * Create Koa application and start HTTP/HTTPS service
32
+ *
33
+ * Loads middleware in order, handles HTTPS configuration, and starts listening.
34
+ */
35
+ _create(): Promise<void>;
36
+ /**
37
+ * Core routing dispatch middleware
38
+ *
39
+ * Maps HTTP request paths to controller methods:
40
+ * 1. Remove leading '/' from path
41
+ * 2. Check if path is in filter list (e.g., favicon.ico)
42
+ * 3. Ensure path starts with 'controller'
43
+ * 4. Find and call controller method via resolveControllerFn
44
+ * 5. GET requests pass query params, POST requests pass body params
45
+ *
46
+ * Error handling: When controller method throws an exception, returns 500 + { error: 'Internal Server Error' }
47
+ */
48
+ _dispatch(ctx: Koa.Context, next: Koa.Next): Promise<void>;
49
+ /**
50
+ * Get Koa application instance
51
+ *
52
+ * @returns Koa instance, or undefined if HTTP service is not enabled
53
+ */
54
+ getHttpApp(): Koa | undefined;
55
+ /**
56
+ * Set up Koa error handler
57
+ *
58
+ * @param app - Koa application instance
59
+ * @param errorHandler - Error handler function that receives an Error parameter
60
+ */
61
+ _setupErrorHandler(app: Koa, errorHandler: ((err: Error) => void) | null): void;
62
+ /**
63
+ * Load pre/post middleware
64
+ *
65
+ * Middleware can be factory functions (called to return Koa middleware) or direct middleware functions.
66
+ * Invalid middleware will be skipped with a warning.
67
+ *
68
+ * @param app - Koa application instance
69
+ * @param middlewares - Middleware array
70
+ * @param type - Type identifier (pre/post), used for warning messages
71
+ */
72
+ _loadMiddlewares(app: Koa, middlewares?: unknown[], type?: string): void;
73
+ }
74
+ //# sourceMappingURL=httpServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../../../src/socket/httpServer.ts"],"names":[],"mappings":"AAsBA,OAAO,GAAG,MAAM,KAAK,CAAC;AAWtB,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,mBAAmB,CAAC;AAKrE;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,gCAAgC;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,+BAA+B;IAC/B,OAAO,EAAE,GAAG,GAAG,SAAS,CAAC;IACzB,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,OAAO;IAOP;;;;OAIG;WACU,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAM1C;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4D9B;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA+ChE;;;;OAIG;IACH,UAAU,IAAI,GAAG,GAAG,SAAS;IAI7B;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAM/E;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,GAAE,OAAO,EAAO,EAAE,IAAI,SAAQ,GAAG,IAAI;CAY5E"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HttpServer = void 0;
7
+ /**
8
+ * @module socket/httpServer
9
+ * @description HTTP/HTTPS server. Provides RESTful API services based on the Koa framework,
10
+ * routing HTTP requests to corresponding controller methods.
11
+ *
12
+ * Request routing rules:
13
+ * - URL path maps to controller path, e.g., /controller/user/add → controller.user.add
14
+ * - GET request parameters from query, POST request parameters from body
15
+ * - Paths starting with 'controller' are used directly, otherwise 'controller' prefix is added automatically
16
+ * - URIs in filterRequest return specified data directly without going through controllers
17
+ *
18
+ * Middleware loading order:
19
+ * 1. Error handler (errorHandler)
20
+ * 2. Pre-middleware (preMiddleware)
21
+ * 3. CORS cross-origin middleware
22
+ * 4. koa-body request body parsing middleware
23
+ * 5. Core routing dispatch middleware (_dispatch)
24
+ * 6. Post-middleware (postMiddleware)
25
+ */
26
+ const debug_1 = __importDefault(require("debug"));
27
+ const assert_1 = __importDefault(require("assert"));
28
+ const type_check_js_1 = require("../utils/type_check.js");
29
+ const koa_1 = __importDefault(require("koa"));
30
+ const koa2_cors_1 = __importDefault(require("koa2-cors"));
31
+ const koa_body_1 = __importDefault(require("koa-body"));
32
+ const https_1 = __importDefault(require("https"));
33
+ const fs_1 = __importDefault(require("fs"));
34
+ const path_1 = __importDefault(require("path"));
35
+ const index_js_1 = require("../log/index.js");
36
+ const index_js_2 = require("../ps/index.js");
37
+ const index_js_3 = require("../controller/index.js");
38
+ const index_js_4 = require("../config/index.js");
39
+ const index_js_5 = require("../utils/port/index.js");
40
+ const utils_js_1 = require("./utils.js");
41
+ const debugLog = (0, debug_1.default)('ee-core:socket:httpServer');
42
+ /**
43
+ * HttpServer - HTTP server
44
+ *
45
+ * Created using factory pattern (static create()), because initialization requires async port acquisition.
46
+ * When enable=false in config, the service will not start after creation.
47
+ */
48
+ class HttpServer {
49
+ constructor() {
50
+ const config = (0, index_js_4.getConfig)();
51
+ this.config = config.httpServer;
52
+ this.channelSeparator = config.mainServer.channelSeparator || '/';
53
+ this.httpApp = undefined;
54
+ }
55
+ /**
56
+ * Factory method: create and initialize HttpServer
57
+ *
58
+ * @returns Fully initialized HttpServer instance
59
+ */
60
+ static async create() {
61
+ const instance = new HttpServer();
62
+ await instance.init();
63
+ return instance;
64
+ }
65
+ /**
66
+ * Initialize HTTP server
67
+ *
68
+ * Acquires an available port then creates a Koa application and starts listening.
69
+ * The port number is written to process.env.EE_HTTP_PORT for other modules to access.
70
+ */
71
+ async init() {
72
+ if (this.config.enable === false) {
73
+ return;
74
+ }
75
+ const port = await (0, index_js_5.getPort)({ port: this.config.port });
76
+ if (!port) {
77
+ throw new Error('[ee-core] [socket/HttpServer] http port required, and must be a number !');
78
+ }
79
+ process.env.EE_HTTP_PORT = String(port);
80
+ this.config.port = port;
81
+ this._create();
82
+ }
83
+ /**
84
+ * Create Koa application and start HTTP/HTTPS service
85
+ *
86
+ * Loads middleware in order, handles HTTPS configuration, and starts listening.
87
+ */
88
+ async _create() {
89
+ const config = this.config;
90
+ const koaConfig = config.koaConfig || {};
91
+ const preMiddleware = koaConfig.preMiddleware || [];
92
+ const postMiddleware = koaConfig.postMiddleware || [];
93
+ const errorHandler = koaConfig.errorHandler || null;
94
+ const isHttps = config.https.enable === true;
95
+ const sslOptions = {};
96
+ if (isHttps) {
97
+ config.protocol = 'https://';
98
+ const httpsConfig = config.https;
99
+ const keyFile = path_1.default.join((0, index_js_2.getBaseDir)(), httpsConfig.key);
100
+ const certFile = path_1.default.join((0, index_js_2.getBaseDir)(), httpsConfig.cert);
101
+ (0, assert_1.default)(fs_1.default.existsSync(keyFile), 'ssl key file is required');
102
+ (0, assert_1.default)(fs_1.default.existsSync(certFile), 'ssl cert file is required');
103
+ sslOptions.key = fs_1.default.readFileSync(keyFile);
104
+ sslOptions.cert = fs_1.default.readFileSync(certFile);
105
+ }
106
+ const url = config.protocol + config.host + ':' + config.port;
107
+ const corsOptions = config.cors;
108
+ const koaApp = new koa_1.default();
109
+ // Set up error handler for unified error code handling
110
+ this._setupErrorHandler(koaApp, errorHandler);
111
+ // Load pre-middleware
112
+ this._loadMiddlewares(koaApp, preMiddleware, 'pre');
113
+ // Core middleware
114
+ koaApp.use((0, koa2_cors_1.default)(corsOptions));
115
+ koaApp.use((0, koa_body_1.default)(config.body));
116
+ koaApp.use(this._dispatch.bind(this));
117
+ // Load post-middleware
118
+ this._loadMiddlewares(koaApp, postMiddleware, 'post');
119
+ let msg = '[socket/http] server is: ' + url;
120
+ const listenOpt = { host: config.host, port: config.port };
121
+ if (isHttps) {
122
+ const server = https_1.default.createServer(sslOptions, koaApp.callback());
123
+ server.on('error', (err) => {
124
+ index_js_1.coreLogger.error(`[socket/http] https server error: ${err.message}`);
125
+ });
126
+ server.listen(listenOpt, () => {
127
+ index_js_1.coreLogger.info(msg);
128
+ });
129
+ }
130
+ else {
131
+ const server = koaApp.listen(listenOpt, () => {
132
+ index_js_1.coreLogger.info(msg);
133
+ });
134
+ server.on('error', (err) => {
135
+ index_js_1.coreLogger.error(`[socket/http] http server error: ${err.message}`);
136
+ });
137
+ }
138
+ this.httpApp = koaApp;
139
+ }
140
+ /**
141
+ * Core routing dispatch middleware
142
+ *
143
+ * Maps HTTP request paths to controller methods:
144
+ * 1. Remove leading '/' from path
145
+ * 2. Check if path is in filter list (e.g., favicon.ico)
146
+ * 3. Ensure path starts with 'controller'
147
+ * 4. Find and call controller method via resolveControllerFn
148
+ * 5. GET requests pass query params, POST requests pass body params
149
+ *
150
+ * Error handling: When controller method throws an exception, returns 500 + { error: 'Internal Server Error' }
151
+ */
152
+ async _dispatch(ctx, next) {
153
+ const controller = (0, index_js_3.getController)();
154
+ const { filterRequest } = (0, index_js_4.getConfig)().httpServer;
155
+ let uriPath = ctx.request.path;
156
+ const method = ctx.request.method;
157
+ let params = ctx.request.query;
158
+ // Deep copy query object to avoid Express/Koa proxy object issues
159
+ params = (0, type_check_js_1.isObject)(params) ? JSON.parse(JSON.stringify(params)) : {};
160
+ const body = ctx.request.body;
161
+ ctx.response.status = 200;
162
+ try {
163
+ // Remove leading '/'
164
+ if (uriPath.indexOf('/') === 0) {
165
+ uriPath = uriPath.substring(1);
166
+ }
167
+ // Filter requests that don't need routing
168
+ if (filterRequest.uris.includes(uriPath)) {
169
+ ctx.response.body = filterRequest.returnData;
170
+ await next();
171
+ return;
172
+ }
173
+ // Automatically add 'controller' prefix
174
+ if (uriPath.slice(0, 10) !== 'controller') {
175
+ uriPath = 'controller/' + uriPath;
176
+ }
177
+ const cmd = uriPath.split('/').join(this.channelSeparator);
178
+ debugLog('[request] uri %s', cmd);
179
+ // GET uses query, POST uses body
180
+ const args = method === 'POST' ? body : params;
181
+ const fn = (0, utils_js_1.resolveControllerFn)(controller, cmd, this.channelSeparator);
182
+ if (!fn)
183
+ throw new Error('function not exists');
184
+ const result = await fn.call(controller, args, ctx);
185
+ ctx.response.body = result;
186
+ }
187
+ catch (err) {
188
+ index_js_1.coreLogger.error('[httpServer] throw error:', err);
189
+ ctx.response.status = 500;
190
+ ctx.response.body = { error: 'Internal Server Error' };
191
+ // Attach original error to ctx for downstream error-reporting middleware
192
+ ctx.__ee_error = err;
193
+ }
194
+ await next();
195
+ }
196
+ /**
197
+ * Get Koa application instance
198
+ *
199
+ * @returns Koa instance, or undefined if HTTP service is not enabled
200
+ */
201
+ getHttpApp() {
202
+ return this.httpApp;
203
+ }
204
+ /**
205
+ * Set up Koa error handler
206
+ *
207
+ * @param app - Koa application instance
208
+ * @param errorHandler - Error handler function that receives an Error parameter
209
+ */
210
+ _setupErrorHandler(app, errorHandler) {
211
+ if ((0, type_check_js_1.isFunction)(errorHandler)) {
212
+ app.on('error', errorHandler);
213
+ }
214
+ }
215
+ /**
216
+ * Load pre/post middleware
217
+ *
218
+ * Middleware can be factory functions (called to return Koa middleware) or direct middleware functions.
219
+ * Invalid middleware will be skipped with a warning.
220
+ *
221
+ * @param app - Koa application instance
222
+ * @param middlewares - Middleware array
223
+ * @param type - Type identifier (pre/post), used for warning messages
224
+ */
225
+ _loadMiddlewares(app, middlewares = [], type = 'pre') {
226
+ if ((0, type_check_js_1.isArray)(middlewares)) {
227
+ middlewares.forEach((middleware) => {
228
+ if ((0, type_check_js_1.isFunction)(middleware)) {
229
+ // middleware is a factory function, called to return (ctx, next) => {} style middleware
230
+ app.use(middleware());
231
+ }
232
+ else {
233
+ index_js_1.coreLogger.warn(`[ee-core/httpServer] Invalid ${type} middleware detected, skipping.`);
234
+ }
235
+ });
236
+ }
237
+ }
238
+ }
239
+ exports.HttpServer = HttpServer;
240
+ //# sourceMappingURL=httpServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpServer.js","sourceRoot":"","sources":["../../../src/socket/httpServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @module socket
3
+ * @description Communication service module entry point. Provides creation and management of three communication modes:
4
+ *
5
+ * - SocketServer: SocketIO server for third-party software communication via WebSocket
6
+ * - HttpServer: HTTP/HTTPS server for RESTful API calls
7
+ * - IpcServer: Electron IPC server for renderer process communication via ipcRenderer
8
+ *
9
+ * Usage:
10
+ * - loadSocket(): Called during framework startup to create and initialize all communication services
11
+ * - getSocketServer() / getHttpServer() / getIpcServer(): Get service instances
12
+ */
13
+ export { SocketServer } from './socketServer.js';
14
+ export { HttpServer } from './httpServer.js';
15
+ export { IpcServer } from './ipcServer.js';
16
+ import { Server as IoServer } from 'socket.io';
17
+ import IoClient from 'socket.io-client';
18
+ import Koa from 'koa';
19
+ import { SocketServer } from './socketServer.js';
20
+ import { HttpServer } from './httpServer.js';
21
+ import { IpcServer } from './ipcServer.js';
22
+ export { Koa, IoServer, IoClient };
23
+ /**
24
+ * Create SocketIO server
25
+ *
26
+ * @returns SocketServer instance
27
+ */
28
+ export declare function createSocketServer(): Promise<SocketServer>;
29
+ /**
30
+ * Get SocketIO server instance
31
+ */
32
+ export declare function getSocketServer(): SocketServer | null;
33
+ /**
34
+ * Create HTTP server
35
+ *
36
+ * @returns HttpServer instance
37
+ */
38
+ export declare function createHttpServer(): Promise<HttpServer>;
39
+ /**
40
+ * Get HTTP server instance
41
+ */
42
+ export declare function getHttpServer(): HttpServer | null;
43
+ /**
44
+ * Create IPC server
45
+ *
46
+ * @returns IpcServer instance
47
+ */
48
+ export declare function createIpcServer(): IpcServer;
49
+ /**
50
+ * Get IPC server instance
51
+ */
52
+ export declare function getIpcServer(): IpcServer | null;
53
+ /**
54
+ * Load and initialize all communication services
55
+ *
56
+ * Created in order: SocketIO → HTTP → IPC
57
+ * Called by Application.run() during the framework startup flow.
58
+ */
59
+ export declare function loadSocket(): Promise<void>;
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/socket/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAanC;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAG5D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAG3C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,GAAG,IAAI,CAE/C;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAIhD"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IoClient = exports.IoServer = exports.Koa = exports.IpcServer = exports.HttpServer = exports.SocketServer = void 0;
7
+ exports.createSocketServer = createSocketServer;
8
+ exports.getSocketServer = getSocketServer;
9
+ exports.createHttpServer = createHttpServer;
10
+ exports.getHttpServer = getHttpServer;
11
+ exports.createIpcServer = createIpcServer;
12
+ exports.getIpcServer = getIpcServer;
13
+ exports.loadSocket = loadSocket;
14
+ /**
15
+ * @module socket
16
+ * @description Communication service module entry point. Provides creation and management of three communication modes:
17
+ *
18
+ * - SocketServer: SocketIO server for third-party software communication via WebSocket
19
+ * - HttpServer: HTTP/HTTPS server for RESTful API calls
20
+ * - IpcServer: Electron IPC server for renderer process communication via ipcRenderer
21
+ *
22
+ * Usage:
23
+ * - loadSocket(): Called during framework startup to create and initialize all communication services
24
+ * - getSocketServer() / getHttpServer() / getIpcServer(): Get service instances
25
+ */
26
+ var socketServer_js_1 = require("./socketServer.js");
27
+ Object.defineProperty(exports, "SocketServer", { enumerable: true, get: function () { return socketServer_js_1.SocketServer; } });
28
+ var httpServer_js_1 = require("./httpServer.js");
29
+ Object.defineProperty(exports, "HttpServer", { enumerable: true, get: function () { return httpServer_js_1.HttpServer; } });
30
+ var ipcServer_js_1 = require("./ipcServer.js");
31
+ Object.defineProperty(exports, "IpcServer", { enumerable: true, get: function () { return ipcServer_js_1.IpcServer; } });
32
+ const socket_io_1 = require("socket.io");
33
+ Object.defineProperty(exports, "IoServer", { enumerable: true, get: function () { return socket_io_1.Server; } });
34
+ const socket_io_client_1 = __importDefault(require("socket.io-client"));
35
+ exports.IoClient = socket_io_client_1.default;
36
+ const koa_1 = __importDefault(require("koa"));
37
+ exports.Koa = koa_1.default;
38
+ const socketServer_js_2 = require("./socketServer.js");
39
+ const httpServer_js_2 = require("./httpServer.js");
40
+ const ipcServer_js_2 = require("./ipcServer.js");
41
+ /** Service instance storage */
42
+ const Instance = {
43
+ socketServer: null,
44
+ httpServer: null,
45
+ ipcServer: null,
46
+ };
47
+ /**
48
+ * Create SocketIO server
49
+ *
50
+ * @returns SocketServer instance
51
+ */
52
+ async function createSocketServer() {
53
+ Instance.socketServer = await socketServer_js_2.SocketServer.create();
54
+ return Instance.socketServer;
55
+ }
56
+ /**
57
+ * Get SocketIO server instance
58
+ */
59
+ function getSocketServer() {
60
+ return Instance.socketServer;
61
+ }
62
+ /**
63
+ * Create HTTP server
64
+ *
65
+ * @returns HttpServer instance
66
+ */
67
+ async function createHttpServer() {
68
+ Instance.httpServer = await httpServer_js_2.HttpServer.create();
69
+ return Instance.httpServer;
70
+ }
71
+ /**
72
+ * Get HTTP server instance
73
+ */
74
+ function getHttpServer() {
75
+ return Instance.httpServer;
76
+ }
77
+ /**
78
+ * Create IPC server
79
+ *
80
+ * @returns IpcServer instance
81
+ */
82
+ function createIpcServer() {
83
+ Instance.ipcServer = new ipcServer_js_2.IpcServer();
84
+ return Instance.ipcServer;
85
+ }
86
+ /**
87
+ * Get IPC server instance
88
+ */
89
+ function getIpcServer() {
90
+ return Instance.ipcServer;
91
+ }
92
+ /**
93
+ * Load and initialize all communication services
94
+ *
95
+ * Created in order: SocketIO → HTTP → IPC
96
+ * Called by Application.run() during the framework startup flow.
97
+ */
98
+ async function loadSocket() {
99
+ await createSocketServer();
100
+ await createHttpServer();
101
+ createIpcServer();
102
+ }
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/socket/index.ts"],"names":[],"mappings":";;;;;;AAyCA,gDAGC;AAKD,0CAEC;AAOD,4CAGC;AAKD,sCAEC;AAOD,0CAGC;AAKD,oCAEC;AAQD,gCAIC;AAjGD;;;;;;;;;;;GAWG;AACH,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAElB,yCAA+C;AAOjC,yFAPK,kBAAQ,OAOL;AANtB,wEAAwC;AAMhB,mBANjB,0BAAQ,CAMiB;AALhC,8CAAsB;AAKb,cALF,aAAG,CAKE;AAJZ,uDAAiD;AACjD,mDAA6C;AAC7C,iDAA2C;AAI3C,+BAA+B;AAC/B,MAAM,QAAQ,GAIV;IACF,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;GAIG;AACI,KAAK,UAAU,kBAAkB;IACtC,QAAQ,CAAC,YAAY,GAAG,MAAM,8BAAY,CAAC,MAAM,EAAE,CAAC;IACpD,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe;IAC7B,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,gBAAgB;IACpC,QAAQ,CAAC,UAAU,GAAG,MAAM,0BAAU,CAAC,MAAM,EAAE,CAAC;IAChD,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe;IAC7B,QAAQ,CAAC,SAAS,GAAG,IAAI,wBAAS,EAAE,CAAC;IACrC,OAAO,QAAQ,CAAC,SAAS,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,QAAQ,CAAC,SAAS,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU;IAC9B,MAAM,kBAAkB,EAAE,CAAC;IAC3B,MAAM,gBAAgB,EAAE,CAAC;IACzB,eAAe,EAAE,CAAC;AACpB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * IpcServer - IPC server
3
+ *
4
+ * Traverses the controller object tree and registers ipcMain channel handlers for each exported method.
5
+ * Uses recursive loop() to traverse nested controller directory structures.
6
+ */
7
+ export declare class IpcServer {
8
+ /** Channel separator, default '/' */
9
+ channelSeparator: string;
10
+ /** Controller directory name (used to generate property path prefix) */
11
+ directory: string;
12
+ constructor();
13
+ /**
14
+ * Initialize: traverse controller tree and register all IPC channels
15
+ */
16
+ init(): void;
17
+ /**
18
+ * Recursively traverse the controller object tree
19
+ *
20
+ * Distinguished by EXPORTS symbol marker:
21
+ * - Objects with EXPORTS marker → leaf nodes (controller method collections), call register()
22
+ * - Objects without marker → intermediate nodes (directory/namespace), continue recursion
23
+ *
24
+ * @param obj - Current object being traversed
25
+ * @param pathname - Current property path
26
+ */
27
+ loop(obj: Record<string, unknown>, pathname: string): void;
28
+ /**
29
+ * Register controller methods as IPC channel handlers
30
+ *
31
+ * Registers two handlers for each method:
32
+ * 1. ipcMain.on (synchronous model): Sets event.returnValue, supports async methods
33
+ * 2. ipcMain.handle (asynchronous model): Returns Promise, recommended
34
+ *
35
+ * @param exportObj - Controller method collection object
36
+ * @param propertyChain - Property path (e.g., 'controller.user')
37
+ */
38
+ register(exportObj: Record<string, unknown>, propertyChain: string): void;
39
+ }
40
+ //# sourceMappingURL=ipcServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcServer.d.ts","sourceRoot":"","sources":["../../../src/socket/ipcServer.ts"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;;IAQlB;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgB1D;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;CAiC1E"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IpcServer = void 0;
7
+ /**
8
+ * @module socket/ipcServer
9
+ * @description Electron IPC server. Registers controller methods as IPC channel handlers,
10
+ * enabling renderer processes to call main process controller methods via ipcRenderer.
11
+ *
12
+ * Supports two communication models:
13
+ * - send/on model (synchronous): Renderer uses ipcRenderer.sendSync(),
14
+ * main process returns results via event.returnValue.
15
+ * Supports both sync and async controller methods (Electron's sendSync enters a nested
16
+ * message loop that processes microtasks, so event.returnValue set after await is received).
17
+ *
18
+ * - invoke/handle model (asynchronous): Renderer uses ipcRenderer.invoke(),
19
+ * main process returns a Promise via ipcMain.handle().
20
+ * ✅ Recommended model, supports both synchronous and asynchronous controller methods.
21
+ *
22
+ * Channel naming rule: Replace '.' in controller path with channelSeparator (default '/')
23
+ * Example: controller.user.add → controller/user/add
24
+ */
25
+ const debug_1 = __importDefault(require("debug"));
26
+ const electron_1 = require("electron");
27
+ const index_js_1 = require("../log/index.js");
28
+ const index_js_2 = require("../controller/index.js");
29
+ const file_loader_js_1 = require("../core/loader/file_loader.js");
30
+ const index_js_3 = require("../config/index.js");
31
+ const utils_js_1 = require("./utils.js");
32
+ const debugLog = (0, debug_1.default)('ee-core:socket:ipcServer');
33
+ /**
34
+ * IpcServer - IPC server
35
+ *
36
+ * Traverses the controller object tree and registers ipcMain channel handlers for each exported method.
37
+ * Uses recursive loop() to traverse nested controller directory structures.
38
+ */
39
+ class IpcServer {
40
+ constructor() {
41
+ this.channelSeparator = (0, index_js_3.getConfig)().mainServer.channelSeparator || '/';
42
+ this.directory = 'controller';
43
+ this.init();
44
+ }
45
+ /**
46
+ * Initialize: traverse controller tree and register all IPC channels
47
+ */
48
+ init() {
49
+ const controller = (0, index_js_2.getController)();
50
+ this.loop(controller, this.directory);
51
+ }
52
+ /**
53
+ * Recursively traverse the controller object tree
54
+ *
55
+ * Distinguished by EXPORTS symbol marker:
56
+ * - Objects with EXPORTS marker → leaf nodes (controller method collections), call register()
57
+ * - Objects without marker → intermediate nodes (directory/namespace), continue recursion
58
+ *
59
+ * @param obj - Current object being traversed
60
+ * @param pathname - Current property path
61
+ */
62
+ loop(obj, pathname) {
63
+ const keys = Object.keys(obj);
64
+ for (const key of keys) {
65
+ if (key === 'constructor')
66
+ continue;
67
+ const subObj = obj[key];
68
+ const propertyChain = pathname + '.' + key;
69
+ // EXPORTS symbol marker indicates this is a controller method collection (leaf node)
70
+ if (subObj && subObj[file_loader_js_1.EXPORTS] === true) {
71
+ this.register(subObj, propertyChain);
72
+ }
73
+ else if (typeof subObj === 'object') {
74
+ this.loop(subObj, propertyChain);
75
+ }
76
+ }
77
+ }
78
+ /**
79
+ * Register controller methods as IPC channel handlers
80
+ *
81
+ * Registers two handlers for each method:
82
+ * 1. ipcMain.on (synchronous model): Sets event.returnValue, supports async methods
83
+ * 2. ipcMain.handle (asynchronous model): Returns Promise, recommended
84
+ *
85
+ * @param exportObj - Controller method collection object
86
+ * @param propertyChain - Property path (e.g., 'controller.user')
87
+ */
88
+ register(exportObj, propertyChain) {
89
+ const controller = (0, index_js_2.getController)();
90
+ const keys = Object.keys(exportObj);
91
+ for (const key of keys) {
92
+ const tmpChannel = `${propertyChain}.${key}`;
93
+ const channel = tmpChannel.split('.').join(this.channelSeparator);
94
+ debugLog('[register] channel %s', channel);
95
+ // send/on model (synchronous)
96
+ // Electron's sendSync enters a nested message loop that processes microtasks,
97
+ // so event.returnValue set after await IS received by sendSync.
98
+ electron_1.ipcMain.on(channel, async (event, params) => {
99
+ try {
100
+ const fn = (0, utils_js_1.resolveControllerFn)(controller, channel, this.channelSeparator);
101
+ if (!fn)
102
+ return;
103
+ const result = await fn.call(controller, params, event);
104
+ event.returnValue = result;
105
+ }
106
+ catch (e) {
107
+ index_js_1.coreLogger.error('[socket/IpcServer] send/on throw error:', e);
108
+ // Send error info back so renderer can distinguish errors from legitimate undefined
109
+ event.returnValue = { __EE_ERROR__: true, message: e instanceof Error ? e.message : String(e) };
110
+ }
111
+ });
112
+ // invoke/handle model (asynchronous, recommended)
113
+ // Throw error so renderer's ipcRenderer.invoke() rejects, allowing try/catch on renderer side
114
+ electron_1.ipcMain.handle(channel, async (event, params) => {
115
+ const fn = (0, utils_js_1.resolveControllerFn)(controller, channel, this.channelSeparator);
116
+ if (!fn)
117
+ return undefined;
118
+ return await fn.call(controller, params, event);
119
+ });
120
+ }
121
+ }
122
+ }
123
+ exports.IpcServer = IpcServer;
124
+ //# sourceMappingURL=ipcServer.js.map