ee-core 5.0.0-beta.2 → 5.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app/application.d.ts +36 -1
- package/dist/cjs/app/application.d.ts.map +1 -1
- package/dist/cjs/app/application.js +49 -2
- package/dist/cjs/app/application.js.map +1 -1
- package/dist/cjs/app/boot.d.ts +56 -1
- package/dist/cjs/app/boot.d.ts.map +1 -1
- package/dist/cjs/app/boot.js +74 -11
- package/dist/cjs/app/boot.js.map +1 -1
- package/dist/cjs/app/dir.d.ts +10 -0
- package/dist/cjs/app/dir.d.ts.map +1 -1
- package/dist/cjs/app/dir.js +71 -10
- package/dist/cjs/app/dir.js.map +1 -1
- package/dist/cjs/app/events.d.ts +58 -2
- package/dist/cjs/app/events.d.ts.map +1 -1
- package/dist/cjs/app/events.js +92 -12
- package/dist/cjs/app/events.js.map +1 -1
- package/dist/cjs/config/config_loader.d.ts +44 -0
- package/dist/cjs/config/config_loader.d.ts.map +1 -1
- package/dist/cjs/config/config_loader.js +82 -1
- package/dist/cjs/config/config_loader.js.map +1 -1
- package/dist/cjs/config/default_config.d.ts +5 -0
- package/dist/cjs/config/default_config.d.ts.map +1 -1
- package/dist/cjs/config/default_config.js +98 -11
- package/dist/cjs/config/default_config.js.map +1 -1
- package/dist/cjs/config/index.d.ts +31 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +52 -0
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/const/channel.d.ts +17 -0
- package/dist/cjs/const/channel.d.ts.map +1 -1
- package/dist/cjs/const/channel.js +17 -0
- package/dist/cjs/const/channel.js.map +1 -1
- package/dist/cjs/controller/controller_loader.d.ts +20 -1
- package/dist/cjs/controller/controller_loader.d.ts.map +1 -1
- package/dist/cjs/controller/controller_loader.js +89 -9
- package/dist/cjs/controller/controller_loader.js.map +1 -1
- package/dist/cjs/controller/index.d.ts +32 -0
- package/dist/cjs/controller/index.d.ts.map +1 -1
- package/dist/cjs/controller/index.js +66 -0
- package/dist/cjs/controller/index.js.map +1 -1
- package/dist/cjs/core/loader/file_loader.d.ts +78 -27
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
- package/dist/cjs/core/loader/file_loader.js +194 -68
- package/dist/cjs/core/loader/file_loader.js.map +1 -1
- package/dist/cjs/core/utils/index.d.ts +57 -2
- package/dist/cjs/core/utils/index.d.ts.map +1 -1
- package/dist/cjs/core/utils/index.js +120 -12
- package/dist/cjs/core/utils/index.js.map +1 -1
- package/dist/cjs/core/utils/timing.d.ts +47 -0
- package/dist/cjs/core/utils/timing.d.ts.map +1 -1
- package/dist/cjs/core/utils/timing.js +42 -2
- package/dist/cjs/core/utils/timing.js.map +1 -1
- package/dist/cjs/cross/cross.d.ts +81 -2
- package/dist/cjs/cross/cross.d.ts.map +1 -1
- package/dist/cjs/cross/cross.js +86 -16
- package/dist/cjs/cross/cross.js.map +1 -1
- package/dist/cjs/cross/crossProcess.d.ts +85 -14
- package/dist/cjs/cross/crossProcess.d.ts.map +1 -1
- package/dist/cjs/cross/crossProcess.js +85 -13
- package/dist/cjs/cross/crossProcess.js.map +1 -1
- package/dist/cjs/electron/app/index.d.ts +17 -1
- package/dist/cjs/electron/app/index.d.ts.map +1 -1
- package/dist/cjs/electron/app/index.js +27 -3
- package/dist/cjs/electron/app/index.js.map +1 -1
- package/dist/cjs/electron/index.d.ts +6 -0
- package/dist/cjs/electron/index.d.ts.map +1 -1
- package/dist/cjs/electron/index.js +16 -1
- package/dist/cjs/electron/index.js.map +1 -1
- package/dist/cjs/electron/window/index.d.ts +37 -0
- package/dist/cjs/electron/window/index.d.ts.map +1 -1
- package/dist/cjs/electron/window/index.js +144 -88
- package/dist/cjs/electron/window/index.js.map +1 -1
- package/dist/cjs/exception/index.d.ts +12 -0
- package/dist/cjs/exception/index.d.ts.map +1 -1
- package/dist/cjs/exception/index.js +67 -9
- package/dist/cjs/exception/index.js.map +1 -1
- package/dist/cjs/html/index.d.ts +19 -0
- package/dist/cjs/html/index.d.ts.map +1 -1
- package/dist/cjs/html/index.js +42 -0
- package/dist/cjs/html/index.js.map +1 -1
- package/dist/cjs/index.d.ts +35 -7
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +127 -80
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jobs/child/app.js +86 -25
- package/dist/cjs/jobs/child/app.js.map +1 -1
- package/dist/cjs/jobs/child/index.d.ts +5 -5
- package/dist/cjs/jobs/child/index.js +5 -5
- package/dist/cjs/jobs/child/jobProcess.d.ts +68 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/cjs/jobs/child/jobProcess.js +86 -11
- package/dist/cjs/jobs/child/jobProcess.js.map +1 -1
- package/dist/cjs/jobs/child-pool/index.d.ts +96 -0
- package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/cjs/jobs/child-pool/index.js +91 -4
- package/dist/cjs/jobs/child-pool/index.js.map +1 -1
- package/dist/cjs/jobs/index.d.ts +10 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -1
- package/dist/cjs/jobs/index.js +10 -0
- package/dist/cjs/jobs/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/cjs/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/consts.js +22 -0
- package/dist/cjs/jobs/load-balancer/consts.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/index.d.ts +18 -18
- package/dist/cjs/jobs/load-balancer/index.js +18 -18
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/cjs/jobs/load-balancer/scheduler.js +3 -3
- package/dist/cjs/jobs/load-balancer/types.d.ts +21 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/types.js +4 -0
- package/dist/cjs/jobs/load-balancer/types.js.map +1 -1
- package/dist/cjs/jobs/registry.d.ts +24 -0
- package/dist/cjs/jobs/registry.d.ts.map +1 -0
- package/dist/cjs/jobs/registry.js +52 -0
- package/dist/cjs/jobs/registry.js.map +1 -0
- package/dist/cjs/loader/index.d.ts +52 -0
- package/dist/cjs/loader/index.d.ts.map +1 -1
- package/dist/cjs/loader/index.js +79 -10
- package/dist/cjs/loader/index.js.map +1 -1
- package/dist/cjs/log/index.d.ts +41 -0
- package/dist/cjs/log/index.d.ts.map +1 -1
- package/dist/cjs/log/index.js +59 -20
- package/dist/cjs/log/index.js.map +1 -1
- package/dist/cjs/log/logger.d.ts +26 -0
- package/dist/cjs/log/logger.d.ts.map +1 -1
- package/dist/cjs/log/logger.js +122 -2
- package/dist/cjs/log/logger.js.map +1 -1
- package/dist/cjs/message/childMessage.d.ts +50 -0
- package/dist/cjs/message/childMessage.d.ts.map +1 -1
- package/dist/cjs/message/childMessage.js +83 -2
- package/dist/cjs/message/childMessage.js.map +1 -1
- package/dist/cjs/ps/index.d.ts +112 -0
- package/dist/cjs/ps/index.d.ts.map +1 -1
- package/dist/cjs/ps/index.js +175 -41
- package/dist/cjs/ps/index.js.map +1 -1
- package/dist/cjs/socket/httpServer.d.ts +58 -5
- package/dist/cjs/socket/httpServer.d.ts.map +1 -1
- package/dist/cjs/socket/httpServer.js +94 -28
- package/dist/cjs/socket/httpServer.js.map +1 -1
- package/dist/cjs/socket/index.d.ts +45 -3
- package/dist/cjs/socket/index.d.ts.map +1 -1
- package/dist/cjs/socket/index.js +50 -14
- package/dist/cjs/socket/index.js.map +1 -1
- package/dist/cjs/socket/ipcServer.d.ts +31 -1
- package/dist/cjs/socket/ipcServer.d.ts.map +1 -1
- package/dist/cjs/socket/ipcServer.js +60 -43
- package/dist/cjs/socket/ipcServer.js.map +1 -1
- package/dist/cjs/socket/socketServer.d.ts +32 -1
- package/dist/cjs/socket/socketServer.d.ts.map +1 -1
- package/dist/cjs/socket/socketServer.js +53 -14
- package/dist/cjs/socket/socketServer.js.map +1 -1
- package/dist/cjs/socket/utils.d.ts +13 -0
- package/dist/cjs/socket/utils.d.ts.map +1 -0
- package/dist/cjs/socket/utils.js +41 -0
- package/dist/cjs/socket/utils.js.map +1 -0
- package/dist/cjs/storage/sqliteStorage.d.ts +93 -4
- package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/cjs/storage/sqliteStorage.js +121 -9
- package/dist/cjs/storage/sqliteStorage.js.map +1 -1
- package/dist/cjs/types/index.d.ts +373 -5
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/utils/extend.d.ts +44 -1
- package/dist/cjs/utils/extend.d.ts.map +1 -1
- package/dist/cjs/utils/extend.js +67 -19
- package/dist/cjs/utils/extend.js.map +1 -1
- package/dist/cjs/utils/helper.d.ts +154 -1
- package/dist/cjs/utils/helper.d.ts.map +1 -1
- package/dist/cjs/utils/helper.js +205 -28
- package/dist/cjs/utils/helper.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +93 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +136 -12
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ip.d.ts +29 -0
- package/dist/cjs/utils/ip.d.ts.map +1 -1
- package/dist/cjs/utils/ip.js +95 -4
- package/dist/cjs/utils/ip.js.map +1 -1
- package/dist/cjs/utils/is.d.ts +123 -0
- package/dist/cjs/utils/is.d.ts.map +1 -1
- package/dist/cjs/utils/is.js +126 -14
- package/dist/cjs/utils/is.js.map +1 -1
- package/dist/cjs/utils/json.d.ts +54 -0
- package/dist/cjs/utils/json.d.ts.map +1 -1
- package/dist/cjs/utils/json.js +62 -0
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/utils/pargv.d.ts +51 -0
- package/dist/cjs/utils/pargv.d.ts.map +1 -1
- package/dist/cjs/utils/pargv.js +141 -3
- package/dist/cjs/utils/pargv.js.map +1 -1
- package/dist/cjs/utils/port/index.d.ts +42 -0
- package/dist/cjs/utils/port/index.d.ts.map +1 -1
- package/dist/cjs/utils/port/index.js +130 -7
- package/dist/cjs/utils/port/index.js.map +1 -1
- package/dist/cjs/utils/type_check.d.ts +79 -0
- package/dist/cjs/utils/type_check.d.ts.map +1 -1
- package/dist/cjs/utils/type_check.js +87 -1
- package/dist/cjs/utils/type_check.js.map +1 -1
- package/dist/cjs/utils/wrap.d.ts +26 -0
- package/dist/cjs/utils/wrap.d.ts.map +1 -1
- package/dist/cjs/utils/wrap.js +47 -10
- package/dist/cjs/utils/wrap.js.map +1 -1
- package/dist/esm/app/application.d.ts +36 -1
- package/dist/esm/app/application.d.ts.map +1 -1
- package/dist/esm/app/application.js +49 -2
- package/dist/esm/app/application.js.map +1 -1
- package/dist/esm/app/boot.d.ts +56 -1
- package/dist/esm/app/boot.d.ts.map +1 -1
- package/dist/esm/app/boot.js +74 -11
- package/dist/esm/app/boot.js.map +1 -1
- package/dist/esm/app/dir.d.ts +10 -0
- package/dist/esm/app/dir.d.ts.map +1 -1
- package/dist/esm/app/dir.js +71 -10
- package/dist/esm/app/dir.js.map +1 -1
- package/dist/esm/app/events.d.ts +58 -2
- package/dist/esm/app/events.d.ts.map +1 -1
- package/dist/esm/app/events.js +92 -12
- package/dist/esm/app/events.js.map +1 -1
- package/dist/esm/config/config_loader.d.ts +44 -0
- package/dist/esm/config/config_loader.d.ts.map +1 -1
- package/dist/esm/config/config_loader.js +82 -1
- package/dist/esm/config/config_loader.js.map +1 -1
- package/dist/esm/config/default_config.d.ts +5 -0
- package/dist/esm/config/default_config.d.ts.map +1 -1
- package/dist/esm/config/default_config.js +98 -11
- package/dist/esm/config/default_config.js.map +1 -1
- package/dist/esm/config/index.d.ts +31 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +52 -0
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/const/channel.d.ts +17 -0
- package/dist/esm/const/channel.d.ts.map +1 -1
- package/dist/esm/const/channel.js +17 -0
- package/dist/esm/const/channel.js.map +1 -1
- package/dist/esm/controller/controller_loader.d.ts +20 -1
- package/dist/esm/controller/controller_loader.d.ts.map +1 -1
- package/dist/esm/controller/controller_loader.js +89 -9
- package/dist/esm/controller/controller_loader.js.map +1 -1
- package/dist/esm/controller/index.d.ts +32 -0
- package/dist/esm/controller/index.d.ts.map +1 -1
- package/dist/esm/controller/index.js +66 -0
- package/dist/esm/controller/index.js.map +1 -1
- package/dist/esm/core/loader/file_loader.d.ts +78 -27
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
- package/dist/esm/core/loader/file_loader.js +194 -68
- package/dist/esm/core/loader/file_loader.js.map +1 -1
- package/dist/esm/core/utils/index.d.ts +57 -2
- package/dist/esm/core/utils/index.d.ts.map +1 -1
- package/dist/esm/core/utils/index.js +87 -12
- package/dist/esm/core/utils/index.js.map +1 -1
- package/dist/esm/core/utils/timing.d.ts +47 -0
- package/dist/esm/core/utils/timing.d.ts.map +1 -1
- package/dist/esm/core/utils/timing.js +42 -2
- package/dist/esm/core/utils/timing.js.map +1 -1
- package/dist/esm/cross/cross.d.ts +81 -2
- package/dist/esm/cross/cross.d.ts.map +1 -1
- package/dist/esm/cross/cross.js +86 -16
- package/dist/esm/cross/cross.js.map +1 -1
- package/dist/esm/cross/crossProcess.d.ts +85 -14
- package/dist/esm/cross/crossProcess.d.ts.map +1 -1
- package/dist/esm/cross/crossProcess.js +85 -13
- package/dist/esm/cross/crossProcess.js.map +1 -1
- package/dist/esm/electron/app/index.d.ts +17 -1
- package/dist/esm/electron/app/index.d.ts.map +1 -1
- package/dist/esm/electron/app/index.js +27 -3
- package/dist/esm/electron/app/index.js.map +1 -1
- package/dist/esm/electron/index.d.ts +6 -0
- package/dist/esm/electron/index.d.ts.map +1 -1
- package/dist/esm/electron/index.js +16 -1
- package/dist/esm/electron/index.js.map +1 -1
- package/dist/esm/electron/window/index.d.ts +37 -0
- package/dist/esm/electron/window/index.d.ts.map +1 -1
- package/dist/esm/electron/window/index.js +144 -88
- package/dist/esm/electron/window/index.js.map +1 -1
- package/dist/esm/exception/index.d.ts +12 -0
- package/dist/esm/exception/index.d.ts.map +1 -1
- package/dist/esm/exception/index.js +67 -9
- package/dist/esm/exception/index.js.map +1 -1
- package/dist/esm/html/index.d.ts +19 -0
- package/dist/esm/html/index.d.ts.map +1 -1
- package/dist/esm/html/index.js +42 -0
- package/dist/esm/html/index.js.map +1 -1
- package/dist/esm/index.d.ts +35 -7
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +127 -80
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jobs/child/app.js +86 -25
- package/dist/esm/jobs/child/app.js.map +1 -1
- package/dist/esm/jobs/child/index.d.ts +5 -5
- package/dist/esm/jobs/child/index.js +5 -5
- package/dist/esm/jobs/child/jobProcess.d.ts +68 -0
- package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/esm/jobs/child/jobProcess.js +86 -11
- package/dist/esm/jobs/child/jobProcess.js.map +1 -1
- package/dist/esm/jobs/child-pool/index.d.ts +96 -0
- package/dist/esm/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/esm/jobs/child-pool/index.js +91 -4
- package/dist/esm/jobs/child-pool/index.js.map +1 -1
- package/dist/esm/jobs/index.d.ts +10 -0
- package/dist/esm/jobs/index.d.ts.map +1 -1
- package/dist/esm/jobs/index.js +10 -0
- package/dist/esm/jobs/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/esm/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/consts.js +22 -0
- package/dist/esm/jobs/load-balancer/consts.js.map +1 -1
- package/dist/esm/jobs/load-balancer/index.d.ts +18 -18
- package/dist/esm/jobs/load-balancer/index.js +18 -18
- package/dist/esm/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/esm/jobs/load-balancer/scheduler.js +3 -3
- package/dist/esm/jobs/load-balancer/types.d.ts +21 -0
- package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/types.js +4 -0
- package/dist/esm/jobs/load-balancer/types.js.map +1 -1
- package/dist/esm/jobs/registry.d.ts +24 -0
- package/dist/esm/jobs/registry.d.ts.map +1 -0
- package/dist/esm/jobs/registry.js +52 -0
- package/dist/esm/jobs/registry.js.map +1 -0
- package/dist/esm/loader/index.d.ts +52 -0
- package/dist/esm/loader/index.d.ts.map +1 -1
- package/dist/esm/loader/index.js +79 -10
- package/dist/esm/loader/index.js.map +1 -1
- package/dist/esm/log/index.d.ts +41 -0
- package/dist/esm/log/index.d.ts.map +1 -1
- package/dist/esm/log/index.js +59 -20
- package/dist/esm/log/index.js.map +1 -1
- package/dist/esm/log/logger.d.ts +26 -0
- package/dist/esm/log/logger.d.ts.map +1 -1
- package/dist/esm/log/logger.js +122 -2
- package/dist/esm/log/logger.js.map +1 -1
- package/dist/esm/message/childMessage.d.ts +50 -0
- package/dist/esm/message/childMessage.d.ts.map +1 -1
- package/dist/esm/message/childMessage.js +83 -2
- package/dist/esm/message/childMessage.js.map +1 -1
- package/dist/esm/ps/index.d.ts +112 -0
- package/dist/esm/ps/index.d.ts.map +1 -1
- package/dist/esm/ps/index.js +175 -41
- package/dist/esm/ps/index.js.map +1 -1
- package/dist/esm/socket/httpServer.d.ts +58 -5
- package/dist/esm/socket/httpServer.d.ts.map +1 -1
- package/dist/esm/socket/httpServer.js +94 -28
- package/dist/esm/socket/httpServer.js.map +1 -1
- package/dist/esm/socket/index.d.ts +45 -3
- package/dist/esm/socket/index.d.ts.map +1 -1
- package/dist/esm/socket/index.js +50 -14
- package/dist/esm/socket/index.js.map +1 -1
- package/dist/esm/socket/ipcServer.d.ts +31 -1
- package/dist/esm/socket/ipcServer.d.ts.map +1 -1
- package/dist/esm/socket/ipcServer.js +60 -43
- package/dist/esm/socket/ipcServer.js.map +1 -1
- package/dist/esm/socket/socketServer.d.ts +32 -1
- package/dist/esm/socket/socketServer.d.ts.map +1 -1
- package/dist/esm/socket/socketServer.js +53 -14
- package/dist/esm/socket/socketServer.js.map +1 -1
- package/dist/esm/socket/utils.d.ts +13 -0
- package/dist/esm/socket/utils.d.ts.map +1 -0
- package/dist/esm/socket/utils.js +41 -0
- package/dist/esm/socket/utils.js.map +1 -0
- package/dist/esm/storage/sqliteStorage.d.ts +93 -4
- package/dist/esm/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/esm/storage/sqliteStorage.js +121 -9
- package/dist/esm/storage/sqliteStorage.js.map +1 -1
- package/dist/esm/types/index.d.ts +373 -5
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/utils/extend.d.ts +44 -1
- package/dist/esm/utils/extend.d.ts.map +1 -1
- package/dist/esm/utils/extend.js +67 -19
- package/dist/esm/utils/extend.js.map +1 -1
- package/dist/esm/utils/helper.d.ts +154 -1
- package/dist/esm/utils/helper.d.ts.map +1 -1
- package/dist/esm/utils/helper.js +205 -28
- package/dist/esm/utils/helper.js.map +1 -1
- package/dist/esm/utils/index.d.ts +93 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +136 -12
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ip.d.ts +29 -0
- package/dist/esm/utils/ip.d.ts.map +1 -1
- package/dist/esm/utils/ip.js +95 -4
- package/dist/esm/utils/ip.js.map +1 -1
- package/dist/esm/utils/is.d.ts +123 -0
- package/dist/esm/utils/is.d.ts.map +1 -1
- package/dist/esm/utils/is.js +126 -14
- package/dist/esm/utils/is.js.map +1 -1
- package/dist/esm/utils/json.d.ts +54 -0
- package/dist/esm/utils/json.d.ts.map +1 -1
- package/dist/esm/utils/json.js +62 -0
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/utils/pargv.d.ts +51 -0
- package/dist/esm/utils/pargv.d.ts.map +1 -1
- package/dist/esm/utils/pargv.js +141 -3
- package/dist/esm/utils/pargv.js.map +1 -1
- package/dist/esm/utils/port/index.d.ts +42 -0
- package/dist/esm/utils/port/index.d.ts.map +1 -1
- package/dist/esm/utils/port/index.js +130 -7
- package/dist/esm/utils/port/index.js.map +1 -1
- package/dist/esm/utils/type_check.d.ts +79 -0
- package/dist/esm/utils/type_check.d.ts.map +1 -1
- package/dist/esm/utils/type_check.js +87 -1
- package/dist/esm/utils/type_check.js.map +1 -1
- package/dist/esm/utils/wrap.d.ts +26 -0
- package/dist/esm/utils/wrap.d.ts.map +1 -1
- package/dist/esm/utils/wrap.js +47 -10
- package/dist/esm/utils/wrap.js.map +1 -1
- package/package.json +13 -13
|
@@ -4,39 +4,61 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
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
|
+
*/
|
|
7
28
|
const debug_1 = __importDefault(require("debug"));
|
|
8
29
|
const fs_1 = __importDefault(require("fs"));
|
|
9
30
|
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const globby_1 =
|
|
31
|
+
const globby_1 = require("globby");
|
|
11
32
|
const type_check_js_1 = require("../../utils/type_check.js");
|
|
12
33
|
const index_js_1 = require("../utils/index.js");
|
|
13
34
|
const wrap_js_1 = require("../../utils/wrap.js");
|
|
14
35
|
const debugLog = (0, debug_1.default)('ee-core:core:loader:file_loader');
|
|
36
|
+
/** Symbol marker: records the full path of a file */
|
|
15
37
|
exports.FULLPATH = Symbol('LOADER_ITEM_FULLPATH');
|
|
38
|
+
/** Symbol marker: indicates the export has been processed by the loader */
|
|
16
39
|
exports.EXPORTS = Symbol('LOADER_ITEM_EXPORTS');
|
|
40
|
+
/** Default configuration */
|
|
17
41
|
const defaults = {
|
|
42
|
+
/** Property naming style */
|
|
18
43
|
caseStyle: 'camel',
|
|
44
|
+
/** Custom initializer: performs additional processing on exported content */
|
|
19
45
|
initializer: null,
|
|
46
|
+
/** Whether to automatically invoke function-type exports */
|
|
20
47
|
call: true,
|
|
48
|
+
/** Injection arguments for function calls */
|
|
21
49
|
inject: undefined,
|
|
50
|
+
/** Target object (deprecated; now created internally by load()) */
|
|
22
51
|
target: null,
|
|
52
|
+
/** File match patterns (overrides default filePatterns) */
|
|
23
53
|
match: undefined,
|
|
24
54
|
};
|
|
25
55
|
/**
|
|
26
|
-
*
|
|
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.
|
|
27
60
|
*/
|
|
28
61
|
class FileLoader {
|
|
29
|
-
/**
|
|
30
|
-
* @class
|
|
31
|
-
* @param {Object} options - options
|
|
32
|
-
* @param {String|Array} options.directory - directories to be loaded
|
|
33
|
-
* @param {Object} options.target - attach the target object from loaded files
|
|
34
|
-
* @param {String} options.match - match the files when load, support glob, default to all js files
|
|
35
|
-
* @param {Function} options.initializer - custom file exports, receive two parameters, first is the inject object(if not js file, will be content buffer), second is an `options` object that contain `path`
|
|
36
|
-
* @param {Boolean} options.call - determine whether invoke when exports is function
|
|
37
|
-
* @param {Object} options.inject - an object that be the argument when invoke the function
|
|
38
|
-
* @param {String|Function} options.caseStyle - set property's case when converting a filepath to property list.
|
|
39
|
-
*/
|
|
40
62
|
constructor(options) {
|
|
41
63
|
if (!options.directory) {
|
|
42
64
|
throw new Error('options.directory is required');
|
|
@@ -45,30 +67,75 @@ class FileLoader {
|
|
|
45
67
|
debugLog('[constructor] options: %o', this.options);
|
|
46
68
|
}
|
|
47
69
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
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)
|
|
51
83
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
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) {
|
|
54
121
|
const target = {};
|
|
55
122
|
for (const item of items) {
|
|
56
|
-
// item { fullpath, properties: [ 'a', 'b', 'c'], exports }
|
|
57
123
|
let current = target;
|
|
58
124
|
for (let i = 0; i < item.properties.length; i++) {
|
|
59
125
|
const property = item.properties[i];
|
|
60
126
|
if (!property)
|
|
61
127
|
continue;
|
|
62
|
-
// properties is a path slice, only the last value is the file name
|
|
63
128
|
const isLast = i === item.properties.length - 1;
|
|
64
129
|
if (isLast) {
|
|
65
130
|
current[property] = item.exports;
|
|
131
|
+
// Mark full path and export identifier for non-primitive types
|
|
66
132
|
if (item.exports && !(0, type_check_js_1.isPrimitive)(item.exports)) {
|
|
67
133
|
item.exports[exports.FULLPATH] = item.fullpath;
|
|
68
134
|
item.exports[exports.EXPORTS] = true;
|
|
69
135
|
}
|
|
70
136
|
}
|
|
71
137
|
else {
|
|
138
|
+
// Intermediate level: ensure object exists
|
|
72
139
|
current[property] = current[property] || {};
|
|
73
140
|
current = current[property];
|
|
74
141
|
}
|
|
@@ -77,19 +144,23 @@ class FileLoader {
|
|
|
77
144
|
return target;
|
|
78
145
|
}
|
|
79
146
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
*
|
|
92
|
-
*
|
|
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
|
|
93
164
|
*/
|
|
94
165
|
parse() {
|
|
95
166
|
let files = (this.options.match || (0, index_js_1.filePatterns)());
|
|
@@ -106,48 +177,103 @@ class FileLoader {
|
|
|
106
177
|
const items = [];
|
|
107
178
|
debugLog('[parse] directories %o', directories);
|
|
108
179
|
for (const directory of directories) {
|
|
109
|
-
const filepaths = globby_1.
|
|
180
|
+
const filepaths = (0, globby_1.globbySync)(files, { cwd: directory });
|
|
110
181
|
debugLog('[parse] filepaths %o', filepaths);
|
|
111
182
|
for (const filepath of filepaths) {
|
|
112
183
|
const fullpath = path_1.default.join(directory, filepath);
|
|
113
184
|
if (!fs_1.default.statSync(fullpath).isFile())
|
|
114
185
|
continue;
|
|
115
|
-
// get properties
|
|
116
|
-
// controller/foo/bar.js => [ 'foo', 'bar' ]
|
|
117
186
|
const properties = (0, wrap_js_1.getProperties)(filepath, { caseStyle: this.options.caseStyle });
|
|
118
|
-
//
|
|
119
|
-
|
|
120
|
-
const
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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())
|
|
140
270
|
continue;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
items.push({ fullpath, properties, exports });
|
|
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);
|
|
151
277
|
}
|
|
152
278
|
}
|
|
153
279
|
return items;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file_loader.js","sourceRoot":"","sources":["../../../../src/core/loader/file_loader.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"file_loader.js","sourceRoot":"","sources":["../../../../src/core/loader/file_loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +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
|
+
*/
|
|
1
6
|
import 'bytenode';
|
|
2
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
|
+
*/
|
|
3
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
|
+
*/
|
|
4
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
|
+
*/
|
|
5
39
|
export declare function getResolvedFilename(filepath: string, baseDir: string): string;
|
|
6
40
|
/**
|
|
7
|
-
*
|
|
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
|
|
8
48
|
*/
|
|
9
49
|
export declare function isBytecodeClass(exports: unknown): boolean;
|
|
10
50
|
/**
|
|
11
|
-
*
|
|
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)
|
|
12
56
|
*/
|
|
13
57
|
export declare function filePatterns(): string[];
|
|
14
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>;
|
|
15
70
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAelB,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAsC,CAAC;AAEhE,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmBlD;AAED,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,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED
|
|
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"}
|
|
@@ -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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"}
|