ee-core 4.1.5 → 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 +41 -0
- package/dist/cjs/app/application.d.ts.map +1 -0
- package/dist/cjs/app/application.js +68 -0
- package/dist/cjs/app/application.js.map +1 -0
- package/dist/cjs/app/boot.d.ts +64 -0
- package/dist/cjs/app/boot.d.ts.map +1 -0
- package/dist/cjs/app/boot.js +138 -0
- package/dist/cjs/app/boot.js.map +1 -0
- package/dist/cjs/app/dir.d.ts +12 -0
- package/dist/cjs/app/dir.d.ts.map +1 -0
- package/dist/cjs/app/dir.js +88 -0
- package/dist/cjs/app/dir.js.map +1 -0
- package/dist/cjs/app/events.d.ts +71 -0
- package/dist/cjs/app/events.d.ts.map +1 -0
- package/dist/cjs/app/events.js +124 -0
- package/dist/cjs/app/events.js.map +1 -0
- package/dist/cjs/config/config_loader.d.ts +54 -0
- package/dist/cjs/config/config_loader.d.ts.map +1 -0
- package/dist/cjs/config/config_loader.js +137 -0
- package/dist/cjs/config/config_loader.js.map +1 -0
- package/dist/cjs/config/default_config.d.ts +8 -0
- package/dist/cjs/config/default_config.d.ts.map +1 -0
- package/dist/cjs/config/default_config.js +196 -0
- package/dist/cjs/config/default_config.js.map +1 -0
- package/dist/cjs/config/index.d.ts +34 -0
- package/dist/cjs/config/index.d.ts.map +1 -0
- package/dist/cjs/config/index.js +69 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/const/channel.d.ts +34 -0
- package/dist/cjs/const/channel.d.ts.map +1 -0
- package/dist/cjs/const/channel.js +37 -0
- package/dist/cjs/const/channel.js.map +1 -0
- package/dist/cjs/controller/controller_loader.d.ts +29 -0
- package/dist/cjs/controller/controller_loader.d.ts.map +1 -0
- package/dist/cjs/controller/controller_loader.js +158 -0
- package/dist/cjs/controller/controller_loader.js.map +1 -0
- package/dist/cjs/controller/index.d.ts +36 -0
- package/dist/cjs/controller/index.d.ts.map +1 -0
- package/dist/cjs/controller/index.js +88 -0
- package/dist/cjs/controller/index.js.map +1 -0
- package/dist/cjs/core/loader/file_loader.d.ts +112 -0
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -0
- package/dist/cjs/core/loader/file_loader.js +283 -0
- package/dist/cjs/core/loader/file_loader.js.map +1 -0
- package/dist/cjs/core/utils/index.d.ts +70 -0
- package/dist/cjs/core/utils/index.d.ts.map +1 -0
- package/dist/cjs/core/utils/index.js +181 -0
- package/dist/cjs/core/utils/index.js.map +1 -0
- package/dist/cjs/core/utils/timing.d.ts +65 -0
- package/dist/cjs/core/utils/timing.d.ts.map +1 -0
- package/dist/cjs/core/utils/timing.js +107 -0
- package/dist/cjs/core/utils/timing.js.map +1 -0
- package/dist/cjs/cross/cross.d.ts +104 -0
- package/dist/cjs/cross/cross.d.ts.map +1 -0
- package/dist/cjs/cross/cross.js +202 -0
- package/dist/cjs/cross/cross.js.map +1 -0
- package/dist/cjs/cross/crossProcess.d.ts +118 -0
- package/dist/cjs/cross/crossProcess.d.ts.map +1 -0
- package/dist/cjs/cross/crossProcess.js +262 -0
- package/dist/cjs/cross/crossProcess.js.map +1 -0
- package/dist/cjs/cross/index.d.ts +4 -0
- package/dist/cjs/cross/index.d.ts.map +1 -0
- package/dist/cjs/cross/index.js +9 -0
- package/dist/cjs/cross/index.js.map +1 -0
- package/dist/cjs/electron/app/index.d.ts +23 -0
- package/dist/cjs/electron/app/index.d.ts.map +1 -0
- package/dist/cjs/electron/app/index.js +99 -0
- package/dist/cjs/electron/app/index.js.map +1 -0
- package/dist/cjs/electron/index.d.ts +10 -0
- package/dist/cjs/electron/index.d.ts.map +1 -0
- package/dist/cjs/electron/index.js +35 -0
- package/dist/cjs/electron/index.js.map +1 -0
- package/dist/cjs/electron/window/index.d.ts +45 -0
- package/dist/cjs/electron/window/index.d.ts.map +1 -0
- package/dist/cjs/electron/window/index.js +311 -0
- package/dist/cjs/electron/window/index.js.map +1 -0
- package/dist/cjs/exception/index.d.ts +15 -0
- package/dist/cjs/exception/index.d.ts.map +1 -0
- package/dist/cjs/exception/index.js +145 -0
- package/dist/cjs/exception/index.js.map +1 -0
- package/dist/cjs/html/index.d.ts +21 -0
- package/dist/cjs/html/index.d.ts.map +1 -0
- package/dist/cjs/html/index.js +59 -0
- package/dist/cjs/html/index.js.map +1 -0
- package/dist/cjs/index.d.ts +60 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +245 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/jobs/child/app.d.ts +2 -0
- package/dist/cjs/jobs/child/app.d.ts.map +1 -0
- package/dist/cjs/jobs/child/app.js +132 -0
- package/dist/cjs/jobs/child/app.js.map +1 -0
- package/dist/cjs/jobs/child/index.d.ts +29 -0
- package/dist/cjs/jobs/child/index.d.ts.map +1 -0
- package/dist/cjs/jobs/child/index.js +78 -0
- package/dist/cjs/jobs/child/index.js.map +1 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts +102 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -0
- package/dist/cjs/jobs/child/jobProcess.js +196 -0
- package/dist/cjs/jobs/child/jobProcess.js.map +1 -0
- package/dist/cjs/jobs/child-pool/index.d.ts +126 -0
- package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -0
- package/dist/cjs/jobs/child-pool/index.js +252 -0
- package/dist/cjs/jobs/child-pool/index.js.map +1 -0
- package/dist/cjs/jobs/index.d.ts +18 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -0
- package/dist/cjs/jobs/index.js +22 -0
- package/dist/cjs/jobs/index.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +7 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js +32 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +27 -0
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js +15 -0
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/random.js +12 -0
- package/dist/cjs/jobs/load-balancer/algorithm/random.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js +18 -0
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js +26 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +32 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +26 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +22 -0
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts +35 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/consts.js +36 -0
- package/dist/cjs/jobs/load-balancer/consts.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/index.d.ts +84 -0
- package/dist/cjs/jobs/load-balancer/index.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/index.js +195 -0
- package/dist/cjs/jobs/load-balancer/index.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts +17 -0
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/scheduler.js +36 -0
- package/dist/cjs/jobs/load-balancer/scheduler.js.map +1 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts +43 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -0
- package/dist/cjs/jobs/load-balancer/types.js +7 -0
- package/dist/cjs/jobs/load-balancer/types.js.map +1 -0
- 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 +58 -0
- package/dist/cjs/loader/index.d.ts.map +1 -0
- package/dist/cjs/loader/index.js +151 -0
- package/dist/cjs/loader/index.js.map +1 -0
- package/dist/cjs/log/index.d.ts +59 -0
- package/dist/cjs/log/index.d.ts.map +1 -0
- package/dist/cjs/log/index.js +123 -0
- package/dist/cjs/log/index.js.map +1 -0
- package/dist/cjs/log/logger.d.ts +35 -0
- package/dist/cjs/log/logger.d.ts.map +1 -0
- package/dist/cjs/log/logger.js +246 -0
- package/dist/cjs/log/logger.js.map +1 -0
- package/dist/cjs/message/childMessage.d.ts +58 -0
- package/dist/cjs/message/childMessage.d.ts.map +1 -0
- package/dist/cjs/message/childMessage.js +118 -0
- package/dist/cjs/message/childMessage.js.map +1 -0
- package/dist/cjs/message/index.d.ts +2 -0
- package/dist/cjs/message/index.d.ts.map +1 -0
- package/dist/cjs/message/index.js +7 -0
- package/dist/cjs/message/index.js.map +1 -0
- package/dist/cjs/ps/index.d.ts +155 -0
- package/dist/cjs/ps/index.d.ts.map +1 -0
- package/dist/cjs/ps/index.js +369 -0
- package/dist/cjs/ps/index.js.map +1 -0
- package/dist/cjs/socket/httpServer.d.ts +74 -0
- package/dist/cjs/socket/httpServer.d.ts.map +1 -0
- package/dist/cjs/socket/httpServer.js +240 -0
- package/dist/cjs/socket/httpServer.js.map +1 -0
- package/dist/cjs/socket/index.d.ts +60 -0
- package/dist/cjs/socket/index.d.ts.map +1 -0
- package/dist/cjs/socket/index.js +103 -0
- package/dist/cjs/socket/index.js.map +1 -0
- package/dist/cjs/socket/ipcServer.d.ts +40 -0
- package/dist/cjs/socket/ipcServer.d.ts.map +1 -0
- package/dist/cjs/socket/ipcServer.js +124 -0
- package/dist/cjs/socket/ipcServer.js.map +1 -0
- package/dist/cjs/socket/socketServer.d.ts +43 -0
- package/dist/cjs/socket/socketServer.d.ts.map +1 -0
- package/dist/cjs/socket/socketServer.js +116 -0
- package/dist/cjs/socket/socketServer.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/cjs/storage/index.d.ts.map +1 -0
- package/dist/cjs/storage/index.js +6 -0
- package/dist/cjs/storage/index.js.map +1 -0
- package/dist/cjs/storage/sqliteStorage.d.ts +117 -0
- package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -0
- package/dist/cjs/storage/sqliteStorage.js +197 -0
- package/dist/cjs/storage/sqliteStorage.js.map +1 -0
- package/dist/cjs/types/index.d.ts +524 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +3 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/utils/extend.d.ts +46 -0
- package/dist/cjs/utils/extend.d.ts.map +1 -0
- package/dist/cjs/utils/extend.js +105 -0
- package/dist/cjs/utils/extend.js.map +1 -0
- package/dist/cjs/utils/helper.d.ts +169 -0
- package/dist/cjs/utils/helper.d.ts.map +1 -0
- package/dist/cjs/utils/helper.js +351 -0
- package/dist/cjs/utils/helper.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +113 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +344 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/ip.d.ts +42 -0
- package/dist/cjs/utils/ip.d.ts.map +1 -0
- package/dist/cjs/utils/ip.js +276 -0
- package/dist/cjs/utils/ip.js.map +1 -0
- package/dist/cjs/utils/is.d.ts +138 -0
- package/dist/cjs/utils/is.d.ts.map +1 -0
- package/dist/cjs/utils/is.js +203 -0
- package/dist/cjs/utils/is.js.map +1 -0
- package/dist/cjs/utils/json.d.ts +64 -0
- package/dist/cjs/utils/json.d.ts.map +1 -0
- package/dist/cjs/utils/json.js +122 -0
- package/dist/cjs/utils/json.js.map +1 -0
- package/dist/cjs/utils/pargv.d.ts +67 -0
- package/dist/cjs/utils/pargv.d.ts.map +1 -0
- package/dist/cjs/utils/pargv.js +406 -0
- package/dist/cjs/utils/pargv.js.map +1 -0
- package/dist/cjs/utils/port/index.d.ts +48 -0
- package/dist/cjs/utils/port/index.d.ts.map +1 -0
- package/dist/cjs/utils/port/index.js +235 -0
- package/dist/cjs/utils/port/index.js.map +1 -0
- package/dist/cjs/utils/type_check.d.ts +88 -0
- package/dist/cjs/utils/type_check.d.ts.map +1 -0
- package/dist/cjs/utils/type_check.js +121 -0
- package/dist/cjs/utils/type_check.js.map +1 -0
- package/dist/cjs/utils/wrap.d.ts +31 -0
- package/dist/cjs/utils/wrap.d.ts.map +1 -0
- package/dist/cjs/utils/wrap.js +88 -0
- package/dist/cjs/utils/wrap.js.map +1 -0
- package/dist/esm/app/application.d.ts +41 -0
- package/dist/esm/app/application.d.ts.map +1 -0
- package/dist/esm/app/application.js +68 -0
- package/dist/esm/app/application.js.map +1 -0
- package/dist/esm/app/boot.d.ts +64 -0
- package/dist/esm/app/boot.d.ts.map +1 -0
- package/dist/esm/app/boot.js +138 -0
- package/dist/esm/app/boot.js.map +1 -0
- package/dist/esm/app/dir.d.ts +12 -0
- package/dist/esm/app/dir.d.ts.map +1 -0
- package/dist/esm/app/dir.js +88 -0
- package/dist/esm/app/dir.js.map +1 -0
- package/dist/esm/app/events.d.ts +71 -0
- package/dist/esm/app/events.d.ts.map +1 -0
- package/dist/esm/app/events.js +124 -0
- package/dist/esm/app/events.js.map +1 -0
- package/dist/esm/config/config_loader.d.ts +54 -0
- package/dist/esm/config/config_loader.d.ts.map +1 -0
- package/dist/esm/config/config_loader.js +137 -0
- package/dist/esm/config/config_loader.js.map +1 -0
- package/dist/esm/config/default_config.d.ts +8 -0
- package/dist/esm/config/default_config.d.ts.map +1 -0
- package/dist/esm/config/default_config.js +196 -0
- package/dist/esm/config/default_config.js.map +1 -0
- package/dist/esm/config/index.d.ts +34 -0
- package/dist/esm/config/index.d.ts.map +1 -0
- package/dist/esm/config/index.js +69 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/const/channel.d.ts +34 -0
- package/dist/esm/const/channel.d.ts.map +1 -0
- package/dist/esm/const/channel.js +37 -0
- package/dist/esm/const/channel.js.map +1 -0
- package/dist/esm/controller/controller_loader.d.ts +29 -0
- package/dist/esm/controller/controller_loader.d.ts.map +1 -0
- package/dist/esm/controller/controller_loader.js +158 -0
- package/dist/esm/controller/controller_loader.js.map +1 -0
- package/dist/esm/controller/index.d.ts +36 -0
- package/dist/esm/controller/index.d.ts.map +1 -0
- package/dist/esm/controller/index.js +88 -0
- package/dist/esm/controller/index.js.map +1 -0
- package/dist/esm/core/loader/file_loader.d.ts +112 -0
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -0
- package/dist/esm/core/loader/file_loader.js +283 -0
- package/dist/esm/core/loader/file_loader.js.map +1 -0
- package/dist/esm/core/utils/index.d.ts +70 -0
- package/dist/esm/core/utils/index.d.ts.map +1 -0
- package/dist/esm/core/utils/index.js +148 -0
- package/dist/esm/core/utils/index.js.map +1 -0
- package/dist/esm/core/utils/timing.d.ts +65 -0
- package/dist/esm/core/utils/timing.d.ts.map +1 -0
- package/dist/esm/core/utils/timing.js +107 -0
- package/dist/esm/core/utils/timing.js.map +1 -0
- package/dist/esm/cross/cross.d.ts +104 -0
- package/dist/esm/cross/cross.d.ts.map +1 -0
- package/dist/esm/cross/cross.js +202 -0
- package/dist/esm/cross/cross.js.map +1 -0
- package/dist/esm/cross/crossProcess.d.ts +118 -0
- package/dist/esm/cross/crossProcess.d.ts.map +1 -0
- package/dist/esm/cross/crossProcess.js +262 -0
- package/dist/esm/cross/crossProcess.js.map +1 -0
- package/dist/esm/cross/index.d.ts +4 -0
- package/dist/esm/cross/index.d.ts.map +1 -0
- package/dist/esm/cross/index.js +9 -0
- package/dist/esm/cross/index.js.map +1 -0
- package/dist/esm/electron/app/index.d.ts +23 -0
- package/dist/esm/electron/app/index.d.ts.map +1 -0
- package/dist/esm/electron/app/index.js +99 -0
- package/dist/esm/electron/app/index.js.map +1 -0
- package/dist/esm/electron/index.d.ts +10 -0
- package/dist/esm/electron/index.d.ts.map +1 -0
- package/dist/esm/electron/index.js +35 -0
- package/dist/esm/electron/index.js.map +1 -0
- package/dist/esm/electron/window/index.d.ts +45 -0
- package/dist/esm/electron/window/index.d.ts.map +1 -0
- package/dist/esm/electron/window/index.js +311 -0
- package/dist/esm/electron/window/index.js.map +1 -0
- package/dist/esm/exception/index.d.ts +15 -0
- package/dist/esm/exception/index.d.ts.map +1 -0
- package/dist/esm/exception/index.js +145 -0
- package/dist/esm/exception/index.js.map +1 -0
- package/dist/esm/html/index.d.ts +21 -0
- package/dist/esm/html/index.d.ts.map +1 -0
- package/dist/esm/html/index.js +59 -0
- package/dist/esm/html/index.js.map +1 -0
- package/dist/esm/index.d.ts +60 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +245 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/jobs/child/app.d.ts +2 -0
- package/dist/esm/jobs/child/app.d.ts.map +1 -0
- package/dist/esm/jobs/child/app.js +132 -0
- package/dist/esm/jobs/child/app.js.map +1 -0
- package/dist/esm/jobs/child/index.d.ts +29 -0
- package/dist/esm/jobs/child/index.d.ts.map +1 -0
- package/dist/esm/jobs/child/index.js +78 -0
- package/dist/esm/jobs/child/index.js.map +1 -0
- package/dist/esm/jobs/child/jobProcess.d.ts +102 -0
- package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -0
- package/dist/esm/jobs/child/jobProcess.js +196 -0
- package/dist/esm/jobs/child/jobProcess.js.map +1 -0
- package/dist/esm/jobs/child-pool/index.d.ts +126 -0
- package/dist/esm/jobs/child-pool/index.d.ts.map +1 -0
- package/dist/esm/jobs/child-pool/index.js +252 -0
- package/dist/esm/jobs/child-pool/index.js.map +1 -0
- package/dist/esm/jobs/index.d.ts +18 -0
- package/dist/esm/jobs/index.d.ts.map +1 -0
- package/dist/esm/jobs/index.js +22 -0
- package/dist/esm/jobs/index.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +7 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js +32 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +27 -0
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/polling.js +15 -0
- package/dist/esm/jobs/load-balancer/algorithm/polling.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/random.js +12 -0
- package/dist/esm/jobs/load-balancer/algorithm/random.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/specify.js +18 -0
- package/dist/esm/jobs/load-balancer/algorithm/specify.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weights.js +26 -0
- package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +32 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +26 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +22 -0
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js.map +1 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts +35 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/consts.js +36 -0
- package/dist/esm/jobs/load-balancer/consts.js.map +1 -0
- package/dist/esm/jobs/load-balancer/index.d.ts +84 -0
- package/dist/esm/jobs/load-balancer/index.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/index.js +195 -0
- package/dist/esm/jobs/load-balancer/index.js.map +1 -0
- package/dist/esm/jobs/load-balancer/scheduler.d.ts +17 -0
- package/dist/esm/jobs/load-balancer/scheduler.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/scheduler.js +36 -0
- package/dist/esm/jobs/load-balancer/scheduler.js.map +1 -0
- package/dist/esm/jobs/load-balancer/types.d.ts +43 -0
- package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -0
- package/dist/esm/jobs/load-balancer/types.js +7 -0
- package/dist/esm/jobs/load-balancer/types.js.map +1 -0
- 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 +58 -0
- package/dist/esm/loader/index.d.ts.map +1 -0
- package/dist/esm/loader/index.js +151 -0
- package/dist/esm/loader/index.js.map +1 -0
- package/dist/esm/log/index.d.ts +59 -0
- package/dist/esm/log/index.d.ts.map +1 -0
- package/dist/esm/log/index.js +123 -0
- package/dist/esm/log/index.js.map +1 -0
- package/dist/esm/log/logger.d.ts +35 -0
- package/dist/esm/log/logger.d.ts.map +1 -0
- package/dist/esm/log/logger.js +246 -0
- package/dist/esm/log/logger.js.map +1 -0
- package/dist/esm/message/childMessage.d.ts +58 -0
- package/dist/esm/message/childMessage.d.ts.map +1 -0
- package/dist/esm/message/childMessage.js +118 -0
- package/dist/esm/message/childMessage.js.map +1 -0
- package/dist/esm/message/index.d.ts +2 -0
- package/dist/esm/message/index.d.ts.map +1 -0
- package/dist/esm/message/index.js +7 -0
- package/dist/esm/message/index.js.map +1 -0
- package/dist/esm/ps/index.d.ts +155 -0
- package/dist/esm/ps/index.d.ts.map +1 -0
- package/dist/esm/ps/index.js +369 -0
- package/dist/esm/ps/index.js.map +1 -0
- package/dist/esm/socket/httpServer.d.ts +74 -0
- package/dist/esm/socket/httpServer.d.ts.map +1 -0
- package/dist/esm/socket/httpServer.js +240 -0
- package/dist/esm/socket/httpServer.js.map +1 -0
- package/dist/esm/socket/index.d.ts +60 -0
- package/dist/esm/socket/index.d.ts.map +1 -0
- package/dist/esm/socket/index.js +103 -0
- package/dist/esm/socket/index.js.map +1 -0
- package/dist/esm/socket/ipcServer.d.ts +40 -0
- package/dist/esm/socket/ipcServer.d.ts.map +1 -0
- package/dist/esm/socket/ipcServer.js +124 -0
- package/dist/esm/socket/ipcServer.js.map +1 -0
- package/dist/esm/socket/socketServer.d.ts +43 -0
- package/dist/esm/socket/socketServer.d.ts.map +1 -0
- package/dist/esm/socket/socketServer.js +116 -0
- package/dist/esm/socket/socketServer.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/esm/storage/index.d.ts.map +1 -0
- package/dist/esm/storage/index.js +6 -0
- package/dist/esm/storage/index.js.map +1 -0
- package/dist/esm/storage/sqliteStorage.d.ts +117 -0
- package/dist/esm/storage/sqliteStorage.d.ts.map +1 -0
- package/dist/esm/storage/sqliteStorage.js +197 -0
- package/dist/esm/storage/sqliteStorage.js.map +1 -0
- package/dist/esm/types/index.d.ts +524 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +3 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/utils/extend.d.ts +46 -0
- package/dist/esm/utils/extend.d.ts.map +1 -0
- package/dist/esm/utils/extend.js +105 -0
- package/dist/esm/utils/extend.js.map +1 -0
- package/dist/esm/utils/helper.d.ts +169 -0
- package/dist/esm/utils/helper.d.ts.map +1 -0
- package/dist/esm/utils/helper.js +351 -0
- package/dist/esm/utils/helper.js.map +1 -0
- package/dist/esm/utils/index.d.ts +113 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +344 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/ip.d.ts +42 -0
- package/dist/esm/utils/ip.d.ts.map +1 -0
- package/dist/esm/utils/ip.js +276 -0
- package/dist/esm/utils/ip.js.map +1 -0
- package/dist/esm/utils/is.d.ts +138 -0
- package/dist/esm/utils/is.d.ts.map +1 -0
- package/dist/esm/utils/is.js +203 -0
- package/dist/esm/utils/is.js.map +1 -0
- package/dist/esm/utils/json.d.ts +64 -0
- package/dist/esm/utils/json.d.ts.map +1 -0
- package/dist/esm/utils/json.js +122 -0
- package/dist/esm/utils/json.js.map +1 -0
- package/dist/esm/utils/pargv.d.ts +67 -0
- package/dist/esm/utils/pargv.d.ts.map +1 -0
- package/dist/esm/utils/pargv.js +406 -0
- package/dist/esm/utils/pargv.js.map +1 -0
- package/dist/esm/utils/port/index.d.ts +48 -0
- package/dist/esm/utils/port/index.d.ts.map +1 -0
- package/dist/esm/utils/port/index.js +235 -0
- package/dist/esm/utils/port/index.js.map +1 -0
- package/dist/esm/utils/type_check.d.ts +88 -0
- package/dist/esm/utils/type_check.d.ts.map +1 -0
- package/dist/esm/utils/type_check.js +121 -0
- package/dist/esm/utils/type_check.js.map +1 -0
- package/dist/esm/utils/wrap.d.ts +31 -0
- package/dist/esm/utils/wrap.d.ts.map +1 -0
- package/dist/esm/utils/wrap.js +88 -0
- package/dist/esm/utils/wrap.js.map +1 -0
- package/package.json +424 -27
- package/LICENSE +0 -21
- package/README.md +0 -66
- package/app/application.d.ts +0 -5
- package/app/application.js +0 -31
- package/app/boot.d.ts +0 -5
- package/app/boot.js +0 -81
- package/app/dir.d.ts +0 -1
- package/app/dir.js +0 -27
- package/app/events.d.ts +0 -14
- package/app/events.js +0 -56
- package/app/index.d.ts +0 -2
- package/app/index.js +0 -7
- package/config/config_loader.d.ts +0 -13
- package/config/config_loader.js +0 -66
- package/config/default_config.d.ts +0 -95
- package/config/default_config.js +0 -111
- package/config/index.d.ts +0 -28
- package/config/index.js +0 -25
- package/const/channel.d.ts +0 -16
- package/const/channel.js +0 -28
- package/controller/controller_loader.d.ts +0 -9
- package/controller/controller_loader.js +0 -78
- package/controller/index.d.ts +0 -2
- package/controller/index.js +0 -24
- package/core/index.d.ts +0 -2
- package/core/index.js +0 -12
- package/core/loader/file_loader.d.ts +0 -66
- package/core/loader/file_loader.js +0 -212
- package/core/utils/index.d.ts +0 -12
- package/core/utils/index.js +0 -83
- package/core/utils/timing.d.ts +0 -22
- package/core/utils/timing.js +0 -78
- package/cross/cross.d.ts +0 -19
- package/cross/cross.js +0 -153
- package/cross/crossProcess.d.ts +0 -29
- package/cross/crossProcess.js +0 -173
- package/cross/index.d.ts +0 -2
- package/cross/index.js +0 -8
- package/electron/app/index.d.ts +0 -5
- package/electron/app/index.js +0 -48
- package/electron/index.d.ts +0 -3
- package/electron/index.js +0 -16
- package/electron/window/index.d.ts +0 -6
- package/electron/window/index.js +0 -269
- package/exception/index.d.ts +0 -9
- package/exception/index.js +0 -101
- package/html/boot.html +0 -98
- package/html/cross-failure.html +0 -28
- package/html/failure.html +0 -28
- package/html/index.d.ts +0 -1
- package/html/index.js +0 -11
- package/index.d.ts +0 -2
- package/index.js +0 -7
- package/jobs/child/app.d.ts +0 -1
- package/jobs/child/app.js +0 -70
- package/jobs/child/index.d.ts +0 -13
- package/jobs/child/index.js +0 -85
- package/jobs/child/jobProcess.d.ts +0 -16
- package/jobs/child/jobProcess.js +0 -134
- package/jobs/child-pool/index.d.ts +0 -26
- package/jobs/child-pool/index.js +0 -190
- package/jobs/index.d.ts +0 -3
- package/jobs/index.js +0 -7
- package/jobs/load-balancer/algorithm/index.d.ts +0 -4
- package/jobs/load-balancer/algorithm/index.js +0 -12
- package/jobs/load-balancer/algorithm/minimumConnection.d.ts +0 -2
- package/jobs/load-balancer/algorithm/minimumConnection.js +0 -19
- package/jobs/load-balancer/algorithm/polling.d.ts +0 -2
- package/jobs/load-balancer/algorithm/polling.js +0 -12
- package/jobs/load-balancer/algorithm/random.d.ts +0 -2
- package/jobs/load-balancer/algorithm/random.js +0 -10
- package/jobs/load-balancer/algorithm/specify.d.ts +0 -2
- package/jobs/load-balancer/algorithm/specify.js +0 -15
- package/jobs/load-balancer/algorithm/weights.d.ts +0 -2
- package/jobs/load-balancer/algorithm/weights.js +0 -22
- package/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +0 -2
- package/jobs/load-balancer/algorithm/weightsMinimumConnection.js +0 -30
- package/jobs/load-balancer/algorithm/weightsPolling.d.ts +0 -2
- package/jobs/load-balancer/algorithm/weightsPolling.js +0 -23
- package/jobs/load-balancer/algorithm/weightsRandom.d.ts +0 -2
- package/jobs/load-balancer/algorithm/weightsRandom.js +0 -17
- package/jobs/load-balancer/consts.d.ts +0 -8
- package/jobs/load-balancer/consts.js +0 -10
- package/jobs/load-balancer/index.d.ts +0 -96
- package/jobs/load-balancer/index.js +0 -202
- package/jobs/load-balancer/scheduler.d.ts +0 -16
- package/jobs/load-balancer/scheduler.js +0 -32
- package/loader/index.d.ts +0 -9
- package/loader/index.js +0 -99
- package/log/index.d.ts +0 -5
- package/log/index.js +0 -86
- package/log/logger.d.ts +0 -2
- package/log/logger.js +0 -95
- package/message/childMessage.d.ts +0 -10
- package/message/childMessage.js +0 -43
- package/message/index.d.ts +0 -3
- package/message/index.js +0 -10
- package/ps/index.d.ts +0 -39
- package/ps/index.js +0 -295
- package/socket/httpServer.d.ts +0 -8
- package/socket/httpServer.js +0 -199
- package/socket/index.d.ts +0 -10
- package/socket/index.js +0 -65
- package/socket/ipcServer.d.ts +0 -9
- package/socket/ipcServer.js +0 -106
- package/socket/socketServer.d.ts +0 -10
- package/socket/socketServer.js +0 -82
- package/storage/index.d.ts +0 -5
- package/storage/index.js +0 -7
- package/storage/sqliteStorage.d.ts +0 -16
- package/storage/sqliteStorage.js +0 -124
- package/tsconfig.json +0 -14
- package/utils/extend.d.ts +0 -2
- package/utils/extend.js +0 -78
- package/utils/helper.d.ts +0 -14
- package/utils/helper.js +0 -207
- package/utils/index.d.ts +0 -11
- package/utils/index.js +0 -198
- package/utils/ip.d.ts +0 -2
- package/utils/ip.js +0 -221
- package/utils/is.d.ts +0 -14
- package/utils/is.js +0 -112
- package/utils/json.d.ts +0 -5
- package/utils/json.js +0 -80
- package/utils/pargv.d.ts +0 -3
- package/utils/pargv.js +0 -267
- package/utils/port/index.d.ts +0 -1
- package/utils/port/index.js +0 -126
- package/utils/wrap.d.ts +0 -4
- package/utils/wrap.js +0 -41
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FileLoader = exports.EXPORTS = exports.FULLPATH = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @module core/loader/file_loader
|
|
9
|
+
* @description Generic file loader. Scans files in a specified directory and organizes
|
|
10
|
+
* exported content into nested objects based on directory structure, for use by
|
|
11
|
+
* controllers, services, and other modules.
|
|
12
|
+
*
|
|
13
|
+
* Three loading methods:
|
|
14
|
+
* - parse(): Synchronous file scanning + require(), suitable for CJS dev mode
|
|
15
|
+
* - parseFromRegistry(): Load from pre-registered registry, suitable for bundle mode
|
|
16
|
+
* - parseAsync(): Asynchronous file scanning + import(), suitable for ESM dev mode
|
|
17
|
+
*
|
|
18
|
+
* Directory structure to property mapping:
|
|
19
|
+
* ```
|
|
20
|
+
* controller/user.js -> target.controller.user
|
|
21
|
+
* controller/admin/login.js -> target.controller.admin.login
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* Property naming style is controlled by caseStyle:
|
|
25
|
+
* - 'camel': camelCase (default) — user-info -> userInfo
|
|
26
|
+
* - 'lower': all lowercase — User Info -> user info (used by controllers)
|
|
27
|
+
*/
|
|
28
|
+
const debug_1 = __importDefault(require("debug"));
|
|
29
|
+
const fs_1 = __importDefault(require("fs"));
|
|
30
|
+
const path_1 = __importDefault(require("path"));
|
|
31
|
+
const globby_1 = require("globby");
|
|
32
|
+
const type_check_js_1 = require("../../utils/type_check.js");
|
|
33
|
+
const index_js_1 = require("../utils/index.js");
|
|
34
|
+
const wrap_js_1 = require("../../utils/wrap.js");
|
|
35
|
+
const debugLog = (0, debug_1.default)('ee-core:core:loader:file_loader');
|
|
36
|
+
/** Symbol marker: records the full path of a file */
|
|
37
|
+
exports.FULLPATH = Symbol('LOADER_ITEM_FULLPATH');
|
|
38
|
+
/** Symbol marker: indicates the export has been processed by the loader */
|
|
39
|
+
exports.EXPORTS = Symbol('LOADER_ITEM_EXPORTS');
|
|
40
|
+
/** Default configuration */
|
|
41
|
+
const defaults = {
|
|
42
|
+
/** Property naming style */
|
|
43
|
+
caseStyle: 'camel',
|
|
44
|
+
/** Custom initializer: performs additional processing on exported content */
|
|
45
|
+
initializer: null,
|
|
46
|
+
/** Whether to automatically invoke function-type exports */
|
|
47
|
+
call: true,
|
|
48
|
+
/** Injection arguments for function calls */
|
|
49
|
+
inject: undefined,
|
|
50
|
+
/** Target object (deprecated; now created internally by load()) */
|
|
51
|
+
target: null,
|
|
52
|
+
/** File match patterns (overrides default filePatterns) */
|
|
53
|
+
match: undefined,
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* FileLoader — File loader
|
|
57
|
+
*
|
|
58
|
+
* Organizes exported content from files in a directory into nested property objects
|
|
59
|
+
* based on directory structure. Supports synchronous/asynchronous loading and registry mode.
|
|
60
|
+
*/
|
|
61
|
+
class FileLoader {
|
|
62
|
+
constructor(options) {
|
|
63
|
+
if (!options.directory) {
|
|
64
|
+
throw new Error('options.directory is required');
|
|
65
|
+
}
|
|
66
|
+
this.options = Object.assign({}, defaults, options);
|
|
67
|
+
debugLog('[constructor] options: %o', this.options);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Process a single export
|
|
71
|
+
*
|
|
72
|
+
* Execution flow:
|
|
73
|
+
* 1. Run initializer (if present) for custom processing of the export
|
|
74
|
+
* 2. Set pathName and fullPath properties on classes
|
|
75
|
+
* 3. Class/generator function/async function/bytecode class -> return directly
|
|
76
|
+
* 4. Plain function -> auto-invoke based on the call option
|
|
77
|
+
*
|
|
78
|
+
* @param exports - File exported content
|
|
79
|
+
* @param fullpath - File full path
|
|
80
|
+
* @param properties - Property path (array converted from directory + filename)
|
|
81
|
+
* @param dirName - Directory name (used as property path prefix)
|
|
82
|
+
* @returns LoaderItem or null (skipped when export is null/undefined)
|
|
83
|
+
*/
|
|
84
|
+
_processExport(exports, fullpath, properties, dirName) {
|
|
85
|
+
if (exports == null)
|
|
86
|
+
return null;
|
|
87
|
+
const pathName = dirName + '.' + properties.join('.');
|
|
88
|
+
const initializer = this.options.initializer;
|
|
89
|
+
if (initializer) {
|
|
90
|
+
exports = initializer(exports, { pathName, path: fullpath });
|
|
91
|
+
}
|
|
92
|
+
// Set path info on classes for IPC routing and debugging
|
|
93
|
+
if ((0, type_check_js_1.isClass)(exports) || (0, index_js_1.isBytecodeClass)(exports)) {
|
|
94
|
+
exports.prototype.pathName = pathName;
|
|
95
|
+
exports.prototype.fullPath = fullpath;
|
|
96
|
+
}
|
|
97
|
+
// Class/generator/async/bytecode class -> do not auto-invoke, return directly
|
|
98
|
+
if ((0, type_check_js_1.isClass)(exports) || (0, type_check_js_1.isGeneratorFunction)(exports) || (0, type_check_js_1.isAsyncFunction)(exports) || (0, index_js_1.isBytecodeClass)(exports)) {
|
|
99
|
+
return { fullpath, properties, exports };
|
|
100
|
+
}
|
|
101
|
+
// Plain function: auto-invoke based on the call option
|
|
102
|
+
if (this.options.call && (0, type_check_js_1.isFunction)(exports)) {
|
|
103
|
+
exports = exports(this.options.inject);
|
|
104
|
+
if (exports != null) {
|
|
105
|
+
return { fullpath, properties, exports };
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return { fullpath, properties, exports };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Assign load items to target object
|
|
112
|
+
*
|
|
113
|
+
* Creates nested objects level by level along the property path, ultimately mounting
|
|
114
|
+
* the exported content at the leaf node. Also marks non-primitive exports with
|
|
115
|
+
* FULLPATH and EXPORTS symbols.
|
|
116
|
+
*
|
|
117
|
+
* @param items - Load item list
|
|
118
|
+
* @returns Nested property object
|
|
119
|
+
*/
|
|
120
|
+
_assignToTarget(items) {
|
|
121
|
+
const target = {};
|
|
122
|
+
for (const item of items) {
|
|
123
|
+
let current = target;
|
|
124
|
+
for (let i = 0; i < item.properties.length; i++) {
|
|
125
|
+
const property = item.properties[i];
|
|
126
|
+
if (!property)
|
|
127
|
+
continue;
|
|
128
|
+
const isLast = i === item.properties.length - 1;
|
|
129
|
+
if (isLast) {
|
|
130
|
+
current[property] = item.exports;
|
|
131
|
+
// Mark full path and export identifier for non-primitive types
|
|
132
|
+
if (item.exports && !(0, type_check_js_1.isPrimitive)(item.exports)) {
|
|
133
|
+
item.exports[exports.FULLPATH] = item.fullpath;
|
|
134
|
+
item.exports[exports.EXPORTS] = true;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// Intermediate level: ensure object exists
|
|
139
|
+
current[property] = current[property] || {};
|
|
140
|
+
current = current[property];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return target;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Load files and build target object
|
|
148
|
+
*
|
|
149
|
+
* Loads from registry when available (bundle mode), otherwise scans filesystem (dev mode).
|
|
150
|
+
*
|
|
151
|
+
* @returns Nested property object organized by directory structure
|
|
152
|
+
*/
|
|
153
|
+
load() {
|
|
154
|
+
const items = this.options.registry ? this.parseFromRegistry() : this.parse();
|
|
155
|
+
return this._assignToTarget(items);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Parse files synchronously from filesystem
|
|
159
|
+
*
|
|
160
|
+
* Uses globby to scan directories and require() to load files.
|
|
161
|
+
* Suitable for CJS dev mode.
|
|
162
|
+
*
|
|
163
|
+
* @returns Load item list
|
|
164
|
+
*/
|
|
165
|
+
parse() {
|
|
166
|
+
let files = (this.options.match || (0, index_js_1.filePatterns)());
|
|
167
|
+
if (!Array.isArray(files)) {
|
|
168
|
+
files = [files];
|
|
169
|
+
}
|
|
170
|
+
let directories;
|
|
171
|
+
if (Array.isArray(this.options.directory)) {
|
|
172
|
+
directories = this.options.directory;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
directories = [this.options.directory];
|
|
176
|
+
}
|
|
177
|
+
const items = [];
|
|
178
|
+
debugLog('[parse] directories %o', directories);
|
|
179
|
+
for (const directory of directories) {
|
|
180
|
+
const filepaths = (0, globby_1.globbySync)(files, { cwd: directory });
|
|
181
|
+
debugLog('[parse] filepaths %o', filepaths);
|
|
182
|
+
for (const filepath of filepaths) {
|
|
183
|
+
const fullpath = path_1.default.join(directory, filepath);
|
|
184
|
+
if (!fs_1.default.statSync(fullpath).isFile())
|
|
185
|
+
continue;
|
|
186
|
+
const properties = (0, wrap_js_1.getProperties)(filepath, { caseStyle: this.options.caseStyle });
|
|
187
|
+
// Take the last level of the directory as the property prefix (e.g. 'controller')
|
|
188
|
+
const dirName = directory.split(/[/\\]/).slice(-1)[0] || 'unknown';
|
|
189
|
+
const exports = (0, index_js_1.loadFile)(fullpath);
|
|
190
|
+
const item = this._processExport(exports, fullpath, properties, dirName);
|
|
191
|
+
if (item)
|
|
192
|
+
items.push(item);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return items;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Parse modules from pre-registered registry
|
|
199
|
+
*
|
|
200
|
+
* In bundle mode, the esbuild plugin pre-registers controller/configuration info
|
|
201
|
+
* into global variables. This method reads the registry directly without filesystem scanning.
|
|
202
|
+
*
|
|
203
|
+
* @returns Load item list
|
|
204
|
+
*/
|
|
205
|
+
parseFromRegistry() {
|
|
206
|
+
const registry = this.options.registry;
|
|
207
|
+
if (!registry)
|
|
208
|
+
return [];
|
|
209
|
+
const items = [];
|
|
210
|
+
debugLog('[parseFromRegistry] entries %d', registry.length);
|
|
211
|
+
for (const entry of registry) {
|
|
212
|
+
let exports = entry.module;
|
|
213
|
+
// ESM interop: handle modules with __esModule marker
|
|
214
|
+
if (exports && exports.__esModule) {
|
|
215
|
+
exports = 'default' in exports
|
|
216
|
+
? exports.default
|
|
217
|
+
: exports;
|
|
218
|
+
}
|
|
219
|
+
const fullpath = entry.fullpath;
|
|
220
|
+
const properties = entry.properties;
|
|
221
|
+
// Extract the second-to-last directory name from registry entry path (e.g. 'controller')
|
|
222
|
+
const dirName = fullpath.split(/[/\\]/).slice(-2, -1)[0] || 'controller';
|
|
223
|
+
const item = this._processExport(exports, fullpath, properties, dirName);
|
|
224
|
+
if (item)
|
|
225
|
+
items.push(item);
|
|
226
|
+
}
|
|
227
|
+
return items;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Load files asynchronously and build target object
|
|
231
|
+
*
|
|
232
|
+
* Uses globby async scanning and import() dynamic loading.
|
|
233
|
+
* Suitable for ESM dev mode.
|
|
234
|
+
*
|
|
235
|
+
* @returns Nested property object organized by directory structure
|
|
236
|
+
*/
|
|
237
|
+
async loadAsync() {
|
|
238
|
+
const items = await this.parseAsync();
|
|
239
|
+
return this._assignToTarget(items);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Parse files asynchronously from filesystem
|
|
243
|
+
*
|
|
244
|
+
* Uses globby async scanning and fs.promises.stat for async file checking.
|
|
245
|
+
* Suitable for ESM dev mode.
|
|
246
|
+
*
|
|
247
|
+
* @returns Load item list
|
|
248
|
+
*/
|
|
249
|
+
async parseAsync() {
|
|
250
|
+
let files = (this.options.match || (0, index_js_1.filePatterns)());
|
|
251
|
+
if (!Array.isArray(files)) {
|
|
252
|
+
files = [files];
|
|
253
|
+
}
|
|
254
|
+
let directories;
|
|
255
|
+
if (Array.isArray(this.options.directory)) {
|
|
256
|
+
directories = this.options.directory;
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
directories = [this.options.directory];
|
|
260
|
+
}
|
|
261
|
+
const items = [];
|
|
262
|
+
debugLog('[parseAsync] directories %o', directories);
|
|
263
|
+
for (const directory of directories) {
|
|
264
|
+
const filepaths = await (0, globby_1.globby)(files, { cwd: directory });
|
|
265
|
+
debugLog('[parseAsync] filepaths %o', filepaths);
|
|
266
|
+
for (const filepath of filepaths) {
|
|
267
|
+
const fullpath = path_1.default.join(directory, filepath);
|
|
268
|
+
const stat = await fs_1.default.promises.stat(fullpath);
|
|
269
|
+
if (!stat.isFile())
|
|
270
|
+
continue;
|
|
271
|
+
const properties = (0, wrap_js_1.getProperties)(filepath, { caseStyle: this.options.caseStyle });
|
|
272
|
+
const dirName = directory.split(/[/\\]/).slice(-1)[0] || 'unknown';
|
|
273
|
+
const exports = await (0, index_js_1.loadFileAsync)(fullpath);
|
|
274
|
+
const item = this._processExport(exports, fullpath, properties, dirName);
|
|
275
|
+
if (item)
|
|
276
|
+
items.push(item);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return items;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
exports.FileLoader = FileLoader;
|
|
283
|
+
//# sourceMappingURL=file_loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file_loader.js","sourceRoot":"","sources":["../../../../src/core/loader/file_loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/utils
|
|
3
|
+
* @description Core utility functions. Provides file loading, function invocation, bytecode class detection,
|
|
4
|
+
* and other foundational capabilities. Serves as a low-level dependency for FileLoader and other modules.
|
|
5
|
+
*/
|
|
6
|
+
import 'bytenode';
|
|
7
|
+
declare const extensions: NodeJS.RequireExtensions;
|
|
8
|
+
/**
|
|
9
|
+
* Load a file synchronously
|
|
10
|
+
*
|
|
11
|
+
* Execution flow:
|
|
12
|
+
* 1. Non-JS files (extensions not in Module._extensions) -> return file content as Buffer
|
|
13
|
+
* 2. JS/CJS/JSC files -> load module using require()
|
|
14
|
+
* 3. ESM modules (with __esModule marker) -> extract default export
|
|
15
|
+
*
|
|
16
|
+
* @param filepath - Absolute file path
|
|
17
|
+
* @returns File content (Buffer) or module export value
|
|
18
|
+
* @throws Throws an error containing the file path when file loading fails
|
|
19
|
+
*/
|
|
20
|
+
export declare function loadFile(filepath: string): unknown;
|
|
21
|
+
/**
|
|
22
|
+
* Call a function with bound context
|
|
23
|
+
*
|
|
24
|
+
* @param fn - Function to call
|
|
25
|
+
* @param args - Function argument list
|
|
26
|
+
* @param ctx - Function execution context (this binding); if not provided, calls directly
|
|
27
|
+
* @returns Function return value; returns undefined if fn is not a function
|
|
28
|
+
*/
|
|
29
|
+
export declare function callFn(fn: (...args: unknown[]) => unknown, args?: unknown[], ctx?: unknown): Promise<unknown>;
|
|
30
|
+
/**
|
|
31
|
+
* Get the relative path name of a file
|
|
32
|
+
*
|
|
33
|
+
* Converts an absolute path to a relative path based on baseDir, using forward slashes as separators.
|
|
34
|
+
*
|
|
35
|
+
* @param filepath - Absolute file path
|
|
36
|
+
* @param baseDir - Base directory
|
|
37
|
+
* @returns Relative path (forward slash separated)
|
|
38
|
+
*/
|
|
39
|
+
export declare function getResolvedFilename(filepath: string, baseDir: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* Determine if an export is a bytecode class
|
|
42
|
+
*
|
|
43
|
+
* Checks whether the toString() result contains '[class'.
|
|
44
|
+
* Classes from bytenode-compiled .jsc files appear as '[class XXX]' in Node.js.
|
|
45
|
+
*
|
|
46
|
+
* @param exports - Export value to check
|
|
47
|
+
* @returns Whether it is a bytecode class
|
|
48
|
+
*/
|
|
49
|
+
export declare function isBytecodeClass(exports: unknown): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Get supported file match patterns
|
|
52
|
+
*
|
|
53
|
+
* Used for filtering file types when globby scans directories.
|
|
54
|
+
*
|
|
55
|
+
* @returns File pattern list (.js and .jsc)
|
|
56
|
+
*/
|
|
57
|
+
export declare function filePatterns(): string[];
|
|
58
|
+
export { extensions };
|
|
59
|
+
/**
|
|
60
|
+
* Load a file asynchronously (ESM support)
|
|
61
|
+
*
|
|
62
|
+
* Same functionality as loadFile, but uses dynamic import() to load modules,
|
|
63
|
+
* supporting ESM format files. Non-JS files are read using fs.promises.readFile.
|
|
64
|
+
*
|
|
65
|
+
* @param filepath - Absolute file path
|
|
66
|
+
* @returns File content (Buffer) or module export value
|
|
67
|
+
* @throws Throws an error containing the file path when file loading fails
|
|
68
|
+
*/
|
|
69
|
+
export declare function loadFileAsync(filepath: string): Promise<unknown>;
|
|
70
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,UAAU,CAAC;AAelB,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAsC,CAAC;AAEhE;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmBlD;AAED;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAInH;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAGzD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBtE"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.extensions = void 0;
|
|
7
|
+
exports.loadFile = loadFile;
|
|
8
|
+
exports.callFn = callFn;
|
|
9
|
+
exports.getResolvedFilename = getResolvedFilename;
|
|
10
|
+
exports.isBytecodeClass = isBytecodeClass;
|
|
11
|
+
exports.filePatterns = filePatterns;
|
|
12
|
+
exports.loadFileAsync = loadFileAsync;
|
|
13
|
+
/**
|
|
14
|
+
* @module core/utils
|
|
15
|
+
* @description Core utility functions. Provides file loading, function invocation, bytecode class detection,
|
|
16
|
+
* and other foundational capabilities. Serves as a low-level dependency for FileLoader and other modules.
|
|
17
|
+
*/
|
|
18
|
+
require("bytenode");
|
|
19
|
+
const type_check_js_1 = require("../../utils/type_check.js");
|
|
20
|
+
const path_1 = __importDefault(require("path"));
|
|
21
|
+
const fs_1 = __importDefault(require("fs"));
|
|
22
|
+
const module_1 = require("module");
|
|
23
|
+
// __filename is available in CJS; in pure ESM without a bundler, use cwd as the base path for createRequire
|
|
24
|
+
const requireMod = (0, module_1.createRequire)(typeof __filename !== 'undefined'
|
|
25
|
+
? __filename
|
|
26
|
+
: path_1.default.join(process.cwd(), '__virtual__.js'));
|
|
27
|
+
const Module = requireMod('module');
|
|
28
|
+
// File extensions natively supported by Node.js (including .jsc registered by bytenode)
|
|
29
|
+
const extensions = Module._extensions;
|
|
30
|
+
exports.extensions = extensions;
|
|
31
|
+
/**
|
|
32
|
+
* Load a file synchronously
|
|
33
|
+
*
|
|
34
|
+
* Execution flow:
|
|
35
|
+
* 1. Non-JS files (extensions not in Module._extensions) -> return file content as Buffer
|
|
36
|
+
* 2. JS/CJS/JSC files -> load module using require()
|
|
37
|
+
* 3. ESM modules (with __esModule marker) -> extract default export
|
|
38
|
+
*
|
|
39
|
+
* @param filepath - Absolute file path
|
|
40
|
+
* @returns File content (Buffer) or module export value
|
|
41
|
+
* @throws Throws an error containing the file path when file loading fails
|
|
42
|
+
*/
|
|
43
|
+
function loadFile(filepath) {
|
|
44
|
+
try {
|
|
45
|
+
// Non-JS module, return file content directly
|
|
46
|
+
const extname = path_1.default.extname(filepath);
|
|
47
|
+
if (extname && !extensions[extname]) {
|
|
48
|
+
return fs_1.default.readFileSync(filepath);
|
|
49
|
+
}
|
|
50
|
+
// Load JS module
|
|
51
|
+
const obj = requireMod(filepath);
|
|
52
|
+
if (!obj)
|
|
53
|
+
return obj;
|
|
54
|
+
// ESM interop: extract default export
|
|
55
|
+
if (obj.__esModule)
|
|
56
|
+
return 'default' in obj ? obj.default : obj;
|
|
57
|
+
return obj;
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
const error = err;
|
|
61
|
+
error.message = `[ee-core] load file: ${filepath}, error: ${error.message}`;
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Call a function with bound context
|
|
67
|
+
*
|
|
68
|
+
* @param fn - Function to call
|
|
69
|
+
* @param args - Function argument list
|
|
70
|
+
* @param ctx - Function execution context (this binding); if not provided, calls directly
|
|
71
|
+
* @returns Function return value; returns undefined if fn is not a function
|
|
72
|
+
*/
|
|
73
|
+
async function callFn(fn, args, ctx) {
|
|
74
|
+
args = args || [];
|
|
75
|
+
if (!(0, type_check_js_1.isFunction)(fn))
|
|
76
|
+
return undefined;
|
|
77
|
+
return ctx ? fn.call(ctx, ...args) : fn(...args);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the relative path name of a file
|
|
81
|
+
*
|
|
82
|
+
* Converts an absolute path to a relative path based on baseDir, using forward slashes as separators.
|
|
83
|
+
*
|
|
84
|
+
* @param filepath - Absolute file path
|
|
85
|
+
* @param baseDir - Base directory
|
|
86
|
+
* @returns Relative path (forward slash separated)
|
|
87
|
+
*/
|
|
88
|
+
function getResolvedFilename(filepath, baseDir) {
|
|
89
|
+
const reg = /[/\\]/g;
|
|
90
|
+
return filepath.replace(baseDir + path_1.default.sep, '').replace(reg, '/');
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Determine if an export is a bytecode class
|
|
94
|
+
*
|
|
95
|
+
* Checks whether the toString() result contains '[class'.
|
|
96
|
+
* Classes from bytenode-compiled .jsc files appear as '[class XXX]' in Node.js.
|
|
97
|
+
*
|
|
98
|
+
* @param exports - Export value to check
|
|
99
|
+
* @returns Whether it is a bytecode class
|
|
100
|
+
*/
|
|
101
|
+
function isBytecodeClass(exports) {
|
|
102
|
+
if (!exports)
|
|
103
|
+
return false;
|
|
104
|
+
return String(exports).indexOf('[class') !== -1;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get supported file match patterns
|
|
108
|
+
*
|
|
109
|
+
* Used for filtering file types when globby scans directories.
|
|
110
|
+
*
|
|
111
|
+
* @returns File pattern list (.js and .jsc)
|
|
112
|
+
*/
|
|
113
|
+
function filePatterns() {
|
|
114
|
+
return ['**/*.js', '**/*.jsc'];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Load a file asynchronously (ESM support)
|
|
118
|
+
*
|
|
119
|
+
* Same functionality as loadFile, but uses dynamic import() to load modules,
|
|
120
|
+
* supporting ESM format files. Non-JS files are read using fs.promises.readFile.
|
|
121
|
+
*
|
|
122
|
+
* @param filepath - Absolute file path
|
|
123
|
+
* @returns File content (Buffer) or module export value
|
|
124
|
+
* @throws Throws an error containing the file path when file loading fails
|
|
125
|
+
*/
|
|
126
|
+
async function loadFileAsync(filepath) {
|
|
127
|
+
try {
|
|
128
|
+
const extname = path_1.default.extname(filepath);
|
|
129
|
+
// Non-JS/ESM files: return content as Buffer
|
|
130
|
+
if (extname && !extensions[extname] && extname !== '.mjs') {
|
|
131
|
+
return fs_1.default.promises.readFile(filepath);
|
|
132
|
+
}
|
|
133
|
+
// Dynamic import, supporting both ESM and CJS
|
|
134
|
+
const obj = await import(filepath);
|
|
135
|
+
if (!obj)
|
|
136
|
+
return obj;
|
|
137
|
+
// ESM interop: extract default export
|
|
138
|
+
if (obj.__esModule)
|
|
139
|
+
return 'default' in obj ? obj.default : obj;
|
|
140
|
+
return obj;
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
const error = err;
|
|
144
|
+
error.message = `[ee-core] load file async: ${filepath}, error: ${error.message}`;
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
*/
|
|
7
|
+
import type { TimingItem } from '../../types/index.js';
|
|
8
|
+
declare const MAP: unique symbol;
|
|
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
|
+
*/
|
|
24
|
+
export declare class Timing {
|
|
25
|
+
private _enable;
|
|
26
|
+
/** Mapping of timing item names to timing items, for quick lookup and end() */
|
|
27
|
+
private [MAP];
|
|
28
|
+
/** Chronologically ordered list of timing items */
|
|
29
|
+
private [LIST];
|
|
30
|
+
constructor();
|
|
31
|
+
/**
|
|
32
|
+
* Initialize: record process start time and script start execution time
|
|
33
|
+
*/
|
|
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
|
+
*/
|
|
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
|
+
*/
|
|
50
|
+
end(name: string): TimingItem | undefined;
|
|
51
|
+
/** Enable timing */
|
|
52
|
+
enable(): void;
|
|
53
|
+
/** Disable timing */
|
|
54
|
+
disable(): void;
|
|
55
|
+
/** Clear all timing records */
|
|
56
|
+
clear(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Export as JSON-formatted timing records
|
|
59
|
+
*
|
|
60
|
+
* @returns Chronologically ordered list of timing items
|
|
61
|
+
*/
|
|
62
|
+
toJSON(): TimingItem[];
|
|
63
|
+
}
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=timing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|