ee-core 5.0.0-beta.2 → 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 (453) hide show
  1. package/dist/cjs/app/application.d.ts +36 -1
  2. package/dist/cjs/app/application.d.ts.map +1 -1
  3. package/dist/cjs/app/application.js +49 -2
  4. package/dist/cjs/app/application.js.map +1 -1
  5. package/dist/cjs/app/boot.d.ts +56 -1
  6. package/dist/cjs/app/boot.d.ts.map +1 -1
  7. package/dist/cjs/app/boot.js +74 -11
  8. package/dist/cjs/app/boot.js.map +1 -1
  9. package/dist/cjs/app/dir.d.ts +10 -0
  10. package/dist/cjs/app/dir.d.ts.map +1 -1
  11. package/dist/cjs/app/dir.js +71 -10
  12. package/dist/cjs/app/dir.js.map +1 -1
  13. package/dist/cjs/app/events.d.ts +58 -2
  14. package/dist/cjs/app/events.d.ts.map +1 -1
  15. package/dist/cjs/app/events.js +92 -12
  16. package/dist/cjs/app/events.js.map +1 -1
  17. package/dist/cjs/config/config_loader.d.ts +44 -0
  18. package/dist/cjs/config/config_loader.d.ts.map +1 -1
  19. package/dist/cjs/config/config_loader.js +82 -1
  20. package/dist/cjs/config/config_loader.js.map +1 -1
  21. package/dist/cjs/config/default_config.d.ts +5 -0
  22. package/dist/cjs/config/default_config.d.ts.map +1 -1
  23. package/dist/cjs/config/default_config.js +98 -11
  24. package/dist/cjs/config/default_config.js.map +1 -1
  25. package/dist/cjs/config/index.d.ts +31 -1
  26. package/dist/cjs/config/index.d.ts.map +1 -1
  27. package/dist/cjs/config/index.js +52 -0
  28. package/dist/cjs/config/index.js.map +1 -1
  29. package/dist/cjs/const/channel.d.ts +17 -0
  30. package/dist/cjs/const/channel.d.ts.map +1 -1
  31. package/dist/cjs/const/channel.js +17 -0
  32. package/dist/cjs/const/channel.js.map +1 -1
  33. package/dist/cjs/controller/controller_loader.d.ts +20 -1
  34. package/dist/cjs/controller/controller_loader.d.ts.map +1 -1
  35. package/dist/cjs/controller/controller_loader.js +89 -9
  36. package/dist/cjs/controller/controller_loader.js.map +1 -1
  37. package/dist/cjs/controller/index.d.ts +32 -0
  38. package/dist/cjs/controller/index.d.ts.map +1 -1
  39. package/dist/cjs/controller/index.js +66 -0
  40. package/dist/cjs/controller/index.js.map +1 -1
  41. package/dist/cjs/core/loader/file_loader.d.ts +78 -27
  42. package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
  43. package/dist/cjs/core/loader/file_loader.js +194 -68
  44. package/dist/cjs/core/loader/file_loader.js.map +1 -1
  45. package/dist/cjs/core/utils/index.d.ts +57 -2
  46. package/dist/cjs/core/utils/index.d.ts.map +1 -1
  47. package/dist/cjs/core/utils/index.js +120 -12
  48. package/dist/cjs/core/utils/index.js.map +1 -1
  49. package/dist/cjs/core/utils/timing.d.ts +47 -0
  50. package/dist/cjs/core/utils/timing.d.ts.map +1 -1
  51. package/dist/cjs/core/utils/timing.js +42 -2
  52. package/dist/cjs/core/utils/timing.js.map +1 -1
  53. package/dist/cjs/cross/cross.d.ts +81 -2
  54. package/dist/cjs/cross/cross.d.ts.map +1 -1
  55. package/dist/cjs/cross/cross.js +86 -16
  56. package/dist/cjs/cross/cross.js.map +1 -1
  57. package/dist/cjs/cross/crossProcess.d.ts +85 -14
  58. package/dist/cjs/cross/crossProcess.d.ts.map +1 -1
  59. package/dist/cjs/cross/crossProcess.js +85 -13
  60. package/dist/cjs/cross/crossProcess.js.map +1 -1
  61. package/dist/cjs/electron/app/index.d.ts +17 -1
  62. package/dist/cjs/electron/app/index.d.ts.map +1 -1
  63. package/dist/cjs/electron/app/index.js +27 -3
  64. package/dist/cjs/electron/app/index.js.map +1 -1
  65. package/dist/cjs/electron/index.d.ts +6 -0
  66. package/dist/cjs/electron/index.d.ts.map +1 -1
  67. package/dist/cjs/electron/index.js +16 -1
  68. package/dist/cjs/electron/index.js.map +1 -1
  69. package/dist/cjs/electron/window/index.d.ts +37 -0
  70. package/dist/cjs/electron/window/index.d.ts.map +1 -1
  71. package/dist/cjs/electron/window/index.js +144 -88
  72. package/dist/cjs/electron/window/index.js.map +1 -1
  73. package/dist/cjs/exception/index.d.ts +12 -0
  74. package/dist/cjs/exception/index.d.ts.map +1 -1
  75. package/dist/cjs/exception/index.js +67 -9
  76. package/dist/cjs/exception/index.js.map +1 -1
  77. package/dist/cjs/html/index.d.ts +19 -0
  78. package/dist/cjs/html/index.d.ts.map +1 -1
  79. package/dist/cjs/html/index.js +42 -0
  80. package/dist/cjs/html/index.js.map +1 -1
  81. package/dist/cjs/index.d.ts +35 -7
  82. package/dist/cjs/index.d.ts.map +1 -1
  83. package/dist/cjs/index.js +127 -80
  84. package/dist/cjs/index.js.map +1 -1
  85. package/dist/cjs/jobs/child/app.js +86 -25
  86. package/dist/cjs/jobs/child/app.js.map +1 -1
  87. package/dist/cjs/jobs/child/index.d.ts +5 -5
  88. package/dist/cjs/jobs/child/index.js +5 -5
  89. package/dist/cjs/jobs/child/jobProcess.d.ts +68 -0
  90. package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -1
  91. package/dist/cjs/jobs/child/jobProcess.js +86 -11
  92. package/dist/cjs/jobs/child/jobProcess.js.map +1 -1
  93. package/dist/cjs/jobs/child-pool/index.d.ts +96 -0
  94. package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -1
  95. package/dist/cjs/jobs/child-pool/index.js +91 -4
  96. package/dist/cjs/jobs/child-pool/index.js.map +1 -1
  97. package/dist/cjs/jobs/index.d.ts +10 -0
  98. package/dist/cjs/jobs/index.d.ts.map +1 -1
  99. package/dist/cjs/jobs/index.js +10 -0
  100. package/dist/cjs/jobs/index.js.map +1 -1
  101. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +2 -0
  102. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
  103. package/dist/cjs/jobs/load-balancer/algorithm/index.js +6 -0
  104. package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -1
  105. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
  106. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
  107. package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +1 -1
  108. package/dist/cjs/jobs/load-balancer/algorithm/polling.js +1 -1
  109. package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +1 -1
  110. package/dist/cjs/jobs/load-balancer/algorithm/random.js +1 -1
  111. package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +1 -1
  112. package/dist/cjs/jobs/load-balancer/algorithm/specify.js +1 -1
  113. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +1 -1
  114. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
  115. package/dist/cjs/jobs/load-balancer/algorithm/weights.js +4 -8
  116. package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -1
  117. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
  118. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
  119. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
  120. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
  121. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
  122. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
  123. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
  124. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
  125. package/dist/cjs/jobs/load-balancer/consts.d.ts +22 -0
  126. package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -1
  127. package/dist/cjs/jobs/load-balancer/consts.js +22 -0
  128. package/dist/cjs/jobs/load-balancer/consts.js.map +1 -1
  129. package/dist/cjs/jobs/load-balancer/index.d.ts +18 -18
  130. package/dist/cjs/jobs/load-balancer/index.js +18 -18
  131. package/dist/cjs/jobs/load-balancer/scheduler.d.ts +3 -3
  132. package/dist/cjs/jobs/load-balancer/scheduler.js +3 -3
  133. package/dist/cjs/jobs/load-balancer/types.d.ts +21 -0
  134. package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -1
  135. package/dist/cjs/jobs/load-balancer/types.js +4 -0
  136. package/dist/cjs/jobs/load-balancer/types.js.map +1 -1
  137. package/dist/cjs/jobs/registry.d.ts +24 -0
  138. package/dist/cjs/jobs/registry.d.ts.map +1 -0
  139. package/dist/cjs/jobs/registry.js +52 -0
  140. package/dist/cjs/jobs/registry.js.map +1 -0
  141. package/dist/cjs/loader/index.d.ts +52 -0
  142. package/dist/cjs/loader/index.d.ts.map +1 -1
  143. package/dist/cjs/loader/index.js +79 -10
  144. package/dist/cjs/loader/index.js.map +1 -1
  145. package/dist/cjs/log/index.d.ts +41 -0
  146. package/dist/cjs/log/index.d.ts.map +1 -1
  147. package/dist/cjs/log/index.js +59 -20
  148. package/dist/cjs/log/index.js.map +1 -1
  149. package/dist/cjs/log/logger.d.ts +26 -0
  150. package/dist/cjs/log/logger.d.ts.map +1 -1
  151. package/dist/cjs/log/logger.js +122 -2
  152. package/dist/cjs/log/logger.js.map +1 -1
  153. package/dist/cjs/message/childMessage.d.ts +50 -0
  154. package/dist/cjs/message/childMessage.d.ts.map +1 -1
  155. package/dist/cjs/message/childMessage.js +83 -2
  156. package/dist/cjs/message/childMessage.js.map +1 -1
  157. package/dist/cjs/ps/index.d.ts +112 -0
  158. package/dist/cjs/ps/index.d.ts.map +1 -1
  159. package/dist/cjs/ps/index.js +175 -41
  160. package/dist/cjs/ps/index.js.map +1 -1
  161. package/dist/cjs/socket/httpServer.d.ts +58 -5
  162. package/dist/cjs/socket/httpServer.d.ts.map +1 -1
  163. package/dist/cjs/socket/httpServer.js +94 -28
  164. package/dist/cjs/socket/httpServer.js.map +1 -1
  165. package/dist/cjs/socket/index.d.ts +45 -3
  166. package/dist/cjs/socket/index.d.ts.map +1 -1
  167. package/dist/cjs/socket/index.js +50 -14
  168. package/dist/cjs/socket/index.js.map +1 -1
  169. package/dist/cjs/socket/ipcServer.d.ts +31 -1
  170. package/dist/cjs/socket/ipcServer.d.ts.map +1 -1
  171. package/dist/cjs/socket/ipcServer.js +60 -43
  172. package/dist/cjs/socket/ipcServer.js.map +1 -1
  173. package/dist/cjs/socket/socketServer.d.ts +32 -1
  174. package/dist/cjs/socket/socketServer.d.ts.map +1 -1
  175. package/dist/cjs/socket/socketServer.js +53 -14
  176. package/dist/cjs/socket/socketServer.js.map +1 -1
  177. package/dist/cjs/socket/utils.d.ts +13 -0
  178. package/dist/cjs/socket/utils.d.ts.map +1 -0
  179. package/dist/cjs/socket/utils.js +41 -0
  180. package/dist/cjs/socket/utils.js.map +1 -0
  181. package/dist/cjs/storage/sqliteStorage.d.ts +93 -4
  182. package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -1
  183. package/dist/cjs/storage/sqliteStorage.js +121 -9
  184. package/dist/cjs/storage/sqliteStorage.js.map +1 -1
  185. package/dist/cjs/types/index.d.ts +373 -5
  186. package/dist/cjs/types/index.d.ts.map +1 -1
  187. package/dist/cjs/utils/extend.d.ts +44 -1
  188. package/dist/cjs/utils/extend.d.ts.map +1 -1
  189. package/dist/cjs/utils/extend.js +67 -19
  190. package/dist/cjs/utils/extend.js.map +1 -1
  191. package/dist/cjs/utils/helper.d.ts +154 -1
  192. package/dist/cjs/utils/helper.d.ts.map +1 -1
  193. package/dist/cjs/utils/helper.js +205 -28
  194. package/dist/cjs/utils/helper.js.map +1 -1
  195. package/dist/cjs/utils/index.d.ts +93 -0
  196. package/dist/cjs/utils/index.d.ts.map +1 -1
  197. package/dist/cjs/utils/index.js +136 -12
  198. package/dist/cjs/utils/index.js.map +1 -1
  199. package/dist/cjs/utils/ip.d.ts +29 -0
  200. package/dist/cjs/utils/ip.d.ts.map +1 -1
  201. package/dist/cjs/utils/ip.js +95 -4
  202. package/dist/cjs/utils/ip.js.map +1 -1
  203. package/dist/cjs/utils/is.d.ts +123 -0
  204. package/dist/cjs/utils/is.d.ts.map +1 -1
  205. package/dist/cjs/utils/is.js +126 -14
  206. package/dist/cjs/utils/is.js.map +1 -1
  207. package/dist/cjs/utils/json.d.ts +54 -0
  208. package/dist/cjs/utils/json.d.ts.map +1 -1
  209. package/dist/cjs/utils/json.js +62 -0
  210. package/dist/cjs/utils/json.js.map +1 -1
  211. package/dist/cjs/utils/pargv.d.ts +51 -0
  212. package/dist/cjs/utils/pargv.d.ts.map +1 -1
  213. package/dist/cjs/utils/pargv.js +141 -3
  214. package/dist/cjs/utils/pargv.js.map +1 -1
  215. package/dist/cjs/utils/port/index.d.ts +42 -0
  216. package/dist/cjs/utils/port/index.d.ts.map +1 -1
  217. package/dist/cjs/utils/port/index.js +130 -7
  218. package/dist/cjs/utils/port/index.js.map +1 -1
  219. package/dist/cjs/utils/type_check.d.ts +79 -0
  220. package/dist/cjs/utils/type_check.d.ts.map +1 -1
  221. package/dist/cjs/utils/type_check.js +87 -1
  222. package/dist/cjs/utils/type_check.js.map +1 -1
  223. package/dist/cjs/utils/wrap.d.ts +26 -0
  224. package/dist/cjs/utils/wrap.d.ts.map +1 -1
  225. package/dist/cjs/utils/wrap.js +47 -10
  226. package/dist/cjs/utils/wrap.js.map +1 -1
  227. package/dist/esm/app/application.d.ts +36 -1
  228. package/dist/esm/app/application.d.ts.map +1 -1
  229. package/dist/esm/app/application.js +49 -2
  230. package/dist/esm/app/application.js.map +1 -1
  231. package/dist/esm/app/boot.d.ts +56 -1
  232. package/dist/esm/app/boot.d.ts.map +1 -1
  233. package/dist/esm/app/boot.js +74 -11
  234. package/dist/esm/app/boot.js.map +1 -1
  235. package/dist/esm/app/dir.d.ts +10 -0
  236. package/dist/esm/app/dir.d.ts.map +1 -1
  237. package/dist/esm/app/dir.js +71 -10
  238. package/dist/esm/app/dir.js.map +1 -1
  239. package/dist/esm/app/events.d.ts +58 -2
  240. package/dist/esm/app/events.d.ts.map +1 -1
  241. package/dist/esm/app/events.js +92 -12
  242. package/dist/esm/app/events.js.map +1 -1
  243. package/dist/esm/config/config_loader.d.ts +44 -0
  244. package/dist/esm/config/config_loader.d.ts.map +1 -1
  245. package/dist/esm/config/config_loader.js +82 -1
  246. package/dist/esm/config/config_loader.js.map +1 -1
  247. package/dist/esm/config/default_config.d.ts +5 -0
  248. package/dist/esm/config/default_config.d.ts.map +1 -1
  249. package/dist/esm/config/default_config.js +98 -11
  250. package/dist/esm/config/default_config.js.map +1 -1
  251. package/dist/esm/config/index.d.ts +31 -1
  252. package/dist/esm/config/index.d.ts.map +1 -1
  253. package/dist/esm/config/index.js +52 -0
  254. package/dist/esm/config/index.js.map +1 -1
  255. package/dist/esm/const/channel.d.ts +17 -0
  256. package/dist/esm/const/channel.d.ts.map +1 -1
  257. package/dist/esm/const/channel.js +17 -0
  258. package/dist/esm/const/channel.js.map +1 -1
  259. package/dist/esm/controller/controller_loader.d.ts +20 -1
  260. package/dist/esm/controller/controller_loader.d.ts.map +1 -1
  261. package/dist/esm/controller/controller_loader.js +89 -9
  262. package/dist/esm/controller/controller_loader.js.map +1 -1
  263. package/dist/esm/controller/index.d.ts +32 -0
  264. package/dist/esm/controller/index.d.ts.map +1 -1
  265. package/dist/esm/controller/index.js +66 -0
  266. package/dist/esm/controller/index.js.map +1 -1
  267. package/dist/esm/core/loader/file_loader.d.ts +78 -27
  268. package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
  269. package/dist/esm/core/loader/file_loader.js +194 -68
  270. package/dist/esm/core/loader/file_loader.js.map +1 -1
  271. package/dist/esm/core/utils/index.d.ts +57 -2
  272. package/dist/esm/core/utils/index.d.ts.map +1 -1
  273. package/dist/esm/core/utils/index.js +87 -12
  274. package/dist/esm/core/utils/index.js.map +1 -1
  275. package/dist/esm/core/utils/timing.d.ts +47 -0
  276. package/dist/esm/core/utils/timing.d.ts.map +1 -1
  277. package/dist/esm/core/utils/timing.js +42 -2
  278. package/dist/esm/core/utils/timing.js.map +1 -1
  279. package/dist/esm/cross/cross.d.ts +81 -2
  280. package/dist/esm/cross/cross.d.ts.map +1 -1
  281. package/dist/esm/cross/cross.js +86 -16
  282. package/dist/esm/cross/cross.js.map +1 -1
  283. package/dist/esm/cross/crossProcess.d.ts +85 -14
  284. package/dist/esm/cross/crossProcess.d.ts.map +1 -1
  285. package/dist/esm/cross/crossProcess.js +85 -13
  286. package/dist/esm/cross/crossProcess.js.map +1 -1
  287. package/dist/esm/electron/app/index.d.ts +17 -1
  288. package/dist/esm/electron/app/index.d.ts.map +1 -1
  289. package/dist/esm/electron/app/index.js +27 -3
  290. package/dist/esm/electron/app/index.js.map +1 -1
  291. package/dist/esm/electron/index.d.ts +6 -0
  292. package/dist/esm/electron/index.d.ts.map +1 -1
  293. package/dist/esm/electron/index.js +16 -1
  294. package/dist/esm/electron/index.js.map +1 -1
  295. package/dist/esm/electron/window/index.d.ts +37 -0
  296. package/dist/esm/electron/window/index.d.ts.map +1 -1
  297. package/dist/esm/electron/window/index.js +144 -88
  298. package/dist/esm/electron/window/index.js.map +1 -1
  299. package/dist/esm/exception/index.d.ts +12 -0
  300. package/dist/esm/exception/index.d.ts.map +1 -1
  301. package/dist/esm/exception/index.js +67 -9
  302. package/dist/esm/exception/index.js.map +1 -1
  303. package/dist/esm/html/index.d.ts +19 -0
  304. package/dist/esm/html/index.d.ts.map +1 -1
  305. package/dist/esm/html/index.js +42 -0
  306. package/dist/esm/html/index.js.map +1 -1
  307. package/dist/esm/index.d.ts +35 -7
  308. package/dist/esm/index.d.ts.map +1 -1
  309. package/dist/esm/index.js +127 -80
  310. package/dist/esm/index.js.map +1 -1
  311. package/dist/esm/jobs/child/app.js +86 -25
  312. package/dist/esm/jobs/child/app.js.map +1 -1
  313. package/dist/esm/jobs/child/index.d.ts +5 -5
  314. package/dist/esm/jobs/child/index.js +5 -5
  315. package/dist/esm/jobs/child/jobProcess.d.ts +68 -0
  316. package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -1
  317. package/dist/esm/jobs/child/jobProcess.js +86 -11
  318. package/dist/esm/jobs/child/jobProcess.js.map +1 -1
  319. package/dist/esm/jobs/child-pool/index.d.ts +96 -0
  320. package/dist/esm/jobs/child-pool/index.d.ts.map +1 -1
  321. package/dist/esm/jobs/child-pool/index.js +91 -4
  322. package/dist/esm/jobs/child-pool/index.js.map +1 -1
  323. package/dist/esm/jobs/index.d.ts +10 -0
  324. package/dist/esm/jobs/index.d.ts.map +1 -1
  325. package/dist/esm/jobs/index.js +10 -0
  326. package/dist/esm/jobs/index.js.map +1 -1
  327. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +2 -0
  328. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
  329. package/dist/esm/jobs/load-balancer/algorithm/index.js +6 -0
  330. package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -1
  331. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
  332. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
  333. package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +1 -1
  334. package/dist/esm/jobs/load-balancer/algorithm/polling.js +1 -1
  335. package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +1 -1
  336. package/dist/esm/jobs/load-balancer/algorithm/random.js +1 -1
  337. package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +1 -1
  338. package/dist/esm/jobs/load-balancer/algorithm/specify.js +1 -1
  339. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +1 -1
  340. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
  341. package/dist/esm/jobs/load-balancer/algorithm/weights.js +4 -8
  342. package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -1
  343. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
  344. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
  345. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
  346. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
  347. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
  348. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
  349. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
  350. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
  351. package/dist/esm/jobs/load-balancer/consts.d.ts +22 -0
  352. package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -1
  353. package/dist/esm/jobs/load-balancer/consts.js +22 -0
  354. package/dist/esm/jobs/load-balancer/consts.js.map +1 -1
  355. package/dist/esm/jobs/load-balancer/index.d.ts +18 -18
  356. package/dist/esm/jobs/load-balancer/index.js +18 -18
  357. package/dist/esm/jobs/load-balancer/scheduler.d.ts +3 -3
  358. package/dist/esm/jobs/load-balancer/scheduler.js +3 -3
  359. package/dist/esm/jobs/load-balancer/types.d.ts +21 -0
  360. package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -1
  361. package/dist/esm/jobs/load-balancer/types.js +4 -0
  362. package/dist/esm/jobs/load-balancer/types.js.map +1 -1
  363. package/dist/esm/jobs/registry.d.ts +24 -0
  364. package/dist/esm/jobs/registry.d.ts.map +1 -0
  365. package/dist/esm/jobs/registry.js +52 -0
  366. package/dist/esm/jobs/registry.js.map +1 -0
  367. package/dist/esm/loader/index.d.ts +52 -0
  368. package/dist/esm/loader/index.d.ts.map +1 -1
  369. package/dist/esm/loader/index.js +79 -10
  370. package/dist/esm/loader/index.js.map +1 -1
  371. package/dist/esm/log/index.d.ts +41 -0
  372. package/dist/esm/log/index.d.ts.map +1 -1
  373. package/dist/esm/log/index.js +59 -20
  374. package/dist/esm/log/index.js.map +1 -1
  375. package/dist/esm/log/logger.d.ts +26 -0
  376. package/dist/esm/log/logger.d.ts.map +1 -1
  377. package/dist/esm/log/logger.js +122 -2
  378. package/dist/esm/log/logger.js.map +1 -1
  379. package/dist/esm/message/childMessage.d.ts +50 -0
  380. package/dist/esm/message/childMessage.d.ts.map +1 -1
  381. package/dist/esm/message/childMessage.js +83 -2
  382. package/dist/esm/message/childMessage.js.map +1 -1
  383. package/dist/esm/ps/index.d.ts +112 -0
  384. package/dist/esm/ps/index.d.ts.map +1 -1
  385. package/dist/esm/ps/index.js +175 -41
  386. package/dist/esm/ps/index.js.map +1 -1
  387. package/dist/esm/socket/httpServer.d.ts +58 -5
  388. package/dist/esm/socket/httpServer.d.ts.map +1 -1
  389. package/dist/esm/socket/httpServer.js +94 -28
  390. package/dist/esm/socket/httpServer.js.map +1 -1
  391. package/dist/esm/socket/index.d.ts +45 -3
  392. package/dist/esm/socket/index.d.ts.map +1 -1
  393. package/dist/esm/socket/index.js +50 -14
  394. package/dist/esm/socket/index.js.map +1 -1
  395. package/dist/esm/socket/ipcServer.d.ts +31 -1
  396. package/dist/esm/socket/ipcServer.d.ts.map +1 -1
  397. package/dist/esm/socket/ipcServer.js +60 -43
  398. package/dist/esm/socket/ipcServer.js.map +1 -1
  399. package/dist/esm/socket/socketServer.d.ts +32 -1
  400. package/dist/esm/socket/socketServer.d.ts.map +1 -1
  401. package/dist/esm/socket/socketServer.js +53 -14
  402. package/dist/esm/socket/socketServer.js.map +1 -1
  403. package/dist/esm/socket/utils.d.ts +13 -0
  404. package/dist/esm/socket/utils.d.ts.map +1 -0
  405. package/dist/esm/socket/utils.js +41 -0
  406. package/dist/esm/socket/utils.js.map +1 -0
  407. package/dist/esm/storage/sqliteStorage.d.ts +93 -4
  408. package/dist/esm/storage/sqliteStorage.d.ts.map +1 -1
  409. package/dist/esm/storage/sqliteStorage.js +121 -9
  410. package/dist/esm/storage/sqliteStorage.js.map +1 -1
  411. package/dist/esm/types/index.d.ts +373 -5
  412. package/dist/esm/types/index.d.ts.map +1 -1
  413. package/dist/esm/utils/extend.d.ts +44 -1
  414. package/dist/esm/utils/extend.d.ts.map +1 -1
  415. package/dist/esm/utils/extend.js +67 -19
  416. package/dist/esm/utils/extend.js.map +1 -1
  417. package/dist/esm/utils/helper.d.ts +154 -1
  418. package/dist/esm/utils/helper.d.ts.map +1 -1
  419. package/dist/esm/utils/helper.js +205 -28
  420. package/dist/esm/utils/helper.js.map +1 -1
  421. package/dist/esm/utils/index.d.ts +93 -0
  422. package/dist/esm/utils/index.d.ts.map +1 -1
  423. package/dist/esm/utils/index.js +136 -12
  424. package/dist/esm/utils/index.js.map +1 -1
  425. package/dist/esm/utils/ip.d.ts +29 -0
  426. package/dist/esm/utils/ip.d.ts.map +1 -1
  427. package/dist/esm/utils/ip.js +95 -4
  428. package/dist/esm/utils/ip.js.map +1 -1
  429. package/dist/esm/utils/is.d.ts +123 -0
  430. package/dist/esm/utils/is.d.ts.map +1 -1
  431. package/dist/esm/utils/is.js +126 -14
  432. package/dist/esm/utils/is.js.map +1 -1
  433. package/dist/esm/utils/json.d.ts +54 -0
  434. package/dist/esm/utils/json.d.ts.map +1 -1
  435. package/dist/esm/utils/json.js +62 -0
  436. package/dist/esm/utils/json.js.map +1 -1
  437. package/dist/esm/utils/pargv.d.ts +51 -0
  438. package/dist/esm/utils/pargv.d.ts.map +1 -1
  439. package/dist/esm/utils/pargv.js +141 -3
  440. package/dist/esm/utils/pargv.js.map +1 -1
  441. package/dist/esm/utils/port/index.d.ts +42 -0
  442. package/dist/esm/utils/port/index.d.ts.map +1 -1
  443. package/dist/esm/utils/port/index.js +130 -7
  444. package/dist/esm/utils/port/index.js.map +1 -1
  445. package/dist/esm/utils/type_check.d.ts +79 -0
  446. package/dist/esm/utils/type_check.d.ts.map +1 -1
  447. package/dist/esm/utils/type_check.js +87 -1
  448. package/dist/esm/utils/type_check.js.map +1 -1
  449. package/dist/esm/utils/wrap.d.ts +26 -0
  450. package/dist/esm/utils/wrap.d.ts.map +1 -1
  451. package/dist/esm/utils/wrap.js +47 -10
  452. package/dist/esm/utils/wrap.js.map +1 -1
  453. package/package.json +13 -13
@@ -4,39 +4,61 @@ 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"));
31
+ const globby_1 = require("globby");
11
32
  const type_check_js_1 = require("../../utils/type_check.js");
12
33
  const index_js_1 = require("../utils/index.js");
13
34
  const wrap_js_1 = require("../../utils/wrap.js");
14
35
  const debugLog = (0, debug_1.default)('ee-core:core:loader:file_loader');
36
+ /** Symbol marker: records the full path of a file */
15
37
  exports.FULLPATH = Symbol('LOADER_ITEM_FULLPATH');
38
+ /** Symbol marker: indicates the export has been processed by the loader */
16
39
  exports.EXPORTS = Symbol('LOADER_ITEM_EXPORTS');
40
+ /** Default configuration */
17
41
  const defaults = {
42
+ /** Property naming style */
18
43
  caseStyle: 'camel',
44
+ /** Custom initializer: performs additional processing on exported content */
19
45
  initializer: null,
46
+ /** Whether to automatically invoke function-type exports */
20
47
  call: true,
48
+ /** Injection arguments for function calls */
21
49
  inject: undefined,
50
+ /** Target object (deprecated; now created internally by load()) */
22
51
  target: null,
52
+ /** File match patterns (overrides default filePatterns) */
23
53
  match: undefined,
24
54
  };
25
55
  /**
26
- * Load files from directory to target object.
56
+ * FileLoader File loader
57
+ *
58
+ * Organizes exported content from files in a directory into nested property objects
59
+ * based on directory structure. Supports synchronous/asynchronous loading and registry mode.
27
60
  */
28
61
  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
62
  constructor(options) {
41
63
  if (!options.directory) {
42
64
  throw new Error('options.directory is required');
@@ -45,30 +67,75 @@ class FileLoader {
45
67
  debugLog('[constructor] options: %o', this.options);
46
68
  }
47
69
  /**
48
- * attach items to target object. Mapping the directory to properties.
49
- * `xxx/group/repository.js` => `target.group.repository`
50
- * @return {Object} target
70
+ * Process a single export
71
+ *
72
+ * Execution flow:
73
+ * 1. Run initializer (if present) for custom processing of the export
74
+ * 2. Set pathName and fullPath properties on classes
75
+ * 3. Class/generator function/async function/bytecode class -> return directly
76
+ * 4. Plain function -> auto-invoke based on the call option
77
+ *
78
+ * @param exports - File exported content
79
+ * @param fullpath - File full path
80
+ * @param properties - Property path (array converted from directory + filename)
81
+ * @param dirName - Directory name (used as property path prefix)
82
+ * @returns LoaderItem or null (skipped when export is null/undefined)
51
83
  */
52
- load() {
53
- const items = this.parse();
84
+ _processExport(exports, fullpath, properties, dirName) {
85
+ if (exports == null)
86
+ return null;
87
+ const pathName = dirName + '.' + properties.join('.');
88
+ const initializer = this.options.initializer;
89
+ if (initializer) {
90
+ exports = initializer(exports, { pathName, path: fullpath });
91
+ }
92
+ // Set path info on classes for IPC routing and debugging
93
+ if ((0, type_check_js_1.isClass)(exports) || (0, index_js_1.isBytecodeClass)(exports)) {
94
+ exports.prototype.pathName = pathName;
95
+ exports.prototype.fullPath = fullpath;
96
+ }
97
+ // Class/generator/async/bytecode class -> do not auto-invoke, return directly
98
+ 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)) {
99
+ return { fullpath, properties, exports };
100
+ }
101
+ // Plain function: auto-invoke based on the call option
102
+ if (this.options.call && (0, type_check_js_1.isFunction)(exports)) {
103
+ exports = exports(this.options.inject);
104
+ if (exports != null) {
105
+ return { fullpath, properties, exports };
106
+ }
107
+ }
108
+ return { fullpath, properties, exports };
109
+ }
110
+ /**
111
+ * Assign load items to target object
112
+ *
113
+ * Creates nested objects level by level along the property path, ultimately mounting
114
+ * the exported content at the leaf node. Also marks non-primitive exports with
115
+ * FULLPATH and EXPORTS symbols.
116
+ *
117
+ * @param items - Load item list
118
+ * @returns Nested property object
119
+ */
120
+ _assignToTarget(items) {
54
121
  const target = {};
55
122
  for (const item of items) {
56
- // item { fullpath, properties: [ 'a', 'b', 'c'], exports }
57
123
  let current = target;
58
124
  for (let i = 0; i < item.properties.length; i++) {
59
125
  const property = item.properties[i];
60
126
  if (!property)
61
127
  continue;
62
- // properties is a path slice, only the last value is the file name
63
128
  const isLast = i === item.properties.length - 1;
64
129
  if (isLast) {
65
130
  current[property] = item.exports;
131
+ // Mark full path and export identifier for non-primitive types
66
132
  if (item.exports && !(0, type_check_js_1.isPrimitive)(item.exports)) {
67
133
  item.exports[exports.FULLPATH] = item.fullpath;
68
134
  item.exports[exports.EXPORTS] = true;
69
135
  }
70
136
  }
71
137
  else {
138
+ // Intermediate level: ensure object exists
72
139
  current[property] = current[property] || {};
73
140
  current = current[property];
74
141
  }
@@ -77,19 +144,23 @@ class FileLoader {
77
144
  return target;
78
145
  }
79
146
  /**
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
147
+ * Load files and build target object
148
+ *
149
+ * Loads from registry when available (bundle mode), otherwise scans filesystem (dev mode).
150
+ *
151
+ * @returns Nested property object organized by directory structure
152
+ */
153
+ load() {
154
+ const items = this.options.registry ? this.parseFromRegistry() : this.parse();
155
+ return this._assignToTarget(items);
156
+ }
157
+ /**
158
+ * Parse files synchronously from filesystem
159
+ *
160
+ * Uses globby to scan directories and require() to load files.
161
+ * Suitable for CJS dev mode.
162
+ *
163
+ * @returns Load item list
93
164
  */
94
165
  parse() {
95
166
  let files = (this.options.match || (0, index_js_1.filePatterns)());
@@ -106,48 +177,103 @@ class FileLoader {
106
177
  const items = [];
107
178
  debugLog('[parse] directories %o', directories);
108
179
  for (const directory of directories) {
109
- const filepaths = globby_1.default.sync(files, { cwd: directory });
180
+ const filepaths = (0, globby_1.globbySync)(files, { cwd: directory });
110
181
  debugLog('[parse] filepaths %o', filepaths);
111
182
  for (const filepath of filepaths) {
112
183
  const fullpath = path_1.default.join(directory, filepath);
113
184
  if (!fs_1.default.statSync(fullpath).isFile())
114
185
  continue;
115
- // get properties
116
- // controller/foo/bar.js => [ 'foo', 'bar' ]
117
186
  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 });
187
+ // Take the last level of the directory as the property prefix (e.g. 'controller')
188
+ const dirName = directory.split(/[/\\]/).slice(-1)[0] || 'unknown';
189
+ const exports = (0, index_js_1.loadFile)(fullpath);
190
+ const item = this._processExport(exports, fullpath, properties, dirName);
191
+ if (item)
192
+ items.push(item);
193
+ }
194
+ }
195
+ return items;
196
+ }
197
+ /**
198
+ * Parse modules from pre-registered registry
199
+ *
200
+ * In bundle mode, the esbuild plugin pre-registers controller/configuration info
201
+ * into global variables. This method reads the registry directly without filesystem scanning.
202
+ *
203
+ * @returns Load item list
204
+ */
205
+ parseFromRegistry() {
206
+ const registry = this.options.registry;
207
+ if (!registry)
208
+ return [];
209
+ const items = [];
210
+ debugLog('[parseFromRegistry] entries %d', registry.length);
211
+ for (const entry of registry) {
212
+ let exports = entry.module;
213
+ // ESM interop: handle modules with __esModule marker
214
+ if (exports && exports.__esModule) {
215
+ exports = 'default' in exports
216
+ ? exports.default
217
+ : exports;
218
+ }
219
+ const fullpath = entry.fullpath;
220
+ const properties = entry.properties;
221
+ // Extract the second-to-last directory name from registry entry path (e.g. 'controller')
222
+ const dirName = fullpath.split(/[/\\]/).slice(-2, -1)[0] || 'controller';
223
+ const item = this._processExport(exports, fullpath, properties, dirName);
224
+ if (item)
225
+ items.push(item);
226
+ }
227
+ return items;
228
+ }
229
+ /**
230
+ * Load files asynchronously and build target object
231
+ *
232
+ * Uses globby async scanning and import() dynamic loading.
233
+ * Suitable for ESM dev mode.
234
+ *
235
+ * @returns Nested property object organized by directory structure
236
+ */
237
+ async loadAsync() {
238
+ const items = await this.parseAsync();
239
+ return this._assignToTarget(items);
240
+ }
241
+ /**
242
+ * Parse files asynchronously from filesystem
243
+ *
244
+ * Uses globby async scanning and fs.promises.stat for async file checking.
245
+ * Suitable for ESM dev mode.
246
+ *
247
+ * @returns Load item list
248
+ */
249
+ async parseAsync() {
250
+ let files = (this.options.match || (0, index_js_1.filePatterns)());
251
+ if (!Array.isArray(files)) {
252
+ files = [files];
253
+ }
254
+ let directories;
255
+ if (Array.isArray(this.options.directory)) {
256
+ directories = this.options.directory;
257
+ }
258
+ else {
259
+ directories = [this.options.directory];
260
+ }
261
+ const items = [];
262
+ debugLog('[parseAsync] directories %o', directories);
263
+ for (const directory of directories) {
264
+ const filepaths = await (0, globby_1.globby)(files, { cwd: directory });
265
+ debugLog('[parseAsync] filepaths %o', filepaths);
266
+ for (const filepath of filepaths) {
267
+ const fullpath = path_1.default.join(directory, filepath);
268
+ const stat = await fs_1.default.promises.stat(fullpath);
269
+ if (!stat.isFile())
140
270
  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 });
271
+ const properties = (0, wrap_js_1.getProperties)(filepath, { caseStyle: this.options.caseStyle });
272
+ const dirName = directory.split(/[/\\]/).slice(-1)[0] || 'unknown';
273
+ const exports = await (0, index_js_1.loadFileAsync)(fullpath);
274
+ const item = this._processExport(exports, fullpath, properties, dirName);
275
+ if (item)
276
+ items.push(item);
151
277
  }
152
278
  }
153
279
  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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":";;;;;;AAiBA,4BAmBC;AAED,wBAIC;AAED,kDAGC;AAKD,0CAIC;AAKD,oCAEC;AA/DD,oBAAkB;AAClB,6DAA0E;AAC1E,gDAAwB;AACxB,4CAAoB;AACpB,mCAAuC;AAEvC,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,UAAU,CAAC,CAAC;AAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEpC,sBAAsB;AACtB,iCAAiC;AACjC,mCAAmC;AACnC,6BAA6B;AAC7B,iCAAiC;AAEjC,MAAM,UAAU,GAA6B,MAAM,CAAC,WAAW,CAAC;AAkDvD,gCAAU;AAhDnB,SAAgB,QAAQ,CAAC,QAAgB;IACvC,IAAI,CAAC;QACH,+CAA+C;QAC/C,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,oBAAoB;QACpB,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,iBAAiB;QACjB,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAChE,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAY,CAAC;QAC3B,KAAK,CAAC,OAAO,GAAG,wBAAwB,QAAQ,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5E,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,EAAmC,EAAE,IAAgB,EAAE,GAAa;IAC/F,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAA,0BAAe,EAAC,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IACnE,MAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,cAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,OAAgB;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,KAAK;IACL,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":"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"}