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
@@ -8,37 +8,86 @@ exports.readSync = readSync;
8
8
  exports.writeSync = writeSync;
9
9
  exports.read = read;
10
10
  exports.write = write;
11
+ /**
12
+ * @module utils/json
13
+ * @description JSON file read/write utility. Provides synchronous and asynchronous JSON file
14
+ * read/write functions, automatically handling directory creation, object serialization, and
15
+ * file path checking, simplifying JSON file operations in framework and business code.
16
+ */
11
17
  const fs_1 = __importDefault(require("fs"));
12
18
  const path_1 = __importDefault(require("path"));
19
+ /**
20
+ * Strictly parse a JSON string
21
+ *
22
+ * Unlike JSON.parse, additionally validates that the parsed result must be an object type,
23
+ * preventing primitive type values (such as strings, numbers) from being parsed.
24
+ *
25
+ * @param str - JSON string
26
+ * @returns Parsed object
27
+ * @throws Error - Throws when parse result is not an object
28
+ */
13
29
  function strictParse(str) {
14
30
  const obj = JSON.parse(str);
31
+ // Ensure parse result is an object, excluding null, primitive values, and arrays
15
32
  if (!obj || typeof obj !== 'object') {
16
33
  throw new Error('JSON string is not object');
17
34
  }
18
35
  return obj;
19
36
  }
37
+ /**
38
+ * Synchronously read a JSON file
39
+ *
40
+ * Reads file content and parses it as an object; throws if file does not exist.
41
+ *
42
+ * @param filepath - JSON file path
43
+ * @returns Parsed object
44
+ * @throws Error - Throws when file does not exist
45
+ */
20
46
  function readSync(filepath) {
21
47
  if (!fs_1.default.existsSync(filepath)) {
22
48
  throw new Error(filepath + ' is not found');
23
49
  }
24
50
  return JSON.parse(fs_1.default.readFileSync(filepath, 'utf8'));
25
51
  }
52
+ /**
53
+ * Synchronously write a JSON file
54
+ *
55
+ * Automatically creates the target directory, objects are automatically serialized to JSON string,
56
+ * non-object values are converted to string for writing. Default uses 2-space indentation.
57
+ *
58
+ * @param filepath - Target file path
59
+ * @param str - Content to write, objects will be serialized by JSON.stringify
60
+ * @param options - Write options (indentation, replacer)
61
+ */
26
62
  function writeSync(filepath, str, options = {}) {
27
63
  const opts = { space: 2, ...options };
64
+ // Ensure target directory exists, avoiding write errors due to missing directory
28
65
  fs_1.default.mkdirSync(path_1.default.dirname(filepath), { recursive: true });
29
66
  let content;
30
67
  if (typeof str === 'object') {
31
68
  content = JSON.stringify(str, opts.replacer, opts.space) + '\n';
32
69
  }
33
70
  else {
71
+ // Non-object values are converted to string directly for writing
34
72
  content = String(str);
35
73
  }
36
74
  fs_1.default.writeFileSync(filepath, content);
37
75
  }
76
+ /**
77
+ * Asynchronously read a JSON file
78
+ *
79
+ * First checks if the file exists and is a regular file, then reads and parses it.
80
+ * Uses fs.promises async API, does not block the event loop.
81
+ *
82
+ * @param filepath - JSON file path
83
+ * @returns Promise of the parsed object
84
+ * @throws Error - Throws when file does not exist or is not a file
85
+ */
38
86
  function read(filepath) {
39
87
  return fs_1.default.promises
40
88
  .stat(filepath)
41
89
  .then((stats) => {
90
+ // Ensure path points to a regular file, not a directory
42
91
  if (!stats.isFile()) {
43
92
  throw new Error(filepath + ' is not found');
44
93
  }
@@ -46,6 +95,18 @@ function read(filepath) {
46
95
  })
47
96
  .then((buf) => JSON.parse(buf));
48
97
  }
98
+ /**
99
+ * Asynchronously write a JSON file
100
+ *
101
+ * Automatically creates the target directory, objects are automatically serialized to JSON string,
102
+ * non-object values are converted to string for writing. Default uses 2-space indentation.
103
+ * Uses fs.promises async API, does not block the event loop.
104
+ *
105
+ * @param filepath - Target file path
106
+ * @param str - Content to write, objects will be serialized by JSON.stringify
107
+ * @param options - Write options (indentation, replacer)
108
+ * @returns Promise that resolves when writing is complete
109
+ */
49
110
  function write(filepath, str, options = {}) {
50
111
  const opts = { space: 2, ...options };
51
112
  let content;
@@ -55,6 +116,7 @@ function write(filepath, str, options = {}) {
55
116
  else {
56
117
  content = String(str);
57
118
  }
119
+ // First ensure directory exists, then write the file
58
120
  return fs_1.default.promises.mkdir(path_1.default.dirname(filepath), { recursive: true }).then(() => fs_1.default.promises.writeFile(filepath, content));
59
121
  }
60
122
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/utils/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/utils/json.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,67 @@
1
+ /**
2
+ * @module utils/pargv
3
+ * @description Lightweight command line argument parser. Provides parseArgv() function that
4
+ * parses a string array into a structured key-value object, supporting short options,
5
+ * long options, aliases, boolean flags, nested properties, and more.
6
+ *
7
+ * Parsing steps:
8
+ * 1. Initialization phase: process boolean/string/alias/default configuration, build flag mappings
9
+ * 2. Split phase: separate arguments into options and non-options parts using '--' as delimiter
10
+ * 3. Item-by-item parsing phase:
11
+ * - `--key=value`: long option with equals sign assignment
12
+ * - `--no-key`: long option negation form (boolean false)
13
+ * - `--key value`: long option followed by value
14
+ * - `-abc`: short option combination (each letter is a separate option)
15
+ * - Bare values: stored in argv._ array
16
+ * 4. Default value filling: fill default values for keys that did not appear
17
+ * 5. Non-option argument handling: based on '--' option, store in argv['--'] or argv._
18
+ *
19
+ * Security: automatically skips __proto__ and constructor properties, preventing prototype chain pollution.
20
+ */
21
+ /** Command line parsing options */
1
22
  export interface ParseArgvOptions {
23
+ /** Declare boolean-type parameters. When true, all --flags are treated as boolean; or specify a list of parameter names */
2
24
  boolean?: boolean | string[];
25
+ /** Parameter alias mapping, e.g. { h: 'help', v: 'version' } */
3
26
  alias?: Record<string, string | string[]>;
27
+ /** Declare string-type parameters; these parameters will not be auto-converted to numbers */
4
28
  string?: string | string[];
29
+ /** Parameter default value mapping */
5
30
  default?: Record<string, unknown>;
31
+ /** Unknown argument handler function; returning false prevents the argument from being parsed */
6
32
  unknown?: (arg: string) => boolean | void;
33
+ /** Stop parsing when the first non-option argument is encountered; remaining arguments go into _ array */
7
34
  stopEarly?: boolean;
35
+ /** Whether to put arguments after '--' into argv['--'] array instead of argv._ */
8
36
  '--'?: boolean;
9
37
  }
38
+ /** Parsed result object */
10
39
  export interface ParsedArgv {
40
+ /** Non-option argument list (bare values and positional arguments) */
11
41
  _: (string | number)[];
42
+ /** Argument list after '--' separator (only present when opts['--'] is true) */
12
43
  '--'?: string[];
44
+ /** Parsed key-value pairs; key names support dot notation nesting (e.g. 'a.b' -> { a: { b: ... } }) */
13
45
  [key: string]: unknown;
14
46
  }
47
+ /**
48
+ * Parse command line argument array
49
+ *
50
+ * Parses a process.argv-style string array into a structured key-value object.
51
+ *
52
+ * @param args - Argument array (typically process.argv.slice(2))
53
+ * @param opts - Parsing options
54
+ * @returns Parsed result object
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * parseArgv(['--name=foo', '-p', '8080', '--verbose', 'file.txt'], {
59
+ * boolean: ['verbose'],
60
+ * alias: { p: 'port' },
61
+ * string: ['name'],
62
+ * })
63
+ * // => { _: ['file.txt'], name: 'foo', port: 8080, verbose: true }
64
+ * ```
65
+ */
15
66
  export declare function parseArgv(args: string[], opts?: ParseArgvOptions): ParsedArgv;
16
67
  //# sourceMappingURL=pargv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pargv.d.ts","sourceRoot":"","sources":["../../../src/utils/pargv.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAiQ7E"}
1
+ {"version":3,"file":"pargv.d.ts","sourceRoot":"","sources":["../../../src/utils/pargv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAiDH,mCAAmC;AACnC,MAAM,WAAW,gBAAgB;IAC/B,2HAA2H;IAC3H,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,iGAAiG;IACjG,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAC1C,0GAA0G;IAC1G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kFAAkF;IAClF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,uGAAuG;IACvG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,UAAU,CA0U7E"}
@@ -1,8 +1,38 @@
1
1
  "use strict";
2
+ /**
3
+ * @module utils/pargv
4
+ * @description Lightweight command line argument parser. Provides parseArgv() function that
5
+ * parses a string array into a structured key-value object, supporting short options,
6
+ * long options, aliases, boolean flags, nested properties, and more.
7
+ *
8
+ * Parsing steps:
9
+ * 1. Initialization phase: process boolean/string/alias/default configuration, build flag mappings
10
+ * 2. Split phase: separate arguments into options and non-options parts using '--' as delimiter
11
+ * 3. Item-by-item parsing phase:
12
+ * - `--key=value`: long option with equals sign assignment
13
+ * - `--no-key`: long option negation form (boolean false)
14
+ * - `--key value`: long option followed by value
15
+ * - `-abc`: short option combination (each letter is a separate option)
16
+ * - Bare values: stored in argv._ array
17
+ * 4. Default value filling: fill default values for keys that did not appear
18
+ * 5. Non-option argument handling: based on '--' option, store in argv['--'] or argv._
19
+ *
20
+ * Security: automatically skips __proto__ and constructor properties, preventing prototype chain pollution.
21
+ */
2
22
  Object.defineProperty(exports, "__esModule", { value: true });
3
23
  exports.parseArgv = parseArgv;
24
+ /**
25
+ * Check if an object has the specified nested key path
26
+ *
27
+ * Traverses down the key path, only checking key existence at the last level (not retrieving value).
28
+ *
29
+ * @param obj - Target object
30
+ * @param keys - Key path array (e.g. ['a', 'b', 'c'])
31
+ * @returns true if the key path exists
32
+ */
4
33
  function hasKey(obj, keys) {
5
34
  let o = obj;
35
+ // Traverse to second-to-last level, retrieving values
6
36
  keys.slice(0, -1).forEach(function (key) {
7
37
  o = o[key] || {};
8
38
  });
@@ -11,19 +41,54 @@ function hasKey(obj, keys) {
11
41
  return false;
12
42
  return key in o;
13
43
  }
44
+ /**
45
+ * Determine if a string is in numeric format
46
+ *
47
+ * Supports hexadecimal (0x prefix), decimal integers and decimals, scientific notation.
48
+ *
49
+ * @param x - String to check
50
+ * @returns true if the string is a valid numeric format
51
+ */
14
52
  function isNumber(x) {
15
- if (typeof x === 'number')
16
- return true;
17
53
  if (/^0x[0-9a-f]+$/i.test(x))
18
54
  return true;
19
55
  return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
20
56
  }
57
+ /**
58
+ * Detect if a key name is constructor or __proto__
59
+ *
60
+ * Used to prevent prototype chain pollution attacks; these special properties should not be set.
61
+ *
62
+ * @param obj - Target object
63
+ * @param key - Key name
64
+ * @returns true if the key is a dangerous property
65
+ */
21
66
  function isConstructorOrProto(obj, key) {
22
67
  return (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';
23
68
  }
69
+ /**
70
+ * Parse command line argument array
71
+ *
72
+ * Parses a process.argv-style string array into a structured key-value object.
73
+ *
74
+ * @param args - Argument array (typically process.argv.slice(2))
75
+ * @param opts - Parsing options
76
+ * @returns Parsed result object
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * parseArgv(['--name=foo', '-p', '8080', '--verbose', 'file.txt'], {
81
+ * boolean: ['verbose'],
82
+ * alias: { p: 'port' },
83
+ * string: ['name'],
84
+ * })
85
+ * // => { _: ['file.txt'], name: 'foo', port: 8080, verbose: true }
86
+ * ```
87
+ */
24
88
  function parseArgv(args, opts) {
25
89
  if (!opts)
26
90
  opts = {};
91
+ // Step 1: Build flag mapping, recording which parameters are boolean or string type
27
92
  const flags = {
28
93
  bools: {},
29
94
  strings: {},
@@ -32,20 +97,30 @@ function parseArgv(args, opts) {
32
97
  if (typeof opts.unknown === 'function') {
33
98
  flags.unknownFn = opts.unknown;
34
99
  }
100
+ // When boolean option is true, all --flag form arguments are treated as boolean
35
101
  if (typeof opts.boolean === 'boolean' && opts.boolean) {
36
102
  flags.allBools = true;
37
103
  }
38
104
  else {
105
+ // Otherwise only mark specified parameter names as boolean
39
106
  [].concat(opts.boolean || []).filter(Boolean).forEach(function (key) {
40
107
  flags.bools[key] = true;
41
108
  });
42
109
  }
110
+ // Step 2: Build bidirectional alias mapping
43
111
  const aliases = {};
112
+ /**
113
+ * Check if any alias of the specified key is boolean
114
+ *
115
+ * @param key - Parameter key name
116
+ * @returns true if any alias of the key is boolean
117
+ */
44
118
  function aliasIsBoolean(key) {
45
119
  return aliases[key]?.some(function (x) {
46
120
  return flags.bools[x];
47
121
  }) ?? false;
48
122
  }
123
+ // Build bidirectional alias mapping: each alias can map to all other aliases and the original key
49
124
  const aliasOpts = opts.alias || {};
50
125
  Object.keys(aliasOpts).forEach(function (key) {
51
126
  const aliasValue = aliasOpts[key];
@@ -54,12 +129,14 @@ function parseArgv(args, opts) {
54
129
  const aliasList = [].concat(aliasValue);
55
130
  aliases[key] = aliasList;
56
131
  aliasList.forEach(function (x) {
132
+ // Each alias maps to the original key + other aliases (excluding itself)
57
133
  const filtered = aliasList.filter(function (y) {
58
134
  return x !== y;
59
135
  });
60
136
  aliases[x] = [key].concat(filtered);
61
137
  });
62
138
  });
139
+ // Step 3: Mark string options in the flag mapping (aliases also need to be synced)
63
140
  const stringOpts = opts.string || [];
64
141
  const stringList = [].concat(stringOpts).filter(Boolean);
65
142
  stringList.forEach(function (key) {
@@ -70,23 +147,47 @@ function parseArgv(args, opts) {
70
147
  });
71
148
  }
72
149
  });
150
+ // Step 4: Extract default values, fill after parsing is complete
73
151
  const defaults = opts.default || {};
152
+ // Initialize result object
74
153
  const argv = { _: [] };
154
+ /**
155
+ * Determine if a parameter key has been defined (via flags or aliases)
156
+ *
157
+ * @param key - Parameter key name
158
+ * @param arg - Original argument string
159
+ * @returns true if the key has been declared
160
+ */
75
161
  function argDefined(key, arg) {
76
- return ((!!flags.allBools && /^--[^=]+$/.test(arg)) ||
162
+ return (
163
+ // In allBools mode, --flag form arguments are all considered defined
164
+ (!!flags.allBools && /^--[^=]+$/.test(arg)) ||
77
165
  !!flags.strings[key] ||
78
166
  !!flags.bools[key] ||
79
167
  !!aliases[key]);
80
168
  }
169
+ /**
170
+ * Set a value along a nested key path
171
+ *
172
+ * Supports dot-separated nested properties, e.g. 'a.b.c' -> obj.a.b.c = value.
173
+ * If the value already exists, repeated arguments with the same key are collected as an array.
174
+ *
175
+ * @param obj - Target object
176
+ * @param keys - Key path array
177
+ * @param value - Value to set
178
+ */
81
179
  function setKey(obj, keys, value) {
82
180
  let o = obj;
83
181
  for (let i = 0; i < keys.length - 1; i++) {
84
182
  const key = keys[i];
183
+ // Skip dangerous properties, preventing prototype chain pollution
85
184
  if (!key || isConstructorOrProto(o, key))
86
185
  return;
186
+ // Auto-create object if intermediate level doesn't exist
87
187
  if (o[key] === undefined)
88
188
  o[key] = {};
89
189
  const oValue = o[key];
190
+ // Prevent overwriting built-in prototype objects
90
191
  if (oValue === Object.prototype ||
91
192
  oValue === Number.prototype ||
92
193
  oValue === String.prototype) {
@@ -97,6 +198,7 @@ function parseArgv(args, opts) {
97
198
  o = o[key];
98
199
  }
99
200
  const lastKey = keys[keys.length - 1];
201
+ // Last level also checks for dangerous properties
100
202
  if (!lastKey || isConstructorOrProto(o, lastKey))
101
203
  return;
102
204
  if (o === Object.prototype || o === Number.prototype || o === String.prototype) {
@@ -105,40 +207,58 @@ function parseArgv(args, opts) {
105
207
  if (o === Array.prototype)
106
208
  o = {};
107
209
  if (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {
210
+ // First assignment or boolean parameter: set directly
108
211
  o[lastKey] = value;
109
212
  }
110
213
  else if (Array.isArray(o[lastKey])) {
214
+ // Existing array: append value
111
215
  o[lastKey].push(value);
112
216
  }
113
217
  else {
218
+ // Existing single value: convert to array
114
219
  o[lastKey] = [o[lastKey], value];
115
220
  }
116
221
  }
222
+ /**
223
+ * Set parameter value and sync to all aliases
224
+ *
225
+ * @param key - Parameter key name
226
+ * @param val - Parameter value
227
+ * @param arg - Original argument string (for unknown check)
228
+ */
117
229
  function setArg(key, val, arg) {
230
+ // Unknown argument check: if argument is undeclared and unknown function returns false, skip it
118
231
  if (arg && flags.unknownFn && !argDefined(key, arg)) {
119
232
  if (flags.unknownFn(arg) === false)
120
233
  return;
121
234
  }
235
+ // Non-string-type parameters with numeric format values are auto-converted to numbers
122
236
  const value = !flags.strings[key] && isNumber(val) ? Number(val) : val;
123
237
  setKey(argv, key.split('.'), value);
238
+ // Sync value to all aliases
124
239
  (aliases[key] || []).forEach(function (x) {
125
240
  setKey(argv, x.split('.'), value);
126
241
  });
127
242
  }
243
+ // Step 5: Pre-set default values for boolean parameters (false when unspecified)
128
244
  Object.keys(flags.bools).forEach(function (key) {
129
245
  setArg(key, defaults[key] === undefined ? false : defaults[key]);
130
246
  });
131
247
  let notFlags = [];
248
+ // Step 6: Split arguments before and after '--'
132
249
  const dashIndex = args.indexOf('--');
133
250
  if (dashIndex !== -1) {
251
+ // All arguments after '--' are treated as non-option arguments
134
252
  notFlags = args.slice(dashIndex + 1);
135
253
  args = args.slice(0, dashIndex);
136
254
  }
255
+ // Step 7: Parse arguments item by item
137
256
  for (let i = 0; i < args.length; i++) {
138
257
  const arg = args[i];
139
258
  if (!arg)
140
259
  continue;
141
260
  let next;
261
+ // Case 1: --key=value long option with equals sign assignment
142
262
  if (/^--.+?=/.test(arg)) {
143
263
  const m = arg.match(/^--([^=]+)=([\s\S]*)$/);
144
264
  if (!m)
@@ -147,12 +267,14 @@ function parseArgv(args, opts) {
147
267
  if (!argKey)
148
268
  continue;
149
269
  let value = m[2];
270
+ // Boolean parameter values only recognize true/false
150
271
  if (flags.bools[argKey]) {
151
272
  value = value !== 'false' ? 'true' : 'false';
152
273
  }
153
274
  setArg(argKey, value, arg);
154
275
  }
155
276
  else if (/^--no-.+/.test(arg)) {
277
+ // Case 2: --no-key negation form, equivalent to --key=false
156
278
  const m = arg.match(/^--no-(.+)$/);
157
279
  if (!m)
158
280
  continue;
@@ -162,6 +284,7 @@ function parseArgv(args, opts) {
162
284
  setArg(argKey, false, arg);
163
285
  }
164
286
  else if (/^--.+/.test(arg)) {
287
+ // Case 3: --key [value] long option followed by optional value
165
288
  const m = arg.match(/^--(.+)$/);
166
289
  if (!m)
167
290
  continue;
@@ -174,18 +297,22 @@ function parseArgv(args, opts) {
174
297
  !flags.bools[argKey] &&
175
298
  !flags.allBools &&
176
299
  (aliases[argKey] ? !aliasIsBoolean(argKey) : true)) {
300
+ // Next argument is a value, not a new option
177
301
  setArg(argKey, next, arg);
178
302
  i += 1;
179
303
  }
180
304
  else if (next && /^(true|false)$/.test(next)) {
305
+ // Explicit boolean value
181
306
  setArg(argKey, next === 'true', arg);
182
307
  i += 1;
183
308
  }
184
309
  else {
310
+ // No value: string type set to empty string, boolean type set to true
185
311
  setArg(argKey, flags.strings[argKey] ? '' : true, arg);
186
312
  }
187
313
  }
188
314
  else if (/^-[^-]+/.test(arg)) {
315
+ // Case 4: -abc short option combination
189
316
  const letters = arg.slice(1, -1).split('');
190
317
  let broken = false;
191
318
  for (let j = 0; j < letters.length; j++) {
@@ -197,11 +324,13 @@ function parseArgv(args, opts) {
197
324
  setArg(letter, next, arg);
198
325
  continue;
199
326
  }
327
+ // -a=value form
200
328
  if (/[A-Za-z]/.test(letter) && next && next[0] === '=') {
201
329
  setArg(letter, next.slice(1), arg);
202
330
  broken = true;
203
331
  break;
204
332
  }
333
+ // -a123 form (letter followed by digits)
205
334
  if (/[A-Za-z]/.test(letter) && next && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
206
335
  setArg(letter, next, arg);
207
336
  broken = true;
@@ -209,14 +338,17 @@ function parseArgv(args, opts) {
209
338
  }
210
339
  const nextLetter = letters[j + 1];
211
340
  if (nextLetter && nextLetter.match(/\W/)) {
341
+ // Non-alphanumeric character treated as start of value
212
342
  setArg(letter, arg.slice(j + 2), arg);
213
343
  broken = true;
214
344
  break;
215
345
  }
216
346
  else {
347
+ // Regular short option flag
217
348
  setArg(letter, flags.strings[letter] ? '' : true, arg);
218
349
  }
219
350
  }
351
+ // Handle the last character of a short option combination, which may need the next argument as value
220
352
  const lastChar = arg.slice(-1);
221
353
  const shortKey = lastChar;
222
354
  if (!broken && shortKey !== '-') {
@@ -238,15 +370,18 @@ function parseArgv(args, opts) {
238
370
  }
239
371
  }
240
372
  else {
373
+ // Case 5: bare value argument, store in _ array
241
374
  if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
242
375
  argv._.push((flags.strings._ || !isNumber(arg) ? arg : Number(arg)));
243
376
  }
377
+ // In stopEarly mode, all subsequent arguments go into _ array
244
378
  if (opts.stopEarly) {
245
379
  argv._.push.apply(argv._, args.slice(i + 1));
246
380
  break;
247
381
  }
248
382
  }
249
383
  }
384
+ // Step 8: Fill default values (only for keys not present in parsing)
250
385
  Object.keys(defaults).forEach(function (k) {
251
386
  if (!hasKey(argv, k.split('.'))) {
252
387
  setKey(argv, k.split('.'), defaults[k]);
@@ -255,10 +390,13 @@ function parseArgv(args, opts) {
255
390
  });
256
391
  }
257
392
  });
393
+ // Step 9: Handle non-option arguments after '--' separator
258
394
  if (opts['--']) {
395
+ // Store in dedicated argv['--'] array
259
396
  argv['--'] = notFlags.slice();
260
397
  }
261
398
  else {
399
+ // Append to _ array
262
400
  notFlags.forEach(function (k) {
263
401
  argv._.push(k);
264
402
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pargv.js","sourceRoot":"","sources":["../../../src/utils/pargv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pargv.js","sourceRoot":"","sources":["../../../src/utils/pargv.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,48 @@
1
+ /** getPort function options */
1
2
  export interface GetPortOptions {
3
+ /**
4
+ * Preferred port number or port range array.
5
+ * - Number: try specified port, increment if unavailable
6
+ * - Array: try in order, OS auto-assigns if all unavailable
7
+ * - Unspecified: OS auto-assigns a random available port
8
+ */
2
9
  port?: number | number[];
10
+ /** Bound host address; if unspecified, checks all interfaces */
3
11
  host?: string;
4
12
  }
13
+ /**
14
+ * Get an available TCP port
15
+ *
16
+ * Finds an available port within the specified range, with a two-level locking mechanism
17
+ * to prevent concurrent allocation conflicts.
18
+ * Search flow:
19
+ * 1. Try binding one by one according to the port check sequence
20
+ * 2. Check if the port is in the locked set (old or young)
21
+ * 3. On lock conflict: if a specific port was requested, throw Locked; otherwise auto-get a new port
22
+ * 4. After finding an available port, add it to the young locked set and return
23
+ *
24
+ * @param options - Port search options
25
+ * @returns Available port number
26
+ * @throws Error - Throws when all ports are unavailable
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * // Get a system auto-assigned random port
31
+ * const port = await getPort();
32
+ *
33
+ * // Try a specific port, auto-find next if unavailable
34
+ * const port = await getPort({ port: 3000 });
35
+ *
36
+ * // Try multiple candidate ports
37
+ * const port = await getPort({ port: [3000, 3001, 3002] });
38
+ * ```
39
+ */
5
40
  export declare function getPort(options?: GetPortOptions): Promise<number>;
41
+ /**
42
+ * Clean up port lock resources
43
+ *
44
+ * Clears the rotation timer and releases all locked ports.
45
+ * Call during application shutdown to ensure resources are cleaned up, preventing timer leaks.
46
+ */
47
+ export declare function releasePortLocks(): void;
6
48
  //# sourceMappingURL=index.d.ts.map