ee-core 5.0.0-beta.2 → 5.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app/application.d.ts +36 -1
- package/dist/cjs/app/application.d.ts.map +1 -1
- package/dist/cjs/app/application.js +49 -2
- package/dist/cjs/app/application.js.map +1 -1
- package/dist/cjs/app/boot.d.ts +56 -1
- package/dist/cjs/app/boot.d.ts.map +1 -1
- package/dist/cjs/app/boot.js +74 -11
- package/dist/cjs/app/boot.js.map +1 -1
- package/dist/cjs/app/dir.d.ts +10 -0
- package/dist/cjs/app/dir.d.ts.map +1 -1
- package/dist/cjs/app/dir.js +71 -10
- package/dist/cjs/app/dir.js.map +1 -1
- package/dist/cjs/app/events.d.ts +58 -2
- package/dist/cjs/app/events.d.ts.map +1 -1
- package/dist/cjs/app/events.js +92 -12
- package/dist/cjs/app/events.js.map +1 -1
- package/dist/cjs/config/config_loader.d.ts +44 -0
- package/dist/cjs/config/config_loader.d.ts.map +1 -1
- package/dist/cjs/config/config_loader.js +82 -1
- package/dist/cjs/config/config_loader.js.map +1 -1
- package/dist/cjs/config/default_config.d.ts +5 -0
- package/dist/cjs/config/default_config.d.ts.map +1 -1
- package/dist/cjs/config/default_config.js +98 -11
- package/dist/cjs/config/default_config.js.map +1 -1
- package/dist/cjs/config/index.d.ts +31 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +52 -0
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/const/channel.d.ts +17 -0
- package/dist/cjs/const/channel.d.ts.map +1 -1
- package/dist/cjs/const/channel.js +17 -0
- package/dist/cjs/const/channel.js.map +1 -1
- package/dist/cjs/controller/controller_loader.d.ts +20 -1
- package/dist/cjs/controller/controller_loader.d.ts.map +1 -1
- package/dist/cjs/controller/controller_loader.js +89 -9
- package/dist/cjs/controller/controller_loader.js.map +1 -1
- package/dist/cjs/controller/index.d.ts +32 -0
- package/dist/cjs/controller/index.d.ts.map +1 -1
- package/dist/cjs/controller/index.js +66 -0
- package/dist/cjs/controller/index.js.map +1 -1
- package/dist/cjs/core/loader/file_loader.d.ts +78 -27
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
- package/dist/cjs/core/loader/file_loader.js +194 -68
- package/dist/cjs/core/loader/file_loader.js.map +1 -1
- package/dist/cjs/core/utils/index.d.ts +57 -2
- package/dist/cjs/core/utils/index.d.ts.map +1 -1
- package/dist/cjs/core/utils/index.js +120 -12
- package/dist/cjs/core/utils/index.js.map +1 -1
- package/dist/cjs/core/utils/timing.d.ts +47 -0
- package/dist/cjs/core/utils/timing.d.ts.map +1 -1
- package/dist/cjs/core/utils/timing.js +42 -2
- package/dist/cjs/core/utils/timing.js.map +1 -1
- package/dist/cjs/cross/cross.d.ts +81 -2
- package/dist/cjs/cross/cross.d.ts.map +1 -1
- package/dist/cjs/cross/cross.js +86 -16
- package/dist/cjs/cross/cross.js.map +1 -1
- package/dist/cjs/cross/crossProcess.d.ts +85 -14
- package/dist/cjs/cross/crossProcess.d.ts.map +1 -1
- package/dist/cjs/cross/crossProcess.js +85 -13
- package/dist/cjs/cross/crossProcess.js.map +1 -1
- package/dist/cjs/electron/app/index.d.ts +17 -1
- package/dist/cjs/electron/app/index.d.ts.map +1 -1
- package/dist/cjs/electron/app/index.js +27 -3
- package/dist/cjs/electron/app/index.js.map +1 -1
- package/dist/cjs/electron/index.d.ts +6 -0
- package/dist/cjs/electron/index.d.ts.map +1 -1
- package/dist/cjs/electron/index.js +16 -1
- package/dist/cjs/electron/index.js.map +1 -1
- package/dist/cjs/electron/window/index.d.ts +37 -0
- package/dist/cjs/electron/window/index.d.ts.map +1 -1
- package/dist/cjs/electron/window/index.js +144 -88
- package/dist/cjs/electron/window/index.js.map +1 -1
- package/dist/cjs/exception/index.d.ts +12 -0
- package/dist/cjs/exception/index.d.ts.map +1 -1
- package/dist/cjs/exception/index.js +67 -9
- package/dist/cjs/exception/index.js.map +1 -1
- package/dist/cjs/html/index.d.ts +19 -0
- package/dist/cjs/html/index.d.ts.map +1 -1
- package/dist/cjs/html/index.js +42 -0
- package/dist/cjs/html/index.js.map +1 -1
- package/dist/cjs/index.d.ts +35 -7
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +127 -80
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jobs/child/app.js +86 -25
- package/dist/cjs/jobs/child/app.js.map +1 -1
- package/dist/cjs/jobs/child/index.d.ts +5 -5
- package/dist/cjs/jobs/child/index.js +5 -5
- package/dist/cjs/jobs/child/jobProcess.d.ts +68 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/cjs/jobs/child/jobProcess.js +86 -11
- package/dist/cjs/jobs/child/jobProcess.js.map +1 -1
- package/dist/cjs/jobs/child-pool/index.d.ts +96 -0
- package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/cjs/jobs/child-pool/index.js +91 -4
- package/dist/cjs/jobs/child-pool/index.js.map +1 -1
- package/dist/cjs/jobs/index.d.ts +10 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -1
- package/dist/cjs/jobs/index.js +10 -0
- package/dist/cjs/jobs/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/cjs/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/consts.js +22 -0
- package/dist/cjs/jobs/load-balancer/consts.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/index.d.ts +18 -18
- package/dist/cjs/jobs/load-balancer/index.js +18 -18
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/cjs/jobs/load-balancer/scheduler.js +3 -3
- package/dist/cjs/jobs/load-balancer/types.d.ts +21 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/types.js +4 -0
- package/dist/cjs/jobs/load-balancer/types.js.map +1 -1
- package/dist/cjs/jobs/registry.d.ts +24 -0
- package/dist/cjs/jobs/registry.d.ts.map +1 -0
- package/dist/cjs/jobs/registry.js +52 -0
- package/dist/cjs/jobs/registry.js.map +1 -0
- package/dist/cjs/loader/index.d.ts +52 -0
- package/dist/cjs/loader/index.d.ts.map +1 -1
- package/dist/cjs/loader/index.js +79 -10
- package/dist/cjs/loader/index.js.map +1 -1
- package/dist/cjs/log/index.d.ts +41 -0
- package/dist/cjs/log/index.d.ts.map +1 -1
- package/dist/cjs/log/index.js +59 -20
- package/dist/cjs/log/index.js.map +1 -1
- package/dist/cjs/log/logger.d.ts +26 -0
- package/dist/cjs/log/logger.d.ts.map +1 -1
- package/dist/cjs/log/logger.js +122 -2
- package/dist/cjs/log/logger.js.map +1 -1
- package/dist/cjs/message/childMessage.d.ts +50 -0
- package/dist/cjs/message/childMessage.d.ts.map +1 -1
- package/dist/cjs/message/childMessage.js +83 -2
- package/dist/cjs/message/childMessage.js.map +1 -1
- package/dist/cjs/ps/index.d.ts +112 -0
- package/dist/cjs/ps/index.d.ts.map +1 -1
- package/dist/cjs/ps/index.js +175 -41
- package/dist/cjs/ps/index.js.map +1 -1
- package/dist/cjs/socket/httpServer.d.ts +58 -5
- package/dist/cjs/socket/httpServer.d.ts.map +1 -1
- package/dist/cjs/socket/httpServer.js +94 -28
- package/dist/cjs/socket/httpServer.js.map +1 -1
- package/dist/cjs/socket/index.d.ts +45 -3
- package/dist/cjs/socket/index.d.ts.map +1 -1
- package/dist/cjs/socket/index.js +50 -14
- package/dist/cjs/socket/index.js.map +1 -1
- package/dist/cjs/socket/ipcServer.d.ts +31 -1
- package/dist/cjs/socket/ipcServer.d.ts.map +1 -1
- package/dist/cjs/socket/ipcServer.js +60 -43
- package/dist/cjs/socket/ipcServer.js.map +1 -1
- package/dist/cjs/socket/socketServer.d.ts +32 -1
- package/dist/cjs/socket/socketServer.d.ts.map +1 -1
- package/dist/cjs/socket/socketServer.js +53 -14
- package/dist/cjs/socket/socketServer.js.map +1 -1
- package/dist/cjs/socket/utils.d.ts +13 -0
- package/dist/cjs/socket/utils.d.ts.map +1 -0
- package/dist/cjs/socket/utils.js +41 -0
- package/dist/cjs/socket/utils.js.map +1 -0
- package/dist/cjs/storage/sqliteStorage.d.ts +93 -4
- package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/cjs/storage/sqliteStorage.js +121 -9
- package/dist/cjs/storage/sqliteStorage.js.map +1 -1
- package/dist/cjs/types/index.d.ts +373 -5
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/utils/extend.d.ts +44 -1
- package/dist/cjs/utils/extend.d.ts.map +1 -1
- package/dist/cjs/utils/extend.js +67 -19
- package/dist/cjs/utils/extend.js.map +1 -1
- package/dist/cjs/utils/helper.d.ts +154 -1
- package/dist/cjs/utils/helper.d.ts.map +1 -1
- package/dist/cjs/utils/helper.js +205 -28
- package/dist/cjs/utils/helper.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +93 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +136 -12
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ip.d.ts +29 -0
- package/dist/cjs/utils/ip.d.ts.map +1 -1
- package/dist/cjs/utils/ip.js +95 -4
- package/dist/cjs/utils/ip.js.map +1 -1
- package/dist/cjs/utils/is.d.ts +123 -0
- package/dist/cjs/utils/is.d.ts.map +1 -1
- package/dist/cjs/utils/is.js +126 -14
- package/dist/cjs/utils/is.js.map +1 -1
- package/dist/cjs/utils/json.d.ts +54 -0
- package/dist/cjs/utils/json.d.ts.map +1 -1
- package/dist/cjs/utils/json.js +62 -0
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/utils/pargv.d.ts +51 -0
- package/dist/cjs/utils/pargv.d.ts.map +1 -1
- package/dist/cjs/utils/pargv.js +141 -3
- package/dist/cjs/utils/pargv.js.map +1 -1
- package/dist/cjs/utils/port/index.d.ts +42 -0
- package/dist/cjs/utils/port/index.d.ts.map +1 -1
- package/dist/cjs/utils/port/index.js +130 -7
- package/dist/cjs/utils/port/index.js.map +1 -1
- package/dist/cjs/utils/type_check.d.ts +79 -0
- package/dist/cjs/utils/type_check.d.ts.map +1 -1
- package/dist/cjs/utils/type_check.js +87 -1
- package/dist/cjs/utils/type_check.js.map +1 -1
- package/dist/cjs/utils/wrap.d.ts +26 -0
- package/dist/cjs/utils/wrap.d.ts.map +1 -1
- package/dist/cjs/utils/wrap.js +47 -10
- package/dist/cjs/utils/wrap.js.map +1 -1
- package/dist/esm/app/application.d.ts +36 -1
- package/dist/esm/app/application.d.ts.map +1 -1
- package/dist/esm/app/application.js +49 -2
- package/dist/esm/app/application.js.map +1 -1
- package/dist/esm/app/boot.d.ts +56 -1
- package/dist/esm/app/boot.d.ts.map +1 -1
- package/dist/esm/app/boot.js +74 -11
- package/dist/esm/app/boot.js.map +1 -1
- package/dist/esm/app/dir.d.ts +10 -0
- package/dist/esm/app/dir.d.ts.map +1 -1
- package/dist/esm/app/dir.js +71 -10
- package/dist/esm/app/dir.js.map +1 -1
- package/dist/esm/app/events.d.ts +58 -2
- package/dist/esm/app/events.d.ts.map +1 -1
- package/dist/esm/app/events.js +92 -12
- package/dist/esm/app/events.js.map +1 -1
- package/dist/esm/config/config_loader.d.ts +44 -0
- package/dist/esm/config/config_loader.d.ts.map +1 -1
- package/dist/esm/config/config_loader.js +82 -1
- package/dist/esm/config/config_loader.js.map +1 -1
- package/dist/esm/config/default_config.d.ts +5 -0
- package/dist/esm/config/default_config.d.ts.map +1 -1
- package/dist/esm/config/default_config.js +98 -11
- package/dist/esm/config/default_config.js.map +1 -1
- package/dist/esm/config/index.d.ts +31 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +52 -0
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/const/channel.d.ts +17 -0
- package/dist/esm/const/channel.d.ts.map +1 -1
- package/dist/esm/const/channel.js +17 -0
- package/dist/esm/const/channel.js.map +1 -1
- package/dist/esm/controller/controller_loader.d.ts +20 -1
- package/dist/esm/controller/controller_loader.d.ts.map +1 -1
- package/dist/esm/controller/controller_loader.js +89 -9
- package/dist/esm/controller/controller_loader.js.map +1 -1
- package/dist/esm/controller/index.d.ts +32 -0
- package/dist/esm/controller/index.d.ts.map +1 -1
- package/dist/esm/controller/index.js +66 -0
- package/dist/esm/controller/index.js.map +1 -1
- package/dist/esm/core/loader/file_loader.d.ts +78 -27
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
- package/dist/esm/core/loader/file_loader.js +194 -68
- package/dist/esm/core/loader/file_loader.js.map +1 -1
- package/dist/esm/core/utils/index.d.ts +57 -2
- package/dist/esm/core/utils/index.d.ts.map +1 -1
- package/dist/esm/core/utils/index.js +87 -12
- package/dist/esm/core/utils/index.js.map +1 -1
- package/dist/esm/core/utils/timing.d.ts +47 -0
- package/dist/esm/core/utils/timing.d.ts.map +1 -1
- package/dist/esm/core/utils/timing.js +42 -2
- package/dist/esm/core/utils/timing.js.map +1 -1
- package/dist/esm/cross/cross.d.ts +81 -2
- package/dist/esm/cross/cross.d.ts.map +1 -1
- package/dist/esm/cross/cross.js +86 -16
- package/dist/esm/cross/cross.js.map +1 -1
- package/dist/esm/cross/crossProcess.d.ts +85 -14
- package/dist/esm/cross/crossProcess.d.ts.map +1 -1
- package/dist/esm/cross/crossProcess.js +85 -13
- package/dist/esm/cross/crossProcess.js.map +1 -1
- package/dist/esm/electron/app/index.d.ts +17 -1
- package/dist/esm/electron/app/index.d.ts.map +1 -1
- package/dist/esm/electron/app/index.js +27 -3
- package/dist/esm/electron/app/index.js.map +1 -1
- package/dist/esm/electron/index.d.ts +6 -0
- package/dist/esm/electron/index.d.ts.map +1 -1
- package/dist/esm/electron/index.js +16 -1
- package/dist/esm/electron/index.js.map +1 -1
- package/dist/esm/electron/window/index.d.ts +37 -0
- package/dist/esm/electron/window/index.d.ts.map +1 -1
- package/dist/esm/electron/window/index.js +144 -88
- package/dist/esm/electron/window/index.js.map +1 -1
- package/dist/esm/exception/index.d.ts +12 -0
- package/dist/esm/exception/index.d.ts.map +1 -1
- package/dist/esm/exception/index.js +67 -9
- package/dist/esm/exception/index.js.map +1 -1
- package/dist/esm/html/index.d.ts +19 -0
- package/dist/esm/html/index.d.ts.map +1 -1
- package/dist/esm/html/index.js +42 -0
- package/dist/esm/html/index.js.map +1 -1
- package/dist/esm/index.d.ts +35 -7
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +127 -80
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jobs/child/app.js +86 -25
- package/dist/esm/jobs/child/app.js.map +1 -1
- package/dist/esm/jobs/child/index.d.ts +5 -5
- package/dist/esm/jobs/child/index.js +5 -5
- package/dist/esm/jobs/child/jobProcess.d.ts +68 -0
- package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/esm/jobs/child/jobProcess.js +86 -11
- package/dist/esm/jobs/child/jobProcess.js.map +1 -1
- package/dist/esm/jobs/child-pool/index.d.ts +96 -0
- package/dist/esm/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/esm/jobs/child-pool/index.js +91 -4
- package/dist/esm/jobs/child-pool/index.js.map +1 -1
- package/dist/esm/jobs/index.d.ts +10 -0
- package/dist/esm/jobs/index.d.ts.map +1 -1
- package/dist/esm/jobs/index.js +10 -0
- package/dist/esm/jobs/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/esm/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/consts.js +22 -0
- package/dist/esm/jobs/load-balancer/consts.js.map +1 -1
- package/dist/esm/jobs/load-balancer/index.d.ts +18 -18
- package/dist/esm/jobs/load-balancer/index.js +18 -18
- package/dist/esm/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/esm/jobs/load-balancer/scheduler.js +3 -3
- package/dist/esm/jobs/load-balancer/types.d.ts +21 -0
- package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/types.js +4 -0
- package/dist/esm/jobs/load-balancer/types.js.map +1 -1
- package/dist/esm/jobs/registry.d.ts +24 -0
- package/dist/esm/jobs/registry.d.ts.map +1 -0
- package/dist/esm/jobs/registry.js +52 -0
- package/dist/esm/jobs/registry.js.map +1 -0
- package/dist/esm/loader/index.d.ts +52 -0
- package/dist/esm/loader/index.d.ts.map +1 -1
- package/dist/esm/loader/index.js +79 -10
- package/dist/esm/loader/index.js.map +1 -1
- package/dist/esm/log/index.d.ts +41 -0
- package/dist/esm/log/index.d.ts.map +1 -1
- package/dist/esm/log/index.js +59 -20
- package/dist/esm/log/index.js.map +1 -1
- package/dist/esm/log/logger.d.ts +26 -0
- package/dist/esm/log/logger.d.ts.map +1 -1
- package/dist/esm/log/logger.js +122 -2
- package/dist/esm/log/logger.js.map +1 -1
- package/dist/esm/message/childMessage.d.ts +50 -0
- package/dist/esm/message/childMessage.d.ts.map +1 -1
- package/dist/esm/message/childMessage.js +83 -2
- package/dist/esm/message/childMessage.js.map +1 -1
- package/dist/esm/ps/index.d.ts +112 -0
- package/dist/esm/ps/index.d.ts.map +1 -1
- package/dist/esm/ps/index.js +175 -41
- package/dist/esm/ps/index.js.map +1 -1
- package/dist/esm/socket/httpServer.d.ts +58 -5
- package/dist/esm/socket/httpServer.d.ts.map +1 -1
- package/dist/esm/socket/httpServer.js +94 -28
- package/dist/esm/socket/httpServer.js.map +1 -1
- package/dist/esm/socket/index.d.ts +45 -3
- package/dist/esm/socket/index.d.ts.map +1 -1
- package/dist/esm/socket/index.js +50 -14
- package/dist/esm/socket/index.js.map +1 -1
- package/dist/esm/socket/ipcServer.d.ts +31 -1
- package/dist/esm/socket/ipcServer.d.ts.map +1 -1
- package/dist/esm/socket/ipcServer.js +60 -43
- package/dist/esm/socket/ipcServer.js.map +1 -1
- package/dist/esm/socket/socketServer.d.ts +32 -1
- package/dist/esm/socket/socketServer.d.ts.map +1 -1
- package/dist/esm/socket/socketServer.js +53 -14
- package/dist/esm/socket/socketServer.js.map +1 -1
- package/dist/esm/socket/utils.d.ts +13 -0
- package/dist/esm/socket/utils.d.ts.map +1 -0
- package/dist/esm/socket/utils.js +41 -0
- package/dist/esm/socket/utils.js.map +1 -0
- package/dist/esm/storage/sqliteStorage.d.ts +93 -4
- package/dist/esm/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/esm/storage/sqliteStorage.js +121 -9
- package/dist/esm/storage/sqliteStorage.js.map +1 -1
- package/dist/esm/types/index.d.ts +373 -5
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/utils/extend.d.ts +44 -1
- package/dist/esm/utils/extend.d.ts.map +1 -1
- package/dist/esm/utils/extend.js +67 -19
- package/dist/esm/utils/extend.js.map +1 -1
- package/dist/esm/utils/helper.d.ts +154 -1
- package/dist/esm/utils/helper.d.ts.map +1 -1
- package/dist/esm/utils/helper.js +205 -28
- package/dist/esm/utils/helper.js.map +1 -1
- package/dist/esm/utils/index.d.ts +93 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +136 -12
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ip.d.ts +29 -0
- package/dist/esm/utils/ip.d.ts.map +1 -1
- package/dist/esm/utils/ip.js +95 -4
- package/dist/esm/utils/ip.js.map +1 -1
- package/dist/esm/utils/is.d.ts +123 -0
- package/dist/esm/utils/is.d.ts.map +1 -1
- package/dist/esm/utils/is.js +126 -14
- package/dist/esm/utils/is.js.map +1 -1
- package/dist/esm/utils/json.d.ts +54 -0
- package/dist/esm/utils/json.d.ts.map +1 -1
- package/dist/esm/utils/json.js +62 -0
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/utils/pargv.d.ts +51 -0
- package/dist/esm/utils/pargv.d.ts.map +1 -1
- package/dist/esm/utils/pargv.js +141 -3
- package/dist/esm/utils/pargv.js.map +1 -1
- package/dist/esm/utils/port/index.d.ts +42 -0
- package/dist/esm/utils/port/index.d.ts.map +1 -1
- package/dist/esm/utils/port/index.js +130 -7
- package/dist/esm/utils/port/index.js.map +1 -1
- package/dist/esm/utils/type_check.d.ts +79 -0
- package/dist/esm/utils/type_check.d.ts.map +1 -1
- package/dist/esm/utils/type_check.js +87 -1
- package/dist/esm/utils/type_check.js.map +1 -1
- package/dist/esm/utils/wrap.d.ts +26 -0
- package/dist/esm/utils/wrap.d.ts.map +1 -1
- package/dist/esm/utils/wrap.js +47 -10
- package/dist/esm/utils/wrap.js.map +1 -1
- package/package.json +13 -13
package/dist/esm/config/index.js
CHANGED
|
@@ -2,16 +2,68 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loadConfig = loadConfig;
|
|
4
4
|
exports.getConfig = getConfig;
|
|
5
|
+
exports.setConfig = setConfig;
|
|
6
|
+
exports.getAppInfo = getAppInfo;
|
|
7
|
+
/**
|
|
8
|
+
* @module config
|
|
9
|
+
* @description Configuration module entry point. Provides configuration loading and retrieval functionality.
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* - loadConfig(): Called once during framework startup to load and merge configuration
|
|
13
|
+
* - getConfig(): Retrieve the final merged runtime configuration
|
|
14
|
+
* - getAppInfo(): Retrieve application basic info (name, paths, environment, etc.)
|
|
15
|
+
*/
|
|
5
16
|
const config_loader_js_1 = require("./config_loader.js");
|
|
17
|
+
/** Runtime configuration (assigned after startup) */
|
|
6
18
|
let config = null;
|
|
19
|
+
/**
|
|
20
|
+
* Load configuration
|
|
21
|
+
*
|
|
22
|
+
* Uses ConfigLoader to load and merge default configuration with business configuration.
|
|
23
|
+
* Called by init() in boot.ts during the framework startup flow.
|
|
24
|
+
*/
|
|
7
25
|
function loadConfig() {
|
|
8
26
|
const loader = new config_loader_js_1.ConfigLoader();
|
|
9
27
|
config = loader.load();
|
|
10
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Get runtime configuration
|
|
31
|
+
*
|
|
32
|
+
* If configuration has not been loaded yet, loading is automatically triggered.
|
|
33
|
+
* Typically used after framework startup to ensure configuration is ready.
|
|
34
|
+
*
|
|
35
|
+
* @returns Complete runtime configuration object
|
|
36
|
+
*/
|
|
11
37
|
function getConfig() {
|
|
12
38
|
if (!config) {
|
|
13
39
|
loadConfig();
|
|
14
40
|
}
|
|
15
41
|
return config;
|
|
16
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Set runtime configuration directly
|
|
45
|
+
*
|
|
46
|
+
* Used by child processes to receive config from the main process,
|
|
47
|
+
* avoiding filesystem loading which may fail in child processes
|
|
48
|
+
* (e.g. bundle output directory lacks config files).
|
|
49
|
+
*
|
|
50
|
+
* @param cfg - Configuration object to set
|
|
51
|
+
*/
|
|
52
|
+
function setConfig(cfg) {
|
|
53
|
+
config = cfg;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get application basic info
|
|
57
|
+
*
|
|
58
|
+
* @returns Object containing application name, directories, environment, and other info
|
|
59
|
+
*/
|
|
60
|
+
function getAppInfo() {
|
|
61
|
+
return {
|
|
62
|
+
name: process.env.EE_APP_NAME || '',
|
|
63
|
+
baseDir: process.env.EE_BASE_DIR || '',
|
|
64
|
+
electronDir: process.env.EE_ELECTRON_DIR || '',
|
|
65
|
+
env: process.env.EE_ENV || 'prod',
|
|
66
|
+
root: process.env.EE_BASE_DIR || '',
|
|
67
|
+
};
|
|
68
|
+
}
|
|
17
69
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;AAqBA,gCAGC;AAUD,8BAKC;AAWD,8BAEC;AAOD,gCAQC;AAnED;;;;;;;;GAQG;AACH,yDAAkD;AAGlD,qDAAqD;AACrD,IAAI,MAAM,GAAkB,IAAI,CAAC;AAEjC;;;;;GAKG;AACH,SAAgB,UAAU;IACxB,MAAM,MAAM,GAAG,IAAI,+BAAY,EAAE,CAAC;IAClC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,SAAS;IACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;IACf,CAAC;IACD,OAAO,MAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,GAAG,GAAG,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU;IACxB,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;QACnC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;QACtC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;QAC9C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM;QACjC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module const/channel
|
|
3
|
+
* @description IPC communication channel and event constant definitions.
|
|
4
|
+
* Centrally manages channel names and event names used internally by the framework, avoiding hardcoded strings.
|
|
5
|
+
*/
|
|
6
|
+
/** Inter-process communication channels */
|
|
1
7
|
export declare const Processes: {
|
|
8
|
+
/** Exception display channel: renderer process displays an exception dialog upon receiving this channel message */
|
|
2
9
|
readonly showException: "ee#showException";
|
|
10
|
+
/** Channel for child process to send messages to the main process */
|
|
3
11
|
readonly sendToMain: "ee#sendToMain";
|
|
4
12
|
};
|
|
13
|
+
/** SocketIO communication channels */
|
|
5
14
|
export declare const SocketIO: {
|
|
15
|
+
/** Third-party software communication channel (default SocketIO communication channel name) */
|
|
6
16
|
readonly partySoftware: "socket-channel";
|
|
7
17
|
};
|
|
18
|
+
/** Process lifecycle events */
|
|
8
19
|
export declare const Events: {
|
|
20
|
+
/** Child process exit event */
|
|
9
21
|
readonly childProcessExit: "ee#childProcess#exit";
|
|
22
|
+
/** Child process error event */
|
|
10
23
|
readonly childProcessError: "ee#childProcess#error";
|
|
11
24
|
};
|
|
25
|
+
/** Message receiver types */
|
|
12
26
|
export declare const Receiver: {
|
|
27
|
+
/** ChildJob-type child process */
|
|
13
28
|
readonly childJob: "job";
|
|
29
|
+
/** Fork process (generic task) */
|
|
14
30
|
readonly forkProcess: "task";
|
|
31
|
+
/** All receivers */
|
|
15
32
|
readonly all: "all";
|
|
16
33
|
};
|
|
17
34
|
//# sourceMappingURL=channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/const/channel.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/const/channel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,2CAA2C;AAC3C,eAAO,MAAM,SAAS;IACpB,mHAAmH;;IAEnH,qEAAqE;;CAE7D,CAAC;AAEX,sCAAsC;AACtC,eAAO,MAAM,QAAQ;IACnB,+FAA+F;;CAEvF,CAAC;AAEX,+BAA+B;AAC/B,eAAO,MAAM,MAAM;IACjB,+BAA+B;;IAE/B,gCAAgC;;CAExB,CAAC;AAEX,6BAA6B;AAC7B,eAAO,MAAM,QAAQ;IACnB,kCAAkC;;IAElC,kCAAkC;;IAElC,oBAAoB;;CAEZ,CAAC"}
|
|
@@ -1,20 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @module const/channel
|
|
4
|
+
* @description IPC communication channel and event constant definitions.
|
|
5
|
+
* Centrally manages channel names and event names used internally by the framework, avoiding hardcoded strings.
|
|
6
|
+
*/
|
|
2
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
8
|
exports.Receiver = exports.Events = exports.SocketIO = exports.Processes = void 0;
|
|
9
|
+
/** Inter-process communication channels */
|
|
4
10
|
exports.Processes = {
|
|
11
|
+
/** Exception display channel: renderer process displays an exception dialog upon receiving this channel message */
|
|
5
12
|
showException: 'ee#showException',
|
|
13
|
+
/** Channel for child process to send messages to the main process */
|
|
6
14
|
sendToMain: 'ee#sendToMain',
|
|
7
15
|
};
|
|
16
|
+
/** SocketIO communication channels */
|
|
8
17
|
exports.SocketIO = {
|
|
18
|
+
/** Third-party software communication channel (default SocketIO communication channel name) */
|
|
9
19
|
partySoftware: 'socket-channel',
|
|
10
20
|
};
|
|
21
|
+
/** Process lifecycle events */
|
|
11
22
|
exports.Events = {
|
|
23
|
+
/** Child process exit event */
|
|
12
24
|
childProcessExit: 'ee#childProcess#exit',
|
|
25
|
+
/** Child process error event */
|
|
13
26
|
childProcessError: 'ee#childProcess#error',
|
|
14
27
|
};
|
|
28
|
+
/** Message receiver types */
|
|
15
29
|
exports.Receiver = {
|
|
30
|
+
/** ChildJob-type child process */
|
|
16
31
|
childJob: 'job',
|
|
32
|
+
/** Fork process (generic task) */
|
|
17
33
|
forkProcess: 'task',
|
|
34
|
+
/** All receivers */
|
|
18
35
|
all: 'all',
|
|
19
36
|
};
|
|
20
37
|
//# sourceMappingURL=channel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../src/const/channel.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../src/const/channel.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,2CAA2C;AAC9B,QAAA,SAAS,GAAG;IACvB,mHAAmH;IACnH,aAAa,EAAE,kBAAkB;IACjC,qEAAqE;IACrE,UAAU,EAAE,eAAe;CACnB,CAAC;AAEX,sCAAsC;AACzB,QAAA,QAAQ,GAAG;IACtB,+FAA+F;IAC/F,aAAa,EAAE,gBAAgB;CACvB,CAAC;AAEX,+BAA+B;AAClB,QAAA,MAAM,GAAG;IACpB,+BAA+B;IAC/B,gBAAgB,EAAE,sBAAsB;IACxC,gCAAgC;IAChC,iBAAiB,EAAE,uBAAuB;CAClC,CAAC;AAEX,6BAA6B;AAChB,QAAA,QAAQ,GAAG;IACtB,kCAAkC;IAClC,QAAQ,EAAE,KAAK;IACf,kCAAkC;IAClC,WAAW,EAAE,MAAM;IACnB,oBAAoB;IACpB,GAAG,EAAE,KAAK;CACF,CAAC"}
|
|
@@ -1,10 +1,29 @@
|
|
|
1
1
|
import { Timing } from '../core/utils/timing.js';
|
|
2
|
+
/**
|
|
3
|
+
* ControllerLoader — Controller loader
|
|
4
|
+
*
|
|
5
|
+
* Responsible for loading all controller files under the electron/controller/ directory
|
|
6
|
+
* and wrapping class methods into callable middleware functions.
|
|
7
|
+
*/
|
|
2
8
|
export declare class ControllerLoader {
|
|
3
9
|
timing: Timing;
|
|
4
10
|
constructor();
|
|
5
11
|
/**
|
|
6
|
-
* Load
|
|
12
|
+
* Load controllers synchronously
|
|
13
|
+
*
|
|
14
|
+
* Uses registry first (bundle mode), otherwise falls back to globby file scanning (dev mode).
|
|
15
|
+
*
|
|
16
|
+
* @returns Controller method mapping object, structured as { controller: { module: { method: fn } } }
|
|
7
17
|
*/
|
|
8
18
|
load(): Record<string, unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* Load controllers asynchronously (ESM support)
|
|
21
|
+
*
|
|
22
|
+
* Uses dynamic import() instead of require(), supporting ESM format controller files.
|
|
23
|
+
* Same flow as load(), but file loading and parsing are asynchronous operations.
|
|
24
|
+
*
|
|
25
|
+
* @returns Controller method mapping object
|
|
26
|
+
*/
|
|
27
|
+
loadAsync(): Promise<Record<string, unknown>>;
|
|
9
28
|
}
|
|
10
29
|
//# sourceMappingURL=controller_loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller_loader.d.ts","sourceRoot":"","sources":["../../../src/controller/controller_loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller_loader.d.ts","sourceRoot":"","sources":["../../../src/controller/controller_loader.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAOjD;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,MAAM,EAAE,MAAM,CAAC;;IAMf;;;;;;OAMG;IACH,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAuB/B;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAsBpD"}
|
|
@@ -4,6 +4,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ControllerLoader = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @module controller/controller_loader
|
|
9
|
+
* @description Controller loader. Scans all files under the electron/controller/ directory,
|
|
10
|
+
* converts exported classes to method mapping objects, and registers exported functions directly.
|
|
11
|
+
*
|
|
12
|
+
* Loading modes:
|
|
13
|
+
* - Bundle mode (registry): Reads pre-registered controller modules from globalThis.__EE_CONTROLLER_REGISTRY__
|
|
14
|
+
* - Dev mode (globby): Scans the filesystem, using globby to match files
|
|
15
|
+
*
|
|
16
|
+
* Class controller processing flow:
|
|
17
|
+
* 1. The class is wrapped by wrapClass(), which traverses all methods on the prototype chain
|
|
18
|
+
* 2. Each method is converted to a middleware function by methodToMiddleware()
|
|
19
|
+
* 3. Each middleware invocation creates a new controller instance, ensuring concurrency safety
|
|
20
|
+
* 4. Method properties have pathName and fullPath attached for IPC channel routing
|
|
21
|
+
*
|
|
22
|
+
* Export structure example:
|
|
23
|
+
* ```
|
|
24
|
+
* controller/
|
|
25
|
+
* user.js -> { controller: { user: { add: fn, delete: fn } } }
|
|
26
|
+
* admin/login.js -> { controller: { admin: { login: { auth: fn } } } }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
7
29
|
const debug_1 = __importDefault(require("debug"));
|
|
8
30
|
const path_1 = __importDefault(require("path"));
|
|
9
31
|
const type_check_js_1 = require("../utils/type_check.js");
|
|
@@ -12,18 +34,30 @@ const timing_js_1 = require("../core/utils/timing.js");
|
|
|
12
34
|
const file_loader_js_1 = require("../core/loader/file_loader.js");
|
|
13
35
|
const index_js_2 = require("../core/utils/index.js");
|
|
14
36
|
const debugLog = (0, debug_1.default)('ee-core:controller:controller_loader');
|
|
37
|
+
/**
|
|
38
|
+
* ControllerLoader — Controller loader
|
|
39
|
+
*
|
|
40
|
+
* Responsible for loading all controller files under the electron/controller/ directory
|
|
41
|
+
* and wrapping class methods into callable middleware functions.
|
|
42
|
+
*/
|
|
15
43
|
class ControllerLoader {
|
|
16
44
|
constructor() {
|
|
17
45
|
this.timing = new timing_js_1.Timing();
|
|
18
46
|
}
|
|
19
47
|
/**
|
|
20
|
-
* Load
|
|
48
|
+
* Load controllers synchronously
|
|
49
|
+
*
|
|
50
|
+
* Uses registry first (bundle mode), otherwise falls back to globby file scanning (dev mode).
|
|
51
|
+
*
|
|
52
|
+
* @returns Controller method mapping object, structured as { controller: { module: { method: fn } } }
|
|
21
53
|
*/
|
|
22
54
|
load() {
|
|
23
55
|
this.timing.start('Load Controller');
|
|
56
|
+
const registry = globalThis.__EE_CONTROLLER_REGISTRY__;
|
|
24
57
|
const opt = {
|
|
25
58
|
caseStyle: 'lower',
|
|
26
59
|
directory: path_1.default.join((0, index_js_1.getElectronDir)(), 'controller'),
|
|
60
|
+
...(registry ? { registry } : {}),
|
|
27
61
|
initializer: (obj, options) => {
|
|
28
62
|
if ((0, type_check_js_1.isClass)(obj) || (0, index_js_2.isBytecodeClass)(obj)) {
|
|
29
63
|
obj.prototype.pathName = options.pathName;
|
|
@@ -34,28 +68,63 @@ class ControllerLoader {
|
|
|
34
68
|
},
|
|
35
69
|
};
|
|
36
70
|
const target = new file_loader_js_1.FileLoader(opt).load();
|
|
37
|
-
debugLog('[load] controllers: %o', target);
|
|
71
|
+
debugLog('[load] controllers (%s): %o', registry ? 'registry' : 'globby', target);
|
|
72
|
+
this.timing.end('Load Controller');
|
|
73
|
+
return target;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Load controllers asynchronously (ESM support)
|
|
77
|
+
*
|
|
78
|
+
* Uses dynamic import() instead of require(), supporting ESM format controller files.
|
|
79
|
+
* Same flow as load(), but file loading and parsing are asynchronous operations.
|
|
80
|
+
*
|
|
81
|
+
* @returns Controller method mapping object
|
|
82
|
+
*/
|
|
83
|
+
async loadAsync() {
|
|
84
|
+
this.timing.start('Load Controller');
|
|
85
|
+
const registry = globalThis.__EE_CONTROLLER_REGISTRY__;
|
|
86
|
+
const opt = {
|
|
87
|
+
caseStyle: 'lower',
|
|
88
|
+
directory: path_1.default.join((0, index_js_1.getElectronDir)(), 'controller'),
|
|
89
|
+
...(registry ? { registry } : {}),
|
|
90
|
+
initializer: (obj, options) => {
|
|
91
|
+
if ((0, type_check_js_1.isClass)(obj) || (0, index_js_2.isBytecodeClass)(obj)) {
|
|
92
|
+
obj.prototype.pathName = options.pathName;
|
|
93
|
+
obj.prototype.fullPath = options.path;
|
|
94
|
+
return wrapClass(obj);
|
|
95
|
+
}
|
|
96
|
+
return obj;
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
const target = await new file_loader_js_1.FileLoader(opt).loadAsync();
|
|
100
|
+
debugLog('[loadAsync] controllers (%s): %o', registry ? 'registry' : 'globby', target);
|
|
38
101
|
this.timing.end('Load Controller');
|
|
39
102
|
return target;
|
|
40
103
|
}
|
|
41
104
|
}
|
|
42
105
|
exports.ControllerLoader = ControllerLoader;
|
|
43
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Wrap a controller class, extracting all methods from the prototype chain
|
|
108
|
+
*
|
|
109
|
+
* Traverses the class prototype chain, mapping each method name to a middleware function.
|
|
110
|
+
* Subclass methods are not overridden by parent class methods of the same name (hasOwnProperty guard).
|
|
111
|
+
* Getters/setters and non-function properties are skipped.
|
|
112
|
+
*
|
|
113
|
+
* @param Controller - Controller class constructor
|
|
114
|
+
* @returns Mapping of method names to middleware functions
|
|
115
|
+
*/
|
|
44
116
|
function wrapClass(Controller) {
|
|
45
117
|
let proto = Controller.prototype;
|
|
46
118
|
const ret = {};
|
|
47
|
-
//
|
|
119
|
+
// Trace the prototype chain, collecting methods from all levels
|
|
48
120
|
while (proto !== Object.prototype) {
|
|
49
121
|
const keys = Object.getOwnPropertyNames(proto);
|
|
50
|
-
// debugLog("[wrapClass] keys:", keys);
|
|
51
122
|
for (const key of keys) {
|
|
52
|
-
//
|
|
53
|
-
// that should be ignored
|
|
123
|
+
// Skip constructor
|
|
54
124
|
if (key === 'constructor')
|
|
55
125
|
continue;
|
|
56
|
-
// skip getter, setter & non-function properties
|
|
57
126
|
const d = Object.getOwnPropertyDescriptor(proto, key);
|
|
58
|
-
//
|
|
127
|
+
// Skip getter/setter and non-function properties; methods already defined in subclass are not overridden by parent
|
|
59
128
|
if ((0, type_check_js_1.isFunction)(d?.value) && !Object.prototype.hasOwnProperty.call(ret, key)) {
|
|
60
129
|
ret[key] = methodToMiddleware(Controller, key);
|
|
61
130
|
ret[key][file_loader_js_1.FULLPATH] =
|
|
@@ -66,6 +135,17 @@ function wrapClass(Controller) {
|
|
|
66
135
|
}
|
|
67
136
|
return ret;
|
|
68
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Convert a controller method to a middleware function
|
|
140
|
+
*
|
|
141
|
+
* Key design: a new controller instance is created on each invocation.
|
|
142
|
+
* This is done to ensure concurrency safety — when multiple requests arrive simultaneously,
|
|
143
|
+
* each request has its own controller instance, avoiding race conditions caused by shared state.
|
|
144
|
+
*
|
|
145
|
+
* @param Controller - Controller class constructor
|
|
146
|
+
* @param key - Method name
|
|
147
|
+
* @returns Middleware function that creates a new instance and executes the corresponding method on invocation
|
|
148
|
+
*/
|
|
69
149
|
function methodToMiddleware(Controller, key) {
|
|
70
150
|
return function classControllerMiddleware(...args) {
|
|
71
151
|
const controller = new Controller();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller_loader.js","sourceRoot":"","sources":["../../../src/controller/controller_loader.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,0DAA6D;AAC7D,6CAAgD;AAChD,uDAAiD;AACjD,kEAAqE;AACrE,qDAAiE;
|
|
1
|
+
{"version":3,"file":"controller_loader.js","sourceRoot":"","sources":["../../../src/controller/controller_loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load controllers synchronously
|
|
3
|
+
*
|
|
4
|
+
* Uses require() to load all controller files, suitable for CJS projects.
|
|
5
|
+
* If async loading is in progress, calling this method throws an error.
|
|
6
|
+
*
|
|
7
|
+
* @returns Controller method mapping object
|
|
8
|
+
* @throws Throws an error when async loading is in progress
|
|
9
|
+
*/
|
|
1
10
|
export declare function loadController(): Record<string, unknown>;
|
|
11
|
+
/**
|
|
12
|
+
* Load controllers asynchronously
|
|
13
|
+
*
|
|
14
|
+
* Uses import() to asynchronously load all controller files, suitable for ESM projects.
|
|
15
|
+
* Sets the loading flag during loading to prevent synchronous loading operations.
|
|
16
|
+
*
|
|
17
|
+
* @returns Controller method mapping object
|
|
18
|
+
*/
|
|
19
|
+
export declare function loadControllerAsync(): Promise<Record<string, unknown>>;
|
|
20
|
+
/**
|
|
21
|
+
* Get all loaded controllers
|
|
22
|
+
*
|
|
23
|
+
* If controllers have not been loaded yet, synchronous loading is automatically triggered.
|
|
24
|
+
* Calling during async loading throws an error.
|
|
25
|
+
*
|
|
26
|
+
* @returns Controller method mapping object
|
|
27
|
+
* @throws Throws an error when async loading is in progress
|
|
28
|
+
*/
|
|
2
29
|
export declare function getControllers(): Record<string, unknown>;
|
|
30
|
+
/**
|
|
31
|
+
* Get controllers (alias for getControllers)
|
|
32
|
+
*
|
|
33
|
+
* @returns Controller method mapping object
|
|
34
|
+
*/
|
|
3
35
|
export declare function getController(): Record<string, unknown>;
|
|
4
36
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/controller/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/controller/index.ts"],"names":[],"mappings":"AAsBA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOxD;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAS5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQxD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEvD"}
|
|
@@ -1,21 +1,87 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loadController = loadController;
|
|
4
|
+
exports.loadControllerAsync = loadControllerAsync;
|
|
4
5
|
exports.getControllers = getControllers;
|
|
5
6
|
exports.getController = getController;
|
|
7
|
+
/**
|
|
8
|
+
* @module controller
|
|
9
|
+
* @description Controller module entry point. Provides controller loading and retrieval functionality.
|
|
10
|
+
*
|
|
11
|
+
* Controllers are the core of business logic; each frontend IPC request is ultimately routed to a corresponding controller method.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* - loadController(): Synchronous loading (CJS projects)
|
|
15
|
+
* - loadControllerAsync(): Asynchronous loading (ESM projects)
|
|
16
|
+
* - getController() / getControllers(): Retrieve loaded controller mapping
|
|
17
|
+
*
|
|
18
|
+
* Thread safety: The loading flag prevents concurrent synchronous and asynchronous loading;
|
|
19
|
+
* calling a synchronous method during async loading throws an error.
|
|
20
|
+
*/
|
|
6
21
|
const controller_loader_js_1 = require("./controller_loader.js");
|
|
22
|
+
/** Loaded controller method mapping */
|
|
7
23
|
let controllers = null;
|
|
24
|
+
/** Flag indicating async loading is in progress, preventing sync/async load race conditions */
|
|
25
|
+
let loading = false;
|
|
26
|
+
/**
|
|
27
|
+
* Load controllers synchronously
|
|
28
|
+
*
|
|
29
|
+
* Uses require() to load all controller files, suitable for CJS projects.
|
|
30
|
+
* If async loading is in progress, calling this method throws an error.
|
|
31
|
+
*
|
|
32
|
+
* @returns Controller method mapping object
|
|
33
|
+
* @throws Throws an error when async loading is in progress
|
|
34
|
+
*/
|
|
8
35
|
function loadController() {
|
|
36
|
+
if (loading) {
|
|
37
|
+
throw new Error('[ee-core] Controllers are being loaded asynchronously. Use getControllers() after the async load completes.');
|
|
38
|
+
}
|
|
9
39
|
const loader = new controller_loader_js_1.ControllerLoader();
|
|
10
40
|
controllers = loader.load();
|
|
11
41
|
return controllers;
|
|
12
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Load controllers asynchronously
|
|
45
|
+
*
|
|
46
|
+
* Uses import() to asynchronously load all controller files, suitable for ESM projects.
|
|
47
|
+
* Sets the loading flag during loading to prevent synchronous loading operations.
|
|
48
|
+
*
|
|
49
|
+
* @returns Controller method mapping object
|
|
50
|
+
*/
|
|
51
|
+
async function loadControllerAsync() {
|
|
52
|
+
loading = true;
|
|
53
|
+
try {
|
|
54
|
+
const loader = new controller_loader_js_1.ControllerLoader();
|
|
55
|
+
controllers = await loader.loadAsync();
|
|
56
|
+
return controllers;
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
loading = false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get all loaded controllers
|
|
64
|
+
*
|
|
65
|
+
* If controllers have not been loaded yet, synchronous loading is automatically triggered.
|
|
66
|
+
* Calling during async loading throws an error.
|
|
67
|
+
*
|
|
68
|
+
* @returns Controller method mapping object
|
|
69
|
+
* @throws Throws an error when async loading is in progress
|
|
70
|
+
*/
|
|
13
71
|
function getControllers() {
|
|
72
|
+
if (loading) {
|
|
73
|
+
throw new Error('[ee-core] Controllers are being loaded asynchronously. Await the async load before accessing controllers.');
|
|
74
|
+
}
|
|
14
75
|
if (!controllers) {
|
|
15
76
|
loadController();
|
|
16
77
|
}
|
|
17
78
|
return controllers;
|
|
18
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Get controllers (alias for getControllers)
|
|
82
|
+
*
|
|
83
|
+
* @returns Controller method mapping object
|
|
84
|
+
*/
|
|
19
85
|
function getController() {
|
|
20
86
|
return getControllers();
|
|
21
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controller/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controller/index.ts"],"names":[],"mappings":";;AA+BA,wCAOC;AAUD,kDASC;AAWD,wCAQC;AAOD,sCAEC;AArFD;;;;;;;;;;;;;GAaG;AACH,iEAA0D;AAE1D,uCAAuC;AACvC,IAAI,WAAW,GAAmC,IAAI,CAAC;AAEvD,+FAA+F;AAC/F,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB;;;;;;;;GAQG;AACH,SAAgB,cAAc;IAC5B,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,uCAAgB,EAAE,CAAC;IACtC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB;IACvC,OAAO,GAAG,IAAI,CAAC;IACf,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,uCAAgB,EAAE,CAAC;QACtC,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC;IACrB,CAAC;YAAS,CAAC;QACT,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,cAAc;IAC5B,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,2GAA2G,CAAC,CAAC;IAC/H,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,cAAc,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,WAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa;IAC3B,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -1,61 +1,112 @@
|
|
|
1
1
|
import type { FileLoaderOptions } from '../../types/index.js';
|
|
2
|
+
/** Symbol marker: records the full path of a file */
|
|
2
3
|
export declare const FULLPATH: unique symbol;
|
|
4
|
+
/** Symbol marker: indicates the export has been processed by the loader */
|
|
3
5
|
export declare const EXPORTS: unique symbol;
|
|
6
|
+
/** Load item: file path, property path, exported content */
|
|
4
7
|
interface LoaderItem {
|
|
5
8
|
fullpath: string;
|
|
6
9
|
properties: string[];
|
|
7
10
|
exports: unknown;
|
|
8
11
|
}
|
|
12
|
+
/** Default configuration */
|
|
9
13
|
declare const defaults: {
|
|
14
|
+
/** Property naming style */
|
|
10
15
|
caseStyle: "camel";
|
|
16
|
+
/** Custom initializer: performs additional processing on exported content */
|
|
11
17
|
initializer: ((obj: unknown, options: {
|
|
12
18
|
pathName: string;
|
|
13
19
|
path: string;
|
|
14
20
|
}) => unknown) | null;
|
|
21
|
+
/** Whether to automatically invoke function-type exports */
|
|
15
22
|
call: boolean;
|
|
23
|
+
/** Injection arguments for function calls */
|
|
16
24
|
inject: undefined;
|
|
25
|
+
/** Target object (deprecated; now created internally by load()) */
|
|
17
26
|
target: Record<string, unknown> | null;
|
|
27
|
+
/** File match patterns (overrides default filePatterns) */
|
|
18
28
|
match: string[] | undefined;
|
|
19
29
|
};
|
|
20
30
|
/**
|
|
21
|
-
*
|
|
31
|
+
* FileLoader — File loader
|
|
32
|
+
*
|
|
33
|
+
* Organizes exported content from files in a directory into nested property objects
|
|
34
|
+
* based on directory structure. Supports synchronous/asynchronous loading and registry mode.
|
|
22
35
|
*/
|
|
23
36
|
export declare class FileLoader {
|
|
24
37
|
options: FileLoaderOptions & typeof defaults;
|
|
38
|
+
constructor(options: FileLoaderOptions);
|
|
25
39
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* @param
|
|
40
|
+
* Process a single export
|
|
41
|
+
*
|
|
42
|
+
* Execution flow:
|
|
43
|
+
* 1. Run initializer (if present) for custom processing of the export
|
|
44
|
+
* 2. Set pathName and fullPath properties on classes
|
|
45
|
+
* 3. Class/generator function/async function/bytecode class -> return directly
|
|
46
|
+
* 4. Plain function -> auto-invoke based on the call option
|
|
47
|
+
*
|
|
48
|
+
* @param exports - File exported content
|
|
49
|
+
* @param fullpath - File full path
|
|
50
|
+
* @param properties - Property path (array converted from directory + filename)
|
|
51
|
+
* @param dirName - Directory name (used as property path prefix)
|
|
52
|
+
* @returns LoaderItem or null (skipped when export is null/undefined)
|
|
35
53
|
*/
|
|
36
|
-
|
|
54
|
+
private _processExport;
|
|
37
55
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
56
|
+
* Assign load items to target object
|
|
57
|
+
*
|
|
58
|
+
* Creates nested objects level by level along the property path, ultimately mounting
|
|
59
|
+
* the exported content at the leaf node. Also marks non-primitive exports with
|
|
60
|
+
* FULLPATH and EXPORTS symbols.
|
|
61
|
+
*
|
|
62
|
+
* @param items - Load item list
|
|
63
|
+
* @returns Nested property object
|
|
64
|
+
*/
|
|
65
|
+
private _assignToTarget;
|
|
66
|
+
/**
|
|
67
|
+
* Load files and build target object
|
|
68
|
+
*
|
|
69
|
+
* Loads from registry when available (bundle mode), otherwise scans filesystem (dev mode).
|
|
70
|
+
*
|
|
71
|
+
* @returns Nested property object organized by directory structure
|
|
41
72
|
*/
|
|
42
73
|
load(): Record<string, unknown>;
|
|
43
74
|
/**
|
|
44
|
-
* Parse files from
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* properties: [ 'group', 'repository' ],
|
|
51
|
-
* exports: { ... },
|
|
52
|
-
* }
|
|
53
|
-
* ```
|
|
54
|
-
* `Properties` is an array that contains the directory of a filepath.
|
|
55
|
-
* `Exports` depends on type, if exports is a function, it will be called. if initializer is specified, it will be called with exports for customizing.
|
|
56
|
-
* @return {Array} items
|
|
75
|
+
* Parse files synchronously from filesystem
|
|
76
|
+
*
|
|
77
|
+
* Uses globby to scan directories and require() to load files.
|
|
78
|
+
* Suitable for CJS dev mode.
|
|
79
|
+
*
|
|
80
|
+
* @returns Load item list
|
|
57
81
|
*/
|
|
58
82
|
parse(): LoaderItem[];
|
|
83
|
+
/**
|
|
84
|
+
* Parse modules from pre-registered registry
|
|
85
|
+
*
|
|
86
|
+
* In bundle mode, the esbuild plugin pre-registers controller/configuration info
|
|
87
|
+
* into global variables. This method reads the registry directly without filesystem scanning.
|
|
88
|
+
*
|
|
89
|
+
* @returns Load item list
|
|
90
|
+
*/
|
|
91
|
+
parseFromRegistry(): LoaderItem[];
|
|
92
|
+
/**
|
|
93
|
+
* Load files asynchronously and build target object
|
|
94
|
+
*
|
|
95
|
+
* Uses globby async scanning and import() dynamic loading.
|
|
96
|
+
* Suitable for ESM dev mode.
|
|
97
|
+
*
|
|
98
|
+
* @returns Nested property object organized by directory structure
|
|
99
|
+
*/
|
|
100
|
+
loadAsync(): Promise<Record<string, unknown>>;
|
|
101
|
+
/**
|
|
102
|
+
* Parse files asynchronously from filesystem
|
|
103
|
+
*
|
|
104
|
+
* Uses globby async scanning and fs.promises.stat for async file checking.
|
|
105
|
+
* Suitable for ESM dev mode.
|
|
106
|
+
*
|
|
107
|
+
* @returns Load item list
|
|
108
|
+
*/
|
|
109
|
+
parseAsync(): Promise<LoaderItem[]>;
|
|
59
110
|
}
|
|
60
111
|
export {};
|
|
61
112
|
//# sourceMappingURL=file_loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file_loader.d.ts","sourceRoot":"","sources":["../../../../src/core/loader/file_loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file_loader.d.ts","sourceRoot":"","sources":["../../../../src/core/loader/file_loader.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI9D,qDAAqD;AACrD,eAAO,MAAM,QAAQ,eAAiC,CAAC;AACvD,2EAA2E;AAC3E,eAAO,MAAM,OAAO,eAAgC,CAAC;AAErD,4DAA4D;AAC5D,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,4BAA4B;AAC5B,QAAA,MAAM,QAAQ;IACZ,4BAA4B;;IAE5B,6EAA6E;iBACxD,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,IAAI;IACpG,4DAA4D;;IAE5D,6CAA6C;;IAE7C,mEAAmE;YACnD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAC9C,2DAA2D;WACvC,MAAM,EAAE,GAAG,SAAS;CACzC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,EAAE,iBAAiB,GAAG,OAAO,QAAQ,CAAC;gBAEjC,OAAO,EAAE,iBAAiB;IAQtC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,cAAc;IAqCtB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;;OAMG;IACH,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAK/B;;;;;;;OAOG;IACH,KAAK,IAAI,UAAU,EAAE;IAoCrB;;;;;;;OAOG;IACH,iBAAiB,IAAI,UAAU,EAAE;IA4BjC;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAKnD;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAmC1C"}
|