ee-core 5.0.0-beta.2 → 5.0.0-beta.6
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/README.md +178 -0
- 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 +77 -27
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
- package/dist/cjs/core/loader/file_loader.js +239 -75
- 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 +77 -27
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
- package/dist/esm/core/loader/file_loader.js +239 -75
- 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 +12 -13
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
@@ -9,32 +42,49 @@ exports.callFn = callFn;
|
|
|
9
42
|
exports.getResolvedFilename = getResolvedFilename;
|
|
10
43
|
exports.isBytecodeClass = isBytecodeClass;
|
|
11
44
|
exports.filePatterns = filePatterns;
|
|
45
|
+
exports.loadFileAsync = loadFileAsync;
|
|
46
|
+
/**
|
|
47
|
+
* @module core/utils
|
|
48
|
+
* @description Core utility functions. Provides file loading, function invocation, bytecode class detection,
|
|
49
|
+
* and other foundational capabilities. Serves as a low-level dependency for FileLoader and other modules.
|
|
50
|
+
*/
|
|
12
51
|
require("bytenode");
|
|
13
52
|
const type_check_js_1 = require("../../utils/type_check.js");
|
|
14
53
|
const path_1 = __importDefault(require("path"));
|
|
15
54
|
const fs_1 = __importDefault(require("fs"));
|
|
16
55
|
const module_1 = require("module");
|
|
17
|
-
|
|
56
|
+
// __filename is available in CJS; in pure ESM without a bundler, use cwd as the base path for createRequire
|
|
57
|
+
const requireMod = (0, module_1.createRequire)(typeof __filename !== 'undefined'
|
|
58
|
+
? __filename
|
|
59
|
+
: path_1.default.join(process.cwd(), '__virtual__.js'));
|
|
18
60
|
const Module = requireMod('module');
|
|
19
|
-
//
|
|
20
|
-
// '.js': [Function (anonymous)],
|
|
21
|
-
// '.json': [Function (anonymous)],
|
|
22
|
-
// '.node': [Function: func],
|
|
23
|
-
// '.jsc': [Function (anonymous)]
|
|
61
|
+
// File extensions natively supported by Node.js (including .jsc registered by bytenode)
|
|
24
62
|
const extensions = Module._extensions;
|
|
25
63
|
exports.extensions = extensions;
|
|
64
|
+
/**
|
|
65
|
+
* Load a file synchronously
|
|
66
|
+
*
|
|
67
|
+
* Execution flow:
|
|
68
|
+
* 1. Non-JS files (extensions not in Module._extensions) -> return file content as Buffer
|
|
69
|
+
* 2. JS/CJS/JSC files -> load module using require()
|
|
70
|
+
* 3. ESM modules (with __esModule marker) -> extract default export
|
|
71
|
+
*
|
|
72
|
+
* @param filepath - Absolute file path
|
|
73
|
+
* @returns File content (Buffer) or module export value
|
|
74
|
+
* @throws Throws an error containing the file path when file loading fails
|
|
75
|
+
*/
|
|
26
76
|
function loadFile(filepath) {
|
|
27
77
|
try {
|
|
28
|
-
//
|
|
78
|
+
// Non-JS module, return file content directly
|
|
29
79
|
const extname = path_1.default.extname(filepath);
|
|
30
80
|
if (extname && !extensions[extname]) {
|
|
31
81
|
return fs_1.default.readFileSync(filepath);
|
|
32
82
|
}
|
|
33
|
-
//
|
|
83
|
+
// Load JS module
|
|
34
84
|
const obj = requireMod(filepath);
|
|
35
85
|
if (!obj)
|
|
36
86
|
return obj;
|
|
37
|
-
//
|
|
87
|
+
// ESM interop: extract default export
|
|
38
88
|
if (obj.__esModule)
|
|
39
89
|
return 'default' in obj ? obj.default : obj;
|
|
40
90
|
return obj;
|
|
@@ -45,29 +95,87 @@ function loadFile(filepath) {
|
|
|
45
95
|
throw error;
|
|
46
96
|
}
|
|
47
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Call a function with bound context
|
|
100
|
+
*
|
|
101
|
+
* @param fn - Function to call
|
|
102
|
+
* @param args - Function argument list
|
|
103
|
+
* @param ctx - Function execution context (this binding); if not provided, calls directly
|
|
104
|
+
* @returns Function return value; returns undefined if fn is not a function
|
|
105
|
+
*/
|
|
48
106
|
async function callFn(fn, args, ctx) {
|
|
49
107
|
args = args || [];
|
|
50
108
|
if (!(0, type_check_js_1.isFunction)(fn))
|
|
51
109
|
return undefined;
|
|
52
110
|
return ctx ? fn.call(ctx, ...args) : fn(...args);
|
|
53
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Get the relative path name of a file
|
|
114
|
+
*
|
|
115
|
+
* Converts an absolute path to a relative path based on baseDir, using forward slashes as separators.
|
|
116
|
+
*
|
|
117
|
+
* @param filepath - Absolute file path
|
|
118
|
+
* @param baseDir - Base directory
|
|
119
|
+
* @returns Relative path (forward slash separated)
|
|
120
|
+
*/
|
|
54
121
|
function getResolvedFilename(filepath, baseDir) {
|
|
55
122
|
const reg = /[/\\]/g;
|
|
56
123
|
return filepath.replace(baseDir + path_1.default.sep, '').replace(reg, '/');
|
|
57
124
|
}
|
|
58
125
|
/**
|
|
59
|
-
*
|
|
126
|
+
* Determine if an export is a bytecode class
|
|
127
|
+
*
|
|
128
|
+
* Checks whether the toString() result contains '[class'.
|
|
129
|
+
* Classes from bytenode-compiled .jsc files appear as '[class XXX]' in Node.js.
|
|
130
|
+
*
|
|
131
|
+
* @param exports - Export value to check
|
|
132
|
+
* @returns Whether it is a bytecode class
|
|
60
133
|
*/
|
|
61
134
|
function isBytecodeClass(exports) {
|
|
62
135
|
if (!exports)
|
|
63
136
|
return false;
|
|
64
|
-
// 标识
|
|
65
137
|
return String(exports).indexOf('[class') !== -1;
|
|
66
138
|
}
|
|
67
139
|
/**
|
|
68
|
-
*
|
|
140
|
+
* Get supported file match patterns
|
|
141
|
+
*
|
|
142
|
+
* Used for filtering file types when globby scans directories.
|
|
143
|
+
*
|
|
144
|
+
* @returns File pattern list (.js and .jsc)
|
|
69
145
|
*/
|
|
70
146
|
function filePatterns() {
|
|
71
147
|
return ['**/*.js', '**/*.jsc'];
|
|
72
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Load a file asynchronously (ESM support)
|
|
151
|
+
*
|
|
152
|
+
* Same functionality as loadFile, but uses dynamic import() to load modules,
|
|
153
|
+
* supporting ESM format files. Non-JS files are read using fs.promises.readFile.
|
|
154
|
+
*
|
|
155
|
+
* @param filepath - Absolute file path
|
|
156
|
+
* @returns File content (Buffer) or module export value
|
|
157
|
+
* @throws Throws an error containing the file path when file loading fails
|
|
158
|
+
*/
|
|
159
|
+
async function loadFileAsync(filepath) {
|
|
160
|
+
try {
|
|
161
|
+
const extname = path_1.default.extname(filepath);
|
|
162
|
+
// Non-JS/ESM files: return content as Buffer
|
|
163
|
+
if (extname && !extensions[extname] && extname !== '.mjs') {
|
|
164
|
+
return fs_1.default.promises.readFile(filepath);
|
|
165
|
+
}
|
|
166
|
+
// Dynamic import, supporting both ESM and CJS
|
|
167
|
+
const obj = await Promise.resolve(`${filepath}`).then(s => __importStar(require(s)));
|
|
168
|
+
if (!obj)
|
|
169
|
+
return obj;
|
|
170
|
+
// ESM interop: extract default export
|
|
171
|
+
if (obj.__esModule)
|
|
172
|
+
return 'default' in obj ? obj.default : obj;
|
|
173
|
+
return obj;
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
const error = err;
|
|
177
|
+
error.message = `[ee-core] load file async: ${filepath}, error: ${error.message}`;
|
|
178
|
+
throw error;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
73
181
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/utils/timing
|
|
3
|
+
* @description Timing utility. Used to record the loading duration of each framework stage for
|
|
4
|
+
* performance analysis and debugging. Used in ConfigLoader and ControllerLoader to record
|
|
5
|
+
* timing for stages like "Load Config", "Load Controller", etc.
|
|
6
|
+
*/
|
|
1
7
|
import type { TimingItem } from '../../types/index.js';
|
|
2
8
|
declare const MAP: unique symbol;
|
|
3
9
|
declare const LIST: unique symbol;
|
|
10
|
+
/**
|
|
11
|
+
* Timing — Timer
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* ```ts
|
|
15
|
+
* const timing = new Timing();
|
|
16
|
+
* timing.start('Load Controller');
|
|
17
|
+
* // ... perform loading
|
|
18
|
+
* timing.end('Load Controller');
|
|
19
|
+
* const items = timing.toJSON(); // Get all timing records
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* Supports nested timing. Repeatedly calling start with the same name will automatically end the previous one first.
|
|
23
|
+
*/
|
|
4
24
|
export declare class Timing {
|
|
5
25
|
private _enable;
|
|
26
|
+
/** Mapping of timing item names to timing items, for quick lookup and end() */
|
|
6
27
|
private [MAP];
|
|
28
|
+
/** Chronologically ordered list of timing items */
|
|
7
29
|
private [LIST];
|
|
8
30
|
constructor();
|
|
31
|
+
/**
|
|
32
|
+
* Initialize: record process start time and script start execution time
|
|
33
|
+
*/
|
|
9
34
|
init(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Start timing
|
|
37
|
+
*
|
|
38
|
+
* @param name - Timing item name
|
|
39
|
+
* @param start - Custom start timestamp (milliseconds); uses current time if not provided
|
|
40
|
+
* @returns Timing item object; if an item with the same name already exists, the previous one is ended first
|
|
41
|
+
*/
|
|
10
42
|
start(name: string, start?: number): TimingItem | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* End timing
|
|
45
|
+
*
|
|
46
|
+
* @param name - Timing item name (must be started first)
|
|
47
|
+
* @returns Timing item object (including duration)
|
|
48
|
+
* @throws Throws an error when the timing item does not exist
|
|
49
|
+
*/
|
|
11
50
|
end(name: string): TimingItem | undefined;
|
|
51
|
+
/** Enable timing */
|
|
12
52
|
enable(): void;
|
|
53
|
+
/** Disable timing */
|
|
13
54
|
disable(): void;
|
|
55
|
+
/** Clear all timing records */
|
|
14
56
|
clear(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Export as JSON-formatted timing records
|
|
59
|
+
*
|
|
60
|
+
* @returns Chronologically ordered list of timing items
|
|
61
|
+
*/
|
|
15
62
|
toJSON(): TimingItem[];
|
|
16
63
|
}
|
|
17
64
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/timing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,QAAA,MAAM,GAAG,eAAuB,CAAC;AACjC,QAAA,MAAM,IAAI,eAAwB,CAAC;AAEnC,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,CAAC,GAAG,CAAC,CAA0B;IACvC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAe;;IAQ7B,IAAI,IAAI,IAAI;IAaZ,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/timing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,QAAA,MAAM,GAAG,eAAuB,CAAC;AACjC,QAAA,MAAM,IAAI,eAAwB,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAQ;IACvB,+EAA+E;IAC/E,OAAO,CAAC,CAAC,GAAG,CAAC,CAA0B;IACvC,mDAAmD;IACnD,OAAO,CAAC,CAAC,IAAI,CAAC,CAAe;;IAQ7B;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAmB3D;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAYzC,oBAAoB;IACpB,MAAM,IAAI,IAAI;IAId,qBAAqB;IACrB,OAAO,IAAI,IAAI;IAIf,+BAA+B;IAC/B,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,MAAM,IAAI,UAAU,EAAE;CAGvB"}
|
|
@@ -3,6 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Timing = void 0;
|
|
4
4
|
const MAP = Symbol('Timing#map');
|
|
5
5
|
const LIST = Symbol('Timing#list');
|
|
6
|
+
/**
|
|
7
|
+
* Timing — Timer
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* ```ts
|
|
11
|
+
* const timing = new Timing();
|
|
12
|
+
* timing.start('Load Controller');
|
|
13
|
+
* // ... perform loading
|
|
14
|
+
* timing.end('Load Controller');
|
|
15
|
+
* const items = timing.toJSON(); // Get all timing records
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* Supports nested timing. Repeatedly calling start with the same name will automatically end the previous one first.
|
|
19
|
+
*/
|
|
6
20
|
class Timing {
|
|
7
21
|
constructor() {
|
|
8
22
|
this._enable = true;
|
|
@@ -10,20 +24,31 @@ class Timing {
|
|
|
10
24
|
this[LIST] = [];
|
|
11
25
|
this.init();
|
|
12
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Initialize: record process start time and script start execution time
|
|
29
|
+
*/
|
|
13
30
|
init() {
|
|
14
|
-
// process start time
|
|
31
|
+
// Record Node.js process start time (current time - process uptime)
|
|
15
32
|
this.start('Process Start', Date.now() - Math.floor(process.uptime() * 1000));
|
|
16
33
|
this.end('Process Start');
|
|
34
|
+
// If scriptStartTime exists (provided by some runtimes), record script start time
|
|
17
35
|
const proc = process;
|
|
18
36
|
if (typeof proc.scriptStartTime === 'number') {
|
|
19
|
-
// js script start execute time
|
|
20
37
|
this.start('Script Start', proc.scriptStartTime);
|
|
21
38
|
this.end('Script Start');
|
|
22
39
|
}
|
|
23
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Start timing
|
|
43
|
+
*
|
|
44
|
+
* @param name - Timing item name
|
|
45
|
+
* @param start - Custom start timestamp (milliseconds); uses current time if not provided
|
|
46
|
+
* @returns Timing item object; if an item with the same name already exists, the previous one is ended first
|
|
47
|
+
*/
|
|
24
48
|
start(name, start) {
|
|
25
49
|
if (!name || !this._enable)
|
|
26
50
|
return undefined;
|
|
51
|
+
// If a timing item with the same name already exists, end the previous one first
|
|
27
52
|
if (this[MAP].has(name))
|
|
28
53
|
this.end(name);
|
|
29
54
|
const item = {
|
|
@@ -38,6 +63,13 @@ class Timing {
|
|
|
38
63
|
this[LIST].push(item);
|
|
39
64
|
return item;
|
|
40
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* End timing
|
|
68
|
+
*
|
|
69
|
+
* @param name - Timing item name (must be started first)
|
|
70
|
+
* @returns Timing item object (including duration)
|
|
71
|
+
* @throws Throws an error when the timing item does not exist
|
|
72
|
+
*/
|
|
41
73
|
end(name) {
|
|
42
74
|
if (!name || !this._enable)
|
|
43
75
|
return undefined;
|
|
@@ -49,16 +81,24 @@ class Timing {
|
|
|
49
81
|
item.duration = item.end - item.start;
|
|
50
82
|
return item;
|
|
51
83
|
}
|
|
84
|
+
/** Enable timing */
|
|
52
85
|
enable() {
|
|
53
86
|
this._enable = true;
|
|
54
87
|
}
|
|
88
|
+
/** Disable timing */
|
|
55
89
|
disable() {
|
|
56
90
|
this._enable = false;
|
|
57
91
|
}
|
|
92
|
+
/** Clear all timing records */
|
|
58
93
|
clear() {
|
|
59
94
|
this[MAP].clear();
|
|
60
95
|
this[LIST] = [];
|
|
61
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Export as JSON-formatted timing records
|
|
99
|
+
*
|
|
100
|
+
* @returns Chronologically ordered list of timing items
|
|
101
|
+
*/
|
|
62
102
|
toJSON() {
|
|
63
103
|
return this[LIST];
|
|
64
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../../../src/core/utils/timing.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../../../src/core/utils/timing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module cross/cross
|
|
3
|
+
* @description Cross-process communication manager. Responsible for creating, managing, and terminating
|
|
4
|
+
* external child processes (e.g., Go/Python backends), and dynamically allocating ports for them.
|
|
5
|
+
*
|
|
6
|
+
* Core concepts:
|
|
7
|
+
* - children: Process mapping keyed by pid, storing CrossProcess instances
|
|
8
|
+
* - childrenMap: Mapping keyed by name, for quick process lookup by name
|
|
9
|
+
* - Event listening: Automatically cleans up from mappings when child processes exit/error
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* ```ts
|
|
13
|
+
* const proc = await cross.run('goServer');
|
|
14
|
+
* const url = cross.getUrl('goServer');
|
|
15
|
+
* cross.killByName('goServer');
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
1
18
|
import EventEmitter from 'events';
|
|
2
19
|
import { CrossProcess } from './crossProcess.js';
|
|
20
|
+
import type { CrossHost } from './crossProcess.js';
|
|
21
|
+
/** Additional options when running a child process */
|
|
3
22
|
export interface CrossRunOptions {
|
|
4
23
|
[key: string]: unknown;
|
|
24
|
+
/** Override startup arguments */
|
|
5
25
|
args?: string[];
|
|
26
|
+
/** Specify port number */
|
|
6
27
|
port?: number;
|
|
7
28
|
}
|
|
8
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Cross - cross-process communication manager
|
|
31
|
+
*
|
|
32
|
+
* Implements the CrossHost interface, providing event notification capability for child processes.
|
|
33
|
+
* Manages processes via children and childrenMap dual indexes, supporting operations by pid or name.
|
|
34
|
+
*/
|
|
35
|
+
export declare class Cross implements CrossHost {
|
|
36
|
+
/** Event emitter for receiving child process exit/error events */
|
|
9
37
|
emitter: EventEmitter | undefined;
|
|
38
|
+
/** pid index: { pid: { name, entity } } */
|
|
10
39
|
private children;
|
|
40
|
+
/** name index: { name: pid } */
|
|
11
41
|
private childrenMap;
|
|
12
42
|
constructor();
|
|
43
|
+
/**
|
|
44
|
+
* Create and start all cross-process services with enable=true in config
|
|
45
|
+
*
|
|
46
|
+
* Iterates over config.cross configuration, calling run() for each service with enable=true.
|
|
47
|
+
*/
|
|
13
48
|
create(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Run the specified cross-process service
|
|
51
|
+
*
|
|
52
|
+
* Flow:
|
|
53
|
+
* 1. Get service configuration from config, merge with runtime options
|
|
54
|
+
* 2. Parse port parameter, dynamically acquire available port if specified
|
|
55
|
+
* 3. Create CrossProcess child process
|
|
56
|
+
* 4. Register in children and childrenMap indexes
|
|
57
|
+
*
|
|
58
|
+
* @param service - Service name (corresponding to key name in config.cross)
|
|
59
|
+
* @param opt - Runtime options, can override configuration parameters
|
|
60
|
+
* @returns CrossProcess instance
|
|
61
|
+
* @throws Throws error when service configuration does not exist
|
|
62
|
+
*/
|
|
14
63
|
run(service: string, opt?: CrossRunOptions): Promise<CrossProcess>;
|
|
64
|
+
/** Terminate all child processes */
|
|
15
65
|
killAll(): void;
|
|
66
|
+
/** Terminate child process by pid */
|
|
16
67
|
kill(pid: string | number): void;
|
|
68
|
+
/** Terminate child process by name */
|
|
17
69
|
killByName(name: string): void;
|
|
18
|
-
|
|
70
|
+
/**
|
|
71
|
+
* Get the URL of the specified service
|
|
72
|
+
*
|
|
73
|
+
* @param name - Service name
|
|
74
|
+
* @returns Service URL, or undefined if process does not exist
|
|
75
|
+
*/
|
|
76
|
+
getUrl(name: string): string | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Get process instance by name
|
|
79
|
+
*
|
|
80
|
+
* @param name - Service name
|
|
81
|
+
* @returns CrossProcess instance
|
|
82
|
+
* @throws Throws error when process does not exist
|
|
83
|
+
*/
|
|
19
84
|
getProcByName(name: string): CrossProcess;
|
|
85
|
+
/**
|
|
86
|
+
* Get process instance by pid
|
|
87
|
+
*
|
|
88
|
+
* @param pid - Process ID
|
|
89
|
+
* @returns CrossProcess instance
|
|
90
|
+
* @throws Throws error when process does not exist
|
|
91
|
+
*/
|
|
20
92
|
getProc(pid: string | number): CrossProcess;
|
|
93
|
+
/** Get list of all child process pids */
|
|
21
94
|
getPids(): string[];
|
|
95
|
+
/**
|
|
96
|
+
* Initialize event listeners
|
|
97
|
+
*
|
|
98
|
+
* Listens for child process exit and error events, automatically cleaning up terminated processes from indexes.
|
|
99
|
+
*/
|
|
22
100
|
_initEventEmitter(): void;
|
|
23
101
|
}
|
|
102
|
+
/** Cross manager singleton */
|
|
24
103
|
export declare const cross: Cross;
|
|
25
104
|
//# sourceMappingURL=cross.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross.d.ts","sourceRoot":"","sources":["../../../src/cross/cross.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"cross.d.ts","sourceRoot":"","sources":["../../../src/cross/cross.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,KAAM,YAAW,SAAS;IACrC,kEAAkE;IAClE,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAElC,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAyD;IAEzE,gCAAgC;IAChC,OAAO,CAAC,WAAW,CAAyB;;IAS5C;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAW7B;;;;;;;;;;;;;OAaG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,eAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;IAuC5E,oCAAoC;IACpC,OAAO,IAAI,IAAI;IAMf,qCAAqC;IACrC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOhC,sCAAsC;IACtC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO9B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQxC;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAUzC;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY;IAS3C,yCAAyC;IACzC,OAAO,IAAI,MAAM,EAAE;IAKnB;;;;OAIG;IACH,iBAAiB,IAAI,IAAI;CAiB1B;AAED,8BAA8B;AAC9B,eAAO,MAAM,KAAK,OAAc,CAAC"}
|