ee-core 4.1.5 → 5.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/dist/cjs/app/application.d.ts +41 -0
  2. package/dist/cjs/app/application.d.ts.map +1 -0
  3. package/dist/cjs/app/application.js +68 -0
  4. package/dist/cjs/app/application.js.map +1 -0
  5. package/dist/cjs/app/boot.d.ts +64 -0
  6. package/dist/cjs/app/boot.d.ts.map +1 -0
  7. package/dist/cjs/app/boot.js +138 -0
  8. package/dist/cjs/app/boot.js.map +1 -0
  9. package/dist/cjs/app/dir.d.ts +12 -0
  10. package/dist/cjs/app/dir.d.ts.map +1 -0
  11. package/dist/cjs/app/dir.js +88 -0
  12. package/dist/cjs/app/dir.js.map +1 -0
  13. package/dist/cjs/app/events.d.ts +71 -0
  14. package/dist/cjs/app/events.d.ts.map +1 -0
  15. package/dist/cjs/app/events.js +124 -0
  16. package/dist/cjs/app/events.js.map +1 -0
  17. package/dist/cjs/config/config_loader.d.ts +54 -0
  18. package/dist/cjs/config/config_loader.d.ts.map +1 -0
  19. package/dist/cjs/config/config_loader.js +137 -0
  20. package/dist/cjs/config/config_loader.js.map +1 -0
  21. package/dist/cjs/config/default_config.d.ts +8 -0
  22. package/dist/cjs/config/default_config.d.ts.map +1 -0
  23. package/dist/cjs/config/default_config.js +196 -0
  24. package/dist/cjs/config/default_config.js.map +1 -0
  25. package/dist/cjs/config/index.d.ts +34 -0
  26. package/dist/cjs/config/index.d.ts.map +1 -0
  27. package/dist/cjs/config/index.js +69 -0
  28. package/dist/cjs/config/index.js.map +1 -0
  29. package/dist/cjs/const/channel.d.ts +34 -0
  30. package/dist/cjs/const/channel.d.ts.map +1 -0
  31. package/dist/cjs/const/channel.js +37 -0
  32. package/dist/cjs/const/channel.js.map +1 -0
  33. package/dist/cjs/controller/controller_loader.d.ts +29 -0
  34. package/dist/cjs/controller/controller_loader.d.ts.map +1 -0
  35. package/dist/cjs/controller/controller_loader.js +158 -0
  36. package/dist/cjs/controller/controller_loader.js.map +1 -0
  37. package/dist/cjs/controller/index.d.ts +36 -0
  38. package/dist/cjs/controller/index.d.ts.map +1 -0
  39. package/dist/cjs/controller/index.js +88 -0
  40. package/dist/cjs/controller/index.js.map +1 -0
  41. package/dist/cjs/core/loader/file_loader.d.ts +112 -0
  42. package/dist/cjs/core/loader/file_loader.d.ts.map +1 -0
  43. package/dist/cjs/core/loader/file_loader.js +283 -0
  44. package/dist/cjs/core/loader/file_loader.js.map +1 -0
  45. package/dist/cjs/core/utils/index.d.ts +70 -0
  46. package/dist/cjs/core/utils/index.d.ts.map +1 -0
  47. package/dist/cjs/core/utils/index.js +181 -0
  48. package/dist/cjs/core/utils/index.js.map +1 -0
  49. package/dist/cjs/core/utils/timing.d.ts +65 -0
  50. package/dist/cjs/core/utils/timing.d.ts.map +1 -0
  51. package/dist/cjs/core/utils/timing.js +107 -0
  52. package/dist/cjs/core/utils/timing.js.map +1 -0
  53. package/dist/cjs/cross/cross.d.ts +104 -0
  54. package/dist/cjs/cross/cross.d.ts.map +1 -0
  55. package/dist/cjs/cross/cross.js +202 -0
  56. package/dist/cjs/cross/cross.js.map +1 -0
  57. package/dist/cjs/cross/crossProcess.d.ts +118 -0
  58. package/dist/cjs/cross/crossProcess.d.ts.map +1 -0
  59. package/dist/cjs/cross/crossProcess.js +262 -0
  60. package/dist/cjs/cross/crossProcess.js.map +1 -0
  61. package/dist/cjs/cross/index.d.ts +4 -0
  62. package/dist/cjs/cross/index.d.ts.map +1 -0
  63. package/dist/cjs/cross/index.js +9 -0
  64. package/dist/cjs/cross/index.js.map +1 -0
  65. package/dist/cjs/electron/app/index.d.ts +23 -0
  66. package/dist/cjs/electron/app/index.d.ts.map +1 -0
  67. package/dist/cjs/electron/app/index.js +99 -0
  68. package/dist/cjs/electron/app/index.js.map +1 -0
  69. package/dist/cjs/electron/index.d.ts +10 -0
  70. package/dist/cjs/electron/index.d.ts.map +1 -0
  71. package/dist/cjs/electron/index.js +35 -0
  72. package/dist/cjs/electron/index.js.map +1 -0
  73. package/dist/cjs/electron/window/index.d.ts +45 -0
  74. package/dist/cjs/electron/window/index.d.ts.map +1 -0
  75. package/dist/cjs/electron/window/index.js +311 -0
  76. package/dist/cjs/electron/window/index.js.map +1 -0
  77. package/dist/cjs/exception/index.d.ts +15 -0
  78. package/dist/cjs/exception/index.d.ts.map +1 -0
  79. package/dist/cjs/exception/index.js +145 -0
  80. package/dist/cjs/exception/index.js.map +1 -0
  81. package/dist/cjs/html/index.d.ts +21 -0
  82. package/dist/cjs/html/index.d.ts.map +1 -0
  83. package/dist/cjs/html/index.js +59 -0
  84. package/dist/cjs/html/index.js.map +1 -0
  85. package/dist/cjs/index.d.ts +60 -0
  86. package/dist/cjs/index.d.ts.map +1 -0
  87. package/dist/cjs/index.js +245 -0
  88. package/dist/cjs/index.js.map +1 -0
  89. package/dist/cjs/jobs/child/app.d.ts +2 -0
  90. package/dist/cjs/jobs/child/app.d.ts.map +1 -0
  91. package/dist/cjs/jobs/child/app.js +132 -0
  92. package/dist/cjs/jobs/child/app.js.map +1 -0
  93. package/dist/cjs/jobs/child/index.d.ts +29 -0
  94. package/dist/cjs/jobs/child/index.d.ts.map +1 -0
  95. package/dist/cjs/jobs/child/index.js +78 -0
  96. package/dist/cjs/jobs/child/index.js.map +1 -0
  97. package/dist/cjs/jobs/child/jobProcess.d.ts +102 -0
  98. package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -0
  99. package/dist/cjs/jobs/child/jobProcess.js +196 -0
  100. package/dist/cjs/jobs/child/jobProcess.js.map +1 -0
  101. package/dist/cjs/jobs/child-pool/index.d.ts +126 -0
  102. package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -0
  103. package/dist/cjs/jobs/child-pool/index.js +252 -0
  104. package/dist/cjs/jobs/child-pool/index.js.map +1 -0
  105. package/dist/cjs/jobs/index.d.ts +18 -0
  106. package/dist/cjs/jobs/index.d.ts.map +1 -0
  107. package/dist/cjs/jobs/index.js +22 -0
  108. package/dist/cjs/jobs/index.js.map +1 -0
  109. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +7 -0
  110. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
  111. package/dist/cjs/jobs/load-balancer/algorithm/index.js +32 -0
  112. package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -0
  113. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +6 -0
  114. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts.map +1 -0
  115. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +27 -0
  116. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js.map +1 -0
  117. package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +6 -0
  118. package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts.map +1 -0
  119. package/dist/cjs/jobs/load-balancer/algorithm/polling.js +15 -0
  120. package/dist/cjs/jobs/load-balancer/algorithm/polling.js.map +1 -0
  121. package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +6 -0
  122. package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts.map +1 -0
  123. package/dist/cjs/jobs/load-balancer/algorithm/random.js +12 -0
  124. package/dist/cjs/jobs/load-balancer/algorithm/random.js.map +1 -0
  125. package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +6 -0
  126. package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts.map +1 -0
  127. package/dist/cjs/jobs/load-balancer/algorithm/specify.js +18 -0
  128. package/dist/cjs/jobs/load-balancer/algorithm/specify.js.map +1 -0
  129. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +6 -0
  130. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -0
  131. package/dist/cjs/jobs/load-balancer/algorithm/weights.js +26 -0
  132. package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -0
  133. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +6 -0
  134. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -0
  135. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +32 -0
  136. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -0
  137. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +6 -0
  138. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts.map +1 -0
  139. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +26 -0
  140. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js.map +1 -0
  141. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +6 -0
  142. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts.map +1 -0
  143. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +22 -0
  144. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js.map +1 -0
  145. package/dist/cjs/jobs/load-balancer/consts.d.ts +35 -0
  146. package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -0
  147. package/dist/cjs/jobs/load-balancer/consts.js +36 -0
  148. package/dist/cjs/jobs/load-balancer/consts.js.map +1 -0
  149. package/dist/cjs/jobs/load-balancer/index.d.ts +84 -0
  150. package/dist/cjs/jobs/load-balancer/index.d.ts.map +1 -0
  151. package/dist/cjs/jobs/load-balancer/index.js +195 -0
  152. package/dist/cjs/jobs/load-balancer/index.js.map +1 -0
  153. package/dist/cjs/jobs/load-balancer/scheduler.d.ts +17 -0
  154. package/dist/cjs/jobs/load-balancer/scheduler.d.ts.map +1 -0
  155. package/dist/cjs/jobs/load-balancer/scheduler.js +36 -0
  156. package/dist/cjs/jobs/load-balancer/scheduler.js.map +1 -0
  157. package/dist/cjs/jobs/load-balancer/types.d.ts +43 -0
  158. package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -0
  159. package/dist/cjs/jobs/load-balancer/types.js +7 -0
  160. package/dist/cjs/jobs/load-balancer/types.js.map +1 -0
  161. package/dist/cjs/jobs/registry.d.ts +24 -0
  162. package/dist/cjs/jobs/registry.d.ts.map +1 -0
  163. package/dist/cjs/jobs/registry.js +52 -0
  164. package/dist/cjs/jobs/registry.js.map +1 -0
  165. package/dist/cjs/loader/index.d.ts +58 -0
  166. package/dist/cjs/loader/index.d.ts.map +1 -0
  167. package/dist/cjs/loader/index.js +151 -0
  168. package/dist/cjs/loader/index.js.map +1 -0
  169. package/dist/cjs/log/index.d.ts +59 -0
  170. package/dist/cjs/log/index.d.ts.map +1 -0
  171. package/dist/cjs/log/index.js +123 -0
  172. package/dist/cjs/log/index.js.map +1 -0
  173. package/dist/cjs/log/logger.d.ts +35 -0
  174. package/dist/cjs/log/logger.d.ts.map +1 -0
  175. package/dist/cjs/log/logger.js +246 -0
  176. package/dist/cjs/log/logger.js.map +1 -0
  177. package/dist/cjs/message/childMessage.d.ts +58 -0
  178. package/dist/cjs/message/childMessage.d.ts.map +1 -0
  179. package/dist/cjs/message/childMessage.js +118 -0
  180. package/dist/cjs/message/childMessage.js.map +1 -0
  181. package/dist/cjs/message/index.d.ts +2 -0
  182. package/dist/cjs/message/index.d.ts.map +1 -0
  183. package/dist/cjs/message/index.js +7 -0
  184. package/dist/cjs/message/index.js.map +1 -0
  185. package/dist/cjs/ps/index.d.ts +155 -0
  186. package/dist/cjs/ps/index.d.ts.map +1 -0
  187. package/dist/cjs/ps/index.js +369 -0
  188. package/dist/cjs/ps/index.js.map +1 -0
  189. package/dist/cjs/socket/httpServer.d.ts +74 -0
  190. package/dist/cjs/socket/httpServer.d.ts.map +1 -0
  191. package/dist/cjs/socket/httpServer.js +240 -0
  192. package/dist/cjs/socket/httpServer.js.map +1 -0
  193. package/dist/cjs/socket/index.d.ts +60 -0
  194. package/dist/cjs/socket/index.d.ts.map +1 -0
  195. package/dist/cjs/socket/index.js +103 -0
  196. package/dist/cjs/socket/index.js.map +1 -0
  197. package/dist/cjs/socket/ipcServer.d.ts +40 -0
  198. package/dist/cjs/socket/ipcServer.d.ts.map +1 -0
  199. package/dist/cjs/socket/ipcServer.js +124 -0
  200. package/dist/cjs/socket/ipcServer.js.map +1 -0
  201. package/dist/cjs/socket/socketServer.d.ts +43 -0
  202. package/dist/cjs/socket/socketServer.d.ts.map +1 -0
  203. package/dist/cjs/socket/socketServer.js +116 -0
  204. package/dist/cjs/socket/socketServer.js.map +1 -0
  205. package/dist/cjs/socket/utils.d.ts +13 -0
  206. package/dist/cjs/socket/utils.d.ts.map +1 -0
  207. package/dist/cjs/socket/utils.js +41 -0
  208. package/dist/cjs/socket/utils.js.map +1 -0
  209. package/dist/cjs/storage/index.d.ts +2 -0
  210. package/dist/cjs/storage/index.d.ts.map +1 -0
  211. package/dist/cjs/storage/index.js +6 -0
  212. package/dist/cjs/storage/index.js.map +1 -0
  213. package/dist/cjs/storage/sqliteStorage.d.ts +117 -0
  214. package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -0
  215. package/dist/cjs/storage/sqliteStorage.js +197 -0
  216. package/dist/cjs/storage/sqliteStorage.js.map +1 -0
  217. package/dist/cjs/types/index.d.ts +524 -0
  218. package/dist/cjs/types/index.d.ts.map +1 -0
  219. package/dist/cjs/types/index.js +3 -0
  220. package/dist/cjs/types/index.js.map +1 -0
  221. package/dist/cjs/utils/extend.d.ts +46 -0
  222. package/dist/cjs/utils/extend.d.ts.map +1 -0
  223. package/dist/cjs/utils/extend.js +105 -0
  224. package/dist/cjs/utils/extend.js.map +1 -0
  225. package/dist/cjs/utils/helper.d.ts +169 -0
  226. package/dist/cjs/utils/helper.d.ts.map +1 -0
  227. package/dist/cjs/utils/helper.js +351 -0
  228. package/dist/cjs/utils/helper.js.map +1 -0
  229. package/dist/cjs/utils/index.d.ts +113 -0
  230. package/dist/cjs/utils/index.d.ts.map +1 -0
  231. package/dist/cjs/utils/index.js +344 -0
  232. package/dist/cjs/utils/index.js.map +1 -0
  233. package/dist/cjs/utils/ip.d.ts +42 -0
  234. package/dist/cjs/utils/ip.d.ts.map +1 -0
  235. package/dist/cjs/utils/ip.js +276 -0
  236. package/dist/cjs/utils/ip.js.map +1 -0
  237. package/dist/cjs/utils/is.d.ts +138 -0
  238. package/dist/cjs/utils/is.d.ts.map +1 -0
  239. package/dist/cjs/utils/is.js +203 -0
  240. package/dist/cjs/utils/is.js.map +1 -0
  241. package/dist/cjs/utils/json.d.ts +64 -0
  242. package/dist/cjs/utils/json.d.ts.map +1 -0
  243. package/dist/cjs/utils/json.js +122 -0
  244. package/dist/cjs/utils/json.js.map +1 -0
  245. package/dist/cjs/utils/pargv.d.ts +67 -0
  246. package/dist/cjs/utils/pargv.d.ts.map +1 -0
  247. package/dist/cjs/utils/pargv.js +406 -0
  248. package/dist/cjs/utils/pargv.js.map +1 -0
  249. package/dist/cjs/utils/port/index.d.ts +48 -0
  250. package/dist/cjs/utils/port/index.d.ts.map +1 -0
  251. package/dist/cjs/utils/port/index.js +235 -0
  252. package/dist/cjs/utils/port/index.js.map +1 -0
  253. package/dist/cjs/utils/type_check.d.ts +88 -0
  254. package/dist/cjs/utils/type_check.d.ts.map +1 -0
  255. package/dist/cjs/utils/type_check.js +121 -0
  256. package/dist/cjs/utils/type_check.js.map +1 -0
  257. package/dist/cjs/utils/wrap.d.ts +31 -0
  258. package/dist/cjs/utils/wrap.d.ts.map +1 -0
  259. package/dist/cjs/utils/wrap.js +88 -0
  260. package/dist/cjs/utils/wrap.js.map +1 -0
  261. package/dist/esm/app/application.d.ts +41 -0
  262. package/dist/esm/app/application.d.ts.map +1 -0
  263. package/dist/esm/app/application.js +68 -0
  264. package/dist/esm/app/application.js.map +1 -0
  265. package/dist/esm/app/boot.d.ts +64 -0
  266. package/dist/esm/app/boot.d.ts.map +1 -0
  267. package/dist/esm/app/boot.js +138 -0
  268. package/dist/esm/app/boot.js.map +1 -0
  269. package/dist/esm/app/dir.d.ts +12 -0
  270. package/dist/esm/app/dir.d.ts.map +1 -0
  271. package/dist/esm/app/dir.js +88 -0
  272. package/dist/esm/app/dir.js.map +1 -0
  273. package/dist/esm/app/events.d.ts +71 -0
  274. package/dist/esm/app/events.d.ts.map +1 -0
  275. package/dist/esm/app/events.js +124 -0
  276. package/dist/esm/app/events.js.map +1 -0
  277. package/dist/esm/config/config_loader.d.ts +54 -0
  278. package/dist/esm/config/config_loader.d.ts.map +1 -0
  279. package/dist/esm/config/config_loader.js +137 -0
  280. package/dist/esm/config/config_loader.js.map +1 -0
  281. package/dist/esm/config/default_config.d.ts +8 -0
  282. package/dist/esm/config/default_config.d.ts.map +1 -0
  283. package/dist/esm/config/default_config.js +196 -0
  284. package/dist/esm/config/default_config.js.map +1 -0
  285. package/dist/esm/config/index.d.ts +34 -0
  286. package/dist/esm/config/index.d.ts.map +1 -0
  287. package/dist/esm/config/index.js +69 -0
  288. package/dist/esm/config/index.js.map +1 -0
  289. package/dist/esm/const/channel.d.ts +34 -0
  290. package/dist/esm/const/channel.d.ts.map +1 -0
  291. package/dist/esm/const/channel.js +37 -0
  292. package/dist/esm/const/channel.js.map +1 -0
  293. package/dist/esm/controller/controller_loader.d.ts +29 -0
  294. package/dist/esm/controller/controller_loader.d.ts.map +1 -0
  295. package/dist/esm/controller/controller_loader.js +158 -0
  296. package/dist/esm/controller/controller_loader.js.map +1 -0
  297. package/dist/esm/controller/index.d.ts +36 -0
  298. package/dist/esm/controller/index.d.ts.map +1 -0
  299. package/dist/esm/controller/index.js +88 -0
  300. package/dist/esm/controller/index.js.map +1 -0
  301. package/dist/esm/core/loader/file_loader.d.ts +112 -0
  302. package/dist/esm/core/loader/file_loader.d.ts.map +1 -0
  303. package/dist/esm/core/loader/file_loader.js +283 -0
  304. package/dist/esm/core/loader/file_loader.js.map +1 -0
  305. package/dist/esm/core/utils/index.d.ts +70 -0
  306. package/dist/esm/core/utils/index.d.ts.map +1 -0
  307. package/dist/esm/core/utils/index.js +148 -0
  308. package/dist/esm/core/utils/index.js.map +1 -0
  309. package/dist/esm/core/utils/timing.d.ts +65 -0
  310. package/dist/esm/core/utils/timing.d.ts.map +1 -0
  311. package/dist/esm/core/utils/timing.js +107 -0
  312. package/dist/esm/core/utils/timing.js.map +1 -0
  313. package/dist/esm/cross/cross.d.ts +104 -0
  314. package/dist/esm/cross/cross.d.ts.map +1 -0
  315. package/dist/esm/cross/cross.js +202 -0
  316. package/dist/esm/cross/cross.js.map +1 -0
  317. package/dist/esm/cross/crossProcess.d.ts +118 -0
  318. package/dist/esm/cross/crossProcess.d.ts.map +1 -0
  319. package/dist/esm/cross/crossProcess.js +262 -0
  320. package/dist/esm/cross/crossProcess.js.map +1 -0
  321. package/dist/esm/cross/index.d.ts +4 -0
  322. package/dist/esm/cross/index.d.ts.map +1 -0
  323. package/dist/esm/cross/index.js +9 -0
  324. package/dist/esm/cross/index.js.map +1 -0
  325. package/dist/esm/electron/app/index.d.ts +23 -0
  326. package/dist/esm/electron/app/index.d.ts.map +1 -0
  327. package/dist/esm/electron/app/index.js +99 -0
  328. package/dist/esm/electron/app/index.js.map +1 -0
  329. package/dist/esm/electron/index.d.ts +10 -0
  330. package/dist/esm/electron/index.d.ts.map +1 -0
  331. package/dist/esm/electron/index.js +35 -0
  332. package/dist/esm/electron/index.js.map +1 -0
  333. package/dist/esm/electron/window/index.d.ts +45 -0
  334. package/dist/esm/electron/window/index.d.ts.map +1 -0
  335. package/dist/esm/electron/window/index.js +311 -0
  336. package/dist/esm/electron/window/index.js.map +1 -0
  337. package/dist/esm/exception/index.d.ts +15 -0
  338. package/dist/esm/exception/index.d.ts.map +1 -0
  339. package/dist/esm/exception/index.js +145 -0
  340. package/dist/esm/exception/index.js.map +1 -0
  341. package/dist/esm/html/index.d.ts +21 -0
  342. package/dist/esm/html/index.d.ts.map +1 -0
  343. package/dist/esm/html/index.js +59 -0
  344. package/dist/esm/html/index.js.map +1 -0
  345. package/dist/esm/index.d.ts +60 -0
  346. package/dist/esm/index.d.ts.map +1 -0
  347. package/dist/esm/index.js +245 -0
  348. package/dist/esm/index.js.map +1 -0
  349. package/dist/esm/jobs/child/app.d.ts +2 -0
  350. package/dist/esm/jobs/child/app.d.ts.map +1 -0
  351. package/dist/esm/jobs/child/app.js +132 -0
  352. package/dist/esm/jobs/child/app.js.map +1 -0
  353. package/dist/esm/jobs/child/index.d.ts +29 -0
  354. package/dist/esm/jobs/child/index.d.ts.map +1 -0
  355. package/dist/esm/jobs/child/index.js +78 -0
  356. package/dist/esm/jobs/child/index.js.map +1 -0
  357. package/dist/esm/jobs/child/jobProcess.d.ts +102 -0
  358. package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -0
  359. package/dist/esm/jobs/child/jobProcess.js +196 -0
  360. package/dist/esm/jobs/child/jobProcess.js.map +1 -0
  361. package/dist/esm/jobs/child-pool/index.d.ts +126 -0
  362. package/dist/esm/jobs/child-pool/index.d.ts.map +1 -0
  363. package/dist/esm/jobs/child-pool/index.js +252 -0
  364. package/dist/esm/jobs/child-pool/index.js.map +1 -0
  365. package/dist/esm/jobs/index.d.ts +18 -0
  366. package/dist/esm/jobs/index.d.ts.map +1 -0
  367. package/dist/esm/jobs/index.js +22 -0
  368. package/dist/esm/jobs/index.js.map +1 -0
  369. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +7 -0
  370. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
  371. package/dist/esm/jobs/load-balancer/algorithm/index.js +32 -0
  372. package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -0
  373. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +6 -0
  374. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts.map +1 -0
  375. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +27 -0
  376. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js.map +1 -0
  377. package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +6 -0
  378. package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts.map +1 -0
  379. package/dist/esm/jobs/load-balancer/algorithm/polling.js +15 -0
  380. package/dist/esm/jobs/load-balancer/algorithm/polling.js.map +1 -0
  381. package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +6 -0
  382. package/dist/esm/jobs/load-balancer/algorithm/random.d.ts.map +1 -0
  383. package/dist/esm/jobs/load-balancer/algorithm/random.js +12 -0
  384. package/dist/esm/jobs/load-balancer/algorithm/random.js.map +1 -0
  385. package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +6 -0
  386. package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts.map +1 -0
  387. package/dist/esm/jobs/load-balancer/algorithm/specify.js +18 -0
  388. package/dist/esm/jobs/load-balancer/algorithm/specify.js.map +1 -0
  389. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +6 -0
  390. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -0
  391. package/dist/esm/jobs/load-balancer/algorithm/weights.js +26 -0
  392. package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -0
  393. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +6 -0
  394. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -0
  395. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +32 -0
  396. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -0
  397. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +6 -0
  398. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts.map +1 -0
  399. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +26 -0
  400. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js.map +1 -0
  401. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +6 -0
  402. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts.map +1 -0
  403. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +22 -0
  404. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js.map +1 -0
  405. package/dist/esm/jobs/load-balancer/consts.d.ts +35 -0
  406. package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -0
  407. package/dist/esm/jobs/load-balancer/consts.js +36 -0
  408. package/dist/esm/jobs/load-balancer/consts.js.map +1 -0
  409. package/dist/esm/jobs/load-balancer/index.d.ts +84 -0
  410. package/dist/esm/jobs/load-balancer/index.d.ts.map +1 -0
  411. package/dist/esm/jobs/load-balancer/index.js +195 -0
  412. package/dist/esm/jobs/load-balancer/index.js.map +1 -0
  413. package/dist/esm/jobs/load-balancer/scheduler.d.ts +17 -0
  414. package/dist/esm/jobs/load-balancer/scheduler.d.ts.map +1 -0
  415. package/dist/esm/jobs/load-balancer/scheduler.js +36 -0
  416. package/dist/esm/jobs/load-balancer/scheduler.js.map +1 -0
  417. package/dist/esm/jobs/load-balancer/types.d.ts +43 -0
  418. package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -0
  419. package/dist/esm/jobs/load-balancer/types.js +7 -0
  420. package/dist/esm/jobs/load-balancer/types.js.map +1 -0
  421. package/dist/esm/jobs/registry.d.ts +24 -0
  422. package/dist/esm/jobs/registry.d.ts.map +1 -0
  423. package/dist/esm/jobs/registry.js +52 -0
  424. package/dist/esm/jobs/registry.js.map +1 -0
  425. package/dist/esm/loader/index.d.ts +58 -0
  426. package/dist/esm/loader/index.d.ts.map +1 -0
  427. package/dist/esm/loader/index.js +151 -0
  428. package/dist/esm/loader/index.js.map +1 -0
  429. package/dist/esm/log/index.d.ts +59 -0
  430. package/dist/esm/log/index.d.ts.map +1 -0
  431. package/dist/esm/log/index.js +123 -0
  432. package/dist/esm/log/index.js.map +1 -0
  433. package/dist/esm/log/logger.d.ts +35 -0
  434. package/dist/esm/log/logger.d.ts.map +1 -0
  435. package/dist/esm/log/logger.js +246 -0
  436. package/dist/esm/log/logger.js.map +1 -0
  437. package/dist/esm/message/childMessage.d.ts +58 -0
  438. package/dist/esm/message/childMessage.d.ts.map +1 -0
  439. package/dist/esm/message/childMessage.js +118 -0
  440. package/dist/esm/message/childMessage.js.map +1 -0
  441. package/dist/esm/message/index.d.ts +2 -0
  442. package/dist/esm/message/index.d.ts.map +1 -0
  443. package/dist/esm/message/index.js +7 -0
  444. package/dist/esm/message/index.js.map +1 -0
  445. package/dist/esm/ps/index.d.ts +155 -0
  446. package/dist/esm/ps/index.d.ts.map +1 -0
  447. package/dist/esm/ps/index.js +369 -0
  448. package/dist/esm/ps/index.js.map +1 -0
  449. package/dist/esm/socket/httpServer.d.ts +74 -0
  450. package/dist/esm/socket/httpServer.d.ts.map +1 -0
  451. package/dist/esm/socket/httpServer.js +240 -0
  452. package/dist/esm/socket/httpServer.js.map +1 -0
  453. package/dist/esm/socket/index.d.ts +60 -0
  454. package/dist/esm/socket/index.d.ts.map +1 -0
  455. package/dist/esm/socket/index.js +103 -0
  456. package/dist/esm/socket/index.js.map +1 -0
  457. package/dist/esm/socket/ipcServer.d.ts +40 -0
  458. package/dist/esm/socket/ipcServer.d.ts.map +1 -0
  459. package/dist/esm/socket/ipcServer.js +124 -0
  460. package/dist/esm/socket/ipcServer.js.map +1 -0
  461. package/dist/esm/socket/socketServer.d.ts +43 -0
  462. package/dist/esm/socket/socketServer.d.ts.map +1 -0
  463. package/dist/esm/socket/socketServer.js +116 -0
  464. package/dist/esm/socket/socketServer.js.map +1 -0
  465. package/dist/esm/socket/utils.d.ts +13 -0
  466. package/dist/esm/socket/utils.d.ts.map +1 -0
  467. package/dist/esm/socket/utils.js +41 -0
  468. package/dist/esm/socket/utils.js.map +1 -0
  469. package/dist/esm/storage/index.d.ts +2 -0
  470. package/dist/esm/storage/index.d.ts.map +1 -0
  471. package/dist/esm/storage/index.js +6 -0
  472. package/dist/esm/storage/index.js.map +1 -0
  473. package/dist/esm/storage/sqliteStorage.d.ts +117 -0
  474. package/dist/esm/storage/sqliteStorage.d.ts.map +1 -0
  475. package/dist/esm/storage/sqliteStorage.js +197 -0
  476. package/dist/esm/storage/sqliteStorage.js.map +1 -0
  477. package/dist/esm/types/index.d.ts +524 -0
  478. package/dist/esm/types/index.d.ts.map +1 -0
  479. package/dist/esm/types/index.js +3 -0
  480. package/dist/esm/types/index.js.map +1 -0
  481. package/dist/esm/utils/extend.d.ts +46 -0
  482. package/dist/esm/utils/extend.d.ts.map +1 -0
  483. package/dist/esm/utils/extend.js +105 -0
  484. package/dist/esm/utils/extend.js.map +1 -0
  485. package/dist/esm/utils/helper.d.ts +169 -0
  486. package/dist/esm/utils/helper.d.ts.map +1 -0
  487. package/dist/esm/utils/helper.js +351 -0
  488. package/dist/esm/utils/helper.js.map +1 -0
  489. package/dist/esm/utils/index.d.ts +113 -0
  490. package/dist/esm/utils/index.d.ts.map +1 -0
  491. package/dist/esm/utils/index.js +344 -0
  492. package/dist/esm/utils/index.js.map +1 -0
  493. package/dist/esm/utils/ip.d.ts +42 -0
  494. package/dist/esm/utils/ip.d.ts.map +1 -0
  495. package/dist/esm/utils/ip.js +276 -0
  496. package/dist/esm/utils/ip.js.map +1 -0
  497. package/dist/esm/utils/is.d.ts +138 -0
  498. package/dist/esm/utils/is.d.ts.map +1 -0
  499. package/dist/esm/utils/is.js +203 -0
  500. package/dist/esm/utils/is.js.map +1 -0
  501. package/dist/esm/utils/json.d.ts +64 -0
  502. package/dist/esm/utils/json.d.ts.map +1 -0
  503. package/dist/esm/utils/json.js +122 -0
  504. package/dist/esm/utils/json.js.map +1 -0
  505. package/dist/esm/utils/pargv.d.ts +67 -0
  506. package/dist/esm/utils/pargv.d.ts.map +1 -0
  507. package/dist/esm/utils/pargv.js +406 -0
  508. package/dist/esm/utils/pargv.js.map +1 -0
  509. package/dist/esm/utils/port/index.d.ts +48 -0
  510. package/dist/esm/utils/port/index.d.ts.map +1 -0
  511. package/dist/esm/utils/port/index.js +235 -0
  512. package/dist/esm/utils/port/index.js.map +1 -0
  513. package/dist/esm/utils/type_check.d.ts +88 -0
  514. package/dist/esm/utils/type_check.d.ts.map +1 -0
  515. package/dist/esm/utils/type_check.js +121 -0
  516. package/dist/esm/utils/type_check.js.map +1 -0
  517. package/dist/esm/utils/wrap.d.ts +31 -0
  518. package/dist/esm/utils/wrap.d.ts.map +1 -0
  519. package/dist/esm/utils/wrap.js +88 -0
  520. package/dist/esm/utils/wrap.js.map +1 -0
  521. package/package.json +424 -27
  522. package/LICENSE +0 -21
  523. package/README.md +0 -66
  524. package/app/application.d.ts +0 -5
  525. package/app/application.js +0 -31
  526. package/app/boot.d.ts +0 -5
  527. package/app/boot.js +0 -81
  528. package/app/dir.d.ts +0 -1
  529. package/app/dir.js +0 -27
  530. package/app/events.d.ts +0 -14
  531. package/app/events.js +0 -56
  532. package/app/index.d.ts +0 -2
  533. package/app/index.js +0 -7
  534. package/config/config_loader.d.ts +0 -13
  535. package/config/config_loader.js +0 -66
  536. package/config/default_config.d.ts +0 -95
  537. package/config/default_config.js +0 -111
  538. package/config/index.d.ts +0 -28
  539. package/config/index.js +0 -25
  540. package/const/channel.d.ts +0 -16
  541. package/const/channel.js +0 -28
  542. package/controller/controller_loader.d.ts +0 -9
  543. package/controller/controller_loader.js +0 -78
  544. package/controller/index.d.ts +0 -2
  545. package/controller/index.js +0 -24
  546. package/core/index.d.ts +0 -2
  547. package/core/index.js +0 -12
  548. package/core/loader/file_loader.d.ts +0 -66
  549. package/core/loader/file_loader.js +0 -212
  550. package/core/utils/index.d.ts +0 -12
  551. package/core/utils/index.js +0 -83
  552. package/core/utils/timing.d.ts +0 -22
  553. package/core/utils/timing.js +0 -78
  554. package/cross/cross.d.ts +0 -19
  555. package/cross/cross.js +0 -153
  556. package/cross/crossProcess.d.ts +0 -29
  557. package/cross/crossProcess.js +0 -173
  558. package/cross/index.d.ts +0 -2
  559. package/cross/index.js +0 -8
  560. package/electron/app/index.d.ts +0 -5
  561. package/electron/app/index.js +0 -48
  562. package/electron/index.d.ts +0 -3
  563. package/electron/index.js +0 -16
  564. package/electron/window/index.d.ts +0 -6
  565. package/electron/window/index.js +0 -269
  566. package/exception/index.d.ts +0 -9
  567. package/exception/index.js +0 -101
  568. package/html/boot.html +0 -98
  569. package/html/cross-failure.html +0 -28
  570. package/html/failure.html +0 -28
  571. package/html/index.d.ts +0 -1
  572. package/html/index.js +0 -11
  573. package/index.d.ts +0 -2
  574. package/index.js +0 -7
  575. package/jobs/child/app.d.ts +0 -1
  576. package/jobs/child/app.js +0 -70
  577. package/jobs/child/index.d.ts +0 -13
  578. package/jobs/child/index.js +0 -85
  579. package/jobs/child/jobProcess.d.ts +0 -16
  580. package/jobs/child/jobProcess.js +0 -134
  581. package/jobs/child-pool/index.d.ts +0 -26
  582. package/jobs/child-pool/index.js +0 -190
  583. package/jobs/index.d.ts +0 -3
  584. package/jobs/index.js +0 -7
  585. package/jobs/load-balancer/algorithm/index.d.ts +0 -4
  586. package/jobs/load-balancer/algorithm/index.js +0 -12
  587. package/jobs/load-balancer/algorithm/minimumConnection.d.ts +0 -2
  588. package/jobs/load-balancer/algorithm/minimumConnection.js +0 -19
  589. package/jobs/load-balancer/algorithm/polling.d.ts +0 -2
  590. package/jobs/load-balancer/algorithm/polling.js +0 -12
  591. package/jobs/load-balancer/algorithm/random.d.ts +0 -2
  592. package/jobs/load-balancer/algorithm/random.js +0 -10
  593. package/jobs/load-balancer/algorithm/specify.d.ts +0 -2
  594. package/jobs/load-balancer/algorithm/specify.js +0 -15
  595. package/jobs/load-balancer/algorithm/weights.d.ts +0 -2
  596. package/jobs/load-balancer/algorithm/weights.js +0 -22
  597. package/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +0 -2
  598. package/jobs/load-balancer/algorithm/weightsMinimumConnection.js +0 -30
  599. package/jobs/load-balancer/algorithm/weightsPolling.d.ts +0 -2
  600. package/jobs/load-balancer/algorithm/weightsPolling.js +0 -23
  601. package/jobs/load-balancer/algorithm/weightsRandom.d.ts +0 -2
  602. package/jobs/load-balancer/algorithm/weightsRandom.js +0 -17
  603. package/jobs/load-balancer/consts.d.ts +0 -8
  604. package/jobs/load-balancer/consts.js +0 -10
  605. package/jobs/load-balancer/index.d.ts +0 -96
  606. package/jobs/load-balancer/index.js +0 -202
  607. package/jobs/load-balancer/scheduler.d.ts +0 -16
  608. package/jobs/load-balancer/scheduler.js +0 -32
  609. package/loader/index.d.ts +0 -9
  610. package/loader/index.js +0 -99
  611. package/log/index.d.ts +0 -5
  612. package/log/index.js +0 -86
  613. package/log/logger.d.ts +0 -2
  614. package/log/logger.js +0 -95
  615. package/message/childMessage.d.ts +0 -10
  616. package/message/childMessage.js +0 -43
  617. package/message/index.d.ts +0 -3
  618. package/message/index.js +0 -10
  619. package/ps/index.d.ts +0 -39
  620. package/ps/index.js +0 -295
  621. package/socket/httpServer.d.ts +0 -8
  622. package/socket/httpServer.js +0 -199
  623. package/socket/index.d.ts +0 -10
  624. package/socket/index.js +0 -65
  625. package/socket/ipcServer.d.ts +0 -9
  626. package/socket/ipcServer.js +0 -106
  627. package/socket/socketServer.d.ts +0 -10
  628. package/socket/socketServer.js +0 -82
  629. package/storage/index.d.ts +0 -5
  630. package/storage/index.js +0 -7
  631. package/storage/sqliteStorage.d.ts +0 -16
  632. package/storage/sqliteStorage.js +0 -124
  633. package/tsconfig.json +0 -14
  634. package/utils/extend.d.ts +0 -2
  635. package/utils/extend.js +0 -78
  636. package/utils/helper.d.ts +0 -14
  637. package/utils/helper.js +0 -207
  638. package/utils/index.d.ts +0 -11
  639. package/utils/index.js +0 -198
  640. package/utils/ip.d.ts +0 -2
  641. package/utils/ip.js +0 -221
  642. package/utils/is.d.ts +0 -14
  643. package/utils/is.js +0 -112
  644. package/utils/json.d.ts +0 -5
  645. package/utils/json.js +0 -80
  646. package/utils/pargv.d.ts +0 -3
  647. package/utils/pargv.js +0 -267
  648. package/utils/port/index.d.ts +0 -1
  649. package/utils/port/index.js +0 -126
  650. package/utils/wrap.d.ts +0 -4
  651. package/utils/wrap.js +0 -41
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extend = extend;
4
+ const hasOwn = Object.prototype.hasOwnProperty;
5
+ const toStr = Object.prototype.toString;
6
+ /**
7
+ * Determine if a value is a plain object
8
+ *
9
+ * A plain object is one created via {}, new Object(), or Object.create(null).
10
+ * Excludes built-in type instances (Date, RegExp, Buffer, etc.) and custom class instances.
11
+ *
12
+ * Judgment criteria:
13
+ * 1. toString returns '[object Object]'
14
+ * 2. No own constructor or constructor.prototype has isPrototypeOf
15
+ * 3. Last enumerable property is an own property (leveraging JS engine behavior of enumerating own properties first)
16
+ *
17
+ * @param obj - Value to check
18
+ * @returns true if the value is a plain object
19
+ */
20
+ function isPlainObject(obj) {
21
+ if (!obj || toStr.call(obj) !== '[object Object]') {
22
+ return false;
23
+ }
24
+ const plainObj = obj;
25
+ const hasOwnConstructor = hasOwn.call(plainObj, 'constructor');
26
+ const hasIsPrototypeOf = plainObj.constructor &&
27
+ plainObj.constructor.prototype &&
28
+ hasOwn.call(plainObj.constructor.prototype, 'isPrototypeOf');
29
+ // If has constructor but it's not an own property, and no isPrototypeOf on the prototype chain,
30
+ // the constructor comes from prototype chain inheritance, not a plain object
31
+ if (plainObj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
32
+ return false;
33
+ }
34
+ // Leverage JS engine behavior of enumerating own properties before inherited ones:
35
+ // If the last enumerable property is own, then all enumerable properties are own
36
+ let key;
37
+ for (key in plainObj) {
38
+ // Iterate to the last item
39
+ }
40
+ return typeof key === 'undefined' || hasOwn.call(plainObj, key);
41
+ }
42
+ /**
43
+ * Merge object properties
44
+ *
45
+ * Merges properties from multiple source objects into the target object, supporting shallow and deep merge.
46
+ * This is the core implementation for framework configuration layer merging.
47
+ *
48
+ * Merge rules:
49
+ * - Shallow merge (deep=false): source properties directly overwrite target properties
50
+ * - Deep merge (deep=true): plain objects are recursively merged, non-plain-objects are directly overwritten
51
+ * - Skip __proto__ property, preventing prototype chain pollution
52
+ * - Skip undefined values, will not overwrite existing properties with undefined
53
+ * - Detect self-references (target === val), preventing infinite recursion
54
+ *
55
+ * @param deep - Whether to deep merge, can be a boolean or an object with a deep property
56
+ * @param target - Target object, merge result will be written to this object
57
+ * @param sources - One or more source objects, merged into target in order
58
+ * @returns Merged target object
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * // Shallow merge
63
+ * extend(false, { a: 1 }, { a: 2, b: 3 }); // { a: 2, b: 3 }
64
+ *
65
+ * // Deep merge
66
+ * extend(true, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
67
+ *
68
+ * // Using options object
69
+ * extend({ deep: true }, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
70
+ * ```
71
+ */
72
+ function extend(deep, target, ...sources) {
73
+ // Use Record<string, unknown> for internal mutations to avoid
74
+ // "generic type T can only be indexed for reading" error
75
+ const result = target;
76
+ const isDeep = typeof deep === 'boolean' ? deep : deep?.deep ?? false;
77
+ for (const source of sources) {
78
+ // Skip null and undefined sources
79
+ if (!source)
80
+ continue;
81
+ const src = source;
82
+ for (const key of Object.keys(src)) {
83
+ // Prevent prototype chain pollution: __proto__ property is not merged
84
+ if (key === '__proto__')
85
+ continue;
86
+ const val = src[key];
87
+ const existing = result[key];
88
+ // Detect self-reference: skip when target and val are the same reference, preventing infinite recursion
89
+ if (result === val)
90
+ continue;
91
+ // Deep merge: when value is a plain object, recursively merge instead of overwrite
92
+ if (isDeep && val && isPlainObject(val)) {
93
+ // If target's corresponding property is also a plain object, recursively merge on the original object; otherwise create a new object
94
+ const clone = existing && isPlainObject(existing) ? existing : {};
95
+ result[key] = extend(true, clone, val);
96
+ }
97
+ else if (typeof val !== 'undefined') {
98
+ // Non-undefined values directly overwrite; undefined values do not overwrite existing properties
99
+ result[key] = val;
100
+ }
101
+ }
102
+ }
103
+ return result;
104
+ }
105
+ //# sourceMappingURL=extend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../src/utils/extend.ts"],"names":[],"mappings":";;AA0FA,wBAmCC;AA9GD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,iBAAiB,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,GAA8B,CAAC;IAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GACpB,QAAQ,CAAC,WAAW;QACnB,QAAQ,CAAC,WAAW,CAAC,SAAqC;QAC3D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE/D,gGAAgG;IAChG,6EAA6E;IAC7E,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mFAAmF;IACnF,iFAAiF;IACjF,IAAI,GAAuB,CAAC;IAC5B,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;QACrB,2BAA2B;IAC7B,CAAC;IAED,OAAO,OAAO,GAAG,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,MAAM,CACpB,IAA6B,EAC7B,MAAS,EACT,GAAG,OAAuE;IAE1E,8DAA8D;IAC9D,yDAAyD;IACzD,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC;IAEtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,kCAAkC;QAClC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,GAAG,GAAG,MAAiC,CAAC;QAE9C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,sEAAsE;YACtE,IAAI,GAAG,KAAK,WAAW;gBAAE,SAAS;YAClC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,wGAAwG;YACxG,IAAI,MAAM,KAAK,GAAG;gBAAE,SAAS;YAC7B,mFAAmF;YACnF,IAAI,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,qIAAqI;gBACrI,MAAM,KAAK,GAAG,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,KAAgC,EAAE,GAA8B,CAAC,CAAC;YAC/F,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;gBACtC,iGAAiG;gBACjG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Create debounce function factory
3
+ *
4
+ * Returns a debounce wrapper that applies debounce control to the passed function.
5
+ *
6
+ * Debounce mechanism:
7
+ * - When delayTime is 0 or isImedite is true, the function executes immediately (no debounce)
8
+ * - Otherwise, sets a timer for delayed execution; if the same function is called again before
9
+ * the timer fires, the previous timer is cancelled and reset, ensuring the function only
10
+ * executes once after the last call's delayTime milliseconds
11
+ * - Uses Map with function reference as key to store timers, supporting debounce for multiple
12
+ * different functions simultaneously
13
+ * - Timers are automatically cleaned from the Map after firing, preventing memory leaks
14
+ *
15
+ * @returns Debounce wrapper function
16
+ * @param fn - Target function to debounce
17
+ * @param delayTime - Delay time (ms), 0 or omitted executes immediately
18
+ * @param isImedite - Whether to execute immediately, true skips debounce and calls directly
19
+ * @param args - Arguments to pass to the target function
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const debounce = fnDebounce();
24
+ * // Debounced call: repeated calls within 300ms only execute the last one
25
+ * debounce(myFunction, 300, false, data);
26
+ * // Immediate execution: bypasses debounce
27
+ * debounce(myFunction, 0, true, data);
28
+ * ```
29
+ */
30
+ export declare function fnDebounce(): (fn: (args?: unknown) => void, delayTime?: number, isImedite?: boolean, args?: unknown) => void;
31
+ /**
32
+ * Generate a random string
33
+ *
34
+ * Generates an approximately 10-character alphanumeric string based on Math.random().
35
+ * Suitable for generating temporary identifiers, not for security scenarios.
36
+ *
37
+ * @returns Random string (e.g. 'x3k9m2a1b5')
38
+ */
39
+ export declare function getRandomString(): string;
40
+ /**
41
+ * Recursively create directory
42
+ *
43
+ * No error if directory already exists, equivalent to mkdir -p.
44
+ *
45
+ * @param filepath - Directory path to create
46
+ * @param opt - Optional parameters, mode specifies directory permissions
47
+ */
48
+ export declare function mkdir(filepath: string, opt?: {
49
+ mode?: number;
50
+ }): void;
51
+ /**
52
+ * Recursively modify file and directory permissions
53
+ *
54
+ * Traverses all files and subdirectories under the specified path, recursively modifying permissions.
55
+ * Modifies child file/directory permissions first, then the root directory's own permissions.
56
+ *
57
+ * @param filepath - Target directory path
58
+ * @param mode - Permission value (e.g. 0o755)
59
+ */
60
+ export declare function chmodPath(filepath: string, mode: number): void;
61
+ /**
62
+ * Compare two semantic version numbers
63
+ *
64
+ * Splits version numbers by '.' and compares each segment numerically.
65
+ * Pads shorter versions with 0s for alignment.
66
+ *
67
+ * @param v1 - First version number (e.g. '1.2.3')
68
+ * @param v2 - Second version number (e.g. '1.3.0')
69
+ * @returns 1 if v1 > v2, -1 if v1 < v2, 0 if equal
70
+ */
71
+ export declare function compareVersion(v1: string, v2: string): number;
72
+ /**
73
+ * Serialize object to JSON string
74
+ *
75
+ * Unlike JSON.stringify, can exclude specified fields to hide sensitive information.
76
+ *
77
+ * @param obj - Object to serialize
78
+ * @param ignore - List of property names to exclude
79
+ * @returns Filtered JSON string
80
+ */
81
+ export declare function stringify(obj: Record<string, unknown>, ignore?: string[]): string;
82
+ /**
83
+ * Check if value is valid
84
+ *
85
+ * Determines if the value is non-null, non-undefined, and non-empty string.
86
+ * Commonly used for configuration validation and parameter validity checks.
87
+ *
88
+ * @param value - Value to check
89
+ * @returns true if value is valid, false if value is null/undefined/empty string
90
+ */
91
+ export declare function validValue(value: unknown): boolean;
92
+ /**
93
+ * Check if configuration file exists
94
+ *
95
+ * Checks if the specified path exists as a file under the project root directory,
96
+ * used for pre-checking before configuration loading.
97
+ *
98
+ * @param prop - File path relative to project root
99
+ * @returns true if file exists
100
+ */
101
+ export declare function checkConfig(prop: string): boolean;
102
+ /**
103
+ * Async sleep
104
+ *
105
+ * Returns a Promise that resolves after the specified milliseconds.
106
+ * Releases the event loop during sleep, allowing other async tasks to execute.
107
+ *
108
+ * @param ms - Sleep time (ms)
109
+ * @returns Promise that resolves after ms milliseconds
110
+ */
111
+ export declare function sleep(ms: number): Promise<void>;
112
+ /**
113
+ * Synchronous blocking sleep (does not release event loop)
114
+ *
115
+ * Used in scenarios requiring synchronous waiting, blocks the current thread until
116
+ * the specified time is reached.
117
+ * Implementation strategy:
118
+ * 1. Prefer Atomics.wait: zero CPU usage, achieves true thread blocking via
119
+ * SharedArrayBuffer; Atomics.wait automatically unblocks after timeout
120
+ * 2. Falls back to while loop busy wait: CPU spins but achieves the same blocking effect
121
+ *
122
+ * Suitable for: child process initialization waiting, Electron main process synchronous timing control
123
+ * Not suitable for: renderer process (will freeze UI)
124
+ *
125
+ * @param ms - Sleep time (ms), must be a non-negative finite number
126
+ * @throws TypeError - ms is not of type 'number'
127
+ * @throws RangeError - ms is not in the range [0, Infinity)
128
+ */
129
+ export declare function systemSleep(ms: number): void;
130
+ /**
131
+ * Replace a specified key's value in command line arguments
132
+ *
133
+ * Finds key=value format parameters in the argv array and replaces the value part.
134
+ * Commonly used to dynamically modify parameter values when starting child processes.
135
+ *
136
+ * @param argv - Command line argument array
137
+ * @param key - Parameter key name to replace
138
+ * @param value - New parameter value
139
+ * @returns Modified argv array
140
+ *
141
+ * @example
142
+ * ```ts
143
+ * replaceArgsValue(['--port=8080', '--env=dev'], 'port', '9090')
144
+ * // => ['--port=9090', '--env=dev']
145
+ * ```
146
+ */
147
+ export declare function replaceArgsValue(argv: string[], key: string, value: string): string[];
148
+ /**
149
+ * Get the value of a specified key from command line argument array
150
+ *
151
+ * First parses standard format parameters (--key value) via pargv,
152
+ * then falls back to scanning bare key-value pairs (key=value format, no -- prefix).
153
+ *
154
+ * @param argv - Command line argument array
155
+ * @param key - Key name to look up
156
+ * @returns Value corresponding to the key, or undefined if not found
157
+ */
158
+ export declare function getValueFromArgv(argv: string[], key: string): unknown;
159
+ /**
160
+ * Check if a file exists
161
+ *
162
+ * Determines if the path is a file via fs.statSync.
163
+ * Any error (file not found, insufficient permissions, etc.) returns false.
164
+ *
165
+ * @param filepath - File path
166
+ * @returns true if file exists, false if it doesn't exist or isn't a file
167
+ */
168
+ export declare function fileIsExist(filepath: string): boolean;
169
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/utils/helper.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,UAAU,IAAI,CAC5B,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,EAC5B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,EACnB,IAAI,CAAC,EAAE,OAAO,KACX,IAAI,CAyBR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAe9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAyB7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,CAQrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AA8BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAa5C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAarF;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAerE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMrD"}
@@ -0,0 +1,351 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fnDebounce = fnDebounce;
7
+ exports.getRandomString = getRandomString;
8
+ exports.mkdir = mkdir;
9
+ exports.chmodPath = chmodPath;
10
+ exports.compareVersion = compareVersion;
11
+ exports.stringify = stringify;
12
+ exports.validValue = validValue;
13
+ exports.checkConfig = checkConfig;
14
+ exports.sleep = sleep;
15
+ exports.systemSleep = systemSleep;
16
+ exports.replaceArgsValue = replaceArgsValue;
17
+ exports.getValueFromArgv = getValueFromArgv;
18
+ exports.fileIsExist = fileIsExist;
19
+ /**
20
+ * @module utils/helper
21
+ * @description Common utility function collection. Provides debounce, sleep, version comparison,
22
+ * file operations, command line argument processing and other common functionalities
23
+ * for framework modules and business code.
24
+ */
25
+ const fs_1 = __importDefault(require("fs"));
26
+ const path_1 = __importDefault(require("path"));
27
+ const pargv_js_1 = require("./pargv.js");
28
+ const _basePath = process.cwd();
29
+ /**
30
+ * Create debounce function factory
31
+ *
32
+ * Returns a debounce wrapper that applies debounce control to the passed function.
33
+ *
34
+ * Debounce mechanism:
35
+ * - When delayTime is 0 or isImedite is true, the function executes immediately (no debounce)
36
+ * - Otherwise, sets a timer for delayed execution; if the same function is called again before
37
+ * the timer fires, the previous timer is cancelled and reset, ensuring the function only
38
+ * executes once after the last call's delayTime milliseconds
39
+ * - Uses Map with function reference as key to store timers, supporting debounce for multiple
40
+ * different functions simultaneously
41
+ * - Timers are automatically cleaned from the Map after firing, preventing memory leaks
42
+ *
43
+ * @returns Debounce wrapper function
44
+ * @param fn - Target function to debounce
45
+ * @param delayTime - Delay time (ms), 0 or omitted executes immediately
46
+ * @param isImedite - Whether to execute immediately, true skips debounce and calls directly
47
+ * @param args - Arguments to pass to the target function
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * const debounce = fnDebounce();
52
+ * // Debounced call: repeated calls within 300ms only execute the last one
53
+ * debounce(myFunction, 300, false, data);
54
+ * // Immediate execution: bypasses debounce
55
+ * debounce(myFunction, 0, true, data);
56
+ * ```
57
+ */
58
+ function fnDebounce() {
59
+ const fnMap = new Map();
60
+ return (fn, delayTime, isImedite, args) => {
61
+ const setTimer = () => {
62
+ const timer = setTimeout(() => {
63
+ fn(args);
64
+ clearTimeout(timer);
65
+ // Remove from Map after timer executes, releasing the reference
66
+ fnMap.delete(fn);
67
+ }, delayTime);
68
+ fnMap.set(fn, { delayTime: delayTime || 0, timer });
69
+ };
70
+ // No delay or immediate execution requested, call function directly without debounce
71
+ if (!delayTime || isImedite)
72
+ return fn(args);
73
+ // Same function has a pending timer, cancel the old one and reset (core debounce logic)
74
+ const existing = fnMap.get(fn);
75
+ if (existing) {
76
+ clearTimeout(existing.timer);
77
+ }
78
+ setTimer();
79
+ };
80
+ }
81
+ /**
82
+ * Generate a random string
83
+ *
84
+ * Generates an approximately 10-character alphanumeric string based on Math.random().
85
+ * Suitable for generating temporary identifiers, not for security scenarios.
86
+ *
87
+ * @returns Random string (e.g. 'x3k9m2a1b5')
88
+ */
89
+ function getRandomString() {
90
+ return Math.random().toString(36).substring(2);
91
+ }
92
+ /**
93
+ * Recursively create directory
94
+ *
95
+ * No error if directory already exists, equivalent to mkdir -p.
96
+ *
97
+ * @param filepath - Directory path to create
98
+ * @param opt - Optional parameters, mode specifies directory permissions
99
+ */
100
+ function mkdir(filepath, opt = {}) {
101
+ fs_1.default.mkdirSync(filepath, { recursive: true, ...opt });
102
+ }
103
+ /**
104
+ * Recursively modify file and directory permissions
105
+ *
106
+ * Traverses all files and subdirectories under the specified path, recursively modifying permissions.
107
+ * Modifies child file/directory permissions first, then the root directory's own permissions.
108
+ *
109
+ * @param filepath - Target directory path
110
+ * @param mode - Permission value (e.g. 0o755)
111
+ */
112
+ function chmodPath(filepath, mode) {
113
+ if (fs_1.default.existsSync(filepath)) {
114
+ const files = fs_1.default.readdirSync(filepath);
115
+ files.forEach((file) => {
116
+ const curPath = path_1.default.join(filepath, file);
117
+ if (fs_1.default.statSync(curPath).isDirectory()) {
118
+ // Recursively process subdirectories
119
+ chmodPath(curPath, mode);
120
+ }
121
+ else {
122
+ fs_1.default.chmodSync(curPath, mode);
123
+ }
124
+ });
125
+ // Finally modify the directory's own permissions
126
+ fs_1.default.chmodSync(filepath, mode);
127
+ }
128
+ }
129
+ /**
130
+ * Compare two semantic version numbers
131
+ *
132
+ * Splits version numbers by '.' and compares each segment numerically.
133
+ * Pads shorter versions with 0s for alignment.
134
+ *
135
+ * @param v1 - First version number (e.g. '1.2.3')
136
+ * @param v2 - Second version number (e.g. '1.3.0')
137
+ * @returns 1 if v1 > v2, -1 if v1 < v2, 0 if equal
138
+ */
139
+ function compareVersion(v1, v2) {
140
+ const s1 = v1.split('.');
141
+ const s2 = v2.split('.');
142
+ const len = Math.max(s1.length, s2.length);
143
+ // Pad shorter version with zeros, e.g. '1.2' becomes '1.2.0'
144
+ while (s1.length < len) {
145
+ s1.push('0');
146
+ }
147
+ while (s2.length < len) {
148
+ s2.push('0');
149
+ }
150
+ for (let i = 0; i < len; i++) {
151
+ const num1 = parseInt(s1[i] || '0');
152
+ const num2 = parseInt(s2[i] || '0');
153
+ if (num1 > num2) {
154
+ return 1;
155
+ }
156
+ else if (num1 < num2) {
157
+ return -1;
158
+ }
159
+ }
160
+ return 0;
161
+ }
162
+ /**
163
+ * Serialize object to JSON string
164
+ *
165
+ * Unlike JSON.stringify, can exclude specified fields to hide sensitive information.
166
+ *
167
+ * @param obj - Object to serialize
168
+ * @param ignore - List of property names to exclude
169
+ * @returns Filtered JSON string
170
+ */
171
+ function stringify(obj, ignore = []) {
172
+ const result = {};
173
+ Object.keys(obj).forEach((key) => {
174
+ if (!ignore.includes(key)) {
175
+ result[key] = obj[key];
176
+ }
177
+ });
178
+ return JSON.stringify(result);
179
+ }
180
+ /**
181
+ * Check if value is valid
182
+ *
183
+ * Determines if the value is non-null, non-undefined, and non-empty string.
184
+ * Commonly used for configuration validation and parameter validity checks.
185
+ *
186
+ * @param value - Value to check
187
+ * @returns true if value is valid, false if value is null/undefined/empty string
188
+ */
189
+ function validValue(value) {
190
+ return value !== undefined && value !== null && value !== '';
191
+ }
192
+ /**
193
+ * Check if configuration file exists
194
+ *
195
+ * Checks if the specified path exists as a file under the project root directory,
196
+ * used for pre-checking before configuration loading.
197
+ *
198
+ * @param prop - File path relative to project root
199
+ * @returns true if file exists
200
+ */
201
+ function checkConfig(prop) {
202
+ const filepath = path_1.default.join(_basePath, prop);
203
+ return fs_1.default.existsSync(filepath);
204
+ }
205
+ /**
206
+ * Async sleep
207
+ *
208
+ * Returns a Promise that resolves after the specified milliseconds.
209
+ * Releases the event loop during sleep, allowing other async tasks to execute.
210
+ *
211
+ * @param ms - Sleep time (ms)
212
+ * @returns Promise that resolves after ms milliseconds
213
+ */
214
+ function sleep(ms) {
215
+ return new Promise((resolve) => setTimeout(resolve, ms));
216
+ }
217
+ /**
218
+ * Naive synchronous sleep implementation (polling wait)
219
+ *
220
+ * Continuously checks time via a while loop, high CPU usage.
221
+ * Only used as a fallback when Atomics.wait is unavailable.
222
+ *
223
+ * @param ms - Sleep time (ms)
224
+ */
225
+ const sleepNaive = (ms) => {
226
+ const endTime = Date.now() + ms;
227
+ while (endTime > Date.now()) {
228
+ /* sleeping - busy wait, CPU spinning */
229
+ }
230
+ };
231
+ /**
232
+ * Atomic synchronous sleep implementation
233
+ *
234
+ * Uses Atomics.wait on a SharedArrayBuffer to block the current thread,
235
+ * a truly synchronous blocking approach that does not consume CPU.
236
+ * Requires Node.js environment with SharedArrayBuffer and Atomics support.
237
+ *
238
+ * @param ms - Sleep time (ms), Atomics.wait automatically unblocks after timeout
239
+ */
240
+ const sleepAtomic = (ms) => {
241
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
242
+ };
243
+ /**
244
+ * Synchronous blocking sleep (does not release event loop)
245
+ *
246
+ * Used in scenarios requiring synchronous waiting, blocks the current thread until
247
+ * the specified time is reached.
248
+ * Implementation strategy:
249
+ * 1. Prefer Atomics.wait: zero CPU usage, achieves true thread blocking via
250
+ * SharedArrayBuffer; Atomics.wait automatically unblocks after timeout
251
+ * 2. Falls back to while loop busy wait: CPU spins but achieves the same blocking effect
252
+ *
253
+ * Suitable for: child process initialization waiting, Electron main process synchronous timing control
254
+ * Not suitable for: renderer process (will freeze UI)
255
+ *
256
+ * @param ms - Sleep time (ms), must be a non-negative finite number
257
+ * @throws TypeError - ms is not of type 'number'
258
+ * @throws RangeError - ms is not in the range [0, Infinity)
259
+ */
260
+ function systemSleep(ms) {
261
+ if (typeof ms !== 'number') {
262
+ throw new TypeError(`systemSleep: ms is not of type 'number'. Given: ${ms} of type '${typeof ms}'`);
263
+ }
264
+ if (!(ms >= 0 && ms < Infinity)) {
265
+ throw new RangeError(`systemSleep: ms must be in the range [0, Infinity). Given: ${ms}`);
266
+ }
267
+ // Prefer Atomics approach for zero CPU usage; otherwise fall back to busy wait
268
+ if (typeof SharedArrayBuffer !== 'undefined' && typeof Atomics !== 'undefined') {
269
+ sleepAtomic(ms);
270
+ }
271
+ else {
272
+ sleepNaive(ms);
273
+ }
274
+ }
275
+ /**
276
+ * Replace a specified key's value in command line arguments
277
+ *
278
+ * Finds key=value format parameters in the argv array and replaces the value part.
279
+ * Commonly used to dynamically modify parameter values when starting child processes.
280
+ *
281
+ * @param argv - Command line argument array
282
+ * @param key - Parameter key name to replace
283
+ * @param value - New parameter value
284
+ * @returns Modified argv array
285
+ *
286
+ * @example
287
+ * ```ts
288
+ * replaceArgsValue(['--port=8080', '--env=dev'], 'port', '9090')
289
+ * // => ['--port=9090', '--env=dev']
290
+ * ```
291
+ */
292
+ function replaceArgsValue(argv, key, value) {
293
+ const searchKey = key + '=';
294
+ for (let i = 0; i < argv.length; i++) {
295
+ const item = argv[i];
296
+ if (!item)
297
+ continue;
298
+ const pos = item.indexOf(searchKey);
299
+ if (pos !== -1) {
300
+ // Keep the key= prefix, only replace the value after it
301
+ argv[i] = item.substring(0, pos + searchKey.length) + value;
302
+ break;
303
+ }
304
+ }
305
+ return argv;
306
+ }
307
+ /**
308
+ * Get the value of a specified key from command line argument array
309
+ *
310
+ * First parses standard format parameters (--key value) via pargv,
311
+ * then falls back to scanning bare key-value pairs (key=value format, no -- prefix).
312
+ *
313
+ * @param argv - Command line argument array
314
+ * @param key - Key name to look up
315
+ * @returns Value corresponding to the key, or undefined if not found
316
+ */
317
+ function getValueFromArgv(argv, key) {
318
+ const argvObj = (0, pargv_js_1.parseArgv)(argv);
319
+ if (Object.prototype.hasOwnProperty.call(argvObj, key)) {
320
+ return argvObj[key];
321
+ }
322
+ // Fallback strategy: scan bare key-value pairs without -- prefix
323
+ const searchKey = key + '=';
324
+ for (const item of argv) {
325
+ if (!item)
326
+ continue;
327
+ const pos = item.indexOf(searchKey);
328
+ if (pos !== -1) {
329
+ return item.substring(pos + searchKey.length);
330
+ }
331
+ }
332
+ return undefined;
333
+ }
334
+ /**
335
+ * Check if a file exists
336
+ *
337
+ * Determines if the path is a file via fs.statSync.
338
+ * Any error (file not found, insufficient permissions, etc.) returns false.
339
+ *
340
+ * @param filepath - File path
341
+ * @returns true if file exists, false if it doesn't exist or isn't a file
342
+ */
343
+ function fileIsExist(filepath) {
344
+ try {
345
+ return fs_1.default.statSync(filepath).isFile();
346
+ }
347
+ catch {
348
+ return false;
349
+ }
350
+ }
351
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/utils/helper.ts"],"names":[],"mappings":"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"}