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/extend.js
CHANGED
|
@@ -3,6 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.extend = extend;
|
|
4
4
|
const hasOwn = Object.prototype.hasOwnProperty;
|
|
5
5
|
const toStr = Object.prototype.toString;
|
|
6
|
+
/**
|
|
7
|
+
* Determine if a value is a plain object
|
|
8
|
+
*
|
|
9
|
+
* A plain object is one created via {}, new Object(), or Object.create(null).
|
|
10
|
+
* Excludes built-in type instances (Date, RegExp, Buffer, etc.) and custom class instances.
|
|
11
|
+
*
|
|
12
|
+
* Judgment criteria:
|
|
13
|
+
* 1. toString returns '[object Object]'
|
|
14
|
+
* 2. No own constructor or constructor.prototype has isPrototypeOf
|
|
15
|
+
* 3. Last enumerable property is an own property (leveraging JS engine behavior of enumerating own properties first)
|
|
16
|
+
*
|
|
17
|
+
* @param obj - Value to check
|
|
18
|
+
* @returns true if the value is a plain object
|
|
19
|
+
*/
|
|
6
20
|
function isPlainObject(obj) {
|
|
7
21
|
if (!obj || toStr.call(obj) !== '[object Object]') {
|
|
8
22
|
return false;
|
|
@@ -12,46 +26,80 @@ function isPlainObject(obj) {
|
|
|
12
26
|
const hasIsPrototypeOf = plainObj.constructor &&
|
|
13
27
|
plainObj.constructor.prototype &&
|
|
14
28
|
hasOwn.call(plainObj.constructor.prototype, 'isPrototypeOf');
|
|
15
|
-
//
|
|
29
|
+
// If has constructor but it's not an own property, and no isPrototypeOf on the prototype chain,
|
|
30
|
+
// the constructor comes from prototype chain inheritance, not a plain object
|
|
16
31
|
if (plainObj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
|
|
17
32
|
return false;
|
|
18
33
|
}
|
|
19
|
-
//
|
|
20
|
-
//
|
|
34
|
+
// Leverage JS engine behavior of enumerating own properties before inherited ones:
|
|
35
|
+
// If the last enumerable property is own, then all enumerable properties are own
|
|
21
36
|
let key;
|
|
22
37
|
for (key in plainObj) {
|
|
23
|
-
//
|
|
38
|
+
// Iterate to the last item
|
|
24
39
|
}
|
|
25
40
|
return typeof key === 'undefined' || hasOwn.call(plainObj, key);
|
|
26
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Merge object properties
|
|
44
|
+
*
|
|
45
|
+
* Merges properties from multiple source objects into the target object, supporting shallow and deep merge.
|
|
46
|
+
* This is the core implementation for framework configuration layer merging.
|
|
47
|
+
*
|
|
48
|
+
* Merge rules:
|
|
49
|
+
* - Shallow merge (deep=false): source properties directly overwrite target properties
|
|
50
|
+
* - Deep merge (deep=true): plain objects are recursively merged, non-plain-objects are directly overwritten
|
|
51
|
+
* - Skip __proto__ property, preventing prototype chain pollution
|
|
52
|
+
* - Skip undefined values, will not overwrite existing properties with undefined
|
|
53
|
+
* - Detect self-references (target === val), preventing infinite recursion
|
|
54
|
+
*
|
|
55
|
+
* @param deep - Whether to deep merge, can be a boolean or an object with a deep property
|
|
56
|
+
* @param target - Target object, merge result will be written to this object
|
|
57
|
+
* @param sources - One or more source objects, merged into target in order
|
|
58
|
+
* @returns Merged target object
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* // Shallow merge
|
|
63
|
+
* extend(false, { a: 1 }, { a: 2, b: 3 }); // { a: 2, b: 3 }
|
|
64
|
+
*
|
|
65
|
+
* // Deep merge
|
|
66
|
+
* extend(true, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
|
|
67
|
+
*
|
|
68
|
+
* // Using options object
|
|
69
|
+
* extend({ deep: true }, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
27
72
|
function extend(deep, target, ...sources) {
|
|
28
|
-
//
|
|
73
|
+
// Use Record<string, unknown> for internal mutations to avoid
|
|
74
|
+
// "generic type T can only be indexed for reading" error
|
|
75
|
+
const result = target;
|
|
29
76
|
const isDeep = typeof deep === 'boolean' ? deep : deep?.deep ?? false;
|
|
30
77
|
for (const source of sources) {
|
|
31
|
-
//
|
|
78
|
+
// Skip null and undefined sources
|
|
32
79
|
if (!source)
|
|
33
80
|
continue;
|
|
34
|
-
|
|
35
|
-
for (const key of Object.keys(
|
|
81
|
+
const src = source;
|
|
82
|
+
for (const key of Object.keys(src)) {
|
|
83
|
+
// Prevent prototype chain pollution: __proto__ property is not merged
|
|
36
84
|
if (key === '__proto__')
|
|
37
85
|
continue;
|
|
38
|
-
const val =
|
|
39
|
-
const
|
|
40
|
-
//
|
|
41
|
-
if (
|
|
86
|
+
const val = src[key];
|
|
87
|
+
const existing = result[key];
|
|
88
|
+
// Detect self-reference: skip when target and val are the same reference, preventing infinite recursion
|
|
89
|
+
if (result === val)
|
|
42
90
|
continue;
|
|
43
|
-
//
|
|
91
|
+
// Deep merge: when value is a plain object, recursively merge instead of overwrite
|
|
44
92
|
if (isDeep && val && isPlainObject(val)) {
|
|
45
|
-
|
|
46
|
-
|
|
93
|
+
// If target's corresponding property is also a plain object, recursively merge on the original object; otherwise create a new object
|
|
94
|
+
const clone = existing && isPlainObject(existing) ? existing : {};
|
|
95
|
+
result[key] = extend(true, clone, val);
|
|
47
96
|
}
|
|
48
97
|
else if (typeof val !== 'undefined') {
|
|
49
|
-
//
|
|
50
|
-
|
|
98
|
+
// Non-undefined values directly overwrite; undefined values do not overwrite existing properties
|
|
99
|
+
result[key] = val;
|
|
51
100
|
}
|
|
52
101
|
}
|
|
53
102
|
}
|
|
54
|
-
|
|
55
|
-
return target;
|
|
103
|
+
return result;
|
|
56
104
|
}
|
|
57
105
|
//# sourceMappingURL=extend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../src/utils/extend.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../src/utils/extend.ts"],"names":[],"mappings":";;AA0FA,wBAmCC;AA9GD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,iBAAiB,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,GAA8B,CAAC;IAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GACpB,QAAQ,CAAC,WAAW;QACnB,QAAQ,CAAC,WAAW,CAAC,SAAqC;QAC3D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE/D,gGAAgG;IAChG,6EAA6E;IAC7E,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mFAAmF;IACnF,iFAAiF;IACjF,IAAI,GAAuB,CAAC;IAC5B,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;QACrB,2BAA2B;IAC7B,CAAC;IAED,OAAO,OAAO,GAAG,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,MAAM,CACpB,IAA6B,EAC7B,MAAS,EACT,GAAG,OAAuE;IAE1E,8DAA8D;IAC9D,yDAAyD;IACzD,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC;IAEtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,kCAAkC;QAClC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,GAAG,GAAG,MAAiC,CAAC;QAE9C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,sEAAsE;YACtE,IAAI,GAAG,KAAK,WAAW;gBAAE,SAAS;YAClC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,wGAAwG;YACxG,IAAI,MAAM,KAAK,GAAG;gBAAE,SAAS;YAC7B,mFAAmF;YACnF,IAAI,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,qIAAqI;gBACrI,MAAM,KAAK,GAAG,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,KAAgC,EAAE,GAA8B,CAAC,CAAC;YAC/F,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;gBACtC,iGAAiG;gBACjG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC"}
|
|
@@ -1,16 +1,169 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Create debounce function factory
|
|
3
|
+
*
|
|
4
|
+
* Returns a debounce wrapper that applies debounce control to the passed function.
|
|
5
|
+
*
|
|
6
|
+
* Debounce mechanism:
|
|
7
|
+
* - When delayTime is 0 or isImedite is true, the function executes immediately (no debounce)
|
|
8
|
+
* - Otherwise, sets a timer for delayed execution; if the same function is called again before
|
|
9
|
+
* the timer fires, the previous timer is cancelled and reset, ensuring the function only
|
|
10
|
+
* executes once after the last call's delayTime milliseconds
|
|
11
|
+
* - Uses Map with function reference as key to store timers, supporting debounce for multiple
|
|
12
|
+
* different functions simultaneously
|
|
13
|
+
* - Timers are automatically cleaned from the Map after firing, preventing memory leaks
|
|
14
|
+
*
|
|
15
|
+
* @returns Debounce wrapper function
|
|
16
|
+
* @param fn - Target function to debounce
|
|
17
|
+
* @param delayTime - Delay time (ms), 0 or omitted executes immediately
|
|
18
|
+
* @param isImedite - Whether to execute immediately, true skips debounce and calls directly
|
|
19
|
+
* @param args - Arguments to pass to the target function
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const debounce = fnDebounce();
|
|
24
|
+
* // Debounced call: repeated calls within 300ms only execute the last one
|
|
25
|
+
* debounce(myFunction, 300, false, data);
|
|
26
|
+
* // Immediate execution: bypasses debounce
|
|
27
|
+
* debounce(myFunction, 0, true, data);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function fnDebounce(): (fn: (args?: unknown) => void, delayTime?: number, isImedite?: boolean, args?: unknown) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Generate a random string
|
|
33
|
+
*
|
|
34
|
+
* Generates an approximately 10-character alphanumeric string based on Math.random().
|
|
35
|
+
* Suitable for generating temporary identifiers, not for security scenarios.
|
|
36
|
+
*
|
|
37
|
+
* @returns Random string (e.g. 'x3k9m2a1b5')
|
|
38
|
+
*/
|
|
2
39
|
export declare function getRandomString(): string;
|
|
40
|
+
/**
|
|
41
|
+
* Recursively create directory
|
|
42
|
+
*
|
|
43
|
+
* No error if directory already exists, equivalent to mkdir -p.
|
|
44
|
+
*
|
|
45
|
+
* @param filepath - Directory path to create
|
|
46
|
+
* @param opt - Optional parameters, mode specifies directory permissions
|
|
47
|
+
*/
|
|
3
48
|
export declare function mkdir(filepath: string, opt?: {
|
|
4
49
|
mode?: number;
|
|
5
50
|
}): void;
|
|
51
|
+
/**
|
|
52
|
+
* Recursively modify file and directory permissions
|
|
53
|
+
*
|
|
54
|
+
* Traverses all files and subdirectories under the specified path, recursively modifying permissions.
|
|
55
|
+
* Modifies child file/directory permissions first, then the root directory's own permissions.
|
|
56
|
+
*
|
|
57
|
+
* @param filepath - Target directory path
|
|
58
|
+
* @param mode - Permission value (e.g. 0o755)
|
|
59
|
+
*/
|
|
6
60
|
export declare function chmodPath(filepath: string, mode: number): void;
|
|
61
|
+
/**
|
|
62
|
+
* Compare two semantic version numbers
|
|
63
|
+
*
|
|
64
|
+
* Splits version numbers by '.' and compares each segment numerically.
|
|
65
|
+
* Pads shorter versions with 0s for alignment.
|
|
66
|
+
*
|
|
67
|
+
* @param v1 - First version number (e.g. '1.2.3')
|
|
68
|
+
* @param v2 - Second version number (e.g. '1.3.0')
|
|
69
|
+
* @returns 1 if v1 > v2, -1 if v1 < v2, 0 if equal
|
|
70
|
+
*/
|
|
7
71
|
export declare function compareVersion(v1: string, v2: string): number;
|
|
72
|
+
/**
|
|
73
|
+
* Serialize object to JSON string
|
|
74
|
+
*
|
|
75
|
+
* Unlike JSON.stringify, can exclude specified fields to hide sensitive information.
|
|
76
|
+
*
|
|
77
|
+
* @param obj - Object to serialize
|
|
78
|
+
* @param ignore - List of property names to exclude
|
|
79
|
+
* @returns Filtered JSON string
|
|
80
|
+
*/
|
|
8
81
|
export declare function stringify(obj: Record<string, unknown>, ignore?: string[]): string;
|
|
82
|
+
/**
|
|
83
|
+
* Check if value is valid
|
|
84
|
+
*
|
|
85
|
+
* Determines if the value is non-null, non-undefined, and non-empty string.
|
|
86
|
+
* Commonly used for configuration validation and parameter validity checks.
|
|
87
|
+
*
|
|
88
|
+
* @param value - Value to check
|
|
89
|
+
* @returns true if value is valid, false if value is null/undefined/empty string
|
|
90
|
+
*/
|
|
9
91
|
export declare function validValue(value: unknown): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Check if configuration file exists
|
|
94
|
+
*
|
|
95
|
+
* Checks if the specified path exists as a file under the project root directory,
|
|
96
|
+
* used for pre-checking before configuration loading.
|
|
97
|
+
*
|
|
98
|
+
* @param prop - File path relative to project root
|
|
99
|
+
* @returns true if file exists
|
|
100
|
+
*/
|
|
10
101
|
export declare function checkConfig(prop: string): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Async sleep
|
|
104
|
+
*
|
|
105
|
+
* Returns a Promise that resolves after the specified milliseconds.
|
|
106
|
+
* Releases the event loop during sleep, allowing other async tasks to execute.
|
|
107
|
+
*
|
|
108
|
+
* @param ms - Sleep time (ms)
|
|
109
|
+
* @returns Promise that resolves after ms milliseconds
|
|
110
|
+
*/
|
|
11
111
|
export declare function sleep(ms: number): Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Synchronous blocking sleep (does not release event loop)
|
|
114
|
+
*
|
|
115
|
+
* Used in scenarios requiring synchronous waiting, blocks the current thread until
|
|
116
|
+
* the specified time is reached.
|
|
117
|
+
* Implementation strategy:
|
|
118
|
+
* 1. Prefer Atomics.wait: zero CPU usage, achieves true thread blocking via
|
|
119
|
+
* SharedArrayBuffer; Atomics.wait automatically unblocks after timeout
|
|
120
|
+
* 2. Falls back to while loop busy wait: CPU spins but achieves the same blocking effect
|
|
121
|
+
*
|
|
122
|
+
* Suitable for: child process initialization waiting, Electron main process synchronous timing control
|
|
123
|
+
* Not suitable for: renderer process (will freeze UI)
|
|
124
|
+
*
|
|
125
|
+
* @param ms - Sleep time (ms), must be a non-negative finite number
|
|
126
|
+
* @throws TypeError - ms is not of type 'number'
|
|
127
|
+
* @throws RangeError - ms is not in the range [0, Infinity)
|
|
128
|
+
*/
|
|
12
129
|
export declare function systemSleep(ms: number): void;
|
|
130
|
+
/**
|
|
131
|
+
* Replace a specified key's value in command line arguments
|
|
132
|
+
*
|
|
133
|
+
* Finds key=value format parameters in the argv array and replaces the value part.
|
|
134
|
+
* Commonly used to dynamically modify parameter values when starting child processes.
|
|
135
|
+
*
|
|
136
|
+
* @param argv - Command line argument array
|
|
137
|
+
* @param key - Parameter key name to replace
|
|
138
|
+
* @param value - New parameter value
|
|
139
|
+
* @returns Modified argv array
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* replaceArgsValue(['--port=8080', '--env=dev'], 'port', '9090')
|
|
144
|
+
* // => ['--port=9090', '--env=dev']
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
13
147
|
export declare function replaceArgsValue(argv: string[], key: string, value: string): string[];
|
|
148
|
+
/**
|
|
149
|
+
* Get the value of a specified key from command line argument array
|
|
150
|
+
*
|
|
151
|
+
* First parses standard format parameters (--key value) via pargv,
|
|
152
|
+
* then falls back to scanning bare key-value pairs (key=value format, no -- prefix).
|
|
153
|
+
*
|
|
154
|
+
* @param argv - Command line argument array
|
|
155
|
+
* @param key - Key name to look up
|
|
156
|
+
* @returns Value corresponding to the key, or undefined if not found
|
|
157
|
+
*/
|
|
14
158
|
export declare function getValueFromArgv(argv: string[], key: string): unknown;
|
|
159
|
+
/**
|
|
160
|
+
* Check if a file exists
|
|
161
|
+
*
|
|
162
|
+
* Determines if the path is a file via fs.statSync.
|
|
163
|
+
* Any error (file not found, insufficient permissions, etc.) returns false.
|
|
164
|
+
*
|
|
165
|
+
* @param filepath - File path
|
|
166
|
+
* @returns true if file exists, false if it doesn't exist or isn't a file
|
|
167
|
+
*/
|
|
15
168
|
export declare function fileIsExist(filepath: string): boolean;
|
|
16
169
|
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/utils/helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/utils/helper.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,UAAU,IAAI,CAC5B,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,EAC5B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,EACnB,IAAI,CAAC,EAAE,OAAO,KACX,IAAI,CAyBR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAe9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAyB7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,MAAM,CAQrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AA8BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAa5C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAarF;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAerE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMrD"}
|
package/dist/esm/utils/helper.js
CHANGED
|
@@ -16,62 +16,131 @@ exports.systemSleep = systemSleep;
|
|
|
16
16
|
exports.replaceArgsValue = replaceArgsValue;
|
|
17
17
|
exports.getValueFromArgv = getValueFromArgv;
|
|
18
18
|
exports.fileIsExist = fileIsExist;
|
|
19
|
+
/**
|
|
20
|
+
* @module utils/helper
|
|
21
|
+
* @description Common utility function collection. Provides debounce, sleep, version comparison,
|
|
22
|
+
* file operations, command line argument processing and other common functionalities
|
|
23
|
+
* for framework modules and business code.
|
|
24
|
+
*/
|
|
19
25
|
const fs_1 = __importDefault(require("fs"));
|
|
20
26
|
const path_1 = __importDefault(require("path"));
|
|
21
27
|
const pargv_js_1 = require("./pargv.js");
|
|
22
28
|
const _basePath = process.cwd();
|
|
29
|
+
/**
|
|
30
|
+
* Create debounce function factory
|
|
31
|
+
*
|
|
32
|
+
* Returns a debounce wrapper that applies debounce control to the passed function.
|
|
33
|
+
*
|
|
34
|
+
* Debounce mechanism:
|
|
35
|
+
* - When delayTime is 0 or isImedite is true, the function executes immediately (no debounce)
|
|
36
|
+
* - Otherwise, sets a timer for delayed execution; if the same function is called again before
|
|
37
|
+
* the timer fires, the previous timer is cancelled and reset, ensuring the function only
|
|
38
|
+
* executes once after the last call's delayTime milliseconds
|
|
39
|
+
* - Uses Map with function reference as key to store timers, supporting debounce for multiple
|
|
40
|
+
* different functions simultaneously
|
|
41
|
+
* - Timers are automatically cleaned from the Map after firing, preventing memory leaks
|
|
42
|
+
*
|
|
43
|
+
* @returns Debounce wrapper function
|
|
44
|
+
* @param fn - Target function to debounce
|
|
45
|
+
* @param delayTime - Delay time (ms), 0 or omitted executes immediately
|
|
46
|
+
* @param isImedite - Whether to execute immediately, true skips debounce and calls directly
|
|
47
|
+
* @param args - Arguments to pass to the target function
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* const debounce = fnDebounce();
|
|
52
|
+
* // Debounced call: repeated calls within 300ms only execute the last one
|
|
53
|
+
* debounce(myFunction, 300, false, data);
|
|
54
|
+
* // Immediate execution: bypasses debounce
|
|
55
|
+
* debounce(myFunction, 0, true, data);
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
23
58
|
function fnDebounce() {
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
return (fn, delayTime, isImediate, args) => {
|
|
59
|
+
const fnMap = new Map();
|
|
60
|
+
return (fn, delayTime, isImedite, args) => {
|
|
27
61
|
const setTimer = () => {
|
|
28
|
-
timer = setTimeout(() => {
|
|
62
|
+
const timer = setTimeout(() => {
|
|
29
63
|
fn(args);
|
|
30
64
|
clearTimeout(timer);
|
|
31
|
-
|
|
65
|
+
// Remove from Map after timer executes, releasing the reference
|
|
66
|
+
fnMap.delete(fn);
|
|
32
67
|
}, delayTime);
|
|
33
|
-
|
|
68
|
+
fnMap.set(fn, { delayTime: delayTime || 0, timer });
|
|
34
69
|
};
|
|
35
|
-
|
|
70
|
+
// No delay or immediate execution requested, call function directly without debounce
|
|
71
|
+
if (!delayTime || isImedite)
|
|
36
72
|
return fn(args);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
else {
|
|
42
|
-
setTimer();
|
|
73
|
+
// Same function has a pending timer, cancel the old one and reset (core debounce logic)
|
|
74
|
+
const existing = fnMap.get(fn);
|
|
75
|
+
if (existing) {
|
|
76
|
+
clearTimeout(existing.timer);
|
|
43
77
|
}
|
|
78
|
+
setTimer();
|
|
44
79
|
};
|
|
45
80
|
}
|
|
46
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Generate a random string
|
|
83
|
+
*
|
|
84
|
+
* Generates an approximately 10-character alphanumeric string based on Math.random().
|
|
85
|
+
* Suitable for generating temporary identifiers, not for security scenarios.
|
|
86
|
+
*
|
|
87
|
+
* @returns Random string (e.g. 'x3k9m2a1b5')
|
|
88
|
+
*/
|
|
47
89
|
function getRandomString() {
|
|
48
90
|
return Math.random().toString(36).substring(2);
|
|
49
91
|
}
|
|
50
|
-
|
|
92
|
+
/**
|
|
93
|
+
* Recursively create directory
|
|
94
|
+
*
|
|
95
|
+
* No error if directory already exists, equivalent to mkdir -p.
|
|
96
|
+
*
|
|
97
|
+
* @param filepath - Directory path to create
|
|
98
|
+
* @param opt - Optional parameters, mode specifies directory permissions
|
|
99
|
+
*/
|
|
51
100
|
function mkdir(filepath, opt = {}) {
|
|
52
101
|
fs_1.default.mkdirSync(filepath, { recursive: true, ...opt });
|
|
53
102
|
}
|
|
54
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Recursively modify file and directory permissions
|
|
105
|
+
*
|
|
106
|
+
* Traverses all files and subdirectories under the specified path, recursively modifying permissions.
|
|
107
|
+
* Modifies child file/directory permissions first, then the root directory's own permissions.
|
|
108
|
+
*
|
|
109
|
+
* @param filepath - Target directory path
|
|
110
|
+
* @param mode - Permission value (e.g. 0o755)
|
|
111
|
+
*/
|
|
55
112
|
function chmodPath(filepath, mode) {
|
|
56
113
|
if (fs_1.default.existsSync(filepath)) {
|
|
57
114
|
const files = fs_1.default.readdirSync(filepath);
|
|
58
115
|
files.forEach((file) => {
|
|
59
116
|
const curPath = path_1.default.join(filepath, file);
|
|
60
117
|
if (fs_1.default.statSync(curPath).isDirectory()) {
|
|
118
|
+
// Recursively process subdirectories
|
|
61
119
|
chmodPath(curPath, mode);
|
|
62
120
|
}
|
|
63
121
|
else {
|
|
64
122
|
fs_1.default.chmodSync(curPath, mode);
|
|
65
123
|
}
|
|
66
124
|
});
|
|
125
|
+
// Finally modify the directory's own permissions
|
|
67
126
|
fs_1.default.chmodSync(filepath, mode);
|
|
68
127
|
}
|
|
69
128
|
}
|
|
70
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Compare two semantic version numbers
|
|
131
|
+
*
|
|
132
|
+
* Splits version numbers by '.' and compares each segment numerically.
|
|
133
|
+
* Pads shorter versions with 0s for alignment.
|
|
134
|
+
*
|
|
135
|
+
* @param v1 - First version number (e.g. '1.2.3')
|
|
136
|
+
* @param v2 - Second version number (e.g. '1.3.0')
|
|
137
|
+
* @returns 1 if v1 > v2, -1 if v1 < v2, 0 if equal
|
|
138
|
+
*/
|
|
71
139
|
function compareVersion(v1, v2) {
|
|
72
140
|
const s1 = v1.split('.');
|
|
73
141
|
const s2 = v2.split('.');
|
|
74
142
|
const len = Math.max(s1.length, s2.length);
|
|
143
|
+
// Pad shorter version with zeros, e.g. '1.2' becomes '1.2.0'
|
|
75
144
|
while (s1.length < len) {
|
|
76
145
|
s1.push('0');
|
|
77
146
|
}
|
|
@@ -90,7 +159,15 @@ function compareVersion(v1, v2) {
|
|
|
90
159
|
}
|
|
91
160
|
return 0;
|
|
92
161
|
}
|
|
93
|
-
|
|
162
|
+
/**
|
|
163
|
+
* Serialize object to JSON string
|
|
164
|
+
*
|
|
165
|
+
* Unlike JSON.stringify, can exclude specified fields to hide sensitive information.
|
|
166
|
+
*
|
|
167
|
+
* @param obj - Object to serialize
|
|
168
|
+
* @param ignore - List of property names to exclude
|
|
169
|
+
* @returns Filtered JSON string
|
|
170
|
+
*/
|
|
94
171
|
function stringify(obj, ignore = []) {
|
|
95
172
|
const result = {};
|
|
96
173
|
Object.keys(obj).forEach((key) => {
|
|
@@ -100,27 +177,86 @@ function stringify(obj, ignore = []) {
|
|
|
100
177
|
});
|
|
101
178
|
return JSON.stringify(result);
|
|
102
179
|
}
|
|
103
|
-
|
|
180
|
+
/**
|
|
181
|
+
* Check if value is valid
|
|
182
|
+
*
|
|
183
|
+
* Determines if the value is non-null, non-undefined, and non-empty string.
|
|
184
|
+
* Commonly used for configuration validation and parameter validity checks.
|
|
185
|
+
*
|
|
186
|
+
* @param value - Value to check
|
|
187
|
+
* @returns true if value is valid, false if value is null/undefined/empty string
|
|
188
|
+
*/
|
|
104
189
|
function validValue(value) {
|
|
105
190
|
return value !== undefined && value !== null && value !== '';
|
|
106
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Check if configuration file exists
|
|
194
|
+
*
|
|
195
|
+
* Checks if the specified path exists as a file under the project root directory,
|
|
196
|
+
* used for pre-checking before configuration loading.
|
|
197
|
+
*
|
|
198
|
+
* @param prop - File path relative to project root
|
|
199
|
+
* @returns true if file exists
|
|
200
|
+
*/
|
|
107
201
|
function checkConfig(prop) {
|
|
108
202
|
const filepath = path_1.default.join(_basePath, prop);
|
|
109
203
|
return fs_1.default.existsSync(filepath);
|
|
110
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Async sleep
|
|
207
|
+
*
|
|
208
|
+
* Returns a Promise that resolves after the specified milliseconds.
|
|
209
|
+
* Releases the event loop during sleep, allowing other async tasks to execute.
|
|
210
|
+
*
|
|
211
|
+
* @param ms - Sleep time (ms)
|
|
212
|
+
* @returns Promise that resolves after ms milliseconds
|
|
213
|
+
*/
|
|
111
214
|
function sleep(ms) {
|
|
112
215
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
113
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Naive synchronous sleep implementation (polling wait)
|
|
219
|
+
*
|
|
220
|
+
* Continuously checks time via a while loop, high CPU usage.
|
|
221
|
+
* Only used as a fallback when Atomics.wait is unavailable.
|
|
222
|
+
*
|
|
223
|
+
* @param ms - Sleep time (ms)
|
|
224
|
+
*/
|
|
114
225
|
const sleepNaive = (ms) => {
|
|
115
226
|
const endTime = Date.now() + ms;
|
|
116
227
|
while (endTime > Date.now()) {
|
|
117
|
-
/* sleeping */
|
|
228
|
+
/* sleeping - busy wait, CPU spinning */
|
|
118
229
|
}
|
|
119
230
|
};
|
|
231
|
+
/**
|
|
232
|
+
* Atomic synchronous sleep implementation
|
|
233
|
+
*
|
|
234
|
+
* Uses Atomics.wait on a SharedArrayBuffer to block the current thread,
|
|
235
|
+
* a truly synchronous blocking approach that does not consume CPU.
|
|
236
|
+
* Requires Node.js environment with SharedArrayBuffer and Atomics support.
|
|
237
|
+
*
|
|
238
|
+
* @param ms - Sleep time (ms), Atomics.wait automatically unblocks after timeout
|
|
239
|
+
*/
|
|
120
240
|
const sleepAtomic = (ms) => {
|
|
121
241
|
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
|
|
122
242
|
};
|
|
123
|
-
|
|
243
|
+
/**
|
|
244
|
+
* Synchronous blocking sleep (does not release event loop)
|
|
245
|
+
*
|
|
246
|
+
* Used in scenarios requiring synchronous waiting, blocks the current thread until
|
|
247
|
+
* the specified time is reached.
|
|
248
|
+
* Implementation strategy:
|
|
249
|
+
* 1. Prefer Atomics.wait: zero CPU usage, achieves true thread blocking via
|
|
250
|
+
* SharedArrayBuffer; Atomics.wait automatically unblocks after timeout
|
|
251
|
+
* 2. Falls back to while loop busy wait: CPU spins but achieves the same blocking effect
|
|
252
|
+
*
|
|
253
|
+
* Suitable for: child process initialization waiting, Electron main process synchronous timing control
|
|
254
|
+
* Not suitable for: renderer process (will freeze UI)
|
|
255
|
+
*
|
|
256
|
+
* @param ms - Sleep time (ms), must be a non-negative finite number
|
|
257
|
+
* @throws TypeError - ms is not of type 'number'
|
|
258
|
+
* @throws RangeError - ms is not in the range [0, Infinity)
|
|
259
|
+
*/
|
|
124
260
|
function systemSleep(ms) {
|
|
125
261
|
if (typeof ms !== 'number') {
|
|
126
262
|
throw new TypeError(`systemSleep: ms is not of type 'number'. Given: ${ms} of type '${typeof ms}'`);
|
|
@@ -128,6 +264,7 @@ function systemSleep(ms) {
|
|
|
128
264
|
if (!(ms >= 0 && ms < Infinity)) {
|
|
129
265
|
throw new RangeError(`systemSleep: ms must be in the range [0, Infinity). Given: ${ms}`);
|
|
130
266
|
}
|
|
267
|
+
// Prefer Atomics approach for zero CPU usage; otherwise fall back to busy wait
|
|
131
268
|
if (typeof SharedArrayBuffer !== 'undefined' && typeof Atomics !== 'undefined') {
|
|
132
269
|
sleepAtomic(ms);
|
|
133
270
|
}
|
|
@@ -135,6 +272,23 @@ function systemSleep(ms) {
|
|
|
135
272
|
sleepNaive(ms);
|
|
136
273
|
}
|
|
137
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Replace a specified key's value in command line arguments
|
|
277
|
+
*
|
|
278
|
+
* Finds key=value format parameters in the argv array and replaces the value part.
|
|
279
|
+
* Commonly used to dynamically modify parameter values when starting child processes.
|
|
280
|
+
*
|
|
281
|
+
* @param argv - Command line argument array
|
|
282
|
+
* @param key - Parameter key name to replace
|
|
283
|
+
* @param value - New parameter value
|
|
284
|
+
* @returns Modified argv array
|
|
285
|
+
*
|
|
286
|
+
* @example
|
|
287
|
+
* ```ts
|
|
288
|
+
* replaceArgsValue(['--port=8080', '--env=dev'], 'port', '9090')
|
|
289
|
+
* // => ['--port=9090', '--env=dev']
|
|
290
|
+
* ```
|
|
291
|
+
*/
|
|
138
292
|
function replaceArgsValue(argv, key, value) {
|
|
139
293
|
const searchKey = key + '=';
|
|
140
294
|
for (let i = 0; i < argv.length; i++) {
|
|
@@ -143,32 +297,55 @@ function replaceArgsValue(argv, key, value) {
|
|
|
143
297
|
continue;
|
|
144
298
|
const pos = item.indexOf(searchKey);
|
|
145
299
|
if (pos !== -1) {
|
|
300
|
+
// Keep the key= prefix, only replace the value after it
|
|
146
301
|
argv[i] = item.substring(0, pos + searchKey.length) + value;
|
|
147
302
|
break;
|
|
148
303
|
}
|
|
149
304
|
}
|
|
150
305
|
return argv;
|
|
151
306
|
}
|
|
307
|
+
/**
|
|
308
|
+
* Get the value of a specified key from command line argument array
|
|
309
|
+
*
|
|
310
|
+
* First parses standard format parameters (--key value) via pargv,
|
|
311
|
+
* then falls back to scanning bare key-value pairs (key=value format, no -- prefix).
|
|
312
|
+
*
|
|
313
|
+
* @param argv - Command line argument array
|
|
314
|
+
* @param key - Key name to look up
|
|
315
|
+
* @returns Value corresponding to the key, or undefined if not found
|
|
316
|
+
*/
|
|
152
317
|
function getValueFromArgv(argv, key) {
|
|
153
318
|
const argvObj = (0, pargv_js_1.parseArgv)(argv);
|
|
154
319
|
if (Object.prototype.hasOwnProperty.call(argvObj, key)) {
|
|
155
320
|
return argvObj[key];
|
|
156
321
|
}
|
|
322
|
+
// Fallback strategy: scan bare key-value pairs without -- prefix
|
|
157
323
|
const searchKey = key + '=';
|
|
158
|
-
|
|
159
|
-
for (let i = 0; i < argv.length; i++) {
|
|
160
|
-
const item = argv[i];
|
|
324
|
+
for (const item of argv) {
|
|
161
325
|
if (!item)
|
|
162
326
|
continue;
|
|
163
327
|
const pos = item.indexOf(searchKey);
|
|
164
328
|
if (pos !== -1) {
|
|
165
|
-
|
|
166
|
-
break;
|
|
329
|
+
return item.substring(pos + searchKey.length);
|
|
167
330
|
}
|
|
168
331
|
}
|
|
169
|
-
return
|
|
332
|
+
return undefined;
|
|
170
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* Check if a file exists
|
|
336
|
+
*
|
|
337
|
+
* Determines if the path is a file via fs.statSync.
|
|
338
|
+
* Any error (file not found, insufficient permissions, etc.) returns false.
|
|
339
|
+
*
|
|
340
|
+
* @param filepath - File path
|
|
341
|
+
* @returns true if file exists, false if it doesn't exist or isn't a file
|
|
342
|
+
*/
|
|
171
343
|
function fileIsExist(filepath) {
|
|
172
|
-
|
|
344
|
+
try {
|
|
345
|
+
return fs_1.default.statSync(filepath).isFile();
|
|
346
|
+
}
|
|
347
|
+
catch {
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
173
350
|
}
|
|
174
351
|
//# sourceMappingURL=helper.js.map
|