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
@@ -3,6 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extend = extend;
4
4
  const hasOwn = Object.prototype.hasOwnProperty;
5
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
+ */
6
20
  function isPlainObject(obj) {
7
21
  if (!obj || toStr.call(obj) !== '[object Object]') {
8
22
  return false;
@@ -12,46 +26,80 @@ function isPlainObject(obj) {
12
26
  const hasIsPrototypeOf = plainObj.constructor &&
13
27
  plainObj.constructor.prototype &&
14
28
  hasOwn.call(plainObj.constructor.prototype, 'isPrototypeOf');
15
- // Not own constructor property must be Object
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
16
31
  if (plainObj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
17
32
  return false;
18
33
  }
19
- // Own properties are enumerated firstly, so to speed up,
20
- // if last one is own, then all properties are own.
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
21
36
  let key;
22
37
  for (key in plainObj) {
23
- // empty
38
+ // Iterate to the last item
24
39
  }
25
40
  return typeof key === 'undefined' || hasOwn.call(plainObj, key);
26
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
+ */
27
72
  function extend(deep, target, ...sources) {
28
- // Handle a deep copy situation
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;
29
76
  const isDeep = typeof deep === 'boolean' ? deep : deep?.deep ?? false;
30
77
  for (const source of sources) {
31
- // Only deal with non-null/undefined values
78
+ // Skip null and undefined sources
32
79
  if (!source)
33
80
  continue;
34
- // Extend the base object
35
- for (const key of Object.keys(source)) {
81
+ const src = source;
82
+ for (const key of Object.keys(src)) {
83
+ // Prevent prototype chain pollution: __proto__ property is not merged
36
84
  if (key === '__proto__')
37
85
  continue;
38
- const val = source[key];
39
- const src = target[key];
40
- // Prevent never-ending loop
41
- if (target === val)
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)
42
90
  continue;
43
- // Recurse if we're merging plain objects
91
+ // Deep merge: when value is a plain object, recursively merge instead of overwrite
44
92
  if (isDeep && val && isPlainObject(val)) {
45
- const clone = src && isPlainObject(src) ? src : {};
46
- target[key] = extend(true, clone, 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);
47
96
  }
48
97
  else if (typeof val !== 'undefined') {
49
- // Don't bring in undefined values
50
- target[key] = val;
98
+ // Non-undefined values directly overwrite; undefined values do not overwrite existing properties
99
+ result[key] = val;
51
100
  }
52
101
  }
53
102
  }
54
- // Return the modified object
55
- return target;
103
+ return result;
56
104
  }
57
105
  //# sourceMappingURL=extend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../src/utils/extend.ts"],"names":[],"mappings":";;AAgCA,wBAgCC;AA9DD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAExC,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,8CAA8C;IAC9C,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,mDAAmD;IACnD,IAAI,GAAuB,CAAC;IAC5B,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;QACrB,QAAQ;IACV,CAAC;IAED,OAAO,OAAO,GAAG,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,MAAM,CACpB,IAA6B,EAC7B,MAA+B,EAC/B,GAAG,OAA0D;IAE7D,+BAA+B;IAC/B,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,2CAA2C;QAC3C,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,yBAAyB;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,GAAG,KAAK,WAAW;gBAAE,SAAS;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,4BAA4B;YAC5B,IAAI,MAAM,KAAK,GAAG;gBAAE,SAAS;YAC7B,yCAAyC;YACzC,IAAI,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,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,kCAAkC;gBAClC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC"}
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"}
@@ -1,16 +1,169 @@
1
- export declare function fnDebounce(): (fn: (args?: unknown) => void, delayTime?: number, isImediate?: boolean, args?: unknown) => void;
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
+ */
2
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
+ */
3
48
  export declare function mkdir(filepath: string, opt?: {
4
49
  mode?: number;
5
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
+ */
6
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
+ */
7
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
+ */
8
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
+ */
9
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
+ */
10
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
+ */
11
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
+ */
12
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
+ */
13
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
+ */
14
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
+ */
15
168
  export declare function fileIsExist(filepath: string): boolean;
16
169
  //# sourceMappingURL=helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/utils/helper.ts"],"names":[],"mappings":"AAMA,wBAAgB,UAAU,IAAI,CAC5B,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,EAC5B,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,OAAO,EACpB,IAAI,CAAC,EAAE,OAAO,KACX,IAAI,CAwBR;AAGD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAGD,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAEzE;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAa9D;AAGD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAwB7D;AAGD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,CAQrF;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAcD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAY5C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAYrF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAmBrE;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD"}
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"}
@@ -16,62 +16,131 @@ exports.systemSleep = systemSleep;
16
16
  exports.replaceArgsValue = replaceArgsValue;
17
17
  exports.getValueFromArgv = getValueFromArgv;
18
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
+ */
19
25
  const fs_1 = __importDefault(require("fs"));
20
26
  const path_1 = __importDefault(require("path"));
21
27
  const pargv_js_1 = require("./pargv.js");
22
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
+ */
23
58
  function fnDebounce() {
24
- const fnObject = {};
25
- let timer;
26
- return (fn, delayTime, isImediate, args) => {
59
+ const fnMap = new Map();
60
+ return (fn, delayTime, isImedite, args) => {
27
61
  const setTimer = () => {
28
- timer = setTimeout(() => {
62
+ const timer = setTimeout(() => {
29
63
  fn(args);
30
64
  clearTimeout(timer);
31
- delete fnObject[fn];
65
+ // Remove from Map after timer executes, releasing the reference
66
+ fnMap.delete(fn);
32
67
  }, delayTime);
33
- fnObject[fn] = { delayTime: delayTime || 0, timer };
68
+ fnMap.set(fn, { delayTime: delayTime || 0, timer });
34
69
  };
35
- if (!delayTime || isImediate)
70
+ // No delay or immediate execution requested, call function directly without debounce
71
+ if (!delayTime || isImedite)
36
72
  return fn(args);
37
- if (fnObject[fn]) {
38
- clearTimeout(timer);
39
- setTimer();
40
- }
41
- else {
42
- setTimer();
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);
43
77
  }
78
+ setTimer();
44
79
  };
45
80
  }
46
- // 随机10位字符串
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
+ */
47
89
  function getRandomString() {
48
90
  return Math.random().toString(36).substring(2);
49
91
  }
50
- // 创建文件夹
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
+ */
51
100
  function mkdir(filepath, opt = {}) {
52
101
  fs_1.default.mkdirSync(filepath, { recursive: true, ...opt });
53
102
  }
54
- // 修改文件权限
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
+ */
55
112
  function chmodPath(filepath, mode) {
56
113
  if (fs_1.default.existsSync(filepath)) {
57
114
  const files = fs_1.default.readdirSync(filepath);
58
115
  files.forEach((file) => {
59
116
  const curPath = path_1.default.join(filepath, file);
60
117
  if (fs_1.default.statSync(curPath).isDirectory()) {
118
+ // Recursively process subdirectories
61
119
  chmodPath(curPath, mode);
62
120
  }
63
121
  else {
64
122
  fs_1.default.chmodSync(curPath, mode);
65
123
  }
66
124
  });
125
+ // Finally modify the directory's own permissions
67
126
  fs_1.default.chmodSync(filepath, mode);
68
127
  }
69
128
  }
70
- // 版本号比较
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
+ */
71
139
  function compareVersion(v1, v2) {
72
140
  const s1 = v1.split('.');
73
141
  const s2 = v2.split('.');
74
142
  const len = Math.max(s1.length, s2.length);
143
+ // Pad shorter version with zeros, e.g. '1.2' becomes '1.2.0'
75
144
  while (s1.length < len) {
76
145
  s1.push('0');
77
146
  }
@@ -90,7 +159,15 @@ function compareVersion(v1, v2) {
90
159
  }
91
160
  return 0;
92
161
  }
93
- // 序列化对象
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
+ */
94
171
  function stringify(obj, ignore = []) {
95
172
  const result = {};
96
173
  Object.keys(obj).forEach((key) => {
@@ -100,27 +177,86 @@ function stringify(obj, ignore = []) {
100
177
  });
101
178
  return JSON.stringify(result);
102
179
  }
103
- // 是否有效值
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
+ */
104
189
  function validValue(value) {
105
190
  return value !== undefined && value !== null && value !== '';
106
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
+ */
107
201
  function checkConfig(prop) {
108
202
  const filepath = path_1.default.join(_basePath, prop);
109
203
  return fs_1.default.existsSync(filepath);
110
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
+ */
111
214
  function sleep(ms) {
112
215
  return new Promise((resolve) => setTimeout(resolve, ms));
113
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
+ */
114
225
  const sleepNaive = (ms) => {
115
226
  const endTime = Date.now() + ms;
116
227
  while (endTime > Date.now()) {
117
- /* sleeping */
228
+ /* sleeping - busy wait, CPU spinning */
118
229
  }
119
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
+ */
120
240
  const sleepAtomic = (ms) => {
121
241
  Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
122
242
  };
123
- // 同步阻塞休眠(不释放事件循环)
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
+ */
124
260
  function systemSleep(ms) {
125
261
  if (typeof ms !== 'number') {
126
262
  throw new TypeError(`systemSleep: ms is not of type 'number'. Given: ${ms} of type '${typeof ms}'`);
@@ -128,6 +264,7 @@ function systemSleep(ms) {
128
264
  if (!(ms >= 0 && ms < Infinity)) {
129
265
  throw new RangeError(`systemSleep: ms must be in the range [0, Infinity). Given: ${ms}`);
130
266
  }
267
+ // Prefer Atomics approach for zero CPU usage; otherwise fall back to busy wait
131
268
  if (typeof SharedArrayBuffer !== 'undefined' && typeof Atomics !== 'undefined') {
132
269
  sleepAtomic(ms);
133
270
  }
@@ -135,6 +272,23 @@ function systemSleep(ms) {
135
272
  sleepNaive(ms);
136
273
  }
137
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
+ */
138
292
  function replaceArgsValue(argv, key, value) {
139
293
  const searchKey = key + '=';
140
294
  for (let i = 0; i < argv.length; i++) {
@@ -143,32 +297,55 @@ function replaceArgsValue(argv, key, value) {
143
297
  continue;
144
298
  const pos = item.indexOf(searchKey);
145
299
  if (pos !== -1) {
300
+ // Keep the key= prefix, only replace the value after it
146
301
  argv[i] = item.substring(0, pos + searchKey.length) + value;
147
302
  break;
148
303
  }
149
304
  }
150
305
  return argv;
151
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
+ */
152
317
  function getValueFromArgv(argv, key) {
153
318
  const argvObj = (0, pargv_js_1.parseArgv)(argv);
154
319
  if (Object.prototype.hasOwnProperty.call(argvObj, key)) {
155
320
  return argvObj[key];
156
321
  }
322
+ // Fallback strategy: scan bare key-value pairs without -- prefix
157
323
  const searchKey = key + '=';
158
- let value;
159
- for (let i = 0; i < argv.length; i++) {
160
- const item = argv[i];
324
+ for (const item of argv) {
161
325
  if (!item)
162
326
  continue;
163
327
  const pos = item.indexOf(searchKey);
164
328
  if (pos !== -1) {
165
- value = item.substring(pos + searchKey.length);
166
- break;
329
+ return item.substring(pos + searchKey.length);
167
330
  }
168
331
  }
169
- return value;
332
+ return undefined;
170
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
+ */
171
343
  function fileIsExist(filepath) {
172
- return fs_1.default.existsSync(filepath) && fs_1.default.statSync(filepath).isFile();
344
+ try {
345
+ return fs_1.default.statSync(filepath).isFile();
346
+ }
347
+ catch {
348
+ return false;
349
+ }
173
350
  }
174
351
  //# sourceMappingURL=helper.js.map