ee-core 5.0.0-beta.2 → 5.0.0-beta.6

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 (454) hide show
  1. package/README.md +178 -0
  2. package/dist/cjs/app/application.d.ts +36 -1
  3. package/dist/cjs/app/application.d.ts.map +1 -1
  4. package/dist/cjs/app/application.js +49 -2
  5. package/dist/cjs/app/application.js.map +1 -1
  6. package/dist/cjs/app/boot.d.ts +56 -1
  7. package/dist/cjs/app/boot.d.ts.map +1 -1
  8. package/dist/cjs/app/boot.js +74 -11
  9. package/dist/cjs/app/boot.js.map +1 -1
  10. package/dist/cjs/app/dir.d.ts +10 -0
  11. package/dist/cjs/app/dir.d.ts.map +1 -1
  12. package/dist/cjs/app/dir.js +71 -10
  13. package/dist/cjs/app/dir.js.map +1 -1
  14. package/dist/cjs/app/events.d.ts +58 -2
  15. package/dist/cjs/app/events.d.ts.map +1 -1
  16. package/dist/cjs/app/events.js +92 -12
  17. package/dist/cjs/app/events.js.map +1 -1
  18. package/dist/cjs/config/config_loader.d.ts +44 -0
  19. package/dist/cjs/config/config_loader.d.ts.map +1 -1
  20. package/dist/cjs/config/config_loader.js +82 -1
  21. package/dist/cjs/config/config_loader.js.map +1 -1
  22. package/dist/cjs/config/default_config.d.ts +5 -0
  23. package/dist/cjs/config/default_config.d.ts.map +1 -1
  24. package/dist/cjs/config/default_config.js +98 -11
  25. package/dist/cjs/config/default_config.js.map +1 -1
  26. package/dist/cjs/config/index.d.ts +31 -1
  27. package/dist/cjs/config/index.d.ts.map +1 -1
  28. package/dist/cjs/config/index.js +52 -0
  29. package/dist/cjs/config/index.js.map +1 -1
  30. package/dist/cjs/const/channel.d.ts +17 -0
  31. package/dist/cjs/const/channel.d.ts.map +1 -1
  32. package/dist/cjs/const/channel.js +17 -0
  33. package/dist/cjs/const/channel.js.map +1 -1
  34. package/dist/cjs/controller/controller_loader.d.ts +20 -1
  35. package/dist/cjs/controller/controller_loader.d.ts.map +1 -1
  36. package/dist/cjs/controller/controller_loader.js +89 -9
  37. package/dist/cjs/controller/controller_loader.js.map +1 -1
  38. package/dist/cjs/controller/index.d.ts +32 -0
  39. package/dist/cjs/controller/index.d.ts.map +1 -1
  40. package/dist/cjs/controller/index.js +66 -0
  41. package/dist/cjs/controller/index.js.map +1 -1
  42. package/dist/cjs/core/loader/file_loader.d.ts +77 -27
  43. package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
  44. package/dist/cjs/core/loader/file_loader.js +239 -75
  45. package/dist/cjs/core/loader/file_loader.js.map +1 -1
  46. package/dist/cjs/core/utils/index.d.ts +57 -2
  47. package/dist/cjs/core/utils/index.d.ts.map +1 -1
  48. package/dist/cjs/core/utils/index.js +120 -12
  49. package/dist/cjs/core/utils/index.js.map +1 -1
  50. package/dist/cjs/core/utils/timing.d.ts +47 -0
  51. package/dist/cjs/core/utils/timing.d.ts.map +1 -1
  52. package/dist/cjs/core/utils/timing.js +42 -2
  53. package/dist/cjs/core/utils/timing.js.map +1 -1
  54. package/dist/cjs/cross/cross.d.ts +81 -2
  55. package/dist/cjs/cross/cross.d.ts.map +1 -1
  56. package/dist/cjs/cross/cross.js +86 -16
  57. package/dist/cjs/cross/cross.js.map +1 -1
  58. package/dist/cjs/cross/crossProcess.d.ts +85 -14
  59. package/dist/cjs/cross/crossProcess.d.ts.map +1 -1
  60. package/dist/cjs/cross/crossProcess.js +85 -13
  61. package/dist/cjs/cross/crossProcess.js.map +1 -1
  62. package/dist/cjs/electron/app/index.d.ts +17 -1
  63. package/dist/cjs/electron/app/index.d.ts.map +1 -1
  64. package/dist/cjs/electron/app/index.js +27 -3
  65. package/dist/cjs/electron/app/index.js.map +1 -1
  66. package/dist/cjs/electron/index.d.ts +6 -0
  67. package/dist/cjs/electron/index.d.ts.map +1 -1
  68. package/dist/cjs/electron/index.js +16 -1
  69. package/dist/cjs/electron/index.js.map +1 -1
  70. package/dist/cjs/electron/window/index.d.ts +37 -0
  71. package/dist/cjs/electron/window/index.d.ts.map +1 -1
  72. package/dist/cjs/electron/window/index.js +144 -88
  73. package/dist/cjs/electron/window/index.js.map +1 -1
  74. package/dist/cjs/exception/index.d.ts +12 -0
  75. package/dist/cjs/exception/index.d.ts.map +1 -1
  76. package/dist/cjs/exception/index.js +67 -9
  77. package/dist/cjs/exception/index.js.map +1 -1
  78. package/dist/cjs/html/index.d.ts +19 -0
  79. package/dist/cjs/html/index.d.ts.map +1 -1
  80. package/dist/cjs/html/index.js +42 -0
  81. package/dist/cjs/html/index.js.map +1 -1
  82. package/dist/cjs/index.d.ts +35 -7
  83. package/dist/cjs/index.d.ts.map +1 -1
  84. package/dist/cjs/index.js +127 -80
  85. package/dist/cjs/index.js.map +1 -1
  86. package/dist/cjs/jobs/child/app.js +86 -25
  87. package/dist/cjs/jobs/child/app.js.map +1 -1
  88. package/dist/cjs/jobs/child/index.d.ts +5 -5
  89. package/dist/cjs/jobs/child/index.js +5 -5
  90. package/dist/cjs/jobs/child/jobProcess.d.ts +68 -0
  91. package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -1
  92. package/dist/cjs/jobs/child/jobProcess.js +86 -11
  93. package/dist/cjs/jobs/child/jobProcess.js.map +1 -1
  94. package/dist/cjs/jobs/child-pool/index.d.ts +96 -0
  95. package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -1
  96. package/dist/cjs/jobs/child-pool/index.js +91 -4
  97. package/dist/cjs/jobs/child-pool/index.js.map +1 -1
  98. package/dist/cjs/jobs/index.d.ts +10 -0
  99. package/dist/cjs/jobs/index.d.ts.map +1 -1
  100. package/dist/cjs/jobs/index.js +10 -0
  101. package/dist/cjs/jobs/index.js.map +1 -1
  102. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +2 -0
  103. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
  104. package/dist/cjs/jobs/load-balancer/algorithm/index.js +6 -0
  105. package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -1
  106. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
  107. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
  108. package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +1 -1
  109. package/dist/cjs/jobs/load-balancer/algorithm/polling.js +1 -1
  110. package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +1 -1
  111. package/dist/cjs/jobs/load-balancer/algorithm/random.js +1 -1
  112. package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +1 -1
  113. package/dist/cjs/jobs/load-balancer/algorithm/specify.js +1 -1
  114. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +1 -1
  115. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
  116. package/dist/cjs/jobs/load-balancer/algorithm/weights.js +4 -8
  117. package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -1
  118. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
  119. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
  120. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
  121. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
  122. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
  123. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
  124. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
  125. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
  126. package/dist/cjs/jobs/load-balancer/consts.d.ts +22 -0
  127. package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -1
  128. package/dist/cjs/jobs/load-balancer/consts.js +22 -0
  129. package/dist/cjs/jobs/load-balancer/consts.js.map +1 -1
  130. package/dist/cjs/jobs/load-balancer/index.d.ts +18 -18
  131. package/dist/cjs/jobs/load-balancer/index.js +18 -18
  132. package/dist/cjs/jobs/load-balancer/scheduler.d.ts +3 -3
  133. package/dist/cjs/jobs/load-balancer/scheduler.js +3 -3
  134. package/dist/cjs/jobs/load-balancer/types.d.ts +21 -0
  135. package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -1
  136. package/dist/cjs/jobs/load-balancer/types.js +4 -0
  137. package/dist/cjs/jobs/load-balancer/types.js.map +1 -1
  138. package/dist/cjs/jobs/registry.d.ts +24 -0
  139. package/dist/cjs/jobs/registry.d.ts.map +1 -0
  140. package/dist/cjs/jobs/registry.js +52 -0
  141. package/dist/cjs/jobs/registry.js.map +1 -0
  142. package/dist/cjs/loader/index.d.ts +52 -0
  143. package/dist/cjs/loader/index.d.ts.map +1 -1
  144. package/dist/cjs/loader/index.js +79 -10
  145. package/dist/cjs/loader/index.js.map +1 -1
  146. package/dist/cjs/log/index.d.ts +41 -0
  147. package/dist/cjs/log/index.d.ts.map +1 -1
  148. package/dist/cjs/log/index.js +59 -20
  149. package/dist/cjs/log/index.js.map +1 -1
  150. package/dist/cjs/log/logger.d.ts +26 -0
  151. package/dist/cjs/log/logger.d.ts.map +1 -1
  152. package/dist/cjs/log/logger.js +122 -2
  153. package/dist/cjs/log/logger.js.map +1 -1
  154. package/dist/cjs/message/childMessage.d.ts +50 -0
  155. package/dist/cjs/message/childMessage.d.ts.map +1 -1
  156. package/dist/cjs/message/childMessage.js +83 -2
  157. package/dist/cjs/message/childMessage.js.map +1 -1
  158. package/dist/cjs/ps/index.d.ts +112 -0
  159. package/dist/cjs/ps/index.d.ts.map +1 -1
  160. package/dist/cjs/ps/index.js +175 -41
  161. package/dist/cjs/ps/index.js.map +1 -1
  162. package/dist/cjs/socket/httpServer.d.ts +58 -5
  163. package/dist/cjs/socket/httpServer.d.ts.map +1 -1
  164. package/dist/cjs/socket/httpServer.js +94 -28
  165. package/dist/cjs/socket/httpServer.js.map +1 -1
  166. package/dist/cjs/socket/index.d.ts +45 -3
  167. package/dist/cjs/socket/index.d.ts.map +1 -1
  168. package/dist/cjs/socket/index.js +50 -14
  169. package/dist/cjs/socket/index.js.map +1 -1
  170. package/dist/cjs/socket/ipcServer.d.ts +31 -1
  171. package/dist/cjs/socket/ipcServer.d.ts.map +1 -1
  172. package/dist/cjs/socket/ipcServer.js +60 -43
  173. package/dist/cjs/socket/ipcServer.js.map +1 -1
  174. package/dist/cjs/socket/socketServer.d.ts +32 -1
  175. package/dist/cjs/socket/socketServer.d.ts.map +1 -1
  176. package/dist/cjs/socket/socketServer.js +53 -14
  177. package/dist/cjs/socket/socketServer.js.map +1 -1
  178. package/dist/cjs/socket/utils.d.ts +13 -0
  179. package/dist/cjs/socket/utils.d.ts.map +1 -0
  180. package/dist/cjs/socket/utils.js +41 -0
  181. package/dist/cjs/socket/utils.js.map +1 -0
  182. package/dist/cjs/storage/sqliteStorage.d.ts +93 -4
  183. package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -1
  184. package/dist/cjs/storage/sqliteStorage.js +121 -9
  185. package/dist/cjs/storage/sqliteStorage.js.map +1 -1
  186. package/dist/cjs/types/index.d.ts +373 -5
  187. package/dist/cjs/types/index.d.ts.map +1 -1
  188. package/dist/cjs/utils/extend.d.ts +44 -1
  189. package/dist/cjs/utils/extend.d.ts.map +1 -1
  190. package/dist/cjs/utils/extend.js +67 -19
  191. package/dist/cjs/utils/extend.js.map +1 -1
  192. package/dist/cjs/utils/helper.d.ts +154 -1
  193. package/dist/cjs/utils/helper.d.ts.map +1 -1
  194. package/dist/cjs/utils/helper.js +205 -28
  195. package/dist/cjs/utils/helper.js.map +1 -1
  196. package/dist/cjs/utils/index.d.ts +93 -0
  197. package/dist/cjs/utils/index.d.ts.map +1 -1
  198. package/dist/cjs/utils/index.js +136 -12
  199. package/dist/cjs/utils/index.js.map +1 -1
  200. package/dist/cjs/utils/ip.d.ts +29 -0
  201. package/dist/cjs/utils/ip.d.ts.map +1 -1
  202. package/dist/cjs/utils/ip.js +95 -4
  203. package/dist/cjs/utils/ip.js.map +1 -1
  204. package/dist/cjs/utils/is.d.ts +123 -0
  205. package/dist/cjs/utils/is.d.ts.map +1 -1
  206. package/dist/cjs/utils/is.js +126 -14
  207. package/dist/cjs/utils/is.js.map +1 -1
  208. package/dist/cjs/utils/json.d.ts +54 -0
  209. package/dist/cjs/utils/json.d.ts.map +1 -1
  210. package/dist/cjs/utils/json.js +62 -0
  211. package/dist/cjs/utils/json.js.map +1 -1
  212. package/dist/cjs/utils/pargv.d.ts +51 -0
  213. package/dist/cjs/utils/pargv.d.ts.map +1 -1
  214. package/dist/cjs/utils/pargv.js +141 -3
  215. package/dist/cjs/utils/pargv.js.map +1 -1
  216. package/dist/cjs/utils/port/index.d.ts +42 -0
  217. package/dist/cjs/utils/port/index.d.ts.map +1 -1
  218. package/dist/cjs/utils/port/index.js +130 -7
  219. package/dist/cjs/utils/port/index.js.map +1 -1
  220. package/dist/cjs/utils/type_check.d.ts +79 -0
  221. package/dist/cjs/utils/type_check.d.ts.map +1 -1
  222. package/dist/cjs/utils/type_check.js +87 -1
  223. package/dist/cjs/utils/type_check.js.map +1 -1
  224. package/dist/cjs/utils/wrap.d.ts +26 -0
  225. package/dist/cjs/utils/wrap.d.ts.map +1 -1
  226. package/dist/cjs/utils/wrap.js +47 -10
  227. package/dist/cjs/utils/wrap.js.map +1 -1
  228. package/dist/esm/app/application.d.ts +36 -1
  229. package/dist/esm/app/application.d.ts.map +1 -1
  230. package/dist/esm/app/application.js +49 -2
  231. package/dist/esm/app/application.js.map +1 -1
  232. package/dist/esm/app/boot.d.ts +56 -1
  233. package/dist/esm/app/boot.d.ts.map +1 -1
  234. package/dist/esm/app/boot.js +74 -11
  235. package/dist/esm/app/boot.js.map +1 -1
  236. package/dist/esm/app/dir.d.ts +10 -0
  237. package/dist/esm/app/dir.d.ts.map +1 -1
  238. package/dist/esm/app/dir.js +71 -10
  239. package/dist/esm/app/dir.js.map +1 -1
  240. package/dist/esm/app/events.d.ts +58 -2
  241. package/dist/esm/app/events.d.ts.map +1 -1
  242. package/dist/esm/app/events.js +92 -12
  243. package/dist/esm/app/events.js.map +1 -1
  244. package/dist/esm/config/config_loader.d.ts +44 -0
  245. package/dist/esm/config/config_loader.d.ts.map +1 -1
  246. package/dist/esm/config/config_loader.js +82 -1
  247. package/dist/esm/config/config_loader.js.map +1 -1
  248. package/dist/esm/config/default_config.d.ts +5 -0
  249. package/dist/esm/config/default_config.d.ts.map +1 -1
  250. package/dist/esm/config/default_config.js +98 -11
  251. package/dist/esm/config/default_config.js.map +1 -1
  252. package/dist/esm/config/index.d.ts +31 -1
  253. package/dist/esm/config/index.d.ts.map +1 -1
  254. package/dist/esm/config/index.js +52 -0
  255. package/dist/esm/config/index.js.map +1 -1
  256. package/dist/esm/const/channel.d.ts +17 -0
  257. package/dist/esm/const/channel.d.ts.map +1 -1
  258. package/dist/esm/const/channel.js +17 -0
  259. package/dist/esm/const/channel.js.map +1 -1
  260. package/dist/esm/controller/controller_loader.d.ts +20 -1
  261. package/dist/esm/controller/controller_loader.d.ts.map +1 -1
  262. package/dist/esm/controller/controller_loader.js +89 -9
  263. package/dist/esm/controller/controller_loader.js.map +1 -1
  264. package/dist/esm/controller/index.d.ts +32 -0
  265. package/dist/esm/controller/index.d.ts.map +1 -1
  266. package/dist/esm/controller/index.js +66 -0
  267. package/dist/esm/controller/index.js.map +1 -1
  268. package/dist/esm/core/loader/file_loader.d.ts +77 -27
  269. package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
  270. package/dist/esm/core/loader/file_loader.js +239 -75
  271. package/dist/esm/core/loader/file_loader.js.map +1 -1
  272. package/dist/esm/core/utils/index.d.ts +57 -2
  273. package/dist/esm/core/utils/index.d.ts.map +1 -1
  274. package/dist/esm/core/utils/index.js +87 -12
  275. package/dist/esm/core/utils/index.js.map +1 -1
  276. package/dist/esm/core/utils/timing.d.ts +47 -0
  277. package/dist/esm/core/utils/timing.d.ts.map +1 -1
  278. package/dist/esm/core/utils/timing.js +42 -2
  279. package/dist/esm/core/utils/timing.js.map +1 -1
  280. package/dist/esm/cross/cross.d.ts +81 -2
  281. package/dist/esm/cross/cross.d.ts.map +1 -1
  282. package/dist/esm/cross/cross.js +86 -16
  283. package/dist/esm/cross/cross.js.map +1 -1
  284. package/dist/esm/cross/crossProcess.d.ts +85 -14
  285. package/dist/esm/cross/crossProcess.d.ts.map +1 -1
  286. package/dist/esm/cross/crossProcess.js +85 -13
  287. package/dist/esm/cross/crossProcess.js.map +1 -1
  288. package/dist/esm/electron/app/index.d.ts +17 -1
  289. package/dist/esm/electron/app/index.d.ts.map +1 -1
  290. package/dist/esm/electron/app/index.js +27 -3
  291. package/dist/esm/electron/app/index.js.map +1 -1
  292. package/dist/esm/electron/index.d.ts +6 -0
  293. package/dist/esm/electron/index.d.ts.map +1 -1
  294. package/dist/esm/electron/index.js +16 -1
  295. package/dist/esm/electron/index.js.map +1 -1
  296. package/dist/esm/electron/window/index.d.ts +37 -0
  297. package/dist/esm/electron/window/index.d.ts.map +1 -1
  298. package/dist/esm/electron/window/index.js +144 -88
  299. package/dist/esm/electron/window/index.js.map +1 -1
  300. package/dist/esm/exception/index.d.ts +12 -0
  301. package/dist/esm/exception/index.d.ts.map +1 -1
  302. package/dist/esm/exception/index.js +67 -9
  303. package/dist/esm/exception/index.js.map +1 -1
  304. package/dist/esm/html/index.d.ts +19 -0
  305. package/dist/esm/html/index.d.ts.map +1 -1
  306. package/dist/esm/html/index.js +42 -0
  307. package/dist/esm/html/index.js.map +1 -1
  308. package/dist/esm/index.d.ts +35 -7
  309. package/dist/esm/index.d.ts.map +1 -1
  310. package/dist/esm/index.js +127 -80
  311. package/dist/esm/index.js.map +1 -1
  312. package/dist/esm/jobs/child/app.js +86 -25
  313. package/dist/esm/jobs/child/app.js.map +1 -1
  314. package/dist/esm/jobs/child/index.d.ts +5 -5
  315. package/dist/esm/jobs/child/index.js +5 -5
  316. package/dist/esm/jobs/child/jobProcess.d.ts +68 -0
  317. package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -1
  318. package/dist/esm/jobs/child/jobProcess.js +86 -11
  319. package/dist/esm/jobs/child/jobProcess.js.map +1 -1
  320. package/dist/esm/jobs/child-pool/index.d.ts +96 -0
  321. package/dist/esm/jobs/child-pool/index.d.ts.map +1 -1
  322. package/dist/esm/jobs/child-pool/index.js +91 -4
  323. package/dist/esm/jobs/child-pool/index.js.map +1 -1
  324. package/dist/esm/jobs/index.d.ts +10 -0
  325. package/dist/esm/jobs/index.d.ts.map +1 -1
  326. package/dist/esm/jobs/index.js +10 -0
  327. package/dist/esm/jobs/index.js.map +1 -1
  328. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +2 -0
  329. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
  330. package/dist/esm/jobs/load-balancer/algorithm/index.js +6 -0
  331. package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -1
  332. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
  333. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
  334. package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +1 -1
  335. package/dist/esm/jobs/load-balancer/algorithm/polling.js +1 -1
  336. package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +1 -1
  337. package/dist/esm/jobs/load-balancer/algorithm/random.js +1 -1
  338. package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +1 -1
  339. package/dist/esm/jobs/load-balancer/algorithm/specify.js +1 -1
  340. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +1 -1
  341. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
  342. package/dist/esm/jobs/load-balancer/algorithm/weights.js +4 -8
  343. package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -1
  344. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
  345. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
  346. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
  347. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
  348. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
  349. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
  350. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
  351. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
  352. package/dist/esm/jobs/load-balancer/consts.d.ts +22 -0
  353. package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -1
  354. package/dist/esm/jobs/load-balancer/consts.js +22 -0
  355. package/dist/esm/jobs/load-balancer/consts.js.map +1 -1
  356. package/dist/esm/jobs/load-balancer/index.d.ts +18 -18
  357. package/dist/esm/jobs/load-balancer/index.js +18 -18
  358. package/dist/esm/jobs/load-balancer/scheduler.d.ts +3 -3
  359. package/dist/esm/jobs/load-balancer/scheduler.js +3 -3
  360. package/dist/esm/jobs/load-balancer/types.d.ts +21 -0
  361. package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -1
  362. package/dist/esm/jobs/load-balancer/types.js +4 -0
  363. package/dist/esm/jobs/load-balancer/types.js.map +1 -1
  364. package/dist/esm/jobs/registry.d.ts +24 -0
  365. package/dist/esm/jobs/registry.d.ts.map +1 -0
  366. package/dist/esm/jobs/registry.js +52 -0
  367. package/dist/esm/jobs/registry.js.map +1 -0
  368. package/dist/esm/loader/index.d.ts +52 -0
  369. package/dist/esm/loader/index.d.ts.map +1 -1
  370. package/dist/esm/loader/index.js +79 -10
  371. package/dist/esm/loader/index.js.map +1 -1
  372. package/dist/esm/log/index.d.ts +41 -0
  373. package/dist/esm/log/index.d.ts.map +1 -1
  374. package/dist/esm/log/index.js +59 -20
  375. package/dist/esm/log/index.js.map +1 -1
  376. package/dist/esm/log/logger.d.ts +26 -0
  377. package/dist/esm/log/logger.d.ts.map +1 -1
  378. package/dist/esm/log/logger.js +122 -2
  379. package/dist/esm/log/logger.js.map +1 -1
  380. package/dist/esm/message/childMessage.d.ts +50 -0
  381. package/dist/esm/message/childMessage.d.ts.map +1 -1
  382. package/dist/esm/message/childMessage.js +83 -2
  383. package/dist/esm/message/childMessage.js.map +1 -1
  384. package/dist/esm/ps/index.d.ts +112 -0
  385. package/dist/esm/ps/index.d.ts.map +1 -1
  386. package/dist/esm/ps/index.js +175 -41
  387. package/dist/esm/ps/index.js.map +1 -1
  388. package/dist/esm/socket/httpServer.d.ts +58 -5
  389. package/dist/esm/socket/httpServer.d.ts.map +1 -1
  390. package/dist/esm/socket/httpServer.js +94 -28
  391. package/dist/esm/socket/httpServer.js.map +1 -1
  392. package/dist/esm/socket/index.d.ts +45 -3
  393. package/dist/esm/socket/index.d.ts.map +1 -1
  394. package/dist/esm/socket/index.js +50 -14
  395. package/dist/esm/socket/index.js.map +1 -1
  396. package/dist/esm/socket/ipcServer.d.ts +31 -1
  397. package/dist/esm/socket/ipcServer.d.ts.map +1 -1
  398. package/dist/esm/socket/ipcServer.js +60 -43
  399. package/dist/esm/socket/ipcServer.js.map +1 -1
  400. package/dist/esm/socket/socketServer.d.ts +32 -1
  401. package/dist/esm/socket/socketServer.d.ts.map +1 -1
  402. package/dist/esm/socket/socketServer.js +53 -14
  403. package/dist/esm/socket/socketServer.js.map +1 -1
  404. package/dist/esm/socket/utils.d.ts +13 -0
  405. package/dist/esm/socket/utils.d.ts.map +1 -0
  406. package/dist/esm/socket/utils.js +41 -0
  407. package/dist/esm/socket/utils.js.map +1 -0
  408. package/dist/esm/storage/sqliteStorage.d.ts +93 -4
  409. package/dist/esm/storage/sqliteStorage.d.ts.map +1 -1
  410. package/dist/esm/storage/sqliteStorage.js +121 -9
  411. package/dist/esm/storage/sqliteStorage.js.map +1 -1
  412. package/dist/esm/types/index.d.ts +373 -5
  413. package/dist/esm/types/index.d.ts.map +1 -1
  414. package/dist/esm/utils/extend.d.ts +44 -1
  415. package/dist/esm/utils/extend.d.ts.map +1 -1
  416. package/dist/esm/utils/extend.js +67 -19
  417. package/dist/esm/utils/extend.js.map +1 -1
  418. package/dist/esm/utils/helper.d.ts +154 -1
  419. package/dist/esm/utils/helper.d.ts.map +1 -1
  420. package/dist/esm/utils/helper.js +205 -28
  421. package/dist/esm/utils/helper.js.map +1 -1
  422. package/dist/esm/utils/index.d.ts +93 -0
  423. package/dist/esm/utils/index.d.ts.map +1 -1
  424. package/dist/esm/utils/index.js +136 -12
  425. package/dist/esm/utils/index.js.map +1 -1
  426. package/dist/esm/utils/ip.d.ts +29 -0
  427. package/dist/esm/utils/ip.d.ts.map +1 -1
  428. package/dist/esm/utils/ip.js +95 -4
  429. package/dist/esm/utils/ip.js.map +1 -1
  430. package/dist/esm/utils/is.d.ts +123 -0
  431. package/dist/esm/utils/is.d.ts.map +1 -1
  432. package/dist/esm/utils/is.js +126 -14
  433. package/dist/esm/utils/is.js.map +1 -1
  434. package/dist/esm/utils/json.d.ts +54 -0
  435. package/dist/esm/utils/json.d.ts.map +1 -1
  436. package/dist/esm/utils/json.js +62 -0
  437. package/dist/esm/utils/json.js.map +1 -1
  438. package/dist/esm/utils/pargv.d.ts +51 -0
  439. package/dist/esm/utils/pargv.d.ts.map +1 -1
  440. package/dist/esm/utils/pargv.js +141 -3
  441. package/dist/esm/utils/pargv.js.map +1 -1
  442. package/dist/esm/utils/port/index.d.ts +42 -0
  443. package/dist/esm/utils/port/index.d.ts.map +1 -1
  444. package/dist/esm/utils/port/index.js +130 -7
  445. package/dist/esm/utils/port/index.js.map +1 -1
  446. package/dist/esm/utils/type_check.d.ts +79 -0
  447. package/dist/esm/utils/type_check.d.ts.map +1 -1
  448. package/dist/esm/utils/type_check.js +87 -1
  449. package/dist/esm/utils/type_check.js.map +1 -1
  450. package/dist/esm/utils/wrap.d.ts +26 -0
  451. package/dist/esm/utils/wrap.d.ts.map +1 -1
  452. package/dist/esm/utils/wrap.js +47 -10
  453. package/dist/esm/utils/wrap.js.map +1 -1
  454. package/package.json +12 -13
@@ -4,39 +4,113 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FileLoader = exports.EXPORTS = exports.FULLPATH = void 0;
7
+ /**
8
+ * @module core/loader/file_loader
9
+ * @description Generic file loader. Scans files in a specified directory and organizes
10
+ * exported content into nested objects based on directory structure, for use by
11
+ * controllers, services, and other modules.
12
+ *
13
+ * Three loading methods:
14
+ * - parse(): Synchronous file scanning + require(), suitable for CJS dev mode
15
+ * - parseFromRegistry(): Load from pre-registered registry, suitable for bundle mode
16
+ * - parseAsync(): Asynchronous file scanning + import(), suitable for ESM dev mode
17
+ *
18
+ * Directory structure to property mapping:
19
+ * ```
20
+ * controller/user.js -> target.controller.user
21
+ * controller/admin/login.js -> target.controller.admin.login
22
+ * ```
23
+ *
24
+ * Property naming style is controlled by caseStyle:
25
+ * - 'camel': camelCase (default) — user-info -> userInfo
26
+ * - 'lower': all lowercase — User Info -> user info (used by controllers)
27
+ */
7
28
  const debug_1 = __importDefault(require("debug"));
8
29
  const fs_1 = __importDefault(require("fs"));
9
30
  const path_1 = __importDefault(require("path"));
10
- const globby_1 = __importDefault(require("globby"));
11
31
  const type_check_js_1 = require("../../utils/type_check.js");
12
32
  const index_js_1 = require("../utils/index.js");
13
33
  const wrap_js_1 = require("../../utils/wrap.js");
14
34
  const debugLog = (0, debug_1.default)('ee-core:core:loader:file_loader');
35
+ /** Symbol marker: records the full path of a file */
15
36
  exports.FULLPATH = Symbol('LOADER_ITEM_FULLPATH');
37
+ /** Symbol marker: indicates the export has been processed by the loader */
16
38
  exports.EXPORTS = Symbol('LOADER_ITEM_EXPORTS');
39
+ /** Default configuration */
17
40
  const defaults = {
41
+ /** Property naming style */
18
42
  caseStyle: 'camel',
43
+ /** Custom initializer: performs additional processing on exported content */
19
44
  initializer: null,
45
+ /** Whether to automatically invoke function-type exports */
20
46
  call: true,
47
+ /** Injection arguments for function calls */
21
48
  inject: undefined,
49
+ /** Target object (deprecated; now created internally by load()) */
22
50
  target: null,
51
+ /** File match patterns (overrides default filePatterns) */
23
52
  match: undefined,
24
53
  };
54
+ /** Script file extensions to scan */
55
+ const SCRIPT_EXTENSIONS = ['.js', '.ts', '.mts', '.cts', '.tsx', '.jsx', '.mjs', '.cjs'];
25
56
  /**
26
- * Load files from directory to target object.
57
+ * Recursively scan directory for script files
58
+ *
59
+ * Replaces globbySync to avoid ESM-only dependency in CJS mode.
60
+ * Returns relative file paths (e.g. 'user.js', 'admin/login.js').
61
+ *
62
+ * @param dir - Absolute directory path to scan
63
+ * @param prefix - Current relative path prefix (used internally for recursion)
64
+ * @returns Array of relative file paths
65
+ */
66
+ function scanDirSync(dir, prefix = '') {
67
+ const results = [];
68
+ if (!fs_1.default.existsSync(dir))
69
+ return results;
70
+ const entries = fs_1.default.readdirSync(dir, { withFileTypes: true });
71
+ for (const entry of entries) {
72
+ const relPath = prefix ? prefix + '/' + entry.name : entry.name;
73
+ const fullPath = path_1.default.join(dir, entry.name);
74
+ if (entry.isDirectory()) {
75
+ results.push(...scanDirSync(fullPath, relPath));
76
+ }
77
+ else if (entry.isFile() && SCRIPT_EXTENSIONS.includes(path_1.default.extname(entry.name))) {
78
+ results.push(relPath);
79
+ }
80
+ }
81
+ return results;
82
+ }
83
+ /**
84
+ * Recursively scan directory for script files (async)
85
+ *
86
+ * @param dir - Absolute directory path to scan
87
+ * @param prefix - Current relative path prefix (used internally for recursion)
88
+ * @returns Array of relative file paths
89
+ */
90
+ async function scanDirAsync(dir, prefix = '') {
91
+ const results = [];
92
+ if (!fs_1.default.existsSync(dir))
93
+ return results;
94
+ const entries = await fs_1.default.promises.readdir(dir, { withFileTypes: true });
95
+ for (const entry of entries) {
96
+ const relPath = prefix ? prefix + '/' + entry.name : entry.name;
97
+ const fullPath = path_1.default.join(dir, entry.name);
98
+ if (entry.isDirectory()) {
99
+ results.push(...await scanDirAsync(fullPath, relPath));
100
+ }
101
+ else if (entry.isFile() && SCRIPT_EXTENSIONS.includes(path_1.default.extname(entry.name))) {
102
+ results.push(relPath);
103
+ }
104
+ }
105
+ return results;
106
+ }
107
+ /**
108
+ * FileLoader — File loader
109
+ *
110
+ * Organizes exported content from files in a directory into nested property objects
111
+ * based on directory structure. Supports synchronous/asynchronous loading and registry mode.
27
112
  */
28
113
  class FileLoader {
29
- /**
30
- * @class
31
- * @param {Object} options - options
32
- * @param {String|Array} options.directory - directories to be loaded
33
- * @param {Object} options.target - attach the target object from loaded files
34
- * @param {String} options.match - match the files when load, support glob, default to all js files
35
- * @param {Function} options.initializer - custom file exports, receive two parameters, first is the inject object(if not js file, will be content buffer), second is an `options` object that contain `path`
36
- * @param {Boolean} options.call - determine whether invoke when exports is function
37
- * @param {Object} options.inject - an object that be the argument when invoke the function
38
- * @param {String|Function} options.caseStyle - set property's case when converting a filepath to property list.
39
- */
40
114
  constructor(options) {
41
115
  if (!options.directory) {
42
116
  throw new Error('options.directory is required');
@@ -45,30 +119,75 @@ class FileLoader {
45
119
  debugLog('[constructor] options: %o', this.options);
46
120
  }
47
121
  /**
48
- * attach items to target object. Mapping the directory to properties.
49
- * `xxx/group/repository.js` => `target.group.repository`
50
- * @return {Object} target
122
+ * Process a single export
123
+ *
124
+ * Execution flow:
125
+ * 1. Run initializer (if present) for custom processing of the export
126
+ * 2. Set pathName and fullPath properties on classes
127
+ * 3. Class/generator function/async function/bytecode class -> return directly
128
+ * 4. Plain function -> auto-invoke based on the call option
129
+ *
130
+ * @param exports - File exported content
131
+ * @param fullpath - File full path
132
+ * @param properties - Property path (array converted from directory + filename)
133
+ * @param dirName - Directory name (used as property path prefix)
134
+ * @returns LoaderItem or null (skipped when export is null/undefined)
51
135
  */
52
- load() {
53
- const items = this.parse();
136
+ _processExport(exports, fullpath, properties, dirName) {
137
+ if (exports == null)
138
+ return null;
139
+ const pathName = dirName + '.' + properties.join('.');
140
+ const initializer = this.options.initializer;
141
+ if (initializer) {
142
+ exports = initializer(exports, { pathName, path: fullpath });
143
+ }
144
+ // Set path info on classes for IPC routing and debugging
145
+ if ((0, type_check_js_1.isClass)(exports) || (0, index_js_1.isBytecodeClass)(exports)) {
146
+ exports.prototype.pathName = pathName;
147
+ exports.prototype.fullPath = fullpath;
148
+ }
149
+ // Class/generator/async/bytecode class -> do not auto-invoke, return directly
150
+ if ((0, type_check_js_1.isClass)(exports) || (0, type_check_js_1.isGeneratorFunction)(exports) || (0, type_check_js_1.isAsyncFunction)(exports) || (0, index_js_1.isBytecodeClass)(exports)) {
151
+ return { fullpath, properties, exports };
152
+ }
153
+ // Plain function: auto-invoke based on the call option
154
+ if (this.options.call && (0, type_check_js_1.isFunction)(exports)) {
155
+ exports = exports(this.options.inject);
156
+ if (exports != null) {
157
+ return { fullpath, properties, exports };
158
+ }
159
+ }
160
+ return { fullpath, properties, exports };
161
+ }
162
+ /**
163
+ * Assign load items to target object
164
+ *
165
+ * Creates nested objects level by level along the property path, ultimately mounting
166
+ * the exported content at the leaf node. Also marks non-primitive exports with
167
+ * FULLPATH and EXPORTS symbols.
168
+ *
169
+ * @param items - Load item list
170
+ * @returns Nested property object
171
+ */
172
+ _assignToTarget(items) {
54
173
  const target = {};
55
174
  for (const item of items) {
56
- // item { fullpath, properties: [ 'a', 'b', 'c'], exports }
57
175
  let current = target;
58
176
  for (let i = 0; i < item.properties.length; i++) {
59
177
  const property = item.properties[i];
60
178
  if (!property)
61
179
  continue;
62
- // properties is a path slice, only the last value is the file name
63
180
  const isLast = i === item.properties.length - 1;
64
181
  if (isLast) {
65
182
  current[property] = item.exports;
183
+ // Mark full path and export identifier for non-primitive types
66
184
  if (item.exports && !(0, type_check_js_1.isPrimitive)(item.exports)) {
67
185
  item.exports[exports.FULLPATH] = item.fullpath;
68
186
  item.exports[exports.EXPORTS] = true;
69
187
  }
70
188
  }
71
189
  else {
190
+ // Intermediate level: ensure object exists
72
191
  current[property] = current[property] || {};
73
192
  current = current[property];
74
193
  }
@@ -77,25 +196,24 @@ class FileLoader {
77
196
  return target;
78
197
  }
79
198
  /**
80
- * Parse files from given directories, then return an items list, each item contains properties and exports.
81
- * For example, parse `controller/group/repository.js`
82
- * It returns a item
83
- * ```
84
- * {
85
- * fullpath: '',
86
- * properties: [ 'group', 'repository' ],
87
- * exports: { ... },
88
- * }
89
- * ```
90
- * `Properties` is an array that contains the directory of a filepath.
91
- * `Exports` depends on type, if exports is a function, it will be called. if initializer is specified, it will be called with exports for customizing.
92
- * @return {Array} items
199
+ * Load files and build target object
200
+ *
201
+ * Loads from registry when available (bundle mode), otherwise scans filesystem (dev mode).
202
+ *
203
+ * @returns Nested property object organized by directory structure
204
+ */
205
+ load() {
206
+ const items = this.options.registry ? this.parseFromRegistry() : this.parse();
207
+ return this._assignToTarget(items);
208
+ }
209
+ /**
210
+ * Parse files synchronously from filesystem
211
+ *
212
+ * Uses fs.readdirSync recursive scanning and require() to load files.
213
+ *
214
+ * @returns Load item list
93
215
  */
94
216
  parse() {
95
- let files = (this.options.match || (0, index_js_1.filePatterns)());
96
- if (!Array.isArray(files)) {
97
- files = [files];
98
- }
99
217
  let directories;
100
218
  if (Array.isArray(this.options.directory)) {
101
219
  directories = this.options.directory;
@@ -106,48 +224,94 @@ class FileLoader {
106
224
  const items = [];
107
225
  debugLog('[parse] directories %o', directories);
108
226
  for (const directory of directories) {
109
- const filepaths = globby_1.default.sync(files, { cwd: directory });
227
+ const filepaths = scanDirSync(directory);
110
228
  debugLog('[parse] filepaths %o', filepaths);
111
229
  for (const filepath of filepaths) {
112
230
  const fullpath = path_1.default.join(directory, filepath);
113
- if (!fs_1.default.statSync(fullpath).isFile())
114
- continue;
115
- // get properties
116
- // controller/foo/bar.js => [ 'foo', 'bar' ]
117
231
  const properties = (0, wrap_js_1.getProperties)(filepath, { caseStyle: this.options.caseStyle });
118
- // debugLog('[parse] properties %o', properties);
119
- // controller/foo/bar.js => controller.foo.bar
120
- const dirName = directory.split(/[/\\]/).slice(-1)[0];
121
- const pathName = dirName + '.' + properties.join('.');
122
- // debugLog('[parse] pathName %s', pathName);
123
- // get exports from the file
124
- let exports = (0, index_js_1.loadFile)(fullpath);
125
- // ignore exports when it's null or false returned by filter function
126
- if (exports == null)
127
- continue;
128
- const initializer = this.options.initializer;
129
- if (initializer) {
130
- exports = initializer(exports, { pathName, path: fullpath });
131
- }
132
- // set properties of class
133
- if ((0, type_check_js_1.isClass)(exports) || (0, index_js_1.isBytecodeClass)(exports)) {
134
- exports.prototype.pathName = pathName;
135
- exports.prototype.fullPath = fullpath;
136
- }
137
- // class / generator / async / bytecodeClass → return directly
138
- if ((0, type_check_js_1.isClass)(exports) || (0, type_check_js_1.isGeneratorFunction)(exports) || (0, type_check_js_1.isAsyncFunction)(exports) || (0, index_js_1.isBytecodeClass)(exports)) {
139
- items.push({ fullpath, properties, exports });
140
- continue;
141
- }
142
- // whether to execute the function
143
- if (this.options.call && (0, type_check_js_1.isFunction)(exports)) {
144
- exports = exports(this.options.inject);
145
- if (exports != null) {
146
- items.push({ fullpath, properties, exports });
147
- continue;
148
- }
149
- }
150
- items.push({ fullpath, properties, exports });
232
+ // Take the last level of the directory as the property prefix (e.g. 'controller')
233
+ const dirName = directory.split(/[/\\]/).slice(-1)[0] || 'unknown';
234
+ const exports = (0, index_js_1.loadFile)(fullpath);
235
+ const item = this._processExport(exports, fullpath, properties, dirName);
236
+ if (item)
237
+ items.push(item);
238
+ }
239
+ }
240
+ return items;
241
+ }
242
+ /**
243
+ * Parse modules from pre-registered registry
244
+ *
245
+ * In bundle mode, the esbuild plugin pre-registers controller/configuration info
246
+ * into global variables. This method reads the registry directly without filesystem scanning.
247
+ *
248
+ * @returns Load item list
249
+ */
250
+ parseFromRegistry() {
251
+ const registry = this.options.registry;
252
+ if (!registry)
253
+ return [];
254
+ const items = [];
255
+ debugLog('[parseFromRegistry] entries %d', registry.length);
256
+ for (const entry of registry) {
257
+ let exports = entry.module;
258
+ // ESM interop: handle modules with __esModule marker
259
+ if (exports && exports.__esModule) {
260
+ exports = 'default' in exports
261
+ ? exports.default
262
+ : exports;
263
+ }
264
+ const fullpath = entry.fullpath;
265
+ const properties = entry.properties;
266
+ // Extract the second-to-last directory name from registry entry path (e.g. 'controller')
267
+ const dirName = fullpath.split(/[/\\]/).slice(-2, -1)[0] || 'controller';
268
+ const item = this._processExport(exports, fullpath, properties, dirName);
269
+ if (item)
270
+ items.push(item);
271
+ }
272
+ return items;
273
+ }
274
+ /**
275
+ * Load files asynchronously and build target object
276
+ *
277
+ * Uses fs.promises recursive scanning and import() dynamic loading.
278
+ * Suitable for ESM dev mode.
279
+ *
280
+ * @returns Nested property object organized by directory structure
281
+ */
282
+ async loadAsync() {
283
+ const items = await this.parseAsync();
284
+ return this._assignToTarget(items);
285
+ }
286
+ /**
287
+ * Parse files asynchronously from filesystem
288
+ *
289
+ * Uses fs.promises recursive scanning and import() dynamic loading.
290
+ * Suitable for ESM dev mode.
291
+ *
292
+ * @returns Load item list
293
+ */
294
+ async parseAsync() {
295
+ let directories;
296
+ if (Array.isArray(this.options.directory)) {
297
+ directories = this.options.directory;
298
+ }
299
+ else {
300
+ directories = [this.options.directory];
301
+ }
302
+ const items = [];
303
+ debugLog('[parseAsync] directories %o', directories);
304
+ for (const directory of directories) {
305
+ const filepaths = await scanDirAsync(directory);
306
+ debugLog('[parseAsync] filepaths %o', filepaths);
307
+ for (const filepath of filepaths) {
308
+ const fullpath = path_1.default.join(directory, filepath);
309
+ const properties = (0, wrap_js_1.getProperties)(filepath, { caseStyle: this.options.caseStyle });
310
+ const dirName = directory.split(/[/\\]/).slice(-1)[0] || 'unknown';
311
+ const exports = await (0, index_js_1.loadFileAsync)(fullpath);
312
+ const item = this._processExport(exports, fullpath, properties, dirName);
313
+ if (item)
314
+ items.push(item);
151
315
  }
152
316
  }
153
317
  return items;
@@ -1 +1 @@
1
- {"version":3,"file":"file_loader.js","sourceRoot":"","sources":["../../../../src/core/loader/file_loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file_loader.js","sourceRoot":"","sources":["../../../../src/core/loader/file_loader.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,70 @@
1
+ /**
2
+ * @module core/utils
3
+ * @description Core utility functions. Provides file loading, function invocation, bytecode class detection,
4
+ * and other foundational capabilities. Serves as a low-level dependency for FileLoader and other modules.
5
+ */
1
6
  import 'bytenode';
2
7
  declare const extensions: NodeJS.RequireExtensions;
8
+ /**
9
+ * Load a file synchronously
10
+ *
11
+ * Execution flow:
12
+ * 1. Non-JS files (extensions not in Module._extensions) -> return file content as Buffer
13
+ * 2. JS/CJS/JSC files -> load module using require()
14
+ * 3. ESM modules (with __esModule marker) -> extract default export
15
+ *
16
+ * @param filepath - Absolute file path
17
+ * @returns File content (Buffer) or module export value
18
+ * @throws Throws an error containing the file path when file loading fails
19
+ */
3
20
  export declare function loadFile(filepath: string): unknown;
21
+ /**
22
+ * Call a function with bound context
23
+ *
24
+ * @param fn - Function to call
25
+ * @param args - Function argument list
26
+ * @param ctx - Function execution context (this binding); if not provided, calls directly
27
+ * @returns Function return value; returns undefined if fn is not a function
28
+ */
4
29
  export declare function callFn(fn: (...args: unknown[]) => unknown, args?: unknown[], ctx?: unknown): Promise<unknown>;
30
+ /**
31
+ * Get the relative path name of a file
32
+ *
33
+ * Converts an absolute path to a relative path based on baseDir, using forward slashes as separators.
34
+ *
35
+ * @param filepath - Absolute file path
36
+ * @param baseDir - Base directory
37
+ * @returns Relative path (forward slash separated)
38
+ */
5
39
  export declare function getResolvedFilename(filepath: string, baseDir: string): string;
6
40
  /**
7
- * 字节码类
41
+ * Determine if an export is a bytecode class
42
+ *
43
+ * Checks whether the toString() result contains '[class'.
44
+ * Classes from bytenode-compiled .jsc files appear as '[class XXX]' in Node.js.
45
+ *
46
+ * @param exports - Export value to check
47
+ * @returns Whether it is a bytecode class
8
48
  */
9
49
  export declare function isBytecodeClass(exports: unknown): boolean;
10
50
  /**
11
- * 文件类型
51
+ * Get supported file match patterns
52
+ *
53
+ * Used for filtering file types when globby scans directories.
54
+ *
55
+ * @returns File pattern list (.js and .jsc)
12
56
  */
13
57
  export declare function filePatterns(): string[];
14
58
  export { extensions };
59
+ /**
60
+ * Load a file asynchronously (ESM support)
61
+ *
62
+ * Same functionality as loadFile, but uses dynamic import() to load modules,
63
+ * supporting ESM format files. Non-JS files are read using fs.promises.readFile.
64
+ *
65
+ * @param filepath - Absolute file path
66
+ * @returns File content (Buffer) or module export value
67
+ * @throws Throws an error containing the file path when file loading fails
68
+ */
69
+ export declare function loadFileAsync(filepath: string): Promise<unknown>;
15
70
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAelB,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAsC,CAAC;AAEhE,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmBlD;AAED,wBAAsB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAInH;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,UAAU,CAAC;AAelB,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAsC,CAAC;AAEhE;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmBlD;AAED;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAInH;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAGzD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBtE"}
@@ -9,32 +9,49 @@ exports.callFn = callFn;
9
9
  exports.getResolvedFilename = getResolvedFilename;
10
10
  exports.isBytecodeClass = isBytecodeClass;
11
11
  exports.filePatterns = filePatterns;
12
+ exports.loadFileAsync = loadFileAsync;
13
+ /**
14
+ * @module core/utils
15
+ * @description Core utility functions. Provides file loading, function invocation, bytecode class detection,
16
+ * and other foundational capabilities. Serves as a low-level dependency for FileLoader and other modules.
17
+ */
12
18
  require("bytenode");
13
19
  const type_check_js_1 = require("../../utils/type_check.js");
14
20
  const path_1 = __importDefault(require("path"));
15
21
  const fs_1 = __importDefault(require("fs"));
16
22
  const module_1 = require("module");
17
- const requireMod = (0, module_1.createRequire)(__filename);
23
+ // __filename is available in CJS; in pure ESM without a bundler, use cwd as the base path for createRequire
24
+ const requireMod = (0, module_1.createRequire)(typeof __filename !== 'undefined'
25
+ ? __filename
26
+ : path_1.default.join(process.cwd(), '__virtual__.js'));
18
27
  const Module = requireMod('module');
19
- // Module._extensions:
20
- // '.js': [Function (anonymous)],
21
- // '.json': [Function (anonymous)],
22
- // '.node': [Function: func],
23
- // '.jsc': [Function (anonymous)]
28
+ // File extensions natively supported by Node.js (including .jsc registered by bytenode)
24
29
  const extensions = Module._extensions;
25
30
  exports.extensions = extensions;
31
+ /**
32
+ * Load a file synchronously
33
+ *
34
+ * Execution flow:
35
+ * 1. Non-JS files (extensions not in Module._extensions) -> return file content as Buffer
36
+ * 2. JS/CJS/JSC files -> load module using require()
37
+ * 3. ESM modules (with __esModule marker) -> extract default export
38
+ *
39
+ * @param filepath - Absolute file path
40
+ * @returns File content (Buffer) or module export value
41
+ * @throws Throws an error containing the file path when file loading fails
42
+ */
26
43
  function loadFile(filepath) {
27
44
  try {
28
- // if not js module, just return content buffer
45
+ // Non-JS module, return file content directly
29
46
  const extname = path_1.default.extname(filepath);
30
47
  if (extname && !extensions[extname]) {
31
48
  return fs_1.default.readFileSync(filepath);
32
49
  }
33
- // require js module
50
+ // Load JS module
34
51
  const obj = requireMod(filepath);
35
52
  if (!obj)
36
53
  return obj;
37
- // it's es module
54
+ // ESM interop: extract default export
38
55
  if (obj.__esModule)
39
56
  return 'default' in obj ? obj.default : obj;
40
57
  return obj;
@@ -45,29 +62,87 @@ function loadFile(filepath) {
45
62
  throw error;
46
63
  }
47
64
  }
65
+ /**
66
+ * Call a function with bound context
67
+ *
68
+ * @param fn - Function to call
69
+ * @param args - Function argument list
70
+ * @param ctx - Function execution context (this binding); if not provided, calls directly
71
+ * @returns Function return value; returns undefined if fn is not a function
72
+ */
48
73
  async function callFn(fn, args, ctx) {
49
74
  args = args || [];
50
75
  if (!(0, type_check_js_1.isFunction)(fn))
51
76
  return undefined;
52
77
  return ctx ? fn.call(ctx, ...args) : fn(...args);
53
78
  }
79
+ /**
80
+ * Get the relative path name of a file
81
+ *
82
+ * Converts an absolute path to a relative path based on baseDir, using forward slashes as separators.
83
+ *
84
+ * @param filepath - Absolute file path
85
+ * @param baseDir - Base directory
86
+ * @returns Relative path (forward slash separated)
87
+ */
54
88
  function getResolvedFilename(filepath, baseDir) {
55
89
  const reg = /[/\\]/g;
56
90
  return filepath.replace(baseDir + path_1.default.sep, '').replace(reg, '/');
57
91
  }
58
92
  /**
59
- * 字节码类
93
+ * Determine if an export is a bytecode class
94
+ *
95
+ * Checks whether the toString() result contains '[class'.
96
+ * Classes from bytenode-compiled .jsc files appear as '[class XXX]' in Node.js.
97
+ *
98
+ * @param exports - Export value to check
99
+ * @returns Whether it is a bytecode class
60
100
  */
61
101
  function isBytecodeClass(exports) {
62
102
  if (!exports)
63
103
  return false;
64
- // 标识
65
104
  return String(exports).indexOf('[class') !== -1;
66
105
  }
67
106
  /**
68
- * 文件类型
107
+ * Get supported file match patterns
108
+ *
109
+ * Used for filtering file types when globby scans directories.
110
+ *
111
+ * @returns File pattern list (.js and .jsc)
69
112
  */
70
113
  function filePatterns() {
71
114
  return ['**/*.js', '**/*.jsc'];
72
115
  }
116
+ /**
117
+ * Load a file asynchronously (ESM support)
118
+ *
119
+ * Same functionality as loadFile, but uses dynamic import() to load modules,
120
+ * supporting ESM format files. Non-JS files are read using fs.promises.readFile.
121
+ *
122
+ * @param filepath - Absolute file path
123
+ * @returns File content (Buffer) or module export value
124
+ * @throws Throws an error containing the file path when file loading fails
125
+ */
126
+ async function loadFileAsync(filepath) {
127
+ try {
128
+ const extname = path_1.default.extname(filepath);
129
+ // Non-JS/ESM files: return content as Buffer
130
+ if (extname && !extensions[extname] && extname !== '.mjs') {
131
+ return fs_1.default.promises.readFile(filepath);
132
+ }
133
+ // Dynamic import, supporting both ESM and CJS
134
+ const obj = await import(filepath);
135
+ if (!obj)
136
+ return obj;
137
+ // ESM interop: extract default export
138
+ if (obj.__esModule)
139
+ return 'default' in obj ? obj.default : obj;
140
+ return obj;
141
+ }
142
+ catch (err) {
143
+ const error = err;
144
+ error.message = `[ee-core] load file async: ${filepath}, error: ${error.message}`;
145
+ throw error;
146
+ }
147
+ }
73
148
  //# sourceMappingURL=index.js.map