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.
- package/dist/cjs/app/application.d.ts +36 -1
- package/dist/cjs/app/application.d.ts.map +1 -1
- package/dist/cjs/app/application.js +49 -2
- package/dist/cjs/app/application.js.map +1 -1
- package/dist/cjs/app/boot.d.ts +56 -1
- package/dist/cjs/app/boot.d.ts.map +1 -1
- package/dist/cjs/app/boot.js +74 -11
- package/dist/cjs/app/boot.js.map +1 -1
- package/dist/cjs/app/dir.d.ts +10 -0
- package/dist/cjs/app/dir.d.ts.map +1 -1
- package/dist/cjs/app/dir.js +71 -10
- package/dist/cjs/app/dir.js.map +1 -1
- package/dist/cjs/app/events.d.ts +58 -2
- package/dist/cjs/app/events.d.ts.map +1 -1
- package/dist/cjs/app/events.js +92 -12
- package/dist/cjs/app/events.js.map +1 -1
- package/dist/cjs/config/config_loader.d.ts +44 -0
- package/dist/cjs/config/config_loader.d.ts.map +1 -1
- package/dist/cjs/config/config_loader.js +82 -1
- package/dist/cjs/config/config_loader.js.map +1 -1
- package/dist/cjs/config/default_config.d.ts +5 -0
- package/dist/cjs/config/default_config.d.ts.map +1 -1
- package/dist/cjs/config/default_config.js +98 -11
- package/dist/cjs/config/default_config.js.map +1 -1
- package/dist/cjs/config/index.d.ts +31 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +52 -0
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/const/channel.d.ts +17 -0
- package/dist/cjs/const/channel.d.ts.map +1 -1
- package/dist/cjs/const/channel.js +17 -0
- package/dist/cjs/const/channel.js.map +1 -1
- package/dist/cjs/controller/controller_loader.d.ts +20 -1
- package/dist/cjs/controller/controller_loader.d.ts.map +1 -1
- package/dist/cjs/controller/controller_loader.js +89 -9
- package/dist/cjs/controller/controller_loader.js.map +1 -1
- package/dist/cjs/controller/index.d.ts +32 -0
- package/dist/cjs/controller/index.d.ts.map +1 -1
- package/dist/cjs/controller/index.js +66 -0
- package/dist/cjs/controller/index.js.map +1 -1
- package/dist/cjs/core/loader/file_loader.d.ts +78 -27
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
- package/dist/cjs/core/loader/file_loader.js +194 -68
- package/dist/cjs/core/loader/file_loader.js.map +1 -1
- package/dist/cjs/core/utils/index.d.ts +57 -2
- package/dist/cjs/core/utils/index.d.ts.map +1 -1
- package/dist/cjs/core/utils/index.js +120 -12
- package/dist/cjs/core/utils/index.js.map +1 -1
- package/dist/cjs/core/utils/timing.d.ts +47 -0
- package/dist/cjs/core/utils/timing.d.ts.map +1 -1
- package/dist/cjs/core/utils/timing.js +42 -2
- package/dist/cjs/core/utils/timing.js.map +1 -1
- package/dist/cjs/cross/cross.d.ts +81 -2
- package/dist/cjs/cross/cross.d.ts.map +1 -1
- package/dist/cjs/cross/cross.js +86 -16
- package/dist/cjs/cross/cross.js.map +1 -1
- package/dist/cjs/cross/crossProcess.d.ts +85 -14
- package/dist/cjs/cross/crossProcess.d.ts.map +1 -1
- package/dist/cjs/cross/crossProcess.js +85 -13
- package/dist/cjs/cross/crossProcess.js.map +1 -1
- package/dist/cjs/electron/app/index.d.ts +17 -1
- package/dist/cjs/electron/app/index.d.ts.map +1 -1
- package/dist/cjs/electron/app/index.js +27 -3
- package/dist/cjs/electron/app/index.js.map +1 -1
- package/dist/cjs/electron/index.d.ts +6 -0
- package/dist/cjs/electron/index.d.ts.map +1 -1
- package/dist/cjs/electron/index.js +16 -1
- package/dist/cjs/electron/index.js.map +1 -1
- package/dist/cjs/electron/window/index.d.ts +37 -0
- package/dist/cjs/electron/window/index.d.ts.map +1 -1
- package/dist/cjs/electron/window/index.js +144 -88
- package/dist/cjs/electron/window/index.js.map +1 -1
- package/dist/cjs/exception/index.d.ts +12 -0
- package/dist/cjs/exception/index.d.ts.map +1 -1
- package/dist/cjs/exception/index.js +67 -9
- package/dist/cjs/exception/index.js.map +1 -1
- package/dist/cjs/html/index.d.ts +19 -0
- package/dist/cjs/html/index.d.ts.map +1 -1
- package/dist/cjs/html/index.js +42 -0
- package/dist/cjs/html/index.js.map +1 -1
- package/dist/cjs/index.d.ts +35 -7
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +127 -80
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jobs/child/app.js +86 -25
- package/dist/cjs/jobs/child/app.js.map +1 -1
- package/dist/cjs/jobs/child/index.d.ts +5 -5
- package/dist/cjs/jobs/child/index.js +5 -5
- package/dist/cjs/jobs/child/jobProcess.d.ts +68 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/cjs/jobs/child/jobProcess.js +86 -11
- package/dist/cjs/jobs/child/jobProcess.js.map +1 -1
- package/dist/cjs/jobs/child-pool/index.d.ts +96 -0
- package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/cjs/jobs/child-pool/index.js +91 -4
- package/dist/cjs/jobs/child-pool/index.js.map +1 -1
- package/dist/cjs/jobs/index.d.ts +10 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -1
- package/dist/cjs/jobs/index.js +10 -0
- package/dist/cjs/jobs/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/cjs/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/consts.js +22 -0
- package/dist/cjs/jobs/load-balancer/consts.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/index.d.ts +18 -18
- package/dist/cjs/jobs/load-balancer/index.js +18 -18
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/cjs/jobs/load-balancer/scheduler.js +3 -3
- package/dist/cjs/jobs/load-balancer/types.d.ts +21 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/types.js +4 -0
- package/dist/cjs/jobs/load-balancer/types.js.map +1 -1
- package/dist/cjs/jobs/registry.d.ts +24 -0
- package/dist/cjs/jobs/registry.d.ts.map +1 -0
- package/dist/cjs/jobs/registry.js +52 -0
- package/dist/cjs/jobs/registry.js.map +1 -0
- package/dist/cjs/loader/index.d.ts +52 -0
- package/dist/cjs/loader/index.d.ts.map +1 -1
- package/dist/cjs/loader/index.js +79 -10
- package/dist/cjs/loader/index.js.map +1 -1
- package/dist/cjs/log/index.d.ts +41 -0
- package/dist/cjs/log/index.d.ts.map +1 -1
- package/dist/cjs/log/index.js +59 -20
- package/dist/cjs/log/index.js.map +1 -1
- package/dist/cjs/log/logger.d.ts +26 -0
- package/dist/cjs/log/logger.d.ts.map +1 -1
- package/dist/cjs/log/logger.js +122 -2
- package/dist/cjs/log/logger.js.map +1 -1
- package/dist/cjs/message/childMessage.d.ts +50 -0
- package/dist/cjs/message/childMessage.d.ts.map +1 -1
- package/dist/cjs/message/childMessage.js +83 -2
- package/dist/cjs/message/childMessage.js.map +1 -1
- package/dist/cjs/ps/index.d.ts +112 -0
- package/dist/cjs/ps/index.d.ts.map +1 -1
- package/dist/cjs/ps/index.js +175 -41
- package/dist/cjs/ps/index.js.map +1 -1
- package/dist/cjs/socket/httpServer.d.ts +58 -5
- package/dist/cjs/socket/httpServer.d.ts.map +1 -1
- package/dist/cjs/socket/httpServer.js +94 -28
- package/dist/cjs/socket/httpServer.js.map +1 -1
- package/dist/cjs/socket/index.d.ts +45 -3
- package/dist/cjs/socket/index.d.ts.map +1 -1
- package/dist/cjs/socket/index.js +50 -14
- package/dist/cjs/socket/index.js.map +1 -1
- package/dist/cjs/socket/ipcServer.d.ts +31 -1
- package/dist/cjs/socket/ipcServer.d.ts.map +1 -1
- package/dist/cjs/socket/ipcServer.js +60 -43
- package/dist/cjs/socket/ipcServer.js.map +1 -1
- package/dist/cjs/socket/socketServer.d.ts +32 -1
- package/dist/cjs/socket/socketServer.d.ts.map +1 -1
- package/dist/cjs/socket/socketServer.js +53 -14
- package/dist/cjs/socket/socketServer.js.map +1 -1
- package/dist/cjs/socket/utils.d.ts +13 -0
- package/dist/cjs/socket/utils.d.ts.map +1 -0
- package/dist/cjs/socket/utils.js +41 -0
- package/dist/cjs/socket/utils.js.map +1 -0
- package/dist/cjs/storage/sqliteStorage.d.ts +93 -4
- package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/cjs/storage/sqliteStorage.js +121 -9
- package/dist/cjs/storage/sqliteStorage.js.map +1 -1
- package/dist/cjs/types/index.d.ts +373 -5
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/utils/extend.d.ts +44 -1
- package/dist/cjs/utils/extend.d.ts.map +1 -1
- package/dist/cjs/utils/extend.js +67 -19
- package/dist/cjs/utils/extend.js.map +1 -1
- package/dist/cjs/utils/helper.d.ts +154 -1
- package/dist/cjs/utils/helper.d.ts.map +1 -1
- package/dist/cjs/utils/helper.js +205 -28
- package/dist/cjs/utils/helper.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +93 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +136 -12
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ip.d.ts +29 -0
- package/dist/cjs/utils/ip.d.ts.map +1 -1
- package/dist/cjs/utils/ip.js +95 -4
- package/dist/cjs/utils/ip.js.map +1 -1
- package/dist/cjs/utils/is.d.ts +123 -0
- package/dist/cjs/utils/is.d.ts.map +1 -1
- package/dist/cjs/utils/is.js +126 -14
- package/dist/cjs/utils/is.js.map +1 -1
- package/dist/cjs/utils/json.d.ts +54 -0
- package/dist/cjs/utils/json.d.ts.map +1 -1
- package/dist/cjs/utils/json.js +62 -0
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/utils/pargv.d.ts +51 -0
- package/dist/cjs/utils/pargv.d.ts.map +1 -1
- package/dist/cjs/utils/pargv.js +141 -3
- package/dist/cjs/utils/pargv.js.map +1 -1
- package/dist/cjs/utils/port/index.d.ts +42 -0
- package/dist/cjs/utils/port/index.d.ts.map +1 -1
- package/dist/cjs/utils/port/index.js +130 -7
- package/dist/cjs/utils/port/index.js.map +1 -1
- package/dist/cjs/utils/type_check.d.ts +79 -0
- package/dist/cjs/utils/type_check.d.ts.map +1 -1
- package/dist/cjs/utils/type_check.js +87 -1
- package/dist/cjs/utils/type_check.js.map +1 -1
- package/dist/cjs/utils/wrap.d.ts +26 -0
- package/dist/cjs/utils/wrap.d.ts.map +1 -1
- package/dist/cjs/utils/wrap.js +47 -10
- package/dist/cjs/utils/wrap.js.map +1 -1
- package/dist/esm/app/application.d.ts +36 -1
- package/dist/esm/app/application.d.ts.map +1 -1
- package/dist/esm/app/application.js +49 -2
- package/dist/esm/app/application.js.map +1 -1
- package/dist/esm/app/boot.d.ts +56 -1
- package/dist/esm/app/boot.d.ts.map +1 -1
- package/dist/esm/app/boot.js +74 -11
- package/dist/esm/app/boot.js.map +1 -1
- package/dist/esm/app/dir.d.ts +10 -0
- package/dist/esm/app/dir.d.ts.map +1 -1
- package/dist/esm/app/dir.js +71 -10
- package/dist/esm/app/dir.js.map +1 -1
- package/dist/esm/app/events.d.ts +58 -2
- package/dist/esm/app/events.d.ts.map +1 -1
- package/dist/esm/app/events.js +92 -12
- package/dist/esm/app/events.js.map +1 -1
- package/dist/esm/config/config_loader.d.ts +44 -0
- package/dist/esm/config/config_loader.d.ts.map +1 -1
- package/dist/esm/config/config_loader.js +82 -1
- package/dist/esm/config/config_loader.js.map +1 -1
- package/dist/esm/config/default_config.d.ts +5 -0
- package/dist/esm/config/default_config.d.ts.map +1 -1
- package/dist/esm/config/default_config.js +98 -11
- package/dist/esm/config/default_config.js.map +1 -1
- package/dist/esm/config/index.d.ts +31 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +52 -0
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/const/channel.d.ts +17 -0
- package/dist/esm/const/channel.d.ts.map +1 -1
- package/dist/esm/const/channel.js +17 -0
- package/dist/esm/const/channel.js.map +1 -1
- package/dist/esm/controller/controller_loader.d.ts +20 -1
- package/dist/esm/controller/controller_loader.d.ts.map +1 -1
- package/dist/esm/controller/controller_loader.js +89 -9
- package/dist/esm/controller/controller_loader.js.map +1 -1
- package/dist/esm/controller/index.d.ts +32 -0
- package/dist/esm/controller/index.d.ts.map +1 -1
- package/dist/esm/controller/index.js +66 -0
- package/dist/esm/controller/index.js.map +1 -1
- package/dist/esm/core/loader/file_loader.d.ts +78 -27
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
- package/dist/esm/core/loader/file_loader.js +194 -68
- package/dist/esm/core/loader/file_loader.js.map +1 -1
- package/dist/esm/core/utils/index.d.ts +57 -2
- package/dist/esm/core/utils/index.d.ts.map +1 -1
- package/dist/esm/core/utils/index.js +87 -12
- package/dist/esm/core/utils/index.js.map +1 -1
- package/dist/esm/core/utils/timing.d.ts +47 -0
- package/dist/esm/core/utils/timing.d.ts.map +1 -1
- package/dist/esm/core/utils/timing.js +42 -2
- package/dist/esm/core/utils/timing.js.map +1 -1
- package/dist/esm/cross/cross.d.ts +81 -2
- package/dist/esm/cross/cross.d.ts.map +1 -1
- package/dist/esm/cross/cross.js +86 -16
- package/dist/esm/cross/cross.js.map +1 -1
- package/dist/esm/cross/crossProcess.d.ts +85 -14
- package/dist/esm/cross/crossProcess.d.ts.map +1 -1
- package/dist/esm/cross/crossProcess.js +85 -13
- package/dist/esm/cross/crossProcess.js.map +1 -1
- package/dist/esm/electron/app/index.d.ts +17 -1
- package/dist/esm/electron/app/index.d.ts.map +1 -1
- package/dist/esm/electron/app/index.js +27 -3
- package/dist/esm/electron/app/index.js.map +1 -1
- package/dist/esm/electron/index.d.ts +6 -0
- package/dist/esm/electron/index.d.ts.map +1 -1
- package/dist/esm/electron/index.js +16 -1
- package/dist/esm/electron/index.js.map +1 -1
- package/dist/esm/electron/window/index.d.ts +37 -0
- package/dist/esm/electron/window/index.d.ts.map +1 -1
- package/dist/esm/electron/window/index.js +144 -88
- package/dist/esm/electron/window/index.js.map +1 -1
- package/dist/esm/exception/index.d.ts +12 -0
- package/dist/esm/exception/index.d.ts.map +1 -1
- package/dist/esm/exception/index.js +67 -9
- package/dist/esm/exception/index.js.map +1 -1
- package/dist/esm/html/index.d.ts +19 -0
- package/dist/esm/html/index.d.ts.map +1 -1
- package/dist/esm/html/index.js +42 -0
- package/dist/esm/html/index.js.map +1 -1
- package/dist/esm/index.d.ts +35 -7
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +127 -80
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jobs/child/app.js +86 -25
- package/dist/esm/jobs/child/app.js.map +1 -1
- package/dist/esm/jobs/child/index.d.ts +5 -5
- package/dist/esm/jobs/child/index.js +5 -5
- package/dist/esm/jobs/child/jobProcess.d.ts +68 -0
- package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/esm/jobs/child/jobProcess.js +86 -11
- package/dist/esm/jobs/child/jobProcess.js.map +1 -1
- package/dist/esm/jobs/child-pool/index.d.ts +96 -0
- package/dist/esm/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/esm/jobs/child-pool/index.js +91 -4
- package/dist/esm/jobs/child-pool/index.js.map +1 -1
- package/dist/esm/jobs/index.d.ts +10 -0
- package/dist/esm/jobs/index.d.ts.map +1 -1
- package/dist/esm/jobs/index.js +10 -0
- package/dist/esm/jobs/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/esm/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/consts.js +22 -0
- package/dist/esm/jobs/load-balancer/consts.js.map +1 -1
- package/dist/esm/jobs/load-balancer/index.d.ts +18 -18
- package/dist/esm/jobs/load-balancer/index.js +18 -18
- package/dist/esm/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/esm/jobs/load-balancer/scheduler.js +3 -3
- package/dist/esm/jobs/load-balancer/types.d.ts +21 -0
- package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/types.js +4 -0
- package/dist/esm/jobs/load-balancer/types.js.map +1 -1
- package/dist/esm/jobs/registry.d.ts +24 -0
- package/dist/esm/jobs/registry.d.ts.map +1 -0
- package/dist/esm/jobs/registry.js +52 -0
- package/dist/esm/jobs/registry.js.map +1 -0
- package/dist/esm/loader/index.d.ts +52 -0
- package/dist/esm/loader/index.d.ts.map +1 -1
- package/dist/esm/loader/index.js +79 -10
- package/dist/esm/loader/index.js.map +1 -1
- package/dist/esm/log/index.d.ts +41 -0
- package/dist/esm/log/index.d.ts.map +1 -1
- package/dist/esm/log/index.js +59 -20
- package/dist/esm/log/index.js.map +1 -1
- package/dist/esm/log/logger.d.ts +26 -0
- package/dist/esm/log/logger.d.ts.map +1 -1
- package/dist/esm/log/logger.js +122 -2
- package/dist/esm/log/logger.js.map +1 -1
- package/dist/esm/message/childMessage.d.ts +50 -0
- package/dist/esm/message/childMessage.d.ts.map +1 -1
- package/dist/esm/message/childMessage.js +83 -2
- package/dist/esm/message/childMessage.js.map +1 -1
- package/dist/esm/ps/index.d.ts +112 -0
- package/dist/esm/ps/index.d.ts.map +1 -1
- package/dist/esm/ps/index.js +175 -41
- package/dist/esm/ps/index.js.map +1 -1
- package/dist/esm/socket/httpServer.d.ts +58 -5
- package/dist/esm/socket/httpServer.d.ts.map +1 -1
- package/dist/esm/socket/httpServer.js +94 -28
- package/dist/esm/socket/httpServer.js.map +1 -1
- package/dist/esm/socket/index.d.ts +45 -3
- package/dist/esm/socket/index.d.ts.map +1 -1
- package/dist/esm/socket/index.js +50 -14
- package/dist/esm/socket/index.js.map +1 -1
- package/dist/esm/socket/ipcServer.d.ts +31 -1
- package/dist/esm/socket/ipcServer.d.ts.map +1 -1
- package/dist/esm/socket/ipcServer.js +60 -43
- package/dist/esm/socket/ipcServer.js.map +1 -1
- package/dist/esm/socket/socketServer.d.ts +32 -1
- package/dist/esm/socket/socketServer.d.ts.map +1 -1
- package/dist/esm/socket/socketServer.js +53 -14
- package/dist/esm/socket/socketServer.js.map +1 -1
- package/dist/esm/socket/utils.d.ts +13 -0
- package/dist/esm/socket/utils.d.ts.map +1 -0
- package/dist/esm/socket/utils.js +41 -0
- package/dist/esm/socket/utils.js.map +1 -0
- package/dist/esm/storage/sqliteStorage.d.ts +93 -4
- package/dist/esm/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/esm/storage/sqliteStorage.js +121 -9
- package/dist/esm/storage/sqliteStorage.js.map +1 -1
- package/dist/esm/types/index.d.ts +373 -5
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/utils/extend.d.ts +44 -1
- package/dist/esm/utils/extend.d.ts.map +1 -1
- package/dist/esm/utils/extend.js +67 -19
- package/dist/esm/utils/extend.js.map +1 -1
- package/dist/esm/utils/helper.d.ts +154 -1
- package/dist/esm/utils/helper.d.ts.map +1 -1
- package/dist/esm/utils/helper.js +205 -28
- package/dist/esm/utils/helper.js.map +1 -1
- package/dist/esm/utils/index.d.ts +93 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +136 -12
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ip.d.ts +29 -0
- package/dist/esm/utils/ip.d.ts.map +1 -1
- package/dist/esm/utils/ip.js +95 -4
- package/dist/esm/utils/ip.js.map +1 -1
- package/dist/esm/utils/is.d.ts +123 -0
- package/dist/esm/utils/is.d.ts.map +1 -1
- package/dist/esm/utils/is.js +126 -14
- package/dist/esm/utils/is.js.map +1 -1
- package/dist/esm/utils/json.d.ts +54 -0
- package/dist/esm/utils/json.d.ts.map +1 -1
- package/dist/esm/utils/json.js +62 -0
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/utils/pargv.d.ts +51 -0
- package/dist/esm/utils/pargv.d.ts.map +1 -1
- package/dist/esm/utils/pargv.js +141 -3
- package/dist/esm/utils/pargv.js.map +1 -1
- package/dist/esm/utils/port/index.d.ts +42 -0
- package/dist/esm/utils/port/index.d.ts.map +1 -1
- package/dist/esm/utils/port/index.js +130 -7
- package/dist/esm/utils/port/index.js.map +1 -1
- package/dist/esm/utils/type_check.d.ts +79 -0
- package/dist/esm/utils/type_check.d.ts.map +1 -1
- package/dist/esm/utils/type_check.js +87 -1
- package/dist/esm/utils/type_check.js.map +1 -1
- package/dist/esm/utils/wrap.d.ts +26 -0
- package/dist/esm/utils/wrap.d.ts.map +1 -1
- package/dist/esm/utils/wrap.js +47 -10
- package/dist/esm/utils/wrap.js.map +1 -1
- package/package.json +13 -13
package/dist/esm/utils/json.js
CHANGED
|
@@ -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":";;;;;
|
|
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":"
|
|
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"}
|
package/dist/esm/utils/pargv.js
CHANGED
|
@@ -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 (
|
|
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
|