@sidekick-coder/zenith-kit 0.4.3 → 0.4.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/bin/release.js +76 -0
- package/bin/zenith.js +9 -8
- package/dist/client/index.es.js +3274 -10177
- package/dist/client/src/client/components/ui/button/index.d.ts +2 -2
- package/dist/client/src/client/components/ui/sidebar/index.d.ts +1 -1
- package/dist/client/src/client/components/ui/toggle/index.d.ts +1 -1
- package/dist/client/src/client/components.d.ts +1 -0
- package/dist/client/src/client/composables/useForm.d.ts +1 -1
- package/dist/client/src/client/composables/useRoute.d.ts +3 -0
- package/dist/client/src/client/facades/emmitter.d.ts +1 -1
- package/dist/client/src/client/index.d.ts +1 -0
- package/dist/client/src/shared/schemas/dashboardMetaSchema.d.ts +6 -6
- package/dist/client/src/shared/validators/array.d.ts +5 -0
- package/dist/client/src/shared/validators/index.d.ts +1 -0
- package/dist/client/src/shared/validators/urlValidator.d.ts +0 -1
- package/dist/components/index.es.js +8507 -8638
- package/dist/components/src/client/components/DashboardGridUnitInput.vue.d.ts +1 -1
- package/dist/components/src/client/components/FileUploader.vue.d.ts +1 -1
- package/dist/components/src/client/components/FormFilePicker.vue.d.ts +1 -1
- package/dist/components/src/client/components/FormFileUploader.vue.d.ts +1 -1
- package/dist/components/src/client/components/FormImageUploader.vue.d.ts +1 -1
- package/dist/components/src/client/components/ui/combobox/ComboboxList.vue.d.ts +1 -1
- package/dist/components/src/client/components/ui/menubar/MenubarContent.vue.d.ts +1 -1
- package/dist/components/src/client/components/ui/popover/PopoverContent.vue.d.ts +1 -1
- package/dist/components/src/client/components.d.ts +1 -0
- package/dist/components/src/client/composables/useForm.d.ts +1 -1
- package/dist/components/src/client/composables/useRoute.d.ts +3 -0
- package/dist/components/src/client/facades/emmitter.d.ts +1 -1
- package/dist/components/src/client/index.d.ts +1 -0
- package/dist/components/src/shared/schemas/dashboardMetaSchema.d.ts +6 -6
- package/dist/components/src/shared/schemas/userSchema.d.ts +16 -16
- package/dist/components/src/shared/validators/array.d.ts +5 -0
- package/dist/components/src/shared/validators/index.d.ts +1 -0
- package/dist/components/src/shared/validators/urlValidator.d.ts +0 -1
- package/dist/server/AclEntity-BltZiTsS.d.mts +25 -0
- package/dist/server/AclEntity-C2YSHzip.mjs +2 -0
- package/dist/server/AuthMiddleware-D2BZKKBJ.d.mts +15 -0
- package/dist/server/AuthSilenceMiddleware-8l5EPeot.d.mts +16 -0
- package/dist/server/AuthorizationMiddleware-BjozUIyB.d.mts +25 -0
- package/dist/server/BaseEntityMixin-8XsQRDgt.mjs +2 -0
- package/dist/server/BaseException-cMfHz0w8.mjs +2 -0
- package/dist/server/BaseRelation-Br4CDT5e.d.mts +7 -0
- package/dist/server/BelongsToFileRelation-B-KDoKlS.d.mts +24 -0
- package/dist/server/BelongsToRelation-BdcBpcDt.d.mts +24 -0
- package/dist/server/BelongsToUserRelation-C1Mj-hdb.mjs +2 -0
- package/dist/server/BelongsToUserRelation-D-nXYwyy.d.mts +9 -0
- package/dist/server/CliService-BN3FMadM.d.mts +51 -0
- package/dist/server/CliTesterService-XVGae3eK.d.mts +11 -0
- package/dist/server/CliWrapperService-yg9gALPj.d.mts +30 -0
- package/dist/server/ConfigFSService-BOgh6pL9.d.mts +28 -0
- package/dist/server/ConfigManagerService-D7WdTGtJ.d.mts +26 -0
- package/dist/server/ConfigRepository-DdBw1w8b.d.mts +27 -0
- package/dist/server/ConfigS3Service-MPEl-P_u.d.mts +27 -0
- package/dist/server/ConfigService-CNvGuEng.mjs +2 -0
- package/dist/server/ConfigService-Di_lVTAw.d.mts +26 -0
- package/dist/server/ContainerService-CL9IKkoa.d.mts +20 -0
- package/dist/server/CookieMapEntity-BfC0NuKI.d.mts +18 -0
- package/dist/server/CookieMapEntity-CJRqkyl9.d.mts +13 -0
- package/dist/server/CookieMapEntity-KhdSUHhb.mjs +2 -0
- package/dist/server/DatabaseContract-iR4kncmi.d.mts +141 -0
- package/dist/server/DatabaseGateway-DHTbjF5C.d.mts +10 -0
- package/dist/server/DatabaseRepository-_gA6RkcH.d.mts +60 -0
- package/dist/server/DatabaseRepositoryInferMixin-BKv4RR8I.d.mts +19 -0
- package/dist/server/DownloadService-B-r-EqkZ.d.mts +17 -0
- package/dist/server/DriveBaseGateway-C5R7er0_.d.mts +32 -0
- package/dist/server/DriveConfigEntity-BTK1AHGA.mjs +2 -0
- package/dist/server/DriveConfigEntity-Dh8yII97.d.mts +92 -0
- package/dist/server/DriveContract-CaFb_Tph.d.mts +31 -0
- package/dist/server/DriveEntryEntity-BiZSWkGi.d.mts +11 -0
- package/dist/server/DriveFSGateway-_7luuCiK.d.mts +28 -0
- package/dist/server/DriveS3Gateway-BM7HhUZf.d.mts +42 -0
- package/dist/server/DriveService-Cb-DdupY.d.mts +70 -0
- package/dist/server/EmmitterService-BwETNyCU.d.mts +8 -0
- package/dist/server/EmmitterService-Dw_dThZJ.mjs +2 -0
- package/dist/server/EmmitterService-s7wZsSVf.d.mts +57 -0
- package/dist/server/EncryptService-B17nfV8V.d.mts +39 -0
- package/dist/server/EnvService-BUFUgqUW.mjs +2 -0
- package/dist/server/EnvService-D7rVDvqk.d.mts +54 -0
- package/dist/server/EventContract-B6JEPwRM.d.mts +18 -0
- package/dist/server/ExceptionService-S7L99ujh.d.mts +21 -0
- package/dist/server/FileEntity-6sT7RdiN.d.mts +194 -0
- package/dist/server/FileEntity-cztreoro.mjs +2 -0
- package/dist/server/FileMetaEntity-uHFGRj8P.mjs +2 -0
- package/dist/server/FileRepository--bOaDHZz.d.mts +48 -0
- package/dist/server/GitBranchRepository-C0VHcpbD.mjs +3 -0
- package/dist/server/GitBranchRepository-k7reiBa4.d.mts +30 -0
- package/dist/server/GitCommitRepository-fjbilGO0.mjs +2 -0
- package/dist/server/GitCommitRepository-j6tmgRS2.d.mts +40 -0
- package/dist/server/GitGateway-CNuhGhkh.d.mts +48 -0
- package/dist/server/HasManyRelation-v0qmO2nd.d.mts +26 -0
- package/dist/server/HasMetasRelation-BUoCpbto.d.mts +22 -0
- package/dist/server/HasherService-DnbIU1ub.d.mts +9 -0
- package/dist/server/HooksMixin-D_OSdJ8D.mjs +2 -0
- package/dist/server/HttpContextContract-BS6VXi67.d.mts +25 -0
- package/dist/server/HttpService-DnnqU2n1.d.mts +44 -0
- package/dist/server/KyselyContract-ACWyd3F_.d.mts +8 -0
- package/dist/server/LifecycleHook-BEVS4FKE.d.mts +22 -0
- package/dist/server/LifecycleHook-DecY1BiW.mjs +2 -0
- package/dist/server/LifecycleService-5eYElrdc.mjs +2 -0
- package/dist/server/LifecycleService-C43A9AOw.d.mts +50 -0
- package/dist/server/LoggerService-8XvsFBNN.mjs +2 -0
- package/dist/server/LoggerService-C5FUibjh.d.mts +12 -0
- package/dist/server/MetadataMixin-AVaqESW2.d.mts +15 -0
- package/dist/server/MetadataQueryService-WXBAN4d8.d.mts +37 -0
- package/dist/server/MetadataService-D5lAlAuy.d.mts +23 -0
- package/dist/server/MigrationEntity-B5VsB63u.d.mts +21 -0
- package/dist/server/MigratorService-DHug6UBq.d.mts +81 -0
- package/dist/server/ModelConfigMixin-7rCJZaAw.d.mts +24 -0
- package/dist/server/ModuleEntity-DZ2R1Bf_.mjs +2 -0
- package/dist/server/ModuleEntity-xa6rCTxe.d.mts +67 -0
- package/dist/server/PageRequestContextEntity-B1nE9xel.d.mts +45 -0
- package/dist/server/PermissionAssignmentRepository-DVS015ou.d.mts +28 -0
- package/dist/server/PermissionEntity-DFd-TfNn.d.mts +23 -0
- package/dist/server/PermissionRepository-9Kf8A5uC.d.mts +29 -0
- package/dist/server/PluginEntity-Bjl3keRp.d.mts +17 -0
- package/dist/server/PluginEntryEntity-BDBElYQ1.d.mts +31 -0
- package/dist/server/PluginEntryEntity-P80sQn2B.mjs +2 -0
- package/dist/server/PluginIpcClient-5kLU9aLc.d.mts +17 -0
- package/dist/server/PluginIpcHost-DTXHSMkU.d.mts +15 -0
- package/dist/server/PluginRouter-DOOBinlR.d.mts +43 -0
- package/dist/server/RelationsMixin-BaXvJfzK.d.mts +13 -0
- package/dist/server/RouteEntity-CLRlwjdn.d.mts +23 -0
- package/dist/server/RouterContract-thDZSYVJ.d.mts +19 -0
- package/dist/server/RouterFileBaseRoutingService-CEBdzCYd.d.mts +26 -0
- package/dist/server/RouterRegisterService-mU1J15Yt.d.mts +20 -0
- package/dist/server/RouterResourceConfigService-BdqbVblk.d.mts +26 -0
- package/dist/server/RouterResourceService-Cj73MVpb.d.mts +34 -0
- package/dist/server/RouterService-BS_1MzFI.mjs +2 -0
- package/dist/server/RouterService-DmiiZzf5.d.mts +69 -0
- package/dist/server/RoutineEntity-DTJtFI1m.d.mts +24 -0
- package/dist/server/SchedulerService-DDuSAEiJ.d.mts +53 -0
- package/dist/server/SeederEntity-DYcCU6bM.d.mts +18 -0
- package/dist/server/SeederService-B9j_aioh.d.mts +55 -0
- package/dist/server/ShellService-BYXgMyxs.mjs +2 -0
- package/dist/server/ShellService-BrVU19X3.d.mts +29 -0
- package/dist/server/SoftDeleteMixin-Be6a-3yd.mjs +2 -0
- package/dist/server/TokenRepository-C1RqlmxD.mjs +2 -0
- package/dist/server/TokenRepository-DplVSSbU.d.mts +37 -0
- package/dist/server/UserEntity-NnuYOCM7.d.mts +55 -0
- package/dist/server/UserRepository-BkGla4Vr.d.mts +37 -0
- package/dist/server/addIdColumn-BiPPrrLR.d.mts +7 -0
- package/dist/server/addSoftDeleteColumn-CZGL0m9X.d.mts +14 -0
- package/dist/server/addTimestampColumns-DW_pSZXf.d.mts +19 -0
- package/dist/server/basePath-BrKDzdou.d.mts +10 -0
- package/dist/server/chunk-CGLV7CjG.mjs +1 -0
- package/dist/server/commands/pluginBuild.d.mts +7 -0
- package/dist/server/commands/pluginBuild.mjs +2 -0
- package/dist/server/commands/pluginGenerateId.d.mts +7 -0
- package/dist/server/commands/pluginGenerateId.mjs +2 -0
- package/dist/server/common-CkVu3aD6.d.mts +22 -0
- package/dist/server/compose-Dq68rcKW.d.mts +5 -0
- package/dist/server/compose-XJLd0ioo.mjs +2 -0
- package/dist/server/config-DDScRnvV.d.mts +7 -0
- package/dist/server/config-OUxEJV91.d.mts +5 -0
- package/dist/server/container-Be1UNVpU.d.mts +7 -0
- package/dist/server/container-BwAJOg9B.mjs +2 -0
- package/dist/server/contracts/DatabaseContract.d.mts +2 -0
- package/dist/server/contracts/DatabaseContract.mjs +1 -0
- package/dist/server/contracts/DriveContract.d.mts +2 -0
- package/dist/server/contracts/DriveContract.mjs +1 -0
- package/dist/server/contracts/EventContract.d.mts +2 -0
- package/dist/server/contracts/EventContract.mjs +1 -0
- package/dist/server/contracts/HttpContextContract.d.mts +2 -0
- package/dist/server/contracts/HttpContextContract.mjs +1 -0
- package/dist/server/contracts/KyselyContract.d.mts +2 -0
- package/dist/server/contracts/KyselyContract.mjs +1 -0
- package/dist/server/contracts/RouterContract.d.mts +2 -0
- package/dist/server/contracts/RouterContract.mjs +1 -0
- package/dist/server/count-Cx1qqWRe.d.mts +12 -0
- package/dist/server/create-BnVaEuUC.d.mts +17 -0
- package/dist/server/createId-c4X4-v2p.mjs +2 -0
- package/dist/server/createLoaderFactory-Bpk6rD3D.d.mts +11 -0
- package/dist/server/cuid-7odspl-1.d.mts +5 -0
- package/dist/server/database-CWkgKEjr.d.mts +8 -0
- package/dist/server/defineHandler-fLDf436i.d.mts +10 -0
- package/dist/server/defineLoader-BOYnKv5_.d.mts +11 -0
- package/dist/server/destroy-Uj3B5q04.d.mts +14 -0
- package/dist/server/download-DzKRkAhD.d.mts +7 -0
- package/dist/server/drive-BZiloXJW.d.mts +7 -0
- package/dist/server/emmitter-9-6gueft.d.mts +7 -0
- package/dist/server/encrypt-BtQggXao.d.mts +7 -0
- package/dist/server/entities/AclEntity.d.mts +2 -0
- package/dist/server/entities/AclEntity.mjs +1 -0
- package/dist/server/entities/CookieMapEntity.d.mts +2 -0
- package/dist/server/entities/CookieMapEntity.mjs +1 -0
- package/dist/server/entities/DriveConfigEntity.d.mts +2 -0
- package/dist/server/entities/DriveConfigEntity.mjs +1 -0
- package/dist/server/entities/FileEntity.d.mts +2 -0
- package/dist/server/entities/FileEntity.mjs +1 -0
- package/dist/server/entities/FileMetaEntity.d.mts +2 -0
- package/dist/server/entities/FileMetaEntity.mjs +1 -0
- package/dist/server/entities/MigrationEntity.d.mts +2 -0
- package/dist/server/entities/MigrationEntity.mjs +2 -0
- package/dist/server/entities/ModuleEntity.d.mts +2 -0
- package/dist/server/entities/ModuleEntity.mjs +1 -0
- package/dist/server/entities/PageRequestContextEntity.d.mts +2 -0
- package/dist/server/entities/PageRequestContextEntity.mjs +2 -0
- package/dist/server/entities/PluginEntity.d.mts +2 -0
- package/dist/server/entities/PluginEntity.mjs +2 -0
- package/dist/server/entities/PluginEntryEntity.d.mts +2 -0
- package/dist/server/entities/PluginEntryEntity.mjs +1 -0
- package/dist/server/entities/RouteEntity.d.mts +2 -0
- package/dist/server/entities/RouteEntity.mjs +2 -0
- package/dist/server/entities/RoutineEntity.d.mts +2 -0
- package/dist/server/entities/RoutineEntity.mjs +2 -0
- package/dist/server/entities/SeederEntity.d.mts +2 -0
- package/dist/server/entities/SeederEntity.mjs +2 -0
- package/dist/server/env-oE1dEbgb.d.mts +7 -0
- package/dist/server/exists-Csru9uQi.d.mts +8 -0
- package/dist/server/facades/config.d.mts +2 -0
- package/dist/server/facades/config.mjs +2 -0
- package/dist/server/facades/container.d.mts +2 -0
- package/dist/server/facades/container.mjs +1 -0
- package/dist/server/facades/database.d.mts +2 -0
- package/dist/server/facades/database.mjs +2 -0
- package/dist/server/facades/download.d.mts +2 -0
- package/dist/server/facades/download.mjs +2 -0
- package/dist/server/facades/drive.d.mts +2 -0
- package/dist/server/facades/drive.mjs +2 -0
- package/dist/server/facades/emmitter.d.mts +2 -0
- package/dist/server/facades/emmitter.mjs +2 -0
- package/dist/server/facades/encrypt.d.mts +2 -0
- package/dist/server/facades/encrypt.mjs +2 -0
- package/dist/server/facades/env.d.mts +2 -0
- package/dist/server/facades/env.mjs +2 -0
- package/dist/server/facades/filesRepository.d.mts +2 -0
- package/dist/server/facades/filesRepository.mjs +2 -0
- package/dist/server/facades/hasher.d.mts +2 -0
- package/dist/server/facades/hasher.mjs +2 -0
- package/dist/server/facades/http.d.mts +2 -0
- package/dist/server/facades/http.mjs +2 -0
- package/dist/server/facades/lifecycle.d.mts +2 -0
- package/dist/server/facades/lifecycle.mjs +2 -0
- package/dist/server/facades/logger.d.mts +2 -0
- package/dist/server/facades/logger.mjs +2 -0
- package/dist/server/facades/migrator.d.mts +2 -0
- package/dist/server/facades/migrator.mjs +2 -0
- package/dist/server/facades/permissionAssignmentRepository.d.mts +2 -0
- package/dist/server/facades/permissionAssignmentRepository.mjs +2 -0
- package/dist/server/facades/permissionRepository.d.mts +2 -0
- package/dist/server/facades/permissionRepository.mjs +2 -0
- package/dist/server/facades/router.d.mts +2 -0
- package/dist/server/facades/router.mjs +2 -0
- package/dist/server/facades/scheduler.d.mts +2 -0
- package/dist/server/facades/scheduler.mjs +2 -0
- package/dist/server/facades/shell.d.mts +2 -0
- package/dist/server/facades/shell.mjs +2 -0
- package/dist/server/facades/tokenRepository.d.mts +2 -0
- package/dist/server/facades/tokenRepository.mjs +2 -0
- package/dist/server/facades/userRepository.d.mts +2 -0
- package/dist/server/facades/userRepository.mjs +2 -0
- package/dist/server/fileLoader-D1BgCxaZ.d.mts +11 -0
- package/dist/server/fileUrlLoader-DpVRfcGU.d.mts +12 -0
- package/dist/server/filesRepository-D9fxvd-E.d.mts +7 -0
- package/dist/server/findOne-Boxfam4u.d.mts +15 -0
- package/dist/server/firstOrCreate-DZr8L5yb.d.mts +15 -0
- package/dist/server/flatten-DHGvYNde.mjs +2 -0
- package/dist/server/gateways/DatabaseGateway.d.mts +2 -0
- package/dist/server/gateways/DatabaseGateway.mjs +2 -0
- package/dist/server/gateways/DriveBaseGateway.d.mts +2 -0
- package/dist/server/gateways/DriveBaseGateway.mjs +2 -0
- package/dist/server/gateways/DriveFSGateway.d.mts +2 -0
- package/dist/server/gateways/DriveFSGateway.mjs +2 -0
- package/dist/server/gateways/DriveS3Gateway.d.mts +2 -0
- package/dist/server/gateways/DriveS3Gateway.mjs +2 -0
- package/dist/server/gateways/GitGateway.d.mts +2 -0
- package/dist/server/gateways/GitGateway.mjs +3 -0
- package/dist/server/generateIndexFile-zJLs7hsX.d.mts +5 -0
- package/dist/server/hasManyThroughLoader-BlAt7DQD.d.mts +22 -0
- package/dist/server/hasManyThroughRelation-CydrMBzu.d.mts +33 -0
- package/dist/server/hasher-i-RJja9d.d.mts +7 -0
- package/dist/server/http-F5dtmcy0.d.mts +7 -0
- package/dist/server/importAll-CDPG0oSA.d.mts +22 -0
- package/dist/server/importOne-C4TjAH5G.d.mts +5 -0
- package/dist/server/index-BcsXXrHq.d.mts +1 -0
- package/dist/server/index.d.mts +127 -2890
- package/dist/server/index.mjs +1 -4
- package/dist/server/lifecycle-CBXw5SHi.d.mts +7 -0
- package/dist/server/list-DLrcQUmc.d.mts +16 -0
- package/dist/server/loadMetas-kut6dSZS.d.mts +18 -0
- package/dist/server/loaders/fileLoader.d.mts +2 -0
- package/dist/server/loaders/fileLoader.mjs +2 -0
- package/dist/server/loaders/fileUrlLoader.d.mts +2 -0
- package/dist/server/loaders/fileUrlLoader.mjs +2 -0
- package/dist/server/loaders/hasManyThroughLoader.d.mts +2 -0
- package/dist/server/loaders/hasManyThroughLoader.mjs +2 -0
- package/dist/server/loaders/loadMetas.d.mts +2 -0
- package/dist/server/loaders/loadMetas.mjs +2 -0
- package/dist/server/loaders/permissionLoader.d.mts +2 -0
- package/dist/server/loaders/permissionLoader.mjs +2 -0
- package/dist/server/loaders/userLoader.d.mts +2 -0
- package/dist/server/loaders/userLoader.mjs +2 -0
- package/dist/server/logger-B-eGxHk1.d.mts +7 -0
- package/dist/server/middlewares/AuthMiddleware.d.mts +2 -0
- package/dist/server/middlewares/AuthMiddleware.mjs +2 -0
- package/dist/server/middlewares/AuthSilenceMiddleware.d.mts +2 -0
- package/dist/server/middlewares/AuthSilenceMiddleware.mjs +2 -0
- package/dist/server/middlewares/AuthorizationMiddleware.d.mts +2 -0
- package/dist/server/middlewares/AuthorizationMiddleware.mjs +2 -0
- package/dist/server/migrator-D9OUJuE0.d.mts +7 -0
- package/dist/server/mixins/DatabaseRepositoryInferMixin.d.mts +2 -0
- package/dist/server/mixins/DatabaseRepositoryInferMixin.mjs +2 -0
- package/dist/server/mixins/MetadataMixin.d.mts +2 -0
- package/dist/server/mixins/MetadataMixin.mjs +2 -0
- package/dist/server/mixins/ModelConfigMixin.d.mts +2 -0
- package/dist/server/mixins/ModelConfigMixin.mjs +2 -0
- package/dist/server/mixins/ModelMixin.d.mts +60 -0
- package/dist/server/mixins/ModelMixin.mjs +2 -0
- package/dist/server/mixins/RelationsMixin.d.mts +2 -0
- package/dist/server/mixins/RelationsMixin.mjs +2 -0
- package/dist/server/normalizers-ByJRmAYa.mjs +2 -0
- package/dist/server/paginate-Dq4YCfoP.d.mts +33 -0
- package/dist/server/paginate-xPInooKh.mjs +2 -0
- package/dist/server/permissionAssignmentRepository-kW-shaeD.d.mts +7 -0
- package/dist/server/permissionLoader-DzP0E01F.d.mts +13 -0
- package/dist/server/permissionRepository-pSU0Pbu0.d.mts +7 -0
- package/dist/server/printTable-7dreX6wW.d.mts +15 -0
- package/dist/server/queries/common.d.mts +2 -0
- package/dist/server/queries/common.mjs +2 -0
- package/dist/server/queries/count.d.mts +2 -0
- package/dist/server/queries/count.mjs +2 -0
- package/dist/server/queries/create.d.mts +2 -0
- package/dist/server/queries/create.mjs +2 -0
- package/dist/server/queries/destroy.d.mts +2 -0
- package/dist/server/queries/destroy.mjs +2 -0
- package/dist/server/queries/exists.d.mts +2 -0
- package/dist/server/queries/exists.mjs +2 -0
- package/dist/server/queries/findOne.d.mts +2 -0
- package/dist/server/queries/findOne.mjs +2 -0
- package/dist/server/queries/firstOrCreate.d.mts +2 -0
- package/dist/server/queries/firstOrCreate.mjs +2 -0
- package/dist/server/queries/index.d.mts +14 -0
- package/dist/server/queries/index.mjs +1 -0
- package/dist/server/queries/list.d.mts +2 -0
- package/dist/server/queries/list.mjs +2 -0
- package/dist/server/queries/paginate.d.mts +2 -0
- package/dist/server/queries/paginate.mjs +1 -0
- package/dist/server/queries/softDelete.d.mts +2 -0
- package/dist/server/queries/softDelete.mjs +2 -0
- package/dist/server/queries/timestamp.d.mts +2 -0
- package/dist/server/queries/timestamp.mjs +2 -0
- package/dist/server/queries/update.d.mts +2 -0
- package/dist/server/queries/update.mjs +2 -0
- package/dist/server/queries/updateOrCreate.d.mts +2 -0
- package/dist/server/queries/updateOrCreate.mjs +2 -0
- package/dist/server/relations/BaseRelation.d.mts +2 -0
- package/dist/server/relations/BaseRelation.mjs +2 -0
- package/dist/server/relations/BelongsToFileRelation.d.mts +2 -0
- package/dist/server/relations/BelongsToFileRelation.mjs +2 -0
- package/dist/server/relations/BelongsToRelation.d.mts +2 -0
- package/dist/server/relations/BelongsToRelation.mjs +2 -0
- package/dist/server/relations/BelongsToUserRelation.d.mts +2 -0
- package/dist/server/relations/BelongsToUserRelation.mjs +1 -0
- package/dist/server/relations/HasManyRelation.d.mts +2 -0
- package/dist/server/relations/HasManyRelation.mjs +2 -0
- package/dist/server/relations/HasMetasRelation.d.mts +2 -0
- package/dist/server/relations/HasMetasRelation.mjs +2 -0
- package/dist/server/relations/hasManyThroughRelation.d.mts +2 -0
- package/dist/server/relations/hasManyThroughRelation.mjs +2 -0
- package/dist/server/repositories/ConfigRepository.d.mts +2 -0
- package/dist/server/repositories/ConfigRepository.mjs +2 -0
- package/dist/server/repositories/DatabaseRepository.d.mts +2 -0
- package/dist/server/repositories/DatabaseRepository.mjs +2 -0
- package/dist/server/repositories/FileRepository.d.mts +2 -0
- package/dist/server/repositories/FileRepository.mjs +2 -0
- package/dist/server/repositories/GitBranchRepository.d.mts +2 -0
- package/dist/server/repositories/GitBranchRepository.mjs +1 -0
- package/dist/server/repositories/GitCommitRepository.d.mts +2 -0
- package/dist/server/repositories/GitCommitRepository.mjs +1 -0
- package/dist/server/repositories/PermissionAssignmentRepository.d.mts +2 -0
- package/dist/server/repositories/PermissionAssignmentRepository.mjs +2 -0
- package/dist/server/repositories/PermissionRepository.d.mts +2 -0
- package/dist/server/repositories/PermissionRepository.mjs +2 -0
- package/dist/server/repositories/PermissionRepository.test-d.d.mts +1 -0
- package/dist/server/repositories/PermissionRepository.test-d.mjs +2 -0
- package/dist/server/repositories/TokenRepository.d.mts +2 -0
- package/dist/server/repositories/TokenRepository.mjs +1 -0
- package/dist/server/repositories/UserRepository.d.mts +2 -0
- package/dist/server/repositories/UserRepository.mjs +2 -0
- package/dist/server/router-D7lk_eki.d.mts +8 -0
- package/dist/server/scheduler-BZJ0JscK.d.mts +7 -0
- package/dist/server/services/CliService.d.mts +2 -0
- package/dist/server/services/CliService.mjs +2 -0
- package/dist/server/services/CliTesterService.d.mts +2 -0
- package/dist/server/services/CliTesterService.mjs +2 -0
- package/dist/server/services/CliWrapperService.d.mts +2 -0
- package/dist/server/services/CliWrapperService.mjs +2 -0
- package/dist/server/services/ConfigFSService.d.mts +2 -0
- package/dist/server/services/ConfigFSService.mjs +2 -0
- package/dist/server/services/ConfigManagerService.d.mts +2 -0
- package/dist/server/services/ConfigManagerService.mjs +2 -0
- package/dist/server/services/ConfigS3Service.d.mts +2 -0
- package/dist/server/services/ConfigS3Service.mjs +2 -0
- package/dist/server/services/DownloadService.d.mts +2 -0
- package/dist/server/services/DownloadService.mjs +2 -0
- package/dist/server/services/DriveService.d.mts +2 -0
- package/dist/server/services/DriveService.mjs +2 -0
- package/dist/server/services/EmmitterService.d.mts +2 -0
- package/dist/server/services/EmmitterService.mjs +2 -0
- package/dist/server/services/EncryptService.d.mts +2 -0
- package/dist/server/services/EncryptService.mjs +2 -0
- package/dist/server/services/EnvService.d.mts +2 -0
- package/dist/server/services/EnvService.mjs +1 -0
- package/dist/server/services/ExceptionService.d.mts +2 -0
- package/dist/server/services/ExceptionService.mjs +2 -0
- package/dist/server/services/HasherService.d.mts +2 -0
- package/dist/server/services/HasherService.mjs +2 -0
- package/dist/server/services/HttpService.d.mts +2 -0
- package/dist/server/services/HttpService.mjs +2 -0
- package/dist/server/services/LifecycleService.d.mts +2 -0
- package/dist/server/services/LifecycleService.mjs +1 -0
- package/dist/server/services/MetadataQueryService.d.mts +2 -0
- package/dist/server/services/MetadataQueryService.mjs +2 -0
- package/dist/server/services/MetadataService.d.mts +2 -0
- package/dist/server/services/MetadataService.mjs +2 -0
- package/dist/server/services/MigratorService.d.mts +2 -0
- package/dist/server/services/MigratorService.mjs +2 -0
- package/dist/server/services/PluginIpcClient.d.mts +2 -0
- package/dist/server/services/PluginIpcClient.mjs +2 -0
- package/dist/server/services/PluginIpcHost.d.mts +2 -0
- package/dist/server/services/PluginIpcHost.mjs +2 -0
- package/dist/server/services/PluginRouter.d.mts +2 -0
- package/dist/server/services/PluginRouter.mjs +2 -0
- package/dist/server/services/RouterFileBaseRoutingService.d.mts +2 -0
- package/dist/server/services/RouterFileBaseRoutingService.mjs +2 -0
- package/dist/server/services/RouterRegisterService.d.mts +2 -0
- package/dist/server/services/RouterRegisterService.mjs +2 -0
- package/dist/server/services/RouterResourceConfigService.d.mts +2 -0
- package/dist/server/services/RouterResourceConfigService.mjs +2 -0
- package/dist/server/services/RouterResourceService.d.mts +2 -0
- package/dist/server/services/RouterResourceService.mjs +2 -0
- package/dist/server/services/RouterService.d.mts +2 -0
- package/dist/server/services/RouterService.mjs +1 -0
- package/dist/server/services/SchedulerService.d.mts +2 -0
- package/dist/server/services/SchedulerService.mjs +2 -0
- package/dist/server/services/SeederService.d.mts +2 -0
- package/dist/server/services/SeederService.mjs +2 -0
- package/dist/server/services/ShellService.d.mts +2 -0
- package/dist/server/services/ShellService.mjs +1 -0
- package/dist/server/shell-D3lbVvdM.d.mts +7 -0
- package/dist/server/softDelete-zHpOCvxX.d.mts +28 -0
- package/dist/server/timestamp-OxM0lLhB.d.mts +9 -0
- package/dist/server/tokenRepository-BsrgOgMO.d.mts +7 -0
- package/dist/server/tokenSchema-B_NfLejF.d.mts +17 -0
- package/dist/server/tryCatch-Dz4OvJig.mjs +2 -0
- package/dist/server/update-9SpXDvjp.d.mts +19 -0
- package/dist/server/updateOrCreate-ytNvnRnp.d.mts +16 -0
- package/dist/server/userLoader-C7A1u-FB.d.mts +12 -0
- package/dist/server/userRepository-DgENwIFS.d.mts +7 -0
- package/dist/server/utils/addIdColumn.d.mts +1 -0
- package/dist/server/utils/addIdColumn.mjs +2 -0
- package/dist/server/utils/addSoftDeleteColumn.d.mts +2 -0
- package/dist/server/utils/addSoftDeleteColumn.mjs +2 -0
- package/dist/server/utils/addTimestampColumns.d.mts +2 -0
- package/dist/server/utils/addTimestampColumns.mjs +2 -0
- package/dist/server/utils/basePath.d.mts +2 -0
- package/dist/server/utils/basePath.mjs +2 -0
- package/dist/server/utils/config.d.mts +2 -0
- package/dist/server/utils/config.mjs +2 -0
- package/dist/server/utils/createLoaderFactory.d.mts +2 -0
- package/dist/server/utils/createLoaderFactory.mjs +2 -0
- package/dist/server/utils/cuid.d.mts +2 -0
- package/dist/server/utils/cuid.mjs +2 -0
- package/dist/server/utils/defineHandler.d.mts +2 -0
- package/dist/server/utils/defineHandler.mjs +2 -0
- package/dist/server/utils/defineLoader.d.mts +2 -0
- package/dist/server/utils/defineLoader.mjs +2 -0
- package/dist/server/utils/generateIndexFile.d.mts +2 -0
- package/dist/server/utils/generateIndexFile.mjs +2 -0
- package/dist/server/utils/importAll.d.mts +2 -0
- package/dist/server/utils/importAll.mjs +2 -0
- package/dist/server/utils/importOne.d.mts +2 -0
- package/dist/server/utils/importOne.mjs +2 -0
- package/dist/server/utils/printTable.d.mts +2 -0
- package/dist/server/utils/printTable.mjs +2 -0
- package/dist/server/validator-Bf0nhLLd.mjs +2 -0
- package/dist/shared/ValidatorService-DMd2DBVp.d.mts +103 -0
- package/dist/shared/ValidatorService-TM23rW-H.mjs +2 -0
- package/dist/shared/compose-e5D0sqye.d.mts +44 -0
- package/dist/shared/entities/AclEntity.d.mts +20 -0
- package/dist/shared/entities/AclEntity.mjs +2 -0
- package/dist/shared/entities/CookieMapEntity.d.mts +18 -0
- package/dist/shared/entities/CookieMapEntity.mjs +2 -0
- package/dist/shared/entities/DriveConfigEntity.d.mts +129 -0
- package/dist/shared/entities/DriveConfigEntity.mjs +2 -0
- package/dist/shared/entities/DriveEntryEntity.d.mts +11 -0
- package/dist/shared/entities/DriveEntryEntity.mjs +2 -0
- package/dist/shared/entities/FileEntity.d.mts +33 -0
- package/dist/shared/entities/FileEntity.mjs +2 -0
- package/dist/shared/entities/FileMetaEntity.d.mts +27 -0
- package/dist/shared/entities/FileMetaEntity.mjs +2 -0
- package/dist/shared/entities/FileUploadSessionEntity.d.mts +32 -0
- package/dist/shared/entities/FileUploadSessionEntity.mjs +2 -0
- package/dist/shared/entities/GitBranchEntity.d.mts +11 -0
- package/dist/shared/entities/GitBranchEntity.mjs +2 -0
- package/dist/shared/entities/GitCommitEntity.d.mts +14 -0
- package/dist/shared/entities/GitCommitEntity.mjs +2 -0
- package/dist/shared/entities/HeaderMapEntity.d.mts +18 -0
- package/dist/shared/entities/HeaderMapEntity.mjs +2 -0
- package/dist/shared/entities/LifecycleHook.d.mts +22 -0
- package/dist/shared/entities/LifecycleHook.mjs +2 -0
- package/dist/shared/entities/ModuleEntity.d.mts +28 -0
- package/dist/shared/entities/ModuleEntity.mjs +2 -0
- package/dist/shared/entities/ModuleManifestEntity.d.mts +31 -0
- package/dist/shared/entities/ModuleManifestEntity.mjs +2 -0
- package/dist/shared/entities/PaginationEntity.d.mts +13 -0
- package/dist/shared/entities/PaginationEntity.mjs +2 -0
- package/dist/shared/entities/PermissionEntity.d.mts +23 -0
- package/dist/shared/entities/PermissionEntity.mjs +2 -0
- package/dist/shared/entities/PluginEntity.d.mts +21 -0
- package/dist/shared/entities/PluginEntity.mjs +2 -0
- package/dist/shared/entities/RoleEntity.d.mts +26 -0
- package/dist/shared/entities/RoleEntity.mjs +2 -0
- package/dist/shared/entities/UserEntity.d.mts +34 -0
- package/dist/shared/entities/UserEntity.mjs +2 -0
- package/dist/shared/exceptions/BaseException.d.mts +9 -0
- package/dist/shared/exceptions/BaseException.mjs +2 -0
- package/dist/shared/exceptions/ShellException.d.mts +12 -0
- package/dist/shared/exceptions/ShellException.mjs +2 -0
- package/dist/shared/facades/validator.d.mts +7 -0
- package/dist/shared/facades/validator.mjs +2 -0
- package/dist/shared/index.d.mts +49 -1327
- package/dist/shared/index.mjs +1 -2
- package/dist/shared/mixins/BaseEntityMixin.d.mts +21 -0
- package/dist/shared/mixins/BaseEntityMixin.mjs +2 -0
- package/dist/shared/mixins/HooksMixin.d.mts +31 -0
- package/dist/shared/mixins/HooksMixin.mjs +2 -0
- package/dist/shared/mixins/SoftDeleteMixin.d.mts +11 -0
- package/dist/shared/mixins/SoftDeleteMixin.mjs +2 -0
- package/dist/shared/mixins/TimestampMixin.d.mts +12 -0
- package/dist/shared/mixins/TimestampMixin.mjs +2 -0
- package/dist/shared/schemas/dashboardMetaSchema.d.mts +129 -0
- package/dist/shared/schemas/dashboardMetaSchema.mjs +2 -0
- package/dist/shared/schemas/dashboardSchema.d.mts +128 -0
- package/dist/shared/schemas/dashboardSchema.mjs +2 -0
- package/dist/shared/schemas/permissionAssignmentSchema.d.mts +15 -0
- package/dist/shared/schemas/permissionAssignmentSchema.mjs +2 -0
- package/dist/shared/schemas/permissionSchema.d.mts +18 -0
- package/dist/shared/schemas/permissionSchema.mjs +2 -0
- package/dist/shared/schemas/tokenSchema.d.mts +17 -0
- package/dist/shared/schemas/tokenSchema.mjs +2 -0
- package/dist/shared/schemas/userSchema.d.mts +168 -0
- package/dist/shared/schemas/userSchema.mjs +2 -0
- package/dist/shared/services/ConfigService.d.mts +26 -0
- package/dist/shared/services/ConfigService.mjs +2 -0
- package/dist/shared/services/ContainerService.d.mts +20 -0
- package/dist/shared/services/ContainerService.mjs +2 -0
- package/dist/shared/services/EmmitterService.d.mts +57 -0
- package/dist/shared/services/EmmitterService.mjs +2 -0
- package/dist/shared/services/LifecycleService.d.mts +45 -0
- package/dist/shared/services/LifecycleService.mjs +2 -0
- package/dist/shared/services/LoggerService.d.mts +12 -0
- package/dist/shared/services/LoggerService.mjs +2 -0
- package/dist/shared/services/TranslatorService.d.mts +26 -0
- package/dist/shared/services/TranslatorService.mjs +2 -0
- package/dist/shared/services/UploadService.d.mts +9 -0
- package/dist/shared/services/UploadService.mjs +2 -0
- package/dist/shared/services/ValidatorService.d.mts +2 -0
- package/dist/shared/services/ValidatorService.mjs +1 -0
- package/dist/shared/typing-CBF7x7JF.d.mts +7 -0
- package/dist/shared/utils/compose.d.mts +2 -0
- package/dist/shared/utils/compose.mjs +2 -0
- package/dist/shared/utils/createId.d.mts +5 -0
- package/dist/shared/utils/createId.mjs +2 -0
- package/dist/shared/utils/flatten.d.mts +6 -0
- package/dist/shared/utils/flatten.mjs +2 -0
- package/dist/shared/utils/formatBytes.d.mts +5 -0
- package/dist/shared/utils/formatBytes.mjs +2 -0
- package/dist/shared/utils/index.d.mts +7 -0
- package/dist/shared/utils/index.mjs +1 -0
- package/dist/shared/utils/matchPaths.d.mts +5 -0
- package/dist/shared/utils/matchPaths.mjs +2 -0
- package/dist/shared/utils/parseRouteUrl.d.mts +6 -0
- package/dist/shared/utils/parseRouteUrl.mjs +2 -0
- package/dist/shared/utils/safeJson.d.mts +6 -0
- package/dist/shared/utils/safeJson.mjs +2 -0
- package/dist/shared/utils/tryCatch.d.mts +16 -0
- package/dist/shared/utils/tryCatch.mjs +2 -0
- package/dist/shared/utils/typing.d.mts +2 -0
- package/dist/shared/utils/typing.mjs +1 -0
- package/package.json +14 -16
- package/src/build/createTsdownConfig.ts +22 -0
- package/src/build/createViteConfig.ts +51 -0
- package/src/client/components.ts +1 -0
- package/src/client/composables/useFetchPagination.ts +6 -1
- package/src/client/composables/useForm.ts +1 -1
- package/src/client/composables/useRoute.ts +10 -0
- package/src/client/composables/useRouteQuery.ts +5 -4
- package/src/client/facades/emmitter.ts +1 -1
- package/src/client/index.ts +1 -0
- package/src/client/services/LayoutService.ts +1 -1
- package/src/client/zenith-env.d.ts +2 -1
- package/src/server/__tests__/helpers/createUser.ts +1 -1
- package/src/server/__tests__/setup.ts +1 -1
- package/src/server/commands/pluginBuild.ts +60 -0
- package/src/server/commands/pluginGenerateId.ts +18 -0
- package/src/server/contracts/HttpContextContract.ts +1 -1
- package/src/server/entities/MigrationEntity.ts +1 -1
- package/src/server/entities/PluginEntity.ts +0 -35
- package/src/server/entities/PluginEntryEntity.ts +0 -28
- package/src/server/entities/RoutineEntity.ts +1 -1
- package/src/server/entities/SeederEntity.ts +1 -1
- package/src/server/facades/emmitter.ts +2 -2
- package/src/server/facades/lifecycle.ts +6 -0
- package/src/server/gateways/DriveS3Gateway.ts +102 -32
- package/src/server/gateways/GitGateway.ts +2 -2
- package/src/server/globals.ts +2 -1
- package/src/server/index.ts +3 -2
- package/src/server/loaders/hasManyThroughLoader.ts +15 -6
- package/src/server/loaders/loadMetas.ts +1 -1
- package/src/server/middlewares/AuthMiddleware.ts +4 -3
- package/src/server/repositories/ConfigRepository.ts +1 -1
- package/src/server/repositories/UserRepository.ts +1 -1
- package/src/server/schemas/envSchema.ts +3 -2
- package/src/server/services/CliService.ts +12 -2
- package/src/server/services/CliWrapperService.ts +50 -4
- package/src/server/services/ConfigManagerService.ts +13 -5
- package/src/server/services/EncryptService.ts +1 -1
- package/src/server/services/EnvService.ts +2 -1
- package/src/server/services/ExceptionService.ts +2 -1
- package/src/server/services/HasherService.ts +6 -2
- package/src/server/services/HttpService.ts +24 -12
- package/src/server/services/MigratorService.ts +1 -1
- package/src/server/services/RouterService.ts +1 -1
- package/src/server/services/SchedulerService.ts +5 -2
- package/src/server/services/SeederService.ts +1 -1
- package/src/server/utils/basePath.ts +16 -1
- package/src/server/utils/config.ts +19 -0
- package/src/server/utils/createLoaderFactory.ts +1 -1
- package/src/server/utils/importAll.ts +1 -1
- package/src/server/utils/printTable.ts +7 -1
- package/src/shared/services/ConfigService.ts +5 -2
- package/src/shared/services/EmmitterService.ts +3 -2
- package/src/shared/utils/flatten.ts +1 -1
- package/src/shared/validators/array.ts +13 -0
- package/src/shared/validators/index.ts +1 -0
- package/src/shared/validators/paginationValidator.ts +5 -5
- package/src/shared/validators/urlValidator.ts +1 -1
- package/src/tests/services/HttpTesterService.ts +63 -0
- package/tsdown.config.ts +152 -121
- package/vite/createViteConfig.js +1 -1
- package/bin/zkit.js +0 -26
- package/cli/commands/build.js +0 -55
- package/cli/commands/generateLegacyFolder.js +0 -38
- package/cli/commands/generatePluginId.js +0 -17
- package/cli/config.js +0 -23
- package/cli/utils/createWrapper.js +0 -17
- package/commands/release.js +0 -78
- package/legacy/client/components/Alert.vue +0 -3
- package/legacy/client/components/AlertButton.vue +0 -3
- package/legacy/client/components/Button.vue +0 -3
- package/legacy/client/components/ClientOnly.vue +0 -3
- package/legacy/client/components/ColorPicker.vue +0 -3
- package/legacy/client/components/ColorWheel.vue +0 -3
- package/legacy/client/components/Component.vue +0 -3
- package/legacy/client/components/DataTable.vue +0 -4
- package/legacy/client/components/DataTablePagination.vue +0 -3
- package/legacy/client/components/DatePicker.vue +0 -3
- package/legacy/client/components/DialogForm.vue +0 -4
- package/legacy/client/components/FileUploader.vue +0 -3
- package/legacy/client/components/FormAutoFieldList.vue +0 -5
- package/legacy/client/components/FormAutocomplete.vue +0 -3
- package/legacy/client/components/FormColorPicker.vue +0 -3
- package/legacy/client/components/FormDatePicker.vue +0 -3
- package/legacy/client/components/FormFilePicker.vue +0 -3
- package/legacy/client/components/FormFileUploader.vue +0 -3
- package/legacy/client/components/FormImageUploader.vue +0 -3
- package/legacy/client/components/FormJsonInput.vue +0 -3
- package/legacy/client/components/FormSelect.vue +0 -3
- package/legacy/client/components/FormStringListInput.vue +0 -3
- package/legacy/client/components/FormSwitch.vue +0 -3
- package/legacy/client/components/FormTextField.vue +0 -3
- package/legacy/client/components/FormTextarea.vue +0 -3
- package/legacy/client/components/Icon.vue +0 -3
- package/legacy/client/components/Image.vue +0 -3
- package/legacy/client/components/JsonInput.vue +0 -3
- package/legacy/client/components/Logo.vue +0 -3
- package/legacy/client/components/LogoIcon.vue +0 -3
- package/legacy/client/components/ObjectInspect.vue +0 -3
- package/legacy/client/components/PageCrud.vue +0 -3
- package/legacy/client/components/PageSubtitle.vue +0 -3
- package/legacy/client/components/PageTable.vue +0 -3
- package/legacy/client/components/PageTitle.vue +0 -3
- package/legacy/client/components/Pagination.vue +0 -3
- package/legacy/client/components/Select.vue +0 -3
- package/legacy/client/components/StringListInput.vue +0 -3
- package/legacy/client/components/Switch.vue +0 -3
- package/legacy/client/components/TextField.vue +0 -3
- package/legacy/client/components/Textarea.vue +0 -3
- package/legacy/client/components/UserMenu.vue +0 -3
- package/legacy/client/components/index.ts +0 -349
- package/legacy/client/components/ui/accordion/Accordion.vue +0 -3
- package/legacy/client/components/ui/accordion/AccordionContent.vue +0 -3
- package/legacy/client/components/ui/accordion/AccordionItem.vue +0 -3
- package/legacy/client/components/ui/accordion/AccordionTrigger.vue +0 -3
- package/legacy/client/components/ui/accordion/index.ts +0 -1
- package/legacy/client/components/ui/alert/Alert.vue +0 -3
- package/legacy/client/components/ui/alert/AlertDescription.vue +0 -3
- package/legacy/client/components/ui/alert/AlertTitle.vue +0 -3
- package/legacy/client/components/ui/alert/index.ts +0 -1
- package/legacy/client/components/ui/alert-dialog/AlertDialog.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/AlertDialogAction.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/AlertDialogCancel.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/AlertDialogContent.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/AlertDialogDescription.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/AlertDialogFooter.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/AlertDialogHeader.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/AlertDialogTitle.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/AlertDialogTrigger.vue +0 -3
- package/legacy/client/components/ui/alert-dialog/index.ts +0 -1
- package/legacy/client/components/ui/aspect-ratio/AspectRatio.vue +0 -3
- package/legacy/client/components/ui/aspect-ratio/index.ts +0 -1
- package/legacy/client/components/ui/avatar/Avatar.vue +0 -3
- package/legacy/client/components/ui/avatar/AvatarFallback.vue +0 -3
- package/legacy/client/components/ui/avatar/AvatarImage.vue +0 -3
- package/legacy/client/components/ui/avatar/index.ts +0 -1
- package/legacy/client/components/ui/badge/Badge.vue +0 -3
- package/legacy/client/components/ui/badge/index.ts +0 -1
- package/legacy/client/components/ui/breadcrumb/Breadcrumb.vue +0 -3
- package/legacy/client/components/ui/breadcrumb/BreadcrumbEllipsis.vue +0 -3
- package/legacy/client/components/ui/breadcrumb/BreadcrumbItem.vue +0 -3
- package/legacy/client/components/ui/breadcrumb/BreadcrumbLink.vue +0 -3
- package/legacy/client/components/ui/breadcrumb/BreadcrumbList.vue +0 -3
- package/legacy/client/components/ui/breadcrumb/BreadcrumbPage.vue +0 -3
- package/legacy/client/components/ui/breadcrumb/BreadcrumbSeparator.vue +0 -3
- package/legacy/client/components/ui/breadcrumb/index.ts +0 -1
- package/legacy/client/components/ui/button/Button.vue +0 -3
- package/legacy/client/components/ui/button/index.ts +0 -1
- package/legacy/client/components/ui/calendar/Calendar.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarCell.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarCellTrigger.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarGrid.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarGridBody.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarGridHead.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarGridRow.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarHeadCell.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarHeader.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarHeading.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarNextButton.vue +0 -3
- package/legacy/client/components/ui/calendar/CalendarPrevButton.vue +0 -3
- package/legacy/client/components/ui/calendar/index.ts +0 -1
- package/legacy/client/components/ui/card/Card.vue +0 -3
- package/legacy/client/components/ui/card/CardAction.vue +0 -3
- package/legacy/client/components/ui/card/CardContent.vue +0 -3
- package/legacy/client/components/ui/card/CardDescription.vue +0 -3
- package/legacy/client/components/ui/card/CardFooter.vue +0 -3
- package/legacy/client/components/ui/card/CardHeader.vue +0 -3
- package/legacy/client/components/ui/card/CardTitle.vue +0 -3
- package/legacy/client/components/ui/card/index.ts +0 -1
- package/legacy/client/components/ui/carousel/Carousel.vue +0 -3
- package/legacy/client/components/ui/carousel/CarouselContent.vue +0 -3
- package/legacy/client/components/ui/carousel/CarouselItem.vue +0 -3
- package/legacy/client/components/ui/carousel/CarouselNext.vue +0 -3
- package/legacy/client/components/ui/carousel/CarouselPrevious.vue +0 -3
- package/legacy/client/components/ui/carousel/index.ts +0 -1
- package/legacy/client/components/ui/checkbox/Checkbox.vue +0 -3
- package/legacy/client/components/ui/checkbox/index.ts +0 -1
- package/legacy/client/components/ui/collapsible/Collapsible.vue +0 -3
- package/legacy/client/components/ui/collapsible/CollapsibleContent.vue +0 -3
- package/legacy/client/components/ui/collapsible/CollapsibleTrigger.vue +0 -3
- package/legacy/client/components/ui/collapsible/index.ts +0 -1
- package/legacy/client/components/ui/combobox/Combobox.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxAnchor.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxEmpty.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxGroup.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxInput.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxItem.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxItemIndicator.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxList.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxSeparator.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxTrigger.vue +0 -3
- package/legacy/client/components/ui/combobox/ComboboxViewport.vue +0 -3
- package/legacy/client/components/ui/combobox/index.ts +0 -1
- package/legacy/client/components/ui/command/Command.vue +0 -3
- package/legacy/client/components/ui/command/CommandDialog.vue +0 -3
- package/legacy/client/components/ui/command/CommandEmpty.vue +0 -3
- package/legacy/client/components/ui/command/CommandGroup.vue +0 -3
- package/legacy/client/components/ui/command/CommandInput.vue +0 -3
- package/legacy/client/components/ui/command/CommandItem.vue +0 -3
- package/legacy/client/components/ui/command/CommandList.vue +0 -3
- package/legacy/client/components/ui/command/CommandSeparator.vue +0 -3
- package/legacy/client/components/ui/command/CommandShortcut.vue +0 -3
- package/legacy/client/components/ui/command/index.ts +0 -1
- package/legacy/client/components/ui/context-menu/ContextMenu.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuCheckboxItem.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuContent.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuGroup.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuItem.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuLabel.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuPortal.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuRadioGroup.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuRadioItem.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuSeparator.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuShortcut.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuSub.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuSubContent.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuSubTrigger.vue +0 -3
- package/legacy/client/components/ui/context-menu/ContextMenuTrigger.vue +0 -3
- package/legacy/client/components/ui/context-menu/index.ts +0 -1
- package/legacy/client/components/ui/dialog/Dialog.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogClose.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogContent.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogDescription.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogFooter.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogHeader.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogOverlay.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogScrollContent.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogTitle.vue +0 -3
- package/legacy/client/components/ui/dialog/DialogTrigger.vue +0 -3
- package/legacy/client/components/ui/dialog/index.ts +0 -1
- package/legacy/client/components/ui/drawer/Drawer.vue +0 -3
- package/legacy/client/components/ui/drawer/DrawerClose.vue +0 -3
- package/legacy/client/components/ui/drawer/DrawerContent.vue +0 -3
- package/legacy/client/components/ui/drawer/DrawerDescription.vue +0 -3
- package/legacy/client/components/ui/drawer/DrawerFooter.vue +0 -3
- package/legacy/client/components/ui/drawer/DrawerHeader.vue +0 -3
- package/legacy/client/components/ui/drawer/DrawerOverlay.vue +0 -3
- package/legacy/client/components/ui/drawer/DrawerTitle.vue +0 -3
- package/legacy/client/components/ui/drawer/DrawerTrigger.vue +0 -3
- package/legacy/client/components/ui/drawer/index.ts +0 -1
- package/legacy/client/components/ui/dropdown-menu/DropdownMenu.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuContent.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuGroup.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuItem.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuLabel.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuSeparator.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuShortcut.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuSub.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuSubContent.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuTrigger.vue +0 -3
- package/legacy/client/components/ui/dropdown-menu/index.ts +0 -1
- package/legacy/client/components/ui/form/FormControl.vue +0 -3
- package/legacy/client/components/ui/form/FormDescription.vue +0 -3
- package/legacy/client/components/ui/form/FormItem.vue +0 -3
- package/legacy/client/components/ui/form/FormLabel.vue +0 -3
- package/legacy/client/components/ui/form/FormMessage.vue +0 -3
- package/legacy/client/components/ui/form/index.ts +0 -1
- package/legacy/client/components/ui/hover-card/HoverCard.vue +0 -3
- package/legacy/client/components/ui/hover-card/HoverCardContent.vue +0 -3
- package/legacy/client/components/ui/hover-card/HoverCardTrigger.vue +0 -3
- package/legacy/client/components/ui/hover-card/index.ts +0 -1
- package/legacy/client/components/ui/input/Input.vue +0 -3
- package/legacy/client/components/ui/input/index.ts +0 -1
- package/legacy/client/components/ui/label/Label.vue +0 -3
- package/legacy/client/components/ui/label/index.ts +0 -1
- package/legacy/client/components/ui/menubar/Menubar.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarCheckboxItem.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarContent.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarGroup.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarItem.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarLabel.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarMenu.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarRadioGroup.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarRadioItem.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarSeparator.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarShortcut.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarSub.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarSubContent.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarSubTrigger.vue +0 -3
- package/legacy/client/components/ui/menubar/MenubarTrigger.vue +0 -3
- package/legacy/client/components/ui/menubar/index.ts +0 -1
- package/legacy/client/components/ui/navigation-menu/NavigationMenu.vue +0 -3
- package/legacy/client/components/ui/navigation-menu/NavigationMenuContent.vue +0 -3
- package/legacy/client/components/ui/navigation-menu/NavigationMenuIndicator.vue +0 -3
- package/legacy/client/components/ui/navigation-menu/NavigationMenuItem.vue +0 -3
- package/legacy/client/components/ui/navigation-menu/NavigationMenuLink.vue +0 -3
- package/legacy/client/components/ui/navigation-menu/NavigationMenuList.vue +0 -3
- package/legacy/client/components/ui/navigation-menu/NavigationMenuTrigger.vue +0 -3
- package/legacy/client/components/ui/navigation-menu/NavigationMenuViewport.vue +0 -3
- package/legacy/client/components/ui/navigation-menu/index.ts +0 -1
- package/legacy/client/components/ui/number-field/NumberField.vue +0 -3
- package/legacy/client/components/ui/number-field/NumberFieldContent.vue +0 -3
- package/legacy/client/components/ui/number-field/NumberFieldDecrement.vue +0 -3
- package/legacy/client/components/ui/number-field/NumberFieldIncrement.vue +0 -3
- package/legacy/client/components/ui/number-field/NumberFieldInput.vue +0 -3
- package/legacy/client/components/ui/number-field/index.ts +0 -1
- package/legacy/client/components/ui/pagination/Pagination.vue +0 -3
- package/legacy/client/components/ui/pagination/PaginationContent.vue +0 -3
- package/legacy/client/components/ui/pagination/PaginationEllipsis.vue +0 -3
- package/legacy/client/components/ui/pagination/PaginationFirst.vue +0 -3
- package/legacy/client/components/ui/pagination/PaginationItem.vue +0 -3
- package/legacy/client/components/ui/pagination/PaginationLast.vue +0 -3
- package/legacy/client/components/ui/pagination/PaginationNext.vue +0 -3
- package/legacy/client/components/ui/pagination/PaginationPrevious.vue +0 -3
- package/legacy/client/components/ui/pagination/index.ts +0 -1
- package/legacy/client/components/ui/pin-input/PinInput.vue +0 -3
- package/legacy/client/components/ui/pin-input/PinInputGroup.vue +0 -3
- package/legacy/client/components/ui/pin-input/PinInputSeparator.vue +0 -3
- package/legacy/client/components/ui/pin-input/PinInputSlot.vue +0 -3
- package/legacy/client/components/ui/pin-input/index.ts +0 -1
- package/legacy/client/components/ui/popover/Popover.vue +0 -3
- package/legacy/client/components/ui/popover/PopoverAnchor.vue +0 -3
- package/legacy/client/components/ui/popover/PopoverContent.vue +0 -3
- package/legacy/client/components/ui/popover/PopoverTrigger.vue +0 -3
- package/legacy/client/components/ui/popover/index.ts +0 -1
- package/legacy/client/components/ui/progress/Progress.vue +0 -3
- package/legacy/client/components/ui/progress/index.ts +0 -1
- package/legacy/client/components/ui/radio-group/RadioGroup.vue +0 -3
- package/legacy/client/components/ui/radio-group/RadioGroupItem.vue +0 -3
- package/legacy/client/components/ui/radio-group/index.ts +0 -1
- package/legacy/client/components/ui/range-calendar/RangeCalendar.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarCell.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarCellTrigger.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarGrid.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarGridBody.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarGridHead.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarGridRow.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarHeadCell.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarHeader.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarHeading.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarNextButton.vue +0 -3
- package/legacy/client/components/ui/range-calendar/RangeCalendarPrevButton.vue +0 -3
- package/legacy/client/components/ui/range-calendar/index.ts +0 -1
- package/legacy/client/components/ui/resizable/ResizableHandle.vue +0 -3
- package/legacy/client/components/ui/resizable/ResizablePanel.vue +0 -3
- package/legacy/client/components/ui/resizable/ResizablePanelGroup.vue +0 -3
- package/legacy/client/components/ui/resizable/index.ts +0 -1
- package/legacy/client/components/ui/scroll-area/ScrollArea.vue +0 -3
- package/legacy/client/components/ui/scroll-area/ScrollBar.vue +0 -3
- package/legacy/client/components/ui/scroll-area/index.ts +0 -1
- package/legacy/client/components/ui/select/Select.vue +0 -3
- package/legacy/client/components/ui/select/SelectContent.vue +0 -3
- package/legacy/client/components/ui/select/SelectGroup.vue +0 -3
- package/legacy/client/components/ui/select/SelectItem.vue +0 -3
- package/legacy/client/components/ui/select/SelectItemText.vue +0 -3
- package/legacy/client/components/ui/select/SelectLabel.vue +0 -3
- package/legacy/client/components/ui/select/SelectScrollDownButton.vue +0 -3
- package/legacy/client/components/ui/select/SelectScrollUpButton.vue +0 -3
- package/legacy/client/components/ui/select/SelectSeparator.vue +0 -3
- package/legacy/client/components/ui/select/SelectTrigger.vue +0 -3
- package/legacy/client/components/ui/select/SelectValue.vue +0 -3
- package/legacy/client/components/ui/select/index.ts +0 -1
- package/legacy/client/components/ui/separator/Separator.vue +0 -3
- package/legacy/client/components/ui/separator/index.ts +0 -1
- package/legacy/client/components/ui/sheet/Sheet.vue +0 -3
- package/legacy/client/components/ui/sheet/SheetClose.vue +0 -3
- package/legacy/client/components/ui/sheet/SheetContent.vue +0 -3
- package/legacy/client/components/ui/sheet/SheetDescription.vue +0 -3
- package/legacy/client/components/ui/sheet/SheetFooter.vue +0 -3
- package/legacy/client/components/ui/sheet/SheetHeader.vue +0 -3
- package/legacy/client/components/ui/sheet/SheetOverlay.vue +0 -3
- package/legacy/client/components/ui/sheet/SheetTitle.vue +0 -3
- package/legacy/client/components/ui/sheet/SheetTrigger.vue +0 -3
- package/legacy/client/components/ui/sheet/index.ts +0 -1
- package/legacy/client/components/ui/sidebar/Sidebar.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarContent.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarFooter.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarGroup.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarGroupAction.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarGroupContent.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarGroupLabel.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarHeader.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarInput.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarInset.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenu.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuAction.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuBadge.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuButton.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuButtonChild.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuItem.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuSkeleton.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuSub.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuSubButton.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarMenuSubItem.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarProvider.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarRail.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarSeparator.vue +0 -3
- package/legacy/client/components/ui/sidebar/SidebarTrigger.vue +0 -3
- package/legacy/client/components/ui/sidebar/index.ts +0 -1
- package/legacy/client/components/ui/skeleton/Skeleton.vue +0 -3
- package/legacy/client/components/ui/skeleton/index.ts +0 -1
- package/legacy/client/components/ui/slider/Slider.vue +0 -3
- package/legacy/client/components/ui/slider/index.ts +0 -1
- package/legacy/client/components/ui/sonner/Sonner.vue +0 -3
- package/legacy/client/components/ui/sonner/index.ts +0 -1
- package/legacy/client/components/ui/stepper/Stepper.vue +0 -3
- package/legacy/client/components/ui/stepper/StepperDescription.vue +0 -3
- package/legacy/client/components/ui/stepper/StepperIndicator.vue +0 -3
- package/legacy/client/components/ui/stepper/StepperItem.vue +0 -3
- package/legacy/client/components/ui/stepper/StepperSeparator.vue +0 -3
- package/legacy/client/components/ui/stepper/StepperTitle.vue +0 -3
- package/legacy/client/components/ui/stepper/StepperTrigger.vue +0 -3
- package/legacy/client/components/ui/stepper/index.ts +0 -1
- package/legacy/client/components/ui/switch/Switch.vue +0 -3
- package/legacy/client/components/ui/switch/index.ts +0 -1
- package/legacy/client/components/ui/table/Table.vue +0 -3
- package/legacy/client/components/ui/table/TableBody.vue +0 -3
- package/legacy/client/components/ui/table/TableCaption.vue +0 -3
- package/legacy/client/components/ui/table/TableCell.vue +0 -3
- package/legacy/client/components/ui/table/TableEmpty.vue +0 -3
- package/legacy/client/components/ui/table/TableFooter.vue +0 -3
- package/legacy/client/components/ui/table/TableHead.vue +0 -3
- package/legacy/client/components/ui/table/TableHeader.vue +0 -3
- package/legacy/client/components/ui/table/TableRow.vue +0 -3
- package/legacy/client/components/ui/table/index.ts +0 -1
- package/legacy/client/components/ui/tabs/Tabs.vue +0 -3
- package/legacy/client/components/ui/tabs/TabsContent.vue +0 -3
- package/legacy/client/components/ui/tabs/TabsList.vue +0 -3
- package/legacy/client/components/ui/tabs/TabsTrigger.vue +0 -3
- package/legacy/client/components/ui/tabs/index.ts +0 -1
- package/legacy/client/components/ui/tags-input/TagsInput.vue +0 -3
- package/legacy/client/components/ui/tags-input/TagsInputInput.vue +0 -3
- package/legacy/client/components/ui/tags-input/TagsInputItem.vue +0 -3
- package/legacy/client/components/ui/tags-input/TagsInputItemDelete.vue +0 -3
- package/legacy/client/components/ui/tags-input/TagsInputItemText.vue +0 -3
- package/legacy/client/components/ui/tags-input/index.ts +0 -1
- package/legacy/client/components/ui/textarea/Textarea.vue +0 -3
- package/legacy/client/components/ui/textarea/index.ts +0 -1
- package/legacy/client/components/ui/toggle/Toggle.vue +0 -3
- package/legacy/client/components/ui/toggle/index.ts +0 -1
- package/legacy/client/components/ui/toggle-group/ToggleGroup.vue +0 -3
- package/legacy/client/components/ui/toggle-group/ToggleGroupItem.vue +0 -3
- package/legacy/client/components/ui/toggle-group/index.ts +0 -1
- package/legacy/client/components/ui/tooltip/Tooltip.vue +0 -3
- package/legacy/client/components/ui/tooltip/TooltipContent.vue +0 -3
- package/legacy/client/components/ui/tooltip/TooltipProvider.vue +0 -3
- package/legacy/client/components/ui/tooltip/TooltipTrigger.vue +0 -3
- package/legacy/client/components/ui/tooltip/index.ts +0 -1
- package/legacy/client/facades/acl.facade.ts +0 -1
- package/legacy/client/facades/app.facade.ts +0 -6
- package/legacy/client/facades/auth.facade.ts +0 -1
- package/legacy/client/facades/config.facade.ts +0 -1
- package/legacy/client/facades/fetch.facade.ts +0 -1
- package/legacy/client/facades/logger.facade.ts +0 -1
- package/legacy/client/facades/menu.facade.ts +0 -1
- package/legacy/client/facades/router.facade.ts +0 -1
- package/legacy/client/facades/translator.facade.ts +0 -10
- package/legacy/client/layouts/AdminLayout.vue +0 -3
- package/legacy/client/utils/autoPages.ts +0 -1
- package/legacy/client/utils/createId.ts +0 -1
- package/legacy/client/utils/di.ts +0 -1
- package/legacy/client/utils/fetcher.ts +0 -1
- package/legacy/client/utils/file.ts +0 -1
- package/legacy/client/utils/index.ts +0 -7
- package/legacy/client/utils/logger.ts +0 -1
- package/legacy/client/utils/toast.ts +0 -1
- package/legacy/server/entities/file.entity.ts +0 -4
- package/legacy/server/exceptions/base.ts +0 -4
- package/legacy/server/facades/arte.facade.ts +0 -6
- package/legacy/server/facades/config.facade.ts +0 -4
- package/legacy/server/facades/db.facade.ts +0 -4
- package/legacy/server/facades/download.facade.ts +0 -4
- package/legacy/server/facades/drive.facade.ts +0 -4
- package/legacy/server/facades/emmitter.facade.ts +0 -4
- package/legacy/server/facades/logger.facade.ts +0 -4
- package/legacy/server/facades/router.facade.ts +0 -4
- package/legacy/server/facades/scheduler.facade.ts +0 -4
- package/legacy/server/middlewares/auth.middleware.ts +0 -6
- package/legacy/server/middlewares/authorization.middleware.ts +0 -8
- package/legacy/server/mixins/hooks.mixin.ts +0 -6
- package/legacy/server/mixins/model.mixin.ts +0 -6
- package/legacy/server/mixins/modelConfig.mixin.ts +0 -4
- package/legacy/server/queries/index.ts +0 -6
- package/legacy/server/services/metadataQuery.service.ts +0 -6
- package/legacy/server/services/routerResourceConfig.service.ts +0 -5
- package/legacy/shared/services/validator.service.ts +0 -4
- package/legacy/shared/utils/compose.ts +0 -8
- package/legacy/shared/utils/tryCatch.ts +0 -7
- package/src/server/services/HttpTesterService.ts +0 -62
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{printObject as e,printTable as t}from"../utils/printTable.mjs";import{t as n}from"../tryCatch-Dz4OvJig.mjs";import{t as r}from"../LoggerService-8XvsFBNN.mjs";import{importAll as i}from"../utils/importAll.mjs";import{t as a}from"../EmmitterService-Dw_dThZJ.mjs";import{Command as o}from"commander";import s from"chalk";import*as c from"@inquirer/prompts";var l=class n extends o{__is_cli_command=!0;table=t;object=e;colors=s;inquirer=c;needs=new Set;need(...e){return e.forEach(e=>this.needs.add(e)),this}createCommand(e){return new n(e)}},u=class e extends l{static __container_entry_key=`CliService`;dirs=new Set;logger=new r;emmitter=new a;debug=!1;static create(t=`cli`){return new e(t)}setLogger(e){return this.logger=e,this}setDebug(e){return this.debug=e,this}setEmmitter(e){return this.emmitter=e,this}createCommand(t){return new e(t)}addDir(e){return this.dirs.add(e),this}async loadDir(e){let t=Date.now(),r=await i(e,{exclude:[`.test.ts`,`.spec.ts`,`.test.js`,`.spec.js`,`.d.ts`,`.d.mts`,`.d.cts`],onError:({error:e,filename:t})=>{Object.assign(e,{filename:t}),this.logger.error(e.message,e)}});for(let[t,i]of Object.entries(r)){if(this.debug&&this.logger.debug(`imported file ${t} from ${e}`),!i.default||Object.keys(i.default).length===0)continue;if(!i.default.__is_cli_command){this.logger.warn(`default export of file ${i.filename} is not a CliCommand, skipping`);continue}let[r]=n.sync(()=>this.addCommand(i.default));if(r){Object.assign(r,{filename:i.filename}),this.logger.error(r.message,r);continue}this.debug&&this.logger.debug(`added command from file ${t} to cli`)}let a=Date.now();this.debug&&this.logger.debug(`loaded commands from dir ${e} in ${a-t}ms`)}async load(){for(let e of this.dirs)await this.loadDir(e);return this}};export{l as CliCommand,u as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpU2VydmljZS5tanMiLCJuYW1lcyI6WyJDb21tYW5kZXJDb21tYW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9DbGlTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQgYXMgQ29tbWFuZGVyQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcidcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsaydcbmltcG9ydCB7IHByaW50VGFibGUsIHByaW50T2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMvcHJpbnRUYWJsZS50cydcbmltcG9ydCB7IGltcG9ydEFsbCB9IGZyb20gJyNzZXJ2ZXIvdXRpbHMvaW1wb3J0QWxsLnRzJ1xuaW1wb3J0IEVtbWl0dGVyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZS50cydcbmltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cydcbmltcG9ydCB7IHRyeUNhdGNoIH0gZnJvbSAnI3NoYXJlZC91dGlscy90cnlDYXRjaC50cydcbmltcG9ydCAqIGFzIGlucXVpcmVyIGZyb20gJ0BpbnF1aXJlci9wcm9tcHRzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIENsaUV2ZW50cyB7XG4gICAgJ2NsaTpyZWdpc3RlcmVkJzoge1xuICAgICAgICBjbGk6IENsaVNlcnZpY2VcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDbGlDb21tYW5kIGV4dGVuZHMgQ29tbWFuZGVyQ29tbWFuZCB7XG4gICAgcHVibGljIF9faXNfY2xpX2NvbW1hbmQgPSB0cnVlXG4gICAgcHVibGljIHRhYmxlID0gcHJpbnRUYWJsZVxuICAgIHB1YmxpYyBvYmplY3QgPSBwcmludE9iamVjdFxuICAgIHB1YmxpYyBjb2xvcnMgPSBjaGFsa1xuICAgIHB1YmxpYyBpbnF1aXJlciA9IGlucXVpcmVyXG5cbiAgICBwdWJsaWMgbmVlZHM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpXG4gICAgcHVibGljIG5lZWQoLi4uYXJnczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICAgICAgYXJncy5mb3JFYWNoKGFyZyA9PiB0aGlzLm5lZWRzLmFkZChhcmcpKVxuXG4gICAgICAgIHJldHVybiB0aGlzXG4gICAgfVxuXG4gICAgY3JlYXRlQ29tbWFuZChuYW1lPzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBuZXcgQ2xpQ29tbWFuZChuYW1lKVxuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2xpU2VydmljZSBleHRlbmRzIENsaUNvbW1hbmQge1xuICAgIHB1YmxpYyBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5ID0gJ0NsaVNlcnZpY2UnXG5cbiAgICBwdWJsaWMgZGlycyA9IG5ldyBTZXQ8c3RyaW5nPigpXG4gICAgcHVibGljIGxvZ2dlciA9IG5ldyBMb2dnZXJTZXJ2aWNlKClcbiAgICBwdWJsaWMgZW1taXR0ZXIgPSBuZXcgRW1taXR0ZXJTZXJ2aWNlKClcbiAgICBwdWJsaWMgZGVidWcgPSBmYWxzZVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGUobmFtZSA9ICdjbGknKSB7XG4gICAgICAgIHJldHVybiBuZXcgQ2xpU2VydmljZShuYW1lKVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRMb2dnZXIobG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyXG5cbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGVidWcoZGVidWc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kZWJ1ZyA9IGRlYnVnXG5cbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RW1taXR0ZXIoZW1taXR0ZXI6IEVtbWl0dGVyU2VydmljZSkge1xuICAgICAgICB0aGlzLmVtbWl0dGVyID0gZW1taXR0ZXJcblxuICAgICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIGNyZWF0ZUNvbW1hbmQobmFtZT86IHN0cmluZykge1xuICAgICAgICByZXR1cm4gbmV3IENsaVNlcnZpY2UobmFtZSlcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkRGlyKGRpcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZGlycy5hZGQoZGlyKVxuXG4gICAgICAgIHJldHVybiB0aGlzXG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWREaXIoZGlyOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKVxuXG4gICAgICAgIGNvbnN0IG1vZHMgPSBhd2FpdCBpbXBvcnRBbGwoZGlyLCB7XG4gICAgICAgICAgICBleGNsdWRlOiBbJy50ZXN0LnRzJywgJy5zcGVjLnRzJywgJy50ZXN0LmpzJywgJy5zcGVjLmpzJywgJy5kLnRzJywgJy5kLm10cycsICcuZC5jdHMnXSxcbiAgICAgICAgICAgIG9uRXJyb3I6ICh7IGVycm9yLCBmaWxlbmFtZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihlcnJvciwgeyBmaWxlbmFtZSB9KVxuXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoZXJyb3IubWVzc2FnZSwgZXJyb3IpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIG1vZF0gb2YgT2JqZWN0LmVudHJpZXMobW9kcykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYGltcG9ydGVkIGZpbGUgJHtmaWxlbmFtZX0gZnJvbSAke2Rpcn1gKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIW1vZC5kZWZhdWx0IHx8IE9iamVjdC5rZXlzKG1vZC5kZWZhdWx0KS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIW1vZC5kZWZhdWx0Ll9faXNfY2xpX2NvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBkZWZhdWx0IGV4cG9ydCBvZiBmaWxlICR7bW9kLmZpbGVuYW1lfSBpcyBub3QgYSBDbGlDb21tYW5kLCBza2lwcGluZ2ApXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgW2Vycm9yXSA9IHRyeUNhdGNoLnN5bmMoKCkgPT4gdGhpcy5hZGRDb21tYW5kKG1vZC5kZWZhdWx0KSlcblxuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihlcnJvciwgeyBmaWxlbmFtZTogbW9kLmZpbGVuYW1lIH0pXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihlcnJvci5tZXNzYWdlLCBlcnJvcilcblxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYGFkZGVkIGNvbW1hbmQgZnJvbSBmaWxlICR7ZmlsZW5hbWV9IHRvIGNsaWApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVuZFRpbWUgPSBEYXRlLm5vdygpXG5cbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBsb2FkZWQgY29tbWFuZHMgZnJvbSBkaXIgJHtkaXJ9IGluICR7ZW5kVGltZSAtIHN0YXJ0VGltZX1tc2ApXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbG9hZCgpIHtcbiAgICAgICAgZm9yIChjb25zdCBkaXIgb2YgdGhpcy5kaXJzKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWREaXIoZGlyKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiJ5V0FlQSxJQUFhLEVBQWIsTUFBYSxVQUFtQkEsQ0FBaUIsQ0FDN0MsaUJBQTBCLEdBQzFCLE1BQWUsRUFDZixPQUFnQixFQUNoQixPQUFnQixFQUNoQixTQUFrQixFQUVsQixNQUE0QixJQUFJLElBQ2hDLEtBQVksR0FBRyxFQUFzQixDQUdqQyxPQUZBLEVBQUssUUFBUSxHQUFPLEtBQUssTUFBTSxJQUFJLEVBQUksQ0FBQyxDQUVqQyxLQUdYLGNBQWMsRUFBZSxDQUN6QixPQUFPLElBQUksRUFBVyxFQUFLLEdBSWQsRUFBckIsTUFBcUIsVUFBbUIsQ0FBVyxDQUMvQyxPQUFjLHNCQUF3QixhQUV0QyxLQUFjLElBQUksSUFDbEIsT0FBZ0IsSUFBSSxFQUNwQixTQUFrQixJQUFJLEVBQ3RCLE1BQWUsR0FFZixPQUFjLE9BQU8sRUFBTyxNQUFPLENBQy9CLE9BQU8sSUFBSSxFQUFXLEVBQUssQ0FHL0IsVUFBaUIsRUFBdUIsQ0FHcEMsTUFGQSxNQUFLLE9BQVMsRUFFUCxLQUdYLFNBQWdCLEVBQWdCLENBRzVCLE1BRkEsTUFBSyxNQUFRLEVBRU4sS0FHWCxZQUFtQixFQUEyQixDQUcxQyxNQUZBLE1BQUssU0FBVyxFQUVULEtBR1gsY0FBYyxFQUFlLENBQ3pCLE9BQU8sSUFBSSxFQUFXLEVBQUssQ0FHL0IsT0FBYyxFQUFhLENBR3ZCLE9BRkEsS0FBSyxLQUFLLElBQUksRUFBSSxDQUVYLEtBR1gsTUFBYSxRQUFRLEVBQWEsQ0FDOUIsSUFBTSxFQUFZLEtBQUssS0FBSyxDQUV0QixFQUFPLE1BQU0sRUFBVSxFQUFLLENBQzlCLFFBQVMsQ0FBQyxXQUFZLFdBQVksV0FBWSxXQUFZLFFBQVMsU0FBVSxTQUFTLENBQ3RGLFNBQVUsQ0FBRSxRQUFPLGNBQWUsQ0FDOUIsT0FBTyxPQUFPLEVBQU8sQ0FBRSxXQUFVLENBQUMsQ0FFbEMsS0FBSyxPQUFPLE1BQU0sRUFBTSxRQUFTLEVBQU0sRUFFOUMsQ0FBQyxDQUVGLElBQUssR0FBTSxDQUFDLEVBQVUsS0FBUSxPQUFPLFFBQVEsRUFBSyxDQUFFLENBS2hELEdBSkksS0FBSyxPQUNMLEtBQUssT0FBTyxNQUFNLGlCQUFpQixFQUFTLFFBQVEsSUFBTSxDQUcxRCxDQUFDLEVBQUksU0FBVyxPQUFPLEtBQUssRUFBSSxRQUFRLENBQUMsU0FBVyxFQUNwRCxTQUdKLEdBQUksQ0FBQyxFQUFJLFFBQVEsaUJBQWtCLENBQy9CLEtBQUssT0FBTyxLQUFLLDBCQUEwQixFQUFJLFNBQVMsZ0NBQWdDLENBQ3hGLFNBR0osR0FBTSxDQUFDLEdBQVMsRUFBUyxTQUFXLEtBQUssV0FBVyxFQUFJLFFBQVEsQ0FBQyxDQUVqRSxHQUFJLEVBQU8sQ0FDUCxPQUFPLE9BQU8sRUFBTyxDQUFFLFNBQVUsRUFBSSxTQUFVLENBQUMsQ0FFaEQsS0FBSyxPQUFPLE1BQU0sRUFBTSxRQUFTLEVBQU0sQ0FFdkMsU0FHQSxLQUFLLE9BQ0wsS0FBSyxPQUFPLE1BQU0sMkJBQTJCLEVBQVMsU0FBUyxDQUt2RSxJQUFNLEVBQVUsS0FBSyxLQUFLLENBRXRCLEtBQUssT0FDTCxLQUFLLE9BQU8sTUFBTSw0QkFBNEIsRUFBSSxNQUFNLEVBQVUsRUFBVSxJQUFJLENBSXhGLE1BQWEsTUFBTyxDQUNoQixJQUFLLElBQU0sS0FBTyxLQUFLLEtBQ25CLE1BQU0sS0FBSyxRQUFRLEVBQUksQ0FHM0IsT0FBTyJ9
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../container-BwAJOg9B.mjs";import t from"./CliService.mjs";var n=class extends t{constructor(){super(),this.exitOverride(),this.configureOutput({writeOut:()=>{},writeErr:()=>{}}),e.set(t,this)}async add(e){await import(e)}async execute(e){await this.parseAsync([`node`,`arte`,...e])}};export{n as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpVGVzdGVyU2VydmljZS5tanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9DbGlUZXN0ZXJTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDbGlTZXJ2aWNlIGZyb20gJyNzZXJ2ZXIvc2VydmljZXMvQ2xpU2VydmljZS50cydcbmltcG9ydCBkaSBmcm9tICcjc2VydmVyL2ZhY2FkZXMvY29udGFpbmVyLnRzJ1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcnRlVGVzdGVyU2VydmljZSBleHRlbmRzIENsaVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpIFxuXG4gICAgICAgIHRoaXMuZXhpdE92ZXJyaWRlKClcblxuICAgICAgICB0aGlzLmNvbmZpZ3VyZU91dHB1dCh7XG4gICAgICAgICAgICB3cml0ZU91dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIGNvbW1hbmQgb3V0cHV0IGR1cmluZyB0ZXN0c1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdyaXRlRXJyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgZXJyb3Igb3V0cHV0IGR1cmluZyB0ZXN0c1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSlcblxuICAgICAgICBkaS5zZXQoQ2xpU2VydmljZSwgdGhpcylcblxuICAgICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgYWRkKHBhdGg6IHN0cmluZykge1xuICAgICAgICBhd2FpdCBpbXBvcnQocGF0aClcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZXhlY3V0ZShhcmdzOiBzdHJpbmdbXSkge1xuICAgICAgICBhd2FpdCB0aGlzLnBhcnNlQXN5bmMoWydub2RlJywgJ2FydGUnLCAuLi5hcmdzXSlcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI4RUFHQSxJQUFxQixFQUFyQixjQUErQyxDQUFXLENBQ3RELGFBQWMsQ0FDVixPQUFPLENBRVAsS0FBSyxjQUFjLENBRW5CLEtBQUssZ0JBQWdCLENBQ2pCLGFBQWdCLEdBR2hCLGFBQWdCLEdBR25CLENBQUMsQ0FFRixFQUFHLElBQUksRUFBWSxLQUFLLENBSzVCLE1BQWEsSUFBSSxFQUFjLENBQzNCLE1BQU0sT0FBTyxHQUdqQixNQUFhLFFBQVEsRUFBZ0IsQ0FDakMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxPQUFRLE9BQVEsR0FBRyxFQUFLLENBQUMifQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../LoggerService-8XvsFBNN.mjs";import t from"path";import n from"child_process";var r=class r{process=null;appBasePath;env=new Map;args=[];configArguments=new Map;configFiles=[];debug=!1;logger=new e;static create(){return new r}setBasePath(e){return this.appBasePath=e,this}setDebug(e){return this.debug=e,this}setLogger(e){return this.logger=e,this}addConfigArgument(e,t){return this.configArguments.set(e,t),this}addConfigFile(...e){return this.configFiles.push(...e),this}addEnv(e,t){return this.env.set(e,t),this}loadConfigArguments(){let e=process.argv.slice(2).filter(e=>e.startsWith(`@config:`));for(let t of e){let[e,n]=t.slice(8).split(`=`).map(e=>e.trim());this.configArguments.set(e,n)}}loadConfigFiles(){let e=process.argv.slice(2).filter(e=>e.startsWith(`@config-file:`)).map(e=>e.slice(13));if(this.addConfigFile(...e),process.env.CONFIG_FILES){let e=process.env.CONFIG_FILES.split(`,`).map(e=>e.trim()).filter(Boolean);this.addConfigFile(...e)}}loadEnvironment(){let e=Array.from(this.configArguments.entries()).map(([e,t])=>`${e}=${t}`).join(`;`);this.addEnv(`ZENITH_CONFIG_ARGUMENTS`,e),this.addEnv(`ZENITH_CONFIG_FILES`,this.configFiles.join(`,`)),process.env.FORCE_COLOR===void 0?this.addEnv(`FORCE_COLOR`,`1`):this.addEnv(`FORCE_COLOR`,process.env.FORCE_COLOR),process.env.COLORTERM&&this.addEnv(`COLORTERM`,process.env.COLORTERM),this.addEnv(`CLI_COLOR`,`1`)}loadArguments(e=[]){let n=[`@config:`,`@config-file:`],r=e.filter(e=>!n.some(t=>e.startsWith(t)));if(process.env.NODE_ENV===`production`){let e=t.join(this.appBasePath,`dist`,`server`,`cli.mjs`);this.args=[e,...r];return}let i=t.join(this.appBasePath,`src`,`server`,`cli.ts`);this.args=[`--no-warnings`,`--experimental-strip-types`,`--enable-source-maps`,i,...r]}kill(e=0){this.process&&!this.process.killed&&this.process.kill(`SIGTERM`),process.exit(e)}async run(e){if(!this.appBasePath)throw Error(`Base path not set. Please call setBasePath() before run().`);this.loadConfigArguments(),this.loadConfigFiles(),this.loadArguments(e||process.argv.slice(2)),this.loadEnvironment(),this.debug&&this.logger.debug(`run`,{args:this.args,env:this.env}),this.process=n.spawn(`node`,this.args,{stdio:[`inherit`,`pipe`,`pipe`],env:{...process.env,...Object.fromEntries(this.env.entries())}}),this.process.stdout&&this.process.stdout.pipe(process.stdout),this.process.stderr&&(process.stdout.isTTY?this.process.stderr.pipe(process.stderr):this.process.stderr.pipe(process.stdout)),process.on(`SIGINT`,()=>this.kill()),process.on(`SIGTERM`,()=>this.kill()),process.on(`exit`,()=>this.kill())}};export{r as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpV3JhcHBlclNlcnZpY2UubWpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvQ2xpV3JhcHBlclNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNwIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDbGlXcmFwcGVyU2VydmljZSB7XG4gICAgcHVibGljIHByb2Nlc3M6IGNwLkNoaWxkUHJvY2VzcyB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBhcHBCYXNlUGF0aDogc3RyaW5nO1xuICAgIHB1YmxpYyBlbnYgPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xuICAgIHB1YmxpYyBhcmdzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHB1YmxpYyBjb25maWdBcmd1bWVudHMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICAgIHB1YmxpYyBjb25maWdGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgICBwdWJsaWMgZGVidWc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgbG9nZ2VyID0gbmV3IExvZ2dlclNlcnZpY2UoKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlKCkge1xuICAgICAgICByZXR1cm4gbmV3IENsaVdyYXBwZXJTZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEJhc2VQYXRoKHBhdGg6IHN0cmluZykge1xuICAgICAgICB0aGlzLmFwcEJhc2VQYXRoID0gcGF0aDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERlYnVnKGRlYnVnOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGVidWcgPSBkZWJ1ZztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldExvZ2dlcihsb2dnZXI6IExvZ2dlclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRDb25maWdBcmd1bWVudChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbmZpZ0FyZ3VtZW50cy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRDb25maWdGaWxlKC4uLmZpbGVQYXRoczogc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy5jb25maWdGaWxlcy5wdXNoKC4uLmZpbGVQYXRocyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRFbnYoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5lbnYuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZENvbmZpZ0FyZ3VtZW50cygpIHtcbiAgICAgICAgY29uc3QgY29uZmlnQXJncyA9IHByb2Nlc3MuYXJndi5zbGljZSgyKS5maWx0ZXIoYXJnID0+IGFyZy5zdGFydHNXaXRoKCdAY29uZmlnOicpKVxuXG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgY29uZmlnQXJncykge1xuICAgICAgICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gZW50cnkuc2xpY2UoJ0Bjb25maWc6Jy5sZW5ndGgpLnNwbGl0KCc9JykubWFwKHMgPT4gcy50cmltKCkpO1xuXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ0FyZ3VtZW50cy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZENvbmZpZ0ZpbGVzKCkge1xuICAgICAgICBjb25zdCBjb25maWdGaWxlQXJncyA9IHByb2Nlc3MuYXJndi5zbGljZSgyKVxuICAgICAgICAgICAgLmZpbHRlcihhcmcgPT4gYXJnLnN0YXJ0c1dpdGgoJ0Bjb25maWctZmlsZTonKSlcbiAgICAgICAgICAgIC5tYXAoYXJnID0+IGFyZy5zbGljZSgnQGNvbmZpZy1maWxlOicubGVuZ3RoKSk7XG5cbiAgICAgICAgdGhpcy5hZGRDb25maWdGaWxlKC4uLmNvbmZpZ0ZpbGVBcmdzKTtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuQ09ORklHX0ZJTEVTKSB7XG4gICAgICAgICAgICBjb25zdCBlbnZGaWxlcyA9IHByb2Nlc3MuZW52LkNPTkZJR19GSUxFUy5zcGxpdCgnLCcpLm1hcChmID0+IGYudHJpbSgpKS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgICAgICAgIHRoaXMuYWRkQ29uZmlnRmlsZSguLi5lbnZGaWxlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZEVudmlyb25tZW50KCkge1xuICAgICAgICBjb25zdCBjb25maWdBcmd1bWVudHMgPSBBcnJheS5mcm9tKHRoaXMuY29uZmlnQXJndW1lbnRzLmVudHJpZXMoKSlcbiAgICAgICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApLmpvaW4oJzsnKTtcblxuICAgICAgICB0aGlzLmFkZEVudignWkVOSVRIX0NPTkZJR19BUkdVTUVOVFMnLCBjb25maWdBcmd1bWVudHMpO1xuICAgICAgICB0aGlzLmFkZEVudignWkVOSVRIX0NPTkZJR19GSUxFUycsIHRoaXMuY29uZmlnRmlsZXMuam9pbignLCcpKTtcblxuXG4gICAgICAgIC8vIDEuIEZvcmNlIGNvbG9yIG91dHB1dCBldmVuIHdoZW4gc3RkaW8gaXMgcGlwZWRcbiAgICAgICAgLy8gUmVzcGVjdCBleGlzdGluZyBlbnZpcm9ubWVudCBzZXR0aW5ncyBpZiBGT1JDRV9DT0xPUiBpcyBhbHJlYWR5IHNldCBleHRlcm5hbGx5XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5GT1JDRV9DT0xPUiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmFkZEVudignRk9SQ0VfQ09MT1InLCBwcm9jZXNzLmVudi5GT1JDRV9DT0xPUik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyAnMScgZW5hYmxlcyBiYXNpYyBjb2xvcnMsICcyJyBmb3IgMjU2IGNvbG9ycywgJzMnIGZvciAxNm0gdHJ1ZWNvbG9yXG4gICAgICAgICAgICB0aGlzLmFkZEVudignRk9SQ0VfQ09MT1InLCAnMScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gU2V0IENPTE9SVEVSTSB0byBzaWduYWwgdHJ1ZWNvbG9yIHN1cHBvcnQgdG8gbGlicmFyeSBkZXRlY3RvcnNcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52LkNPTE9SVEVSTSkge1xuICAgICAgICAgICAgdGhpcy5hZGRFbnYoJ0NPTE9SVEVSTScsIHByb2Nlc3MuZW52LkNPTE9SVEVSTSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAzLiBGb3JjZSBjaGFsay9zdXBwb3J0cy1jb2xvciB0byBrZWVwIGNvbG9ycyBlbmFibGVkXG4gICAgICAgIHRoaXMuYWRkRW52KCdDTElfQ09MT1InLCAnMScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2FkQXJndW1lbnRzKGFyZ3M6IHN0cmluZ1tdID0gW10pIHtcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlcyA9IFsnQGNvbmZpZzonLCAnQGNvbmZpZy1maWxlOiddO1xuXG4gICAgICAgIGNvbnN0IGZvcndhcmRBcmdzID0gYXJncy5maWx0ZXIoYXJnID0+ICFuYW1lc3BhY2VzLnNvbWUobnMgPT4gYXJnLnN0YXJ0c1dpdGgobnMpKSk7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID0gcGF0aC5qb2luKHRoaXMuYXBwQmFzZVBhdGgsICdkaXN0JywgJ3NlcnZlcicsICdjbGkubWpzJyk7XG5cbiAgICAgICAgICAgIHRoaXMuYXJncyA9IFtcbiAgICAgICAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICAgICAgICAuLi5mb3J3YXJkQXJncyxcbiAgICAgICAgICAgIF1cblxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHBhdGguam9pbih0aGlzLmFwcEJhc2VQYXRoLCAnc3JjJywgJ3NlcnZlcicsICdjbGkudHMnKTtcblxuICAgICAgICB0aGlzLmFyZ3MgPSBbXG4gICAgICAgICAgICAnLS1uby13YXJuaW5ncycsXG4gICAgICAgICAgICAnLS1leHBlcmltZW50YWwtc3RyaXAtdHlwZXMnLFxuICAgICAgICAgICAgJy0tZW5hYmxlLXNvdXJjZS1tYXBzJyxcbiAgICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgICAgLi4uZm9yd2FyZEFyZ3MsXG4gICAgICAgIF07XG5cbiAgICB9XG5cbiAgICBwdWJsaWMga2lsbChjb2RlOiBudW1iZXIgPSAwKSB7XG4gICAgICAgIGlmICh0aGlzLnByb2Nlc3MgJiYgIXRoaXMucHJvY2Vzcy5raWxsZWQpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzcy5raWxsKCdTSUdURVJNJyk7XG4gICAgICAgIH1cblxuICAgICAgICBwcm9jZXNzLmV4aXQoY29kZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJ1bihhcmdzPzogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKCF0aGlzLmFwcEJhc2VQYXRoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Jhc2UgcGF0aCBub3Qgc2V0LiBQbGVhc2UgY2FsbCBzZXRCYXNlUGF0aCgpIGJlZm9yZSBydW4oKS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZENvbmZpZ0FyZ3VtZW50cygpO1xuICAgICAgICB0aGlzLmxvYWRDb25maWdGaWxlcygpO1xuICAgICAgICB0aGlzLmxvYWRBcmd1bWVudHMoYXJncyB8fCBwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpO1xuXG4gICAgICAgIHRoaXMubG9hZEVudmlyb25tZW50KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdydW4nLCB7XG4gICAgICAgICAgICAgICAgYXJnczogdGhpcy5hcmdzLFxuICAgICAgICAgICAgICAgIGVudjogdGhpcy5lbnYsXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGlwZSBzdGRvdXQgYW5kIHN0ZGVyciBzbyB3ZSBjYW4gbWFuYWdlIGFuZCBmbHVzaCBvdXRwdXQgZGlyZWN0bHlcbiAgICAgICAgdGhpcy5wcm9jZXNzID0gY3Auc3Bhd24oJ25vZGUnLCB0aGlzLmFyZ3MsIHtcbiAgICAgICAgICAgIHN0ZGlvOiBbJ2luaGVyaXQnLCAncGlwZScsICdwaXBlJ10sXG4gICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgICAuLi5wcm9jZXNzLmVudixcbiAgICAgICAgICAgICAgICAuLi5PYmplY3QuZnJvbUVudHJpZXModGhpcy5lbnYuZW50cmllcygpKSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMucHJvY2Vzcy5zdGRvdXQpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzcy5zdGRvdXQucGlwZShwcm9jZXNzLnN0ZG91dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5wcm9jZXNzLnN0ZGVycikge1xuICAgICAgICAgICAgLy8gRm9yd2FyZCBjaGlsZCBwcm9jZXNzIHN0ZGVyciB0byBwYXJlbnQgcHJvY2VzcyBzdGRvdXQgaWYgc3Rkb3V0IGlzIHBpcGVkXG4gICAgICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdG9vbHMgbGlrZSBgZ3JlcGAgY2F0Y2ggZXJyb3IgbG9ncyB3aXRob3V0IG5lZWRpbmcgYDI+JjFgXG4gICAgICAgICAgICBpZiAoIXByb2Nlc3Muc3Rkb3V0LmlzVFRZKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzLnN0ZGVyci5waXBlKHByb2Nlc3Muc3Rkb3V0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzLnN0ZGVyci5waXBlKHByb2Nlc3Muc3RkZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHByb2Nlc3Mub24oJ1NJR0lOVCcsICgpID0+IHRoaXMua2lsbCgpKTtcbiAgICAgICAgcHJvY2Vzcy5vbignU0lHVEVSTScsICgpID0+IHRoaXMua2lsbCgpKTtcbiAgICAgICAgcHJvY2Vzcy5vbignZXhpdCcsICgpID0+IHRoaXMua2lsbCgpKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiJtR0FJQSxJQUFxQixFQUFyQixNQUFxQixDQUFrQixDQUNuQyxRQUF5QyxLQUN6QyxZQUNBLElBQWEsSUFBSSxJQUNqQixLQUF3QixFQUFFLENBQzFCLGdCQUF5QixJQUFJLElBQzdCLFlBQStCLEVBQUUsQ0FDakMsTUFBd0IsR0FDeEIsT0FBZ0IsSUFBSSxFQUVwQixPQUFjLFFBQVMsQ0FDbkIsT0FBTyxJQUFJLEVBR2YsWUFBbUIsRUFBYyxDQUU3QixNQURBLE1BQUssWUFBYyxFQUNaLEtBR1gsU0FBZ0IsRUFBZ0IsQ0FFNUIsTUFEQSxNQUFLLE1BQVEsRUFDTixLQUdYLFVBQWlCLEVBQXVCLENBRXBDLE1BREEsTUFBSyxPQUFTLEVBQ1AsS0FHWCxrQkFBeUIsRUFBYSxFQUFlLENBRWpELE9BREEsS0FBSyxnQkFBZ0IsSUFBSSxFQUFLLEVBQU0sQ0FDN0IsS0FHWCxjQUFxQixHQUFHLEVBQXFCLENBRXpDLE9BREEsS0FBSyxZQUFZLEtBQUssR0FBRyxFQUFVLENBQzVCLEtBR1gsT0FBYyxFQUFhLEVBQVksQ0FFbkMsT0FEQSxLQUFLLElBQUksSUFBSSxFQUFLLEVBQU0sQ0FDakIsS0FHWCxxQkFBNkIsQ0FDekIsSUFBTSxFQUFhLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEdBQU8sRUFBSSxXQUFXLFdBQVcsQ0FBQyxDQUVsRixJQUFLLElBQU0sS0FBUyxFQUFZLENBQzVCLEdBQU0sQ0FBQyxFQUFLLEdBQVMsRUFBTSxNQUFNLEVBQWtCLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxHQUFLLEVBQUUsTUFBTSxDQUFDLENBRWpGLEtBQUssZ0JBQWdCLElBQUksRUFBSyxFQUFNLEVBSTVDLGlCQUF5QixDQUNyQixJQUFNLEVBQWlCLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FDdkMsT0FBTyxHQUFPLEVBQUksV0FBVyxnQkFBZ0IsQ0FBQyxDQUM5QyxJQUFJLEdBQU8sRUFBSSxNQUFNLEdBQXVCLENBQUMsQ0FJbEQsR0FGQSxLQUFLLGNBQWMsR0FBRyxFQUFlLENBRWpDLFFBQVEsSUFBSSxhQUFjLENBQzFCLElBQU0sRUFBVyxRQUFRLElBQUksYUFBYSxNQUFNLElBQUksQ0FBQyxJQUFJLEdBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FFdkYsS0FBSyxjQUFjLEdBQUcsRUFBUyxFQUl2QyxpQkFBeUIsQ0FDckIsSUFBTSxFQUFrQixNQUFNLEtBQUssS0FBSyxnQkFBZ0IsU0FBUyxDQUFDLENBQzdELEtBQUssQ0FBQyxFQUFLLEtBQVcsR0FBRyxFQUFJLEdBQUcsSUFBUSxDQUFDLEtBQUssSUFBSSxDQUV2RCxLQUFLLE9BQU8sMEJBQTJCLEVBQWdCLENBQ3ZELEtBQUssT0FBTyxzQkFBdUIsS0FBSyxZQUFZLEtBQUssSUFBSSxDQUFDLENBSzFELFFBQVEsSUFBSSxjQUFnQixJQUFBLEdBSTVCLEtBQUssT0FBTyxjQUFlLElBQUksQ0FIL0IsS0FBSyxPQUFPLGNBQWUsUUFBUSxJQUFJLFlBQVksQ0FPbkQsUUFBUSxJQUFJLFdBQ1osS0FBSyxPQUFPLFlBQWEsUUFBUSxJQUFJLFVBQVUsQ0FJbkQsS0FBSyxPQUFPLFlBQWEsSUFBSSxDQUdqQyxjQUFxQixFQUFpQixFQUFFLENBQUUsQ0FDdEMsSUFBTSxFQUFhLENBQUMsV0FBWSxnQkFBZ0IsQ0FFMUMsRUFBYyxFQUFLLE9BQU8sR0FBTyxDQUFDLEVBQVcsS0FBSyxHQUFNLEVBQUksV0FBVyxFQUFHLENBQUMsQ0FBQyxDQUVsRixHQUFJLFFBQVEsSUFBSSxXQUFhLGFBQWMsQ0FDdkMsSUFBTSxFQUFXLEVBQUssS0FBSyxLQUFLLFlBQWEsT0FBUSxTQUFVLFVBQVUsQ0FFekUsS0FBSyxLQUFPLENBQ1IsRUFDQSxHQUFHLEVBQ04sQ0FFRCxPQUdKLElBQU0sRUFBVyxFQUFLLEtBQUssS0FBSyxZQUFhLE1BQU8sU0FBVSxTQUFTLENBRXZFLEtBQUssS0FBTyxDQUNSLGdCQUNBLDZCQUNBLHVCQUNBLEVBQ0EsR0FBRyxFQUNOLENBSUwsS0FBWSxFQUFlLEVBQUcsQ0FDdEIsS0FBSyxTQUFXLENBQUMsS0FBSyxRQUFRLFFBQzlCLEtBQUssUUFBUSxLQUFLLFVBQVUsQ0FHaEMsUUFBUSxLQUFLLEVBQUssQ0FHdEIsTUFBYSxJQUFJLEVBQWlCLENBQzlCLEdBQUksQ0FBQyxLQUFLLFlBQ04sTUFBVSxNQUFNLDZEQUE2RCxDQUdqRixLQUFLLHFCQUFxQixDQUMxQixLQUFLLGlCQUFpQixDQUN0QixLQUFLLGNBQWMsR0FBUSxRQUFRLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FFakQsS0FBSyxpQkFBaUIsQ0FFbEIsS0FBSyxPQUNMLEtBQUssT0FBTyxNQUFNLE1BQU8sQ0FDckIsS0FBTSxLQUFLLEtBQ1gsSUFBSyxLQUFLLElBQ2IsQ0FBQyxDQUlOLEtBQUssUUFBVSxFQUFHLE1BQU0sT0FBUSxLQUFLLEtBQU0sQ0FDdkMsTUFBTyxDQUFDLFVBQVcsT0FBUSxPQUFPLENBQ2xDLElBQUssQ0FDRCxHQUFHLFFBQVEsSUFDWCxHQUFHLE9BQU8sWUFBWSxLQUFLLElBQUksU0FBUyxDQUFDLENBQzVDLENBQ0osQ0FBQyxDQUVFLEtBQUssUUFBUSxRQUNiLEtBQUssUUFBUSxPQUFPLEtBQUssUUFBUSxPQUFPLENBR3hDLEtBQUssUUFBUSxTQUdSLFFBQVEsT0FBTyxNQUdoQixLQUFLLFFBQVEsT0FBTyxLQUFLLFFBQVEsT0FBTyxDQUZ4QyxLQUFLLFFBQVEsT0FBTyxLQUFLLFFBQVEsT0FBTyxFQU1oRCxRQUFRLEdBQUcsYUFBZ0IsS0FBSyxNQUFNLENBQUMsQ0FDdkMsUUFBUSxHQUFHLGNBQWlCLEtBQUssTUFBTSxDQUFDLENBQ3hDLFFBQVEsR0FBRyxXQUFjLEtBQUssTUFBTSxDQUFDIn0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../tryCatch-Dz4OvJig.mjs";import t from"../facades/logger.mjs";import{basePath as n}from"../utils/basePath.mjs";import{t as r}from"../ConfigService-CNvGuEng.mjs";import i from"path";import a from"fs";import{set as o}from"lodash-es";import s from"js-yaml";var c=class extends r{logger;debug=!1;format=`json`;formatOptions={};directory;constructor(e={}){super(),this.debug=e.debug??!1,this.directory=e.directory??n(`config`),this.logger=e.logger??t.child({label:`config`}),this.format=e.format??`json`,this.formatOptions=e.formatOptions??{},this.debug&&this.logger.debug(`service initialized in debug mode`)}async write(e,t){let n=this.format===`yml`?`yml`:`json`,r=i.join(this.directory,`${e}.${n}`),o=JSON.stringify(t,null,this.formatOptions.indent||4);this.format===`yml`&&(o=s.dump(t,this.formatOptions)),await a.promises.writeFile(r,o,`utf-8`)}writeSync(e,t){let n=this.format===`yml`?`yml`:`json`,r=i.join(this.directory,`${e}.${n}`),o=JSON.stringify(t,null,4);this.format===`yml`&&(o=s.dump(t,this.formatOptions)),a.writeFileSync(r,o,`utf-8`)}async load(){this.clear(),a.existsSync(this.directory)||(this.debug&&this.logger.debug(`config directory does not exist, creating: ${this.directory}`),a.mkdirSync(this.directory,{recursive:!0}));let t=await a.promises.readdir(this.directory);for(let n of t){let t=i.extname(n);if(this.format===`json`&&t!==`.json`||this.format===`yml`&&t!==`.yml`)continue;let r=i.join(this.directory,n),[o,c]=await e(async()=>{let e=await a.promises.readFile(r,`utf-8`);return i.extname(n)===`.yml`?s.load(e):JSON.parse(e)});if(o){this.logger.error(`failed to load config file ${n}`,o);continue}let l=i.basename(n,i.extname(n));super.set(l,c,`filesystem`),this.debug&&this.logger.debug(`loaded config file: ${n}`)}this.debug&&this.logger.debug(`config loaded in debug mode`)}parseKey(e){let[t,...n]=e.split(`.`);return{entry:t,key:n.join(`.`)}}set(e,t,n=`filesystem`){if(super.set(e,t,n),n!==`filesystem`)return;let{entry:r,key:i}=this.parseKey(e),a=this.get(r);i||(a=t),i&&a&&o(a,i,t),this.writeSync(r,a)}unset(e){let{entry:t,key:n}=this.parseKey(e);if(!n){let n=this.format===`yml`?`yml`:`json`,r=i.join(this.directory,`${t}.${n}`);a.unlinkSync(r),super.unset(e);return}let r=this.get(t);o(r,n,void 0),this.writeSync(t,r),super.unset(e)}};export{c as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnRlNTZXJ2aWNlLm1qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0NvbmZpZ0ZTU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJ1xuaW1wb3J0IHsgYmFzZVBhdGggfSBmcm9tICcjc2VydmVyL3V0aWxzL2Jhc2VQYXRoLnRzJ1xuaW1wb3J0IENvbmZpZ1NlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Db25maWdTZXJ2aWNlLnRzJ1xuaW1wb3J0IHlhbWwgZnJvbSAnanMteWFtbCdcbmltcG9ydCBsb2dnZXIgZnJvbSAnI3NlcnZlci9mYWNhZGVzL2xvZ2dlci50cydcbmltcG9ydCB0eXBlIExvZ2dlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJ1xuaW1wb3J0IHsgdHJ5Q2F0Y2ggfSBmcm9tICcjc2hhcmVkL3V0aWxzL3RyeUNhdGNoLnRzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0ZTU2VydmljZU9wdGlvbnMge1xuICAgIGRpcmVjdG9yeT86IHN0cmluZ1xuICAgIGZvcm1hdD86ICdqc29uJyB8ICd5bWwnXG4gICAgZm9ybWF0T3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICBkZWJ1Zz86IGJvb2xlYW5cbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpZ0ZTU2VydmljZSBleHRlbmRzIENvbmZpZ1NlcnZpY2Uge1xuICAgIHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2VcbiAgICBwdWJsaWMgZGVidWcgPSBmYWxzZVxuICAgIHB1YmxpYyBmb3JtYXQ6ICdqc29uJyB8ICd5bWwnID0gJ2pzb24nXG4gICAgcHVibGljIGZvcm1hdE9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxuICAgIHB1YmxpYyBkaXJlY3Rvcnk6IHN0cmluZ1xuXG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDb25maWdGU1NlcnZpY2VPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICB0aGlzLmRlYnVnID0gb3B0aW9ucy5kZWJ1ZyA/PyBmYWxzZVxuICAgICAgICB0aGlzLmRpcmVjdG9yeSA9IG9wdGlvbnMuZGlyZWN0b3J5ID8/IGJhc2VQYXRoKCdjb25maWcnKVxuICAgICAgICB0aGlzLmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyID8/IGxvZ2dlci5jaGlsZCh7IGxhYmVsOiAnY29uZmlnJyB9KVxuICAgICAgICB0aGlzLmZvcm1hdCA9IG9wdGlvbnMuZm9ybWF0ID8/ICdqc29uJ1xuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnMgPSBvcHRpb25zLmZvcm1hdE9wdGlvbnMgPz8ge31cblxuICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NlcnZpY2UgaW5pdGlhbGl6ZWQgaW4gZGVidWcgbW9kZScpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgd3JpdGUoZW50cnk6IHN0cmluZywgZGF0YTogYW55KSB7XG4gICAgICAgIGNvbnN0IGV4dCA9IHRoaXMuZm9ybWF0ID09PSAneW1sJyA/ICd5bWwnIDogJ2pzb24nXG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gcGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5LCBgJHtlbnRyeX0uJHtleHR9YClcblxuICAgICAgICBsZXQgY29udGVudCA9IEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIHRoaXMuZm9ybWF0T3B0aW9ucy5pbmRlbnQgfHwgNClcblxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICd5bWwnKSB7XG4gICAgICAgICAgICBjb250ZW50ID0geWFtbC5kdW1wKGRhdGEsIHRoaXMuZm9ybWF0T3B0aW9ucylcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IGZzLnByb21pc2VzLndyaXRlRmlsZShmaWxlbmFtZSwgY29udGVudCwgJ3V0Zi04JylcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVTeW5jKGVudHJ5OiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICAgICAgICBjb25zdCBleHQgPSB0aGlzLmZvcm1hdCA9PT0gJ3ltbCcgPyAneW1sJyA6ICdqc29uJ1xuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHBhdGguam9pbih0aGlzLmRpcmVjdG9yeSwgYCR7ZW50cnl9LiR7ZXh0fWApXG5cbiAgICAgICAgbGV0IGNvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCA0KVxuXG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ3ltbCcpIHtcbiAgICAgICAgICAgIGNvbnRlbnQgPSB5YW1sLmR1bXAoZGF0YSwgdGhpcy5mb3JtYXRPcHRpb25zKVxuICAgICAgICB9XG5cbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlbmFtZSwgY29udGVudCwgJ3V0Zi04JylcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbG9hZCgpIHtcbiAgICAgICAgdGhpcy5jbGVhcigpXG5cbiAgICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHRoaXMuZGlyZWN0b3J5KSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgY29uZmlnIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCwgY3JlYXRpbmc6ICR7dGhpcy5kaXJlY3Rvcnl9YClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgZnMubWtkaXJTeW5jKHRoaXMuZGlyZWN0b3J5LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsZXMgPSBhd2FpdCBmcy5wcm9taXNlcy5yZWFkZGlyKHRoaXMuZGlyZWN0b3J5KVxuXG4gICAgICAgIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgZmlsZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGV4dCA9IHBhdGguZXh0bmFtZShmaWxlbmFtZSlcblxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnanNvbicgJiYgZXh0ICE9PSAnLmpzb24nKSB7XG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAneW1sJyAmJiBleHQgIT09ICcueW1sJykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5LCBmaWxlbmFtZSlcblxuICAgICAgICAgICAgY29uc3QgW2Vycm9yLCBqc29uXSA9IGF3YWl0IHRyeUNhdGNoKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgZnMucHJvbWlzZXMucmVhZEZpbGUoZmlsZVBhdGgsICd1dGYtOCcpXG5cbiAgICAgICAgICAgICAgICBpZiAocGF0aC5leHRuYW1lKGZpbGVuYW1lKSA9PT0gJy55bWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB5YW1sLmxvYWQodGV4dClcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0ZXh0KVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYGZhaWxlZCB0byBsb2FkIGNvbmZpZyBmaWxlICR7ZmlsZW5hbWV9YCwgZXJyb3IpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgY29uc3Qga2V5ID0gcGF0aC5iYXNlbmFtZShmaWxlbmFtZSwgcGF0aC5leHRuYW1lKGZpbGVuYW1lKSlcblxuICAgICAgICAgICAgc3VwZXIuc2V0KGtleSwganNvbiwgJ2ZpbGVzeXN0ZW0nKVxuXG4gICAgICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBsb2FkZWQgY29uZmlnIGZpbGU6ICR7ZmlsZW5hbWV9YClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnY29uZmlnIGxvYWRlZCBpbiBkZWJ1ZyBtb2RlJylcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VLZXkoZnVsbEtleTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IFtlbnRyeSwgLi4ucmVzdF0gPSBmdWxsS2V5LnNwbGl0KCcuJylcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW50cnksXG4gICAgICAgICAgICBrZXk6IHJlc3Quam9pbignLicpIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldChmdWxsS2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHNvdXJjZSA9ICdmaWxlc3lzdGVtJyk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXQoZnVsbEtleSwgdmFsdWUsIHNvdXJjZSlcblxuICAgICAgICBpZiAoc291cmNlICE9PSAnZmlsZXN5c3RlbScpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBlbnRyeSwga2V5IH0gPSB0aGlzLnBhcnNlS2V5KGZ1bGxLZXkpXG4gICAgICAgIFxuICAgICAgICBsZXQgdmFsdWVzID0gdGhpcy5nZXQoZW50cnkpXG5cbiAgICAgICAgaWYgKCFrZXkpIHtcbiAgICAgICAgICAgIHZhbHVlcyA9IHZhbHVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5ICYmIHZhbHVlcykge1xuICAgICAgICAgICAgc2V0KHZhbHVlcywga2V5LCB2YWx1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMud3JpdGVTeW5jKGVudHJ5LCB2YWx1ZXMpXG4gICAgICAgIFxuICAgIH1cblxuICAgIHB1YmxpYyB1bnNldChmdWxsS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBlbnRyeSwga2V5IH0gPSB0aGlzLnBhcnNlS2V5KGZ1bGxLZXkpXG5cbiAgICAgICAgaWYgKCFrZXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGV4dCA9IHRoaXMuZm9ybWF0ID09PSAneW1sJyA/ICd5bWwnIDogJ2pzb24nXG5cbiAgICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID0gcGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5LCBgJHtlbnRyeX0uJHtleHR9YClcblxuICAgICAgICAgICAgZnMudW5saW5rU3luYyhmaWxlbmFtZSlcblxuICAgICAgICAgICAgc3VwZXIudW5zZXQoZnVsbEtleSlcblxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZ2V0KGVudHJ5KVxuXG4gICAgICAgIHNldCh2YWx1ZXMsIGtleSwgdW5kZWZpbmVkKVxuXG4gICAgICAgIHRoaXMud3JpdGVTeW5jKGVudHJ5LCB2YWx1ZXMpXG5cbiAgICAgICAgc3VwZXIudW5zZXQoZnVsbEtleSlcbiAgICB9XG59XG5cbiJdLCJtYXBwaW5ncyI6ImtSQWtCQSxJQUFxQixFQUFyQixjQUE2QyxDQUFjLENBQ3ZELE9BQ0EsTUFBZSxHQUNmLE9BQWdDLE9BQ2hDLGNBQTRDLEVBQUUsQ0FDOUMsVUFHQSxZQUFZLEVBQWtDLEVBQUUsQ0FBRSxDQUM5QyxPQUFPLENBQ1AsS0FBSyxNQUFRLEVBQVEsT0FBUyxHQUM5QixLQUFLLFVBQVksRUFBUSxXQUFhLEVBQVMsU0FBUyxDQUN4RCxLQUFLLE9BQVMsRUFBUSxRQUFVLEVBQU8sTUFBTSxDQUFFLE1BQU8sU0FBVSxDQUFDLENBQ2pFLEtBQUssT0FBUyxFQUFRLFFBQVUsT0FDaEMsS0FBSyxjQUFnQixFQUFRLGVBQWlCLEVBQUUsQ0FFNUMsS0FBSyxPQUNMLEtBQUssT0FBTyxNQUFNLG9DQUFvQyxDQUk5RCxNQUFhLE1BQU0sRUFBZSxFQUFXLENBQ3pDLElBQU0sRUFBTSxLQUFLLFNBQVcsTUFBUSxNQUFRLE9BQ3RDLEVBQVcsRUFBSyxLQUFLLEtBQUssVUFBVyxHQUFHLEVBQU0sR0FBRyxJQUFNLENBRXpELEVBQVUsS0FBSyxVQUFVLEVBQU0sS0FBTSxLQUFLLGNBQWMsUUFBVSxFQUFFLENBRXBFLEtBQUssU0FBVyxRQUNoQixFQUFVLEVBQUssS0FBSyxFQUFNLEtBQUssY0FBYyxFQUdqRCxNQUFNLEVBQUcsU0FBUyxVQUFVLEVBQVUsRUFBUyxRQUFRLENBRzNELFVBQWlCLEVBQWUsRUFBVyxDQUN2QyxJQUFNLEVBQU0sS0FBSyxTQUFXLE1BQVEsTUFBUSxPQUN0QyxFQUFXLEVBQUssS0FBSyxLQUFLLFVBQVcsR0FBRyxFQUFNLEdBQUcsSUFBTSxDQUV6RCxFQUFVLEtBQUssVUFBVSxFQUFNLEtBQU0sRUFBRSxDQUV2QyxLQUFLLFNBQVcsUUFDaEIsRUFBVSxFQUFLLEtBQUssRUFBTSxLQUFLLGNBQWMsRUFHakQsRUFBRyxjQUFjLEVBQVUsRUFBUyxRQUFRLENBR2hELE1BQWEsTUFBTyxDQUNoQixLQUFLLE9BQU8sQ0FFUCxFQUFHLFdBQVcsS0FBSyxVQUFVLEdBQzFCLEtBQUssT0FDTCxLQUFLLE9BQU8sTUFBTSw4Q0FBOEMsS0FBSyxZQUFZLENBR3JGLEVBQUcsVUFBVSxLQUFLLFVBQVcsQ0FBRSxVQUFXLEdBQU0sQ0FBQyxFQUdyRCxJQUFNLEVBQVEsTUFBTSxFQUFHLFNBQVMsUUFBUSxLQUFLLFVBQVUsQ0FFdkQsSUFBSyxJQUFNLEtBQVksRUFBTyxDQUMxQixJQUFNLEVBQU0sRUFBSyxRQUFRLEVBQVMsQ0FNbEMsR0FKSSxLQUFLLFNBQVcsUUFBVSxJQUFRLFNBSWxDLEtBQUssU0FBVyxPQUFTLElBQVEsT0FDakMsU0FHSixJQUFNLEVBQVcsRUFBSyxLQUFLLEtBQUssVUFBVyxFQUFTLENBRTlDLENBQUMsRUFBTyxHQUFRLE1BQU0sRUFBUyxTQUFZLENBQzdDLElBQU0sRUFBTyxNQUFNLEVBQUcsU0FBUyxTQUFTLEVBQVUsUUFBUSxDQU0xRCxPQUpJLEVBQUssUUFBUSxFQUFTLEdBQUssT0FDcEIsRUFBSyxLQUFLLEVBQUssQ0FHbkIsS0FBSyxNQUFNLEVBQUssRUFDekIsQ0FFRixHQUFJLEVBQU8sQ0FDUCxLQUFLLE9BQU8sTUFBTSw4QkFBOEIsSUFBWSxFQUFNLENBQ2xFLFNBR0osSUFBTSxFQUFNLEVBQUssU0FBUyxFQUFVLEVBQUssUUFBUSxFQUFTLENBQUMsQ0FFM0QsTUFBTSxJQUFJLEVBQUssRUFBTSxhQUFhLENBRTlCLEtBQUssT0FDTCxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsSUFBVyxDQUl4RCxLQUFLLE9BQ0wsS0FBSyxPQUFPLE1BQU0sOEJBQThCLENBSXhELFNBQWlCLEVBQWlCLENBQzlCLEdBQU0sQ0FBQyxFQUFPLEdBQUcsR0FBUSxFQUFRLE1BQU0sSUFBSSxDQUUzQyxNQUFPLENBQ0gsUUFDQSxJQUFLLEVBQUssS0FBSyxJQUFJLENBQ3RCLENBR0wsSUFBVyxFQUFpQixFQUFZLEVBQVMsYUFBb0IsQ0FHakUsR0FGQSxNQUFNLElBQUksRUFBUyxFQUFPLEVBQU8sQ0FFN0IsSUFBVyxhQUNYLE9BR0osR0FBTSxDQUFFLFFBQU8sT0FBUSxLQUFLLFNBQVMsRUFBUSxDQUV6QyxFQUFTLEtBQUssSUFBSSxFQUFNLENBRXZCLElBQ0QsRUFBUyxHQUdULEdBQU8sR0FDUCxFQUFJLEVBQVEsRUFBSyxFQUFNLENBRzNCLEtBQUssVUFBVSxFQUFPLEVBQU8sQ0FJakMsTUFBYSxFQUF1QixDQUNoQyxHQUFNLENBQUUsUUFBTyxPQUFRLEtBQUssU0FBUyxFQUFRLENBRTdDLEdBQUksQ0FBQyxFQUFLLENBQ04sSUFBTSxFQUFNLEtBQUssU0FBVyxNQUFRLE1BQVEsT0FFdEMsRUFBVyxFQUFLLEtBQUssS0FBSyxVQUFXLEdBQUcsRUFBTSxHQUFHLElBQU0sQ0FFN0QsRUFBRyxXQUFXLEVBQVMsQ0FFdkIsTUFBTSxNQUFNLEVBQVEsQ0FFcEIsT0FHSixJQUFNLEVBQVMsS0FBSyxJQUFJLEVBQU0sQ0FFOUIsRUFBSSxFQUFRLEVBQUssSUFBQSxHQUFVLENBRTNCLEtBQUssVUFBVSxFQUFPLEVBQU8sQ0FFN0IsTUFBTSxNQUFNLEVBQVEifQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../BaseException-cMfHz0w8.mjs";import{t}from"../flatten-DHGvYNde.mjs";import"../ConfigService-CNvGuEng.mjs";import{createRequire as n}from"node:module";const r=n(import.meta.url);var i=class n{env;logger;silent;constructor(e){this.env=e.env,this.logger=e.logger,this.silent=e.silent??!1}static create(e){return new n(e)}async loadS3Config(){let e=new(await(import(`./ConfigS3Service.mjs`).then(e=>e.default)))({bucket:this.env.get(`ZENITH_CONFIG_S3_BUCKET`),region:this.env.get(`ZENITH_CONFIG_S3_REGION`),accessKeyId:this.env.get(`ZENITH_CONFIG_S3_ACCESS_KEY_ID`),secretAccessKey:this.env.get(`ZENITH_CONFIG_S3_SECRET_ACCESS_KEY`),debug:this.env.get(`ZENITH_CONFIG_DEBUG`),endpoint:this.env.get(`ZENITH_CONFIG_S3_ENDPOINT`),prefix:this.env.get(`ZENITH_CONFIG_S3_PREFIX`),sessionToken:this.env.get(`ZENITH_CONFIG_S3_SESSION_TOKEN`),logger:this.logger});return await e.load(),this.silent||this.logger.info(`using S3 configuration service`,{bucket:e.bucket,region:e.region,prefix:e.prefix}),e}async loadFSConfig(){let e=new(await(import(`./ConfigFSService.mjs`).then(e=>e.default)))({directory:this.env.get(`ZENITH_CONFIG_FS_PATH`),debug:this.env.get(`ZENITH_CONFIG_DEBUG`),format:this.env.get(`ZENITH_CONFIG_FS_FORMAT`),formatOptions:this.env.get(`ZENITH_CONFIG_FS_FORMAT_OPTIONS`)||{},logger:this.logger});return await e.load(),this.silent||this.logger.info(`using filesystem configuration service`,{path:e.directory}),e}loadConfigFromEnv(e){for(let[n,r]of Object.entries(t(this.env.get(`ZENITH_CONFIG`)||{})))e.set(n,r,`env`);for(let[n,r]of Object.entries(t(this.env.get(`ZENITH_CONFIG_ARGUMENTS`)||{})))e.set(n,r,`argument`)}loadConfigFromFile(n,i){let a=r(`fs`);if(!a.existsSync(i)){this.logger.warn(`configuration file not found: ${i}`);return}let o=a.readFileSync(i,`utf-8`),s=null;if((i.endsWith(`.yml`)||i.endsWith(`.yaml`))&&(s=r(`js-yaml`).load(o)),!s)throw new e(`unsupported configuration file format: ${i}`);for(let[e,r]of Object.entries(t(s)))n.set(e,r,i)}loadConfigFromFiles(e,t){for(let n of t)this.loadConfigFromFile(e,n)}async load(){let t=null;if(this.env.get(`ZENITH_CONFIG_DRIVER`)===`s3`&&(t=await this.loadS3Config()),(!t||this.env.get(`ZENITH_CONFIG_DRIVER`)===`fs`)&&(t=await this.loadFSConfig()),!t)throw new e(`Failed to initialize configuration service: No valid driver found`);if(!t)throw new e(`Failed to initialize configuration service`);return this.loadConfigFromFiles(t,this.env.get(`ZENITH_CONFIG_FILES`)),this.loadConfigFromEnv(t),t}};export{i as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnTWFuYWdlclNlcnZpY2UubWpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvQ29uZmlnTWFuYWdlclNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VFeGNlcHRpb24gZnJvbSAnI3NoYXJlZC9leGNlcHRpb25zL0Jhc2VFeGNlcHRpb24udHMnXG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnXG5pbXBvcnQgQ29uZmlnU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UudHMnXG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSAnI3NoYXJlZC91dGlscy9mbGF0dGVuLnRzJ1xuaW1wb3J0IHR5cGUgRW52U2VydmljZSBmcm9tICcuL0VudlNlcnZpY2UudHMnXG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnXG5cbmNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCkgXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTWFuYWdlck9wdGlvbnMge1xuICAgIGVudjogRW52U2VydmljZVxuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZVxuICAgIHNpbGVudD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uZmlnTWFuYWdlclNlcnZpY2Uge1xuICAgIHB1YmxpYyBlbnY6IEVudlNlcnZpY2VcbiAgICBwdWJsaWMgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlXG4gICAgcHVibGljIHNpbGVudDogYm9vbGVhblxuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogQ29uZmlnTWFuYWdlck9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5lbnYgPSBvcHRpb25zLmVudlxuICAgICAgICB0aGlzLmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyXG4gICAgICAgIHRoaXMuc2lsZW50ID0gb3B0aW9ucy5zaWxlbnQgPz8gZmFsc2VcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZShvcHRpb25zOiBDb25maWdNYW5hZ2VyT3B0aW9ucykge1xuICAgICAgICBjb25zdCBzZXJ2aWNlID0gbmV3IENvbmZpZ01hbmFnZXJTZXJ2aWNlKG9wdGlvbnMpXG5cbiAgICAgICAgcmV0dXJuIHNlcnZpY2VcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGxvYWRTM0NvbmZpZygpIHtcbiAgICAgICAgY29uc3QgQ29uZmlnUzNTZXJ2aWNlID0gYXdhaXQgaW1wb3J0KCcjc2VydmVyL3NlcnZpY2VzL0NvbmZpZ1MzU2VydmljZS50cycpLnRoZW4obSA9PiBtLmRlZmF1bHQpXG5cbiAgICAgICAgY29uc3Qgc2VydmljZSA9IG5ldyBDb25maWdTM1NlcnZpY2Uoe1xuICAgICAgICAgICAgYnVja2V0OiB0aGlzLmVudi5nZXQoJ1pFTklUSF9DT05GSUdfUzNfQlVDS0VUJykhLFxuICAgICAgICAgICAgcmVnaW9uOiB0aGlzLmVudi5nZXQoJ1pFTklUSF9DT05GSUdfUzNfUkVHSU9OJykhLFxuICAgICAgICAgICAgYWNjZXNzS2V5SWQ6IHRoaXMuZW52LmdldCgnWkVOSVRIX0NPTkZJR19TM19BQ0NFU1NfS0VZX0lEJykhLFxuICAgICAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiB0aGlzLmVudi5nZXQoJ1pFTklUSF9DT05GSUdfUzNfU0VDUkVUX0FDQ0VTU19LRVknKSEsXG4gICAgICAgICAgICBkZWJ1ZzogdGhpcy5lbnYuZ2V0KCdaRU5JVEhfQ09ORklHX0RFQlVHJyksXG4gICAgICAgICAgICBlbmRwb2ludDogdGhpcy5lbnYuZ2V0KCdaRU5JVEhfQ09ORklHX1MzX0VORFBPSU5UJyksXG4gICAgICAgICAgICBwcmVmaXg6IHRoaXMuZW52LmdldCgnWkVOSVRIX0NPTkZJR19TM19QUkVGSVgnKSxcbiAgICAgICAgICAgIHNlc3Npb25Ub2tlbjogdGhpcy5lbnYuZ2V0KCdaRU5JVEhfQ09ORklHX1MzX1NFU1NJT05fVE9LRU4nKSxcbiAgICAgICAgICAgIGxvZ2dlcjogdGhpcy5sb2dnZXIsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYXdhaXQgc2VydmljZS5sb2FkKClcblxuICAgICAgICBpZiAoIXRoaXMuc2lsZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCd1c2luZyBTMyBjb25maWd1cmF0aW9uIHNlcnZpY2UnLCB7XG4gICAgICAgICAgICAgICAgYnVja2V0OiBzZXJ2aWNlLmJ1Y2tldCxcbiAgICAgICAgICAgICAgICByZWdpb246IHNlcnZpY2UucmVnaW9uLFxuICAgICAgICAgICAgICAgIHByZWZpeDogc2VydmljZS5wcmVmaXhcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiBzZXJ2aWNlXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkRlNDb25maWcoKSB7XG4gICAgICAgIGNvbnN0IENvbmZpZ0ZTU2VydmljZSA9IGF3YWl0IGltcG9ydCgnI3NlcnZlci9zZXJ2aWNlcy9Db25maWdGU1NlcnZpY2UudHMnKS50aGVuKG0gPT4gbS5kZWZhdWx0KVxuXG4gICAgICAgIGNvbnN0IHNlcnZpY2UgPSBuZXcgQ29uZmlnRlNTZXJ2aWNlKHtcbiAgICAgICAgICAgIGRpcmVjdG9yeTogdGhpcy5lbnYuZ2V0KCdaRU5JVEhfQ09ORklHX0ZTX1BBVEgnKSxcbiAgICAgICAgICAgIGRlYnVnOiB0aGlzLmVudi5nZXQoJ1pFTklUSF9DT05GSUdfREVCVUcnKSxcbiAgICAgICAgICAgIGZvcm1hdDogdGhpcy5lbnYuZ2V0KCdaRU5JVEhfQ09ORklHX0ZTX0ZPUk1BVCcpISxcbiAgICAgICAgICAgIGZvcm1hdE9wdGlvbnM6IHRoaXMuZW52LmdldCgnWkVOSVRIX0NPTkZJR19GU19GT1JNQVRfT1BUSU9OUycpIHx8IHt9LFxuICAgICAgICAgICAgbG9nZ2VyOiB0aGlzLmxvZ2dlcixcbiAgICAgICAgfSlcblxuICAgICAgICBhd2FpdCBzZXJ2aWNlLmxvYWQoKVxuXG4gICAgICAgIGlmICghdGhpcy5zaWxlbnQpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ3VzaW5nIGZpbGVzeXN0ZW0gY29uZmlndXJhdGlvbiBzZXJ2aWNlJywgeyBwYXRoOiBzZXJ2aWNlLmRpcmVjdG9yeSB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNlcnZpY2VcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZENvbmZpZ0Zyb21FbnYoc2VydmljZTogQ29uZmlnU2VydmljZSkge1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmbGF0dGVuKHRoaXMuZW52LmdldCgnWkVOSVRIX0NPTkZJRycpIHx8IHt9KSkpIHtcbiAgICAgICAgICAgIHNlcnZpY2Uuc2V0KGtleSwgdmFsdWUsICdlbnYnKVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZmxhdHRlbih0aGlzLmVudi5nZXQoJ1pFTklUSF9DT05GSUdfQVJHVU1FTlRTJykgfHwge30pKSkge1xuICAgICAgICAgICAgc2VydmljZS5zZXQoa2V5LCB2YWx1ZSwgJ2FyZ3VtZW50JylcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBsb2FkQ29uZmlnRnJvbUZpbGUoc2VydmljZTogQ29uZmlnU2VydmljZSwgZmlsZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKSBcblxuICAgICAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZmlsZSkpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oYGNvbmZpZ3VyYXRpb24gZmlsZSBub3QgZm91bmQ6ICR7ZmlsZX1gKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZXh0ID0gZnMucmVhZEZpbGVTeW5jKGZpbGUsICd1dGYtOCcpXG4gICAgICAgIGxldCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbCA9IG51bGxcblxuICAgICAgICBpZiAoZmlsZS5lbmRzV2l0aCgnLnltbCcpIHx8IGZpbGUuZW5kc1dpdGgoJy55YW1sJykpIHtcbiAgICAgICAgICAgIGNvbnN0IHlhbWwgPSByZXF1aXJlKCdqcy15YW1sJylcblxuICAgICAgICAgICAgZGF0YSA9IHlhbWwubG9hZCh0ZXh0KSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKGB1bnN1cHBvcnRlZCBjb25maWd1cmF0aW9uIGZpbGUgZm9ybWF0OiAke2ZpbGV9YClcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGZsYXR0ZW4oZGF0YSkpKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnNldChrZXksIHZhbHVlLCBmaWxlKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGxvYWRDb25maWdGcm9tRmlsZXMoc2VydmljZTogQ29uZmlnU2VydmljZSwgZmlsZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICAgICAgdGhpcy5sb2FkQ29uZmlnRnJvbUZpbGUoc2VydmljZSwgZmlsZSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsb2FkKCk6IFByb21pc2U8Q29uZmlnU2VydmljZT4ge1xuICAgICAgICBsZXQgc2VydmljZTogQ29uZmlnU2VydmljZSB8IG51bGwgPSBudWxsXG5cbiAgICAgICAgaWYgKHRoaXMuZW52LmdldCgnWkVOSVRIX0NPTkZJR19EUklWRVInKSA9PT0gJ3MzJykge1xuICAgICAgICAgICAgc2VydmljZSA9IGF3YWl0IHRoaXMubG9hZFMzQ29uZmlnKClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2VydmljZSB8fCB0aGlzLmVudi5nZXQoJ1pFTklUSF9DT05GSUdfRFJJVkVSJykgPT09ICdmcycpIHtcbiAgICAgICAgICAgIHNlcnZpY2UgPSBhd2FpdCB0aGlzLmxvYWRGU0NvbmZpZygpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb25maWd1cmF0aW9uIHNlcnZpY2U6IE5vIHZhbGlkIGRyaXZlciBmb3VuZCcpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb25maWd1cmF0aW9uIHNlcnZpY2UnKVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2FkQ29uZmlnRnJvbUZpbGVzKHNlcnZpY2UsIHRoaXMuZW52LmdldCgnWkVOSVRIX0NPTkZJR19GSUxFUycpKVxuXG4gICAgICAgIHRoaXMubG9hZENvbmZpZ0Zyb21FbnYoc2VydmljZSlcblxuICAgICAgICByZXR1cm4gc2VydmljZVxuICAgIH1cbn1cblxuIl0sIm1hcHBpbmdzIjoiMktBT0EsTUFBTSxFQUFVLEVBQWMsT0FBTyxLQUFLLElBQUksQ0FROUMsSUFBcUIsRUFBckIsTUFBcUIsQ0FBcUIsQ0FDdEMsSUFDQSxPQUNBLE9BRUEsWUFBWSxFQUErQixDQUN2QyxLQUFLLElBQU0sRUFBUSxJQUNuQixLQUFLLE9BQVMsRUFBUSxPQUN0QixLQUFLLE9BQVMsRUFBUSxRQUFVLEdBR3BDLE9BQWMsT0FBTyxFQUErQixDQUdoRCxPQUZnQixJQUFJLEVBQXFCLEVBQVEsQ0FLckQsTUFBYyxjQUFlLENBR3pCLElBQU0sRUFBVSxJQUZRLE1BQU0sT0FBTyx5QkFBdUMsS0FBSyxHQUFLLEVBQUUsUUFBUSxHQUU1RCxDQUNoQyxP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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../tryCatch-Dz4OvJig.mjs";import{t}from"../LoggerService-8XvsFBNN.mjs";import{t as n}from"../ConfigService-CNvGuEng.mjs";import r from"../gateways/DriveS3Gateway.mjs";import{set as i}from"lodash-es";var a=class extends n{prefix=``;logger;debug=!1;drive;bucket;region;endpoint;constructor(e){super(),this.debug=e.debug??!1,this.prefix=e.prefix??``,this.bucket=e.bucket,this.region=e.region||``,this.endpoint=e.endpoint,this.logger=e.logger??new t,this.drive=new r({id:`config-s3`,name:`config-s3`,config:{bucket:e.bucket,region:e.region,accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,endpoint:e.endpoint}}),this.debug&&this.logger.debug(`service initialized in debug mode`)}parseKey(e){let[t,...n]=e.split(`.`);return{filename:t,key:n.join(`.`)}}async load(){this.clear();let t=this.prefix.replace(/^\/|\/$/g,``),n=await this.drive.list(t||void 0);for(let r of n){if(!r.name.endsWith(`.json`))continue;let n=r.name,i=t?`${t}/${n}`:n,[a,o]=await e(async()=>{let e=await this.drive.read(i),t=Buffer.from(e).toString(`utf-8`);return JSON.parse(t)});if(a){this.logger.error(`failed to load config file ${n}`,a);continue}let s=n.replace(/\.json$/,``);super.set(s,o),this.debug&&this.logger.debug(`loaded config file: ${n}`)}this.debug&&this.logger.debug(`config loaded in debug mode`)}set(e,t,n=`s3`){if(super.set(e,t,n),n!==`s3`)return;let{filename:r,key:a}=this.parseKey(e),o=this.get(r);a||(o=t),a&&o&&i(o,a,t);let s=this.prefix.replace(/^\/|\/$/g,``),c=s?`${s}/${r}.json`:`${r}.json`,l=Buffer.from(JSON.stringify(o,null,4));this.drive.write(c,l).catch(e=>{this.logger.error(`failed to write config to s3`,e)})}unset(e){let t=this.prefix.replace(/^\/|\/$/g,``);if(!e.includes(`.`)){let n=t?`${t}/${e}.json`:`${e}.json`;this.drive.delete(n).catch(e=>{this.logger.error(`failed to delete config from s3`,e)});return}let{filename:n,key:r}=this.parseKey(e),a=this.get(n);i(a,r,void 0);let o=t?`${t}/${n}.json`:`${n}.json`;this.drive.write(o,Buffer.from(JSON.stringify(a,null,4))).catch(e=>{this.logger.error(`failed to write config to s3`,e)}),super.unset(e)}};export{a as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnUzNTZXJ2aWNlLm1qcyIsIm5hbWVzIjpbIlMzRHJpdmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0NvbmZpZ1MzU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnXG5pbXBvcnQgQ29uZmlnU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0NvbmZpZ1NlcnZpY2UudHMnXG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnXG5pbXBvcnQgUzNEcml2ZSBmcm9tICcjc2VydmVyL2dhdGV3YXlzL0RyaXZlUzNHYXRld2F5LnRzJ1xuaW1wb3J0IHR5cGUgeyBTM0RyaXZlQ29uZmlnIH0gZnJvbSAnI3NlcnZlci9nYXRld2F5cy9Ecml2ZVMzR2F0ZXdheS50cydcbmltcG9ydCB7IHRyeUNhdGNoIH0gZnJvbSAnI3NoYXJlZC91dGlscy90cnlDYXRjaC50cydcblxuaW50ZXJmYWNlIEluaXRpT3B0aW9ucyBleHRlbmRzIE9taXQ8UzNEcml2ZUNvbmZpZywgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz4ge1xuICAgIHByZWZpeD86IHN0cmluZ1xuICAgIGRlYnVnPzogYm9vbGVhblxuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2Vcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uZmlnUzNTZXJ2aWNlIGV4dGVuZHMgQ29uZmlnU2VydmljZSB7XG4gICAgcHVibGljIHByZWZpeCA9ICcnXG4gICAgcHVibGljIGxvZ2dlcjogTG9nZ2VyU2VydmljZVxuICAgIHB1YmxpYyBkZWJ1ZyA9IGZhbHNlXG4gICAgcHVibGljIGRyaXZlOiBTM0RyaXZlXG4gICAgcHVibGljIGJ1Y2tldDogc3RyaW5nXG4gICAgcHVibGljIHJlZ2lvbjogc3RyaW5nXG4gICAgcHVibGljIGVuZHBvaW50Pzogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJbml0aU9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoKVxuXG4gICAgICAgIHRoaXMuZGVidWcgPSBvcHRpb25zLmRlYnVnID8/IGZhbHNlXG4gICAgICAgIHRoaXMucHJlZml4ID0gb3B0aW9ucy5wcmVmaXggPz8gJydcbiAgICAgICAgdGhpcy5idWNrZXQgPSBvcHRpb25zLmJ1Y2tldFxuICAgICAgICB0aGlzLnJlZ2lvbiA9IG9wdGlvbnMucmVnaW9uIHx8ICcnXG4gICAgICAgIHRoaXMuZW5kcG9pbnQgPSBvcHRpb25zLmVuZHBvaW50XG4gICAgICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXIgPz8gbmV3IExvZ2dlclNlcnZpY2UoKVxuXG4gICAgICAgIHRoaXMuZHJpdmUgPSBuZXcgUzNEcml2ZSh7XG4gICAgICAgICAgICBpZDogJ2NvbmZpZy1zMycsXG4gICAgICAgICAgICBuYW1lOiAnY29uZmlnLXMzJyxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGJ1Y2tldDogb3B0aW9ucy5idWNrZXQsXG4gICAgICAgICAgICAgICAgcmVnaW9uOiBvcHRpb25zLnJlZ2lvbixcbiAgICAgICAgICAgICAgICBhY2Nlc3NLZXlJZDogb3B0aW9ucy5hY2Nlc3NLZXlJZCxcbiAgICAgICAgICAgICAgICBzZWNyZXRBY2Nlc3NLZXk6IG9wdGlvbnMuc2VjcmV0QWNjZXNzS2V5LFxuICAgICAgICAgICAgICAgIHNlc3Npb25Ub2tlbjogb3B0aW9ucy5zZXNzaW9uVG9rZW4sXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQ6IG9wdGlvbnMuZW5kcG9pbnQsXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXJ2aWNlIGluaXRpYWxpemVkIGluIGRlYnVnIG1vZGUnKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZUtleShmdWxsS2V5OiBzdHJpbmcpOiB7IGZpbGVuYW1lOiBzdHJpbmc7IGtleTogc3RyaW5nIH0ge1xuICAgICAgICBjb25zdCBbZmlsZW5hbWUsIC4uLnJlc3RdID0gZnVsbEtleS5zcGxpdCgnLicpXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgICAga2V5OiByZXN0LmpvaW4oJy4nKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWQoKSB7XG4gICAgICAgIHRoaXMuY2xlYXIoKVxuXG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMucHJlZml4LnJlcGxhY2UoL15cXC98XFwvJC9nLCAnJylcblxuICAgICAgICBjb25zdCBlbnRyaWVzID0gYXdhaXQgdGhpcy5kcml2ZS5saXN0KHByZWZpeCB8fCB1bmRlZmluZWQpXG5cbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgICBpZiAoIWVudHJ5Lm5hbWUuZW5kc1dpdGgoJy5qc29uJykpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGVudHJ5Lm5hbWVcblxuICAgICAgICAgICAgY29uc3QgZmlsZXBhdGggPSBwcmVmaXggPyBgJHtwcmVmaXh9LyR7ZmlsZW5hbWV9YCA6IGZpbGVuYW1lXG5cbiAgICAgICAgICAgIGNvbnN0IFtlcnJvciwgZGF0YV0gPSBhd2FpdCB0cnlDYXRjaChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnVmID0gYXdhaXQgdGhpcy5kcml2ZS5yZWFkKGZpbGVwYXRoKVxuXG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dCA9IEJ1ZmZlci5mcm9tKGJ1ZikudG9TdHJpbmcoJ3V0Zi04JylcblxuICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHRleHQpXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihgZmFpbGVkIHRvIGxvYWQgY29uZmlnIGZpbGUgJHtmaWxlbmFtZX1gLCBlcnJvcilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBmaWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sICcnKVxuXG4gICAgICAgICAgICBzdXBlci5zZXQoa2V5LCBkYXRhKVxuXG4gICAgICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBsb2FkZWQgY29uZmlnIGZpbGU6ICR7ZmlsZW5hbWV9YClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnY29uZmlnIGxvYWRlZCBpbiBkZWJ1ZyBtb2RlJylcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXQoZnVsbEtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBzb3VyY2UgPSAnczMnKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldChmdWxsS2V5LCB2YWx1ZSwgc291cmNlKVxuXG4gICAgICAgIGlmIChzb3VyY2UgIT09ICdzMycpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBmaWxlbmFtZSwga2V5IH0gPSB0aGlzLnBhcnNlS2V5KGZ1bGxLZXkpXG5cbiAgICAgICAgbGV0IHZhbHVlcyA9IHRoaXMuZ2V0KGZpbGVuYW1lKVxuXG4gICAgICAgIGlmICgha2V5KSB7XG4gICAgICAgICAgICB2YWx1ZXMgPSB2YWx1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGtleSAmJiB2YWx1ZXMpIHtcbiAgICAgICAgICAgIHNldCh2YWx1ZXMsIGtleSwgdmFsdWUpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGVhblByZWZpeCA9IHRoaXMucHJlZml4LnJlcGxhY2UoL15cXC98XFwvJC9nLCAnJylcblxuICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGNsZWFuUHJlZml4ID8gYCR7Y2xlYW5QcmVmaXh9LyR7ZmlsZW5hbWV9Lmpzb25gIDogYCR7ZmlsZW5hbWV9Lmpzb25gXG5cbiAgICAgICAgY29uc3QgYm9keSA9IEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHZhbHVlcywgbnVsbCwgNCkpXG5cbiAgICAgICAgdGhpcy5kcml2ZS53cml0ZShmaWxlUGF0aCwgYm9keSBhcyB1bmtub3duIGFzIFVpbnQ4QXJyYXkpLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignZmFpbGVkIHRvIHdyaXRlIGNvbmZpZyB0byBzMycsIGVycilcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwdWJsaWMgdW5zZXQoZnVsbEtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsZWFuUHJlZml4ID0gdGhpcy5wcmVmaXgucmVwbGFjZSgvXlxcL3xcXC8kL2csICcnKVxuXG4gICAgICAgIGlmICghZnVsbEtleS5pbmNsdWRlcygnLicpKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGNsZWFuUHJlZml4ID8gYCR7Y2xlYW5QcmVmaXh9LyR7ZnVsbEtleX0uanNvbmAgOiBgJHtmdWxsS2V5fS5qc29uYFxuXG4gICAgICAgICAgICB0aGlzLmRyaXZlLmRlbGV0ZShmaWxlUGF0aClcbiAgICAgICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ2ZhaWxlZCB0byBkZWxldGUgY29uZmlnIGZyb20gczMnLCBlcnIpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBmaWxlbmFtZSwga2V5IH0gPSB0aGlzLnBhcnNlS2V5KGZ1bGxLZXkpXG5cbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXQoZmlsZW5hbWUpXG5cbiAgICAgICAgc2V0KHZhbHVlcywga2V5LCB1bmRlZmluZWQpXG5cblxuICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGNsZWFuUHJlZml4ID8gYCR7Y2xlYW5QcmVmaXh9LyR7ZmlsZW5hbWV9Lmpzb25gIDogYCR7ZmlsZW5hbWV9Lmpzb25gXG5cbiAgICAgICAgdGhpcy5kcml2ZS53cml0ZShmaWxlUGF0aCwgQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkodmFsdWVzLCBudWxsLCA0KSkgYXMgdW5rbm93biBhcyBVaW50OEFycmF5KS5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ2ZhaWxlZCB0byB3cml0ZSBjb25maWcgdG8gczMnLCBlcnIpXG4gICAgICAgIH0pXG5cbiAgICAgICAgc3VwZXIudW5zZXQoZnVsbEtleSlcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiIwTkFhQSxJQUFxQixFQUFyQixjQUE2QyxDQUFjLENBQ3ZELE9BQWdCLEdBQ2hCLE9BQ0EsTUFBZSxHQUNmLE1BQ0EsT0FDQSxPQUNBLFNBRUEsWUFBWSxFQUF1QixDQUMvQixPQUFPLENBRVAsS0FBSyxNQUFRLEVBQVEsT0FBUyxHQUM5QixLQUFLLE9BQVMsRUFBUSxRQUFVLEdBQ2hDLEtBQUssT0FBUyxFQUFRLE9BQ3RCLEtBQUssT0FBUyxFQUFRLFFBQVUsR0FDaEMsS0FBSyxTQUFXLEVBQVEsU0FDeEIsS0FBSyxPQUFTLEVBQVEsUUFBVSxJQUFJLEVBRXBDLEtBQUssTUFBUSxJQUFJQSxFQUFRLENBQ3JCLEdBQUksWUFDSixLQUFNLFlBQ04sT0FBUSxDQUNKLE9BQVEsRUFBUSxPQUNoQixPQUFRLEVBQVEsT0FDaEIsWUFBYSxFQUFRLFlBQ3JCLGdCQUFpQixFQUFRLGdCQUN6QixhQUFjLEVBQVEsYUFDdEIsU0FBVSxFQUFRLFNBQ3JC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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../BaseException-cMfHz0w8.mjs";import{ProxyAgent as t,fetch as n}from"undici";var r=class{async fetch(e,r){let i=r||{};return r?.proxy&&(i.dispatcher=new t(r.proxy)),console.log(`Downloading from URL:`,e,`with options:`,i),await n(e,i)}async stream(t,n){let r=await this.fetch(t,n);if(!r.ok){let t=new e(`Failed to download`,400);throw Object.assign(t,{status:r.status,statusText:r.statusText}),t}if(!r.body)throw new e(`No body`,400);let i=r.headers.get(`content-type`)||`application/octet-stream`;return{stream:r.body,contentType:i}}};export{r as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG93bmxvYWRTZXJ2aWNlLm1qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0Rvd25sb2FkU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlcXVlc3RJbml0IH0gZnJvbSAndW5kaWNpJ1xuaW1wb3J0IHsgZmV0Y2gsIFByb3h5QWdlbnQgfSBmcm9tICd1bmRpY2knXG5pbXBvcnQgQmFzZUV4Y2VwdGlvbiBmcm9tICcjc2hhcmVkL2V4Y2VwdGlvbnMvQmFzZUV4Y2VwdGlvbi50cydcblxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZGVkRmV0Y2hPcHRpb25zIGV4dGVuZHMgUmVxdWVzdEluaXQge1xuICAgIHByb3h5Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERvd25sb2FkU2VydmljZSB7XG4gICAgcHVibGljIGFzeW5jIGZldGNoKHVybDogc3RyaW5nLCBvcHRpb25zPzogRG93bmxvYWRlZEZldGNoT3B0aW9ucykge1xuICAgICAgICBjb25zdCBmZXRjaE9wdGlvbnMgPSBvcHRpb25zIHx8IHt9XG5cbiAgICAgICAgaWYgKG9wdGlvbnM/LnByb3h5KSB7XG4gICAgICAgICAgICBmZXRjaE9wdGlvbnMuZGlzcGF0Y2hlciAgPSBuZXcgUHJveHlBZ2VudChvcHRpb25zLnByb3h5KVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coJ0Rvd25sb2FkaW5nIGZyb20gVVJMOicsIHVybCwgJ3dpdGggb3B0aW9uczonLCBmZXRjaE9wdGlvbnMpXG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IGZldGNoKHVybCwgZmV0Y2hPcHRpb25zKVxuXG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0cmVhbSh1cmw6IHN0cmluZywgb3B0aW9ucz86IERvd25sb2FkZWRGZXRjaE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZldGNoKHVybCwgb3B0aW9ucylcbiAgICBcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgQmFzZUV4Y2VwdGlvbignRmFpbGVkIHRvIGRvd25sb2FkJywgNDAwKVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGVycm9yLCB7IFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLCBcbiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0OiByZXNwb25zZS5zdGF0dXNUZXh0IFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBpZiAoIXJlc3BvbnNlLmJvZHkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdObyBib2R5JywgNDAwKVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpIHx8ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nXG4gICAgXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdHJlYW06IHJlc3BvbnNlLmJvZHkgYXMgdW5rbm93biBhcyBOb2RlSlMuUmVhZGFibGVTdHJlYW0sXG4gICAgICAgICAgICBjb250ZW50VHlwZVxuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiaUdBUUEsSUFBcUIsRUFBckIsS0FBcUMsQ0FDakMsTUFBYSxNQUFNLEVBQWEsRUFBa0MsQ0FDOUQsSUFBTSxFQUFlLEdBQVcsRUFBRSxDQVFsQyxPQU5JLEdBQVMsUUFDVCxFQUFhLFdBQWMsSUFBSSxFQUFXLEVBQVEsTUFBTSxFQUc1RCxRQUFRLElBQUksd0JBQXlCLEVBQUssZ0JBQWlCLEVBQWEsQ0FFakUsTUFBTSxFQUFNLEVBQUssRUFBYSxDQUl6QyxNQUFhLE9BQU8sRUFBYSxFQUFrQyxDQUMvRCxJQUFNLEVBQVcsTUFBTSxLQUFLLE1BQU0sRUFBSyxFQUFRLENBRS9DLEdBQUksQ0FBQyxFQUFTLEdBQUksQ0FDZCxJQUFNLEVBQVEsSUFBSSxFQUFjLHFCQUFzQixJQUFJLENBTzFELE1BTEEsT0FBTyxPQUFPLEVBQU8sQ0FDakIsT0FBUSxFQUFTLE9BQ2pCLFdBQVksRUFBUyxXQUN4QixDQUFDLENBRUksRUFHVixHQUFJLENBQUMsRUFBUyxLQUNWLE1BQU0sSUFBSSxFQUFjLFVBQVcsSUFBSSxDQUczQyxJQUFNLEVBQWMsRUFBUyxRQUFRLElBQUksZUFBZSxFQUFJLDJCQUU1RCxNQUFPLENBQ0gsT0FBUSxFQUFTLEtBQ2pCLGNBQ0gifQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../BaseException-cMfHz0w8.mjs";import t from"../facades/logger.mjs";import{storagePath as n}from"../utils/basePath.mjs";import"../gateways/DriveBaseGateway.mjs";import r from"../gateways/DriveS3Gateway.mjs";import i from"../facades/config.mjs";import{t as a}from"../DriveConfigEntity-BTK1AHGA.mjs";import o from"../gateways/DriveFSGateway.mjs";import s from"fs";var c=class c{static __container_entry_key=`DriveService`;gateways;drives=new Map;selected;defaultDrive;debug=!1;logger;get current(){if(!this.selected)return;let e=this.drives.get(this.selected);if(e)return e}constructor(e={}){this.selected=e.selected||this.selected,this.debug=e.debug||this.debug,this.drives=e.drives||this.drives,this.logger=e.logger||t.child({label:`drive`}),this.gateways=new Map,this.gateways.set(`s3`,r),this.gateways.set(`fs`,o)}listDrives(){return Array.from(this.drives.values()).map(e=>({...e,default:e.id===this.defaultDrive}))}get(t){if(!t||!this.drives.has(t||``))throw new e(`Drive not found`);let n=this.drives.get(t);if(!n)throw new e(`Drive not found`);return n}use(t){if(!this.drives.has(t||``))throw new e(`Drive not found`);return new c({selected:t,drives:this.drives,debug:this.debug})}list(t){if(!this.current)throw new e(`No drive selected`);return this.current.list(t)}find(t){if(!this.current)throw new e(`No drive selected`);return this.current.find(t)}exists(t){if(!this.current)throw new e(`No drive selected`);return this.current.exists(t)}read(t){if(!this.current)throw new e(`No drive selected`);return this.current.read(t)}readStream(t){if(!this.current)throw new e(`No drive selected`);return this.current.readStream(t)}async readAsText(e){let t=await this.read(e);return new TextDecoder().decode(t)}write(t,n){if(!this.current)throw new e(`No drive selected`);let r=n;return typeof n==`object`&&!(n instanceof Uint8Array)&&(r=JSON.stringify(n,null,4)),typeof r==`string`&&(r=new TextEncoder().encode(r)),this.current.write(t,r)}writeStream(t,n){if(!this.current)throw new e(`No drive selected`);return this.current.writeStream(t,n)}async url(t,n={}){if(!this.current)throw new e(`No drive selected`);return this.current.url(t,n)}async uploadUrl(t,n={}){if(!this.current)throw new e(`No drive selected`);return this.current.uploadUrl(t,n)}async upload(e,t){let n=await s.promises.readFile(e),r=new Uint8Array(n);return this.write(t,r)}async download(e,t){let n=await this.read(e);await s.promises.writeFile(t,n)}delete(t){if(!this.current)throw new e(`No drive selected`);return this.current.delete(t)}async load(){this.drives.clear();let e=await a.list();for(let t of e){let e=this.gateways.get(t.type);if(!e){this.logger.warn(`Drive gateway for type "${t.type}" not found`);continue}let n=new e(t);this.drives.set(t.id,n),this.debug&&this.logger.debug(`drive loaded ${t.id} (${t.type})`)}this.selected=i.get(`drive.default`),this.defaultDrive=i.get(`drive.default`)}async createDefaultDrives(){await a.updateOrCreate(`uploads`,{name:`Uploads`,type:`fs`,config:{directory:n(`uploads`)}}),i.get(`drive.default`)||i.set(`drive.default`,`uploads`),await this.load()}validateUpload(t,n){if(!t.mime_types.split(`,`).map(e=>e.trim()).some(e=>{if(!e.endsWith(`/*`))return e===n.mimetype;let t=e.slice(0,-2);return n.mimetype.startsWith(t+`/`)}))throw new e(`MIME type not allowed`,403);if(t.maxSize&&n.size>t.maxSize)throw new e(`File size exceeds the maximum allowed`,403)}};export{c as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJpdmVTZXJ2aWNlLm1qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0RyaXZlU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgRHJpdmVFbnRyeSBmcm9tICcjc2hhcmVkL2VudGl0aWVzL0RyaXZlRW50cnlFbnRpdHkudHMnXG5pbXBvcnQgQmFzZUV4Y2VwdGlvbiBmcm9tICcjc2hhcmVkL2V4Y2VwdGlvbnMvQmFzZUV4Y2VwdGlvbi50cydcbmltcG9ydCB0eXBlIHsgRHJpdmVVcmxPcHRpb25zIH0gZnJvbSAnI3NlcnZlci9jb250cmFjdHMvRHJpdmVDb250cmFjdC50cydcbmltcG9ydCB7IHN0b3JhZ2VQYXRoIH0gZnJvbSAnI3NlcnZlci91dGlscy9iYXNlUGF0aC50cydcbmltcG9ydCBCYXNlRHJpdmUgZnJvbSAnI3NlcnZlci9nYXRld2F5cy9Ecml2ZUJhc2VHYXRld2F5LnRzJ1xuaW1wb3J0IERyaXZlUzMgZnJvbSAnI3NlcnZlci9nYXRld2F5cy9Ecml2ZVMzR2F0ZXdheS50cydcbmltcG9ydCBEcml2ZUNvbmZpZyBmcm9tICcjc2VydmVyL2VudGl0aWVzL0RyaXZlQ29uZmlnRW50aXR5LnRzJ1xuaW1wb3J0IHR5cGUgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnXG5pbXBvcnQgbG9nZ2VyIGZyb20gJyNzZXJ2ZXIvZmFjYWRlcy9sb2dnZXIudHMnXG5pbXBvcnQgRHJpdmVGUyBmcm9tICcjc2VydmVyL2dhdGV3YXlzL0RyaXZlRlNHYXRld2F5LnRzJ1xuaW1wb3J0IGNvbmZpZyBmcm9tICcjc2VydmVyL2ZhY2FkZXMvY29uZmlnLnRzJ1xuXG5pbnRlcmZhY2UgVmFsaWRhdGVVcGxvYWRPcHRpb25zIHtcbiAgICBtaW1lX3R5cGVzOiBzdHJpbmdcbiAgICBtYXhTaXplPzogbnVtYmVyXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyaXZlU2VydmljZSB7XG4gICAgcHVibGljIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXkgPSAnRHJpdmVTZXJ2aWNlJ1xuXG5cbiAgICBwdWJsaWMgZ2F0ZXdheXM6IE1hcDxzdHJpbmcsIHR5cGVvZiBCYXNlRHJpdmU+XG4gICAgcHVibGljIGRyaXZlczogTWFwPHN0cmluZywgQmFzZURyaXZlPiA9IG5ldyBNYXAoKVxuICAgIHB1YmxpYyBzZWxlY3RlZD86IHN0cmluZ1xuICAgIHB1YmxpYyBkZWZhdWx0RHJpdmU/OiBzdHJpbmdcbiAgICBwdWJsaWMgZGVidWcgPSBmYWxzZVxuICAgIHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2VcblxuICAgIHB1YmxpYyBnZXQgY3VycmVudCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkKSByZXR1cm4gdW5kZWZpbmVkIFxuICAgICAgICBcbiAgICAgICAgY29uc3QgZHJpdmUgPSB0aGlzLmRyaXZlcy5nZXQodGhpcy5zZWxlY3RlZClcbiAgICAgICAgXG4gICAgICAgIGlmICghZHJpdmUpIHJldHVybiB1bmRlZmluZWRcblxuICAgICAgICByZXR1cm4gZHJpdmVcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPERyaXZlU2VydmljZT4gPSB7fSkgeyAgICAgICAgXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBkYXRhLnNlbGVjdGVkIHx8IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgdGhpcy5kZWJ1ZyA9IGRhdGEuZGVidWcgfHwgdGhpcy5kZWJ1Z1xuICAgICAgICB0aGlzLmRyaXZlcyA9IGRhdGEuZHJpdmVzIHx8IHRoaXMuZHJpdmVzXG4gICAgICAgIHRoaXMubG9nZ2VyID0gZGF0YS5sb2dnZXIgfHwgbG9nZ2VyLmNoaWxkKHsgbGFiZWw6ICdkcml2ZScgfSlcbiAgICAgICAgdGhpcy5nYXRld2F5cyA9IG5ldyBNYXA8c3RyaW5nLCB0eXBlb2YgQmFzZURyaXZlPigpXG5cbiAgICAgICAgdGhpcy5nYXRld2F5cy5zZXQoJ3MzJywgRHJpdmVTMylcbiAgICAgICAgdGhpcy5nYXRld2F5cy5zZXQoJ2ZzJywgRHJpdmVGUylcbiAgICB9XG5cbiAgICBwdWJsaWMgbGlzdERyaXZlcygpIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5kcml2ZXMudmFsdWVzKCkpLm1hcChkcml2ZSA9PiAoe1xuICAgICAgICAgICAgLi4uZHJpdmUsXG4gICAgICAgICAgICBkZWZhdWx0OiBkcml2ZS5pZCA9PT0gdGhpcy5kZWZhdWx0RHJpdmVcbiAgICAgICAgfSkpXG4gICAgfVxuICAgIFxuICAgIHB1YmxpYyBnZXQobmFtZT86IHN0cmluZykge1xuICAgICAgICBpZiAoIW5hbWUgfHwgIXRoaXMuZHJpdmVzLmhhcyhuYW1lIHx8ICcnKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhc2VFeGNlcHRpb24oJ0RyaXZlIG5vdCBmb3VuZCcpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkcml2ZSA9IHRoaXMuZHJpdmVzLmdldChuYW1lKVxuXG4gICAgICAgIGlmICghZHJpdmUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdEcml2ZSBub3QgZm91bmQnKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRyaXZlXG4gICAgfVxuXG4gICAgcHVibGljIHVzZShuYW1lPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5kcml2ZXMuaGFzKG5hbWUgfHwgJycpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQmFzZUV4Y2VwdGlvbignRHJpdmUgbm90IGZvdW5kJylcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIG5ldyBEcml2ZVNlcnZpY2UoeyBcbiAgICAgICAgICAgIHNlbGVjdGVkOiBuYW1lLFxuICAgICAgICAgICAgZHJpdmVzOiB0aGlzLmRyaXZlcyxcbiAgICAgICAgICAgIGRlYnVnOiB0aGlzLmRlYnVnIFxuICAgICAgICB9KVxuICAgIH1cbiAgICBcblxuICAgIHB1YmxpYyBsaXN0KGZvbGRlcj86IHN0cmluZyk6IFByb21pc2U8RHJpdmVFbnRyeVtdPiB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50KSB0aHJvdyBuZXcgQmFzZUV4Y2VwdGlvbignTm8gZHJpdmUgc2VsZWN0ZWQnKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnQubGlzdChmb2xkZXIpXG4gICAgfVxuXG4gICAgcHVibGljIGZpbmQoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RHJpdmVFbnRyeT4ge1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVudCkgdGhyb3cgbmV3IEJhc2VFeGNlcHRpb24oJ05vIGRyaXZlIHNlbGVjdGVkJylcblxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50LmZpbmQoZmlsZW5hbWUpXG4gICAgfVxuXG4gICAgcHVibGljIGV4aXN0cyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50KSB0aHJvdyBuZXcgQmFzZUV4Y2VwdGlvbignTm8gZHJpdmUgc2VsZWN0ZWQnKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnQuZXhpc3RzKGZpbGVuYW1lKVxuICAgIH1cblxuICAgIHB1YmxpYyByZWFkKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnQpIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdObyBkcml2ZSBzZWxlY3RlZCcpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudC5yZWFkKGZpbGVuYW1lKVxuICAgIH1cblxuICAgIHB1YmxpYyByZWFkU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnQpIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdObyBkcml2ZSBzZWxlY3RlZCcpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudC5yZWFkU3RyZWFtKGZpbGVuYW1lKVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZWFkQXNUZXh0KGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5yZWFkKGZpbGVuYW1lKVxuXG4gICAgICAgIHJldHVybiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoZGF0YSlcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGUoZmlsZW5hbWU6IHN0cmluZywgcGF5bG9hZDogVWludDhBcnJheSB8IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+ICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVudCkgdGhyb3cgbmV3IEJhc2VFeGNlcHRpb24oJ05vIGRyaXZlIHNlbGVjdGVkJylcblxuICAgICAgICBsZXQgZGF0YTogYW55ID0gcGF5bG9hZFxuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkID09PSAnb2JqZWN0JyAmJiAhKHBheWxvYWQgaW5zdGFuY2VvZiBVaW50OEFycmF5KSkge1xuICAgICAgICAgICAgZGF0YSA9IEpTT04uc3RyaW5naWZ5KHBheWxvYWQsIG51bGwsIDQpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBkYXRhID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGRhdGEpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50LndyaXRlKGZpbGVuYW1lLCBkYXRhKVxuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVN0cmVhbShmaWxlbmFtZTogc3RyaW5nLCBzdHJlYW06IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVudCkgdGhyb3cgbmV3IEJhc2VFeGNlcHRpb24oJ05vIGRyaXZlIHNlbGVjdGVkJylcblxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50LndyaXRlU3RyZWFtKGZpbGVuYW1lLCBzdHJlYW0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmUgYSBVUkwgZm9yIGEgZmlsZSBpbiB0aGUgZHJpdmUuXG4gICAgICogQHBhcmFtIHBheWxvYWQgIEZpbGUgaW5zdGFuY2UsIEZpbGUgSUQsIERyaXZlRW50cnkgaW5zdGFuY2Ugb3IgZmlsZW5hbWUgc3RyaW5nXG4gICAgICogQHBhcmFtIG9wdGlvbnMgXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHVybChmaWxlbmFtZTogc3RyaW5nLCBvcHRpb25zOiBEcml2ZVVybE9wdGlvbnMgPSB7fSk6IFByb21pc2U8c3RyaW5nPiB7ICAgICAgICBcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnQpIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdObyBkcml2ZSBzZWxlY3RlZCcpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudC51cmwoZmlsZW5hbWUsIG9wdGlvbnMpXG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHVwbG9hZFVybChmaWxlbmFtZTogc3RyaW5nLCBvcHRpb25zOiBEcml2ZVVybE9wdGlvbnMgPSB7fSk6IFByb21pc2U8c3RyaW5nPiB7ICAgICAgICBcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnQpIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdObyBkcml2ZSBzZWxlY3RlZCcpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudC51cGxvYWRVcmwoZmlsZW5hbWUsIG9wdGlvbnMpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBsb2FkIGEgZmlsZSBmcm9tIHRoZSBsb2NhbCBmaWxlc3lzdGVtIHRvIHRoZSBkcml2ZS5cbiAgICAgKiBAcGFyYW0gc291cmNlIGZpbGVuYW1lIGluIGxvY2FsIGZpbGVzeXN0ZW1cbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gXG4gICAgICogQHJldHVybnMgXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHVwbG9hZChzb3VyY2U6IHN0cmluZywgZGVzdGluYXRpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBidWZmZXIgPSBhd2FpdCBmcy5wcm9taXNlcy5yZWFkRmlsZShzb3VyY2UpXG5cbiAgICAgICAgY29uc3QgdWludDggPSBuZXcgVWludDhBcnJheShidWZmZXIpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMud3JpdGUoZGVzdGluYXRpb24sIHVpbnQ4KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERvd25sb2FkIGEgZmlsZSBmcm9tIHRoZSBkcml2ZSB0byB0aGUgbG9jYWwgZmlsZXN5c3RlbS5cbiAgICAgKiBAcGFyYW0gZmlsZW5hbWUgZmlsZW5hbWUgaW4gdGhlIGRyaXZlXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFxuICAgICAqIEByZXR1cm5zIFxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBkb3dubG9hZChmaWxlbmFtZTogc3RyaW5nLCBkZXN0aW5hdGlvbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLnJlYWQoZmlsZW5hbWUpXG4gICAgICAgIFxuICAgICAgICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUoZGVzdGluYXRpb24sIGRhdGEpXG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50KSB0aHJvdyBuZXcgQmFzZUV4Y2VwdGlvbignTm8gZHJpdmUgc2VsZWN0ZWQnKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnQuZGVsZXRlKGZpbGVuYW1lKVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsb2FkKCl7XG4gICAgICAgIHRoaXMuZHJpdmVzLmNsZWFyKClcblxuICAgICAgICBjb25zdCBjb25maWdzID0gYXdhaXQgRHJpdmVDb25maWcubGlzdCgpXG5cbiAgICAgICAgZm9yIChjb25zdCBjIG9mIGNvbmZpZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IGdhdGV3YXlDbGFzcyA9IHRoaXMuZ2F0ZXdheXMuZ2V0KGMudHlwZSlcblxuICAgICAgICAgICAgaWYgKCFnYXRld2F5Q2xhc3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBEcml2ZSBnYXRld2F5IGZvciB0eXBlIFwiJHtjLnR5cGV9XCIgbm90IGZvdW5kYClcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBnYXRld2F5ID0gbmV3IGdhdGV3YXlDbGFzcyhjKVxuXG4gICAgICAgICAgICB0aGlzLmRyaXZlcy5zZXQoYy5pZCwgZ2F0ZXdheSlcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgZHJpdmUgbG9hZGVkICR7Yy5pZH0gKCR7Yy50eXBlfSlgKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IGNvbmZpZy5nZXQoJ2RyaXZlLmRlZmF1bHQnKVxuICAgICAgICB0aGlzLmRlZmF1bHREcml2ZSA9IGNvbmZpZy5nZXQoJ2RyaXZlLmRlZmF1bHQnKVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjcmVhdGVEZWZhdWx0RHJpdmVzKCl7XG5cbiAgICAgICAgYXdhaXQgRHJpdmVDb25maWcudXBkYXRlT3JDcmVhdGUoJ3VwbG9hZHMnLCB7XG4gICAgICAgICAgICBuYW1lOiAnVXBsb2FkcycsXG4gICAgICAgICAgICB0eXBlOiAnZnMnLFxuICAgICAgICAgICAgY29uZmlnOiB7IGRpcmVjdG9yeTogc3RvcmFnZVBhdGgoJ3VwbG9hZHMnKSB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKCFjb25maWcuZ2V0KCdkcml2ZS5kZWZhdWx0JykpIHtcbiAgICAgICAgICAgIGNvbmZpZy5zZXQoJ2RyaXZlLmRlZmF1bHQnLCAndXBsb2FkcycpXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCB0aGlzLmxvYWQoKVxuICAgIH1cblxuICAgIHB1YmxpYyB2YWxpZGF0ZVVwbG9hZChvcHRpb25zOiBWYWxpZGF0ZVVwbG9hZE9wdGlvbnMsIGZpbGU6IHsgbWltZXR5cGU6IHN0cmluZywgc2l6ZTogbnVtYmVyIH0sKSB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWRUeXBlcyA9IG9wdGlvbnMubWltZV90eXBlcy5zcGxpdCgnLCcpLm1hcCh0ID0+IHQudHJpbSgpKVxuXG4gICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGFsbG93ZWRUeXBlcy5zb21lKGFsbG93ZWRUeXBlID0+IHtcbiAgICAgICAgICAgIGlmICghYWxsb3dlZFR5cGUuZW5kc1dpdGgoJy8qJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWxsb3dlZFR5cGUgPT09IGZpbGUubWltZXR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgY29uc3QgYmFzZVR5cGUgPSBhbGxvd2VkVHlwZS5zbGljZSgwLCAtMilcblxuICAgICAgICAgICAgcmV0dXJuIGZpbGUubWltZXR5cGUuc3RhcnRzV2l0aChiYXNlVHlwZSArICcvJylcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoIWlzQWxsb3dlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJhc2VFeGNlcHRpb24oJ01JTUUgdHlwZSBub3QgYWxsb3dlZCcsIDQwMylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLm1heFNpemUgJiYgZmlsZS5zaXplID4gb3B0aW9ucy5tYXhTaXplKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQmFzZUV4Y2VwdGlvbignRmlsZSBzaXplIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dl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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../EmmitterService-Dw_dThZJ.mjs";var t=class extends e{};export{t as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW1taXR0ZXJTZXJ2aWNlLm1qcyIsIm5hbWVzIjpbIkJhc2VFbW1pdHRlclNlcnZpY2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUVtbWl0dGVyU2VydmljZSBmcm9tIFwiLi4vLi4vc2hhcmVkL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZVwiO1xuaW1wb3J0IHR5cGUgeyBFdmVudENvbnRyYWN0IH0gZnJvbSAnLi4vY29udHJhY3RzL0V2ZW50Q29udHJhY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbW1pdHRlclNlcnZpY2UgZXh0ZW5kcyBCYXNlRW1taXR0ZXJTZXJ2aWNlPEV2ZW50Q29udHJhY3Q+IHt9XG4iXSwibWFwcGluZ3MiOiJvREFHQSxJQUFxQixFQUFyQixjQUE2Q0EsQ0FBbUMifQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../LoggerService-8XvsFBNN.mjs";import{t}from"../BaseException-cMfHz0w8.mjs";import{t as n}from"../EnvService-BUFUgqUW.mjs";import r from"ms";import{format as i}from"date-fns";import a from"crypto";var o=class o{static __container_entry_key=`EncryptService`;debug=!1;env;logger;algorithm=`aes-256-cbc`;key=null;constructor(t){this.env=t.env||new n,this.logger=t.logger||new e,this.debug=t.debug||!1,t.key&&(this.key=a.scryptSync(t.key,`salt`,32))}static create(e){return new o(e)}setDebug(e){this.debug=e,this.debug&&this.logger.debug(`debug mode enabled`)}setLogger(e){this.logger=e}setEnv(e){this.env=e}setKey(e){this.key=a.scryptSync(e,`salt`,32)}encrypt(e){if(!this.key)throw Error(`Encryption key not set`);let t=a.randomBytes(16),n=a.createCipheriv(this.algorithm,this.key,t),r=n.update(e,`utf8`,`hex`);return r+=n.final(`hex`),`${t.toString(`hex`)}:${r}`}decrypt(e){if(!this.key)throw Error(`Encryption key not set`);let[t,n]=e.split(`:`),r=Buffer.from(t,`hex`),i=a.createDecipheriv(this.algorithm,this.key,r),o=i.update(n,`hex`,`utf8`);return o+=i.final(`utf8`),o}encryptObject(e){let t=JSON.stringify(e);return this.encrypt(t)}decryptObject(e){let t=this.decrypt(e);return JSON.parse(t)}url(e,n){let a=n?.expireAt;if(n?.expires){let e=r(n.expires);a=Date.now()+e}a||=Date.now()+r(`15 minutes`),a instanceof Date&&(a=a.getTime());let o={data:n?.data||{},expireAt:a,expireAtReadable:i(new Date(a),`yyyy-MM-dd HH:mm:ss`)},s=this.encrypt(JSON.stringify(o)),c=this.env.get(`ZENITH_APP_URL`);if(!c)throw new t(`APP_URL not set in environment variables`);let l=new URL(e,c);return l.searchParams.append(`key`,encodeURIComponent(s)),l.toString()}verifyUrl(e){let n=this.decrypt(decodeURIComponent(e)),r=JSON.parse(n);if(r.expireAt&&Date.now()>r.expireAt){let e=new t(`URL has expired`,403);throw Object.assign(e,{expireAt:r.expireAt,expireAtReadable:r.expireAtReadable}),e}return r.data}};export{o as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5jcnlwdFNlcnZpY2UubWpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvRW5jcnlwdFNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nXG5pbXBvcnQgbXMgZnJvbSAnbXMnXG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucydcbmltcG9ydCBFbnZTZXJ2aWNlIGZyb20gJy4vRW52U2VydmljZSc7XG5pbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0xvZ2dlclNlcnZpY2UudHMnO1xuaW1wb3J0IEJhc2VFeGNlcHRpb24gZnJvbSAnI3NoYXJlZC9leGNlcHRpb25zL0Jhc2VFeGNlcHRpb24udHMnO1xuXG5pbnRlcmZhY2UgVVJMT3B0aW9ucyB7XG4gICAgZGF0YT86IGFueTtcbiAgICBleHBpcmVzPzogbXMuU3RyaW5nVmFsdWU7XG4gICAgZXhwaXJlQXQ/OiBudW1iZXIgfCBEYXRlO1xufVxuXG5pbnRlcmZhY2UgRW5jcnlwdFNlcnZpY2VPcHRpb25zIHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG4gICAgZW52PzogRW52U2VydmljZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRW5jcnlwdFNlcnZpY2Uge1xuICAgIHB1YmxpYyBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5ID0gJ0VuY3J5cHRTZXJ2aWNlJ1xuXG4gICAgcHVibGljIGRlYnVnID0gZmFsc2VcbiAgICBwdWJsaWMgZW52OiBFbnZTZXJ2aWNlXG4gICAgcHVibGljIGxvZ2dlcjogTG9nZ2VyU2VydmljZVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGdvcml0aG0gPSAnYWVzLTI1Ni1jYmMnXG4gICAgcHJpdmF0ZSBrZXk6IEJ1ZmZlciB8IG51bGwgPSBudWxsXG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBFbmNyeXB0U2VydmljZU9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5lbnYgPSBvcHRpb25zLmVudiB8fCBuZXcgRW52U2VydmljZSgpXG4gICAgICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXIgfHwgbmV3IExvZ2dlclNlcnZpY2UoKVxuICAgICAgICB0aGlzLmRlYnVnID0gb3B0aW9ucy5kZWJ1ZyB8fCBmYWxzZVxuXG4gICAgICAgIGlmIChvcHRpb25zLmtleSkge1xuICAgICAgICAgICAgdGhpcy5rZXkgPSBjcnlwdG8uc2NyeXB0U3luYyhvcHRpb25zLmtleSwgJ3NhbHQnLCAzMilcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlKG9wdGlvbnM6IEVuY3J5cHRTZXJ2aWNlT3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbmV3IEVuY3J5cHRTZXJ2aWNlKG9wdGlvbnMpXG4gICAgfVxuXG4gICAgcHVibGljIHNldERlYnVnKGRlYnVnOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGVidWcgPSBkZWJ1Z1xuXG4gICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZGVidWcgbW9kZSBlbmFibGVkJylcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRMb2dnZXIobG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyXG4gICAgfVxuXG4gICAgcHVibGljIHNldEVudihlbnY6IEVudlNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5lbnYgPSBlbnZcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0S2V5KGtleTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMua2V5ID0gY3J5cHRvLnNjcnlwdFN5bmMoa2V5LCAnc2FsdCcsIDMyKVxuICAgIH1cblxuICAgIHB1YmxpYyBlbmNyeXB0KHRleHQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMua2V5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VuY3J5cHRpb24ga2V5IG5vdCBzZXQnKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXYgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMTYpXG4gICAgICAgIGNvbnN0IGNpcGhlciA9IGNyeXB0by5jcmVhdGVDaXBoZXJpdih0aGlzLmFsZ29yaXRobSwgdGhpcy5rZXksIGl2KVxuXG4gICAgICAgIGxldCBlbmNyeXB0ZWQgPSBjaXBoZXIudXBkYXRlKHRleHQsICd1dGY4JywgJ2hleCcpXG4gICAgICAgIGVuY3J5cHRlZCArPSBjaXBoZXIuZmluYWwoJ2hleCcpXG5cbiAgICAgICAgcmV0dXJuIGAke2l2LnRvU3RyaW5nKCdoZXgnKX06JHtlbmNyeXB0ZWR9YFxuICAgIH1cblxuXG5cbiAgICBwdWJsaWMgZGVjcnlwdChvcHRpb25zOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMua2V5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VuY3J5cHRpb24ga2V5IG5vdCBzZXQnKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2l2LCBlbmNyeXB0ZWRdID0gb3B0aW9ucy5zcGxpdCgnOicpXG5cbiAgICAgICAgY29uc3QgaXZCdWZmZXIgPSBCdWZmZXIuZnJvbShpdiwgJ2hleCcpXG5cbiAgICAgICAgY29uc3QgZGVjaXBoZXIgPSBjcnlwdG8uY3JlYXRlRGVjaXBoZXJpdih0aGlzLmFsZ29yaXRobSwgdGhpcy5rZXksIGl2QnVmZmVyKVxuXG4gICAgICAgIGxldCBkZWNyeXB0ZWQgPSBkZWNpcGhlci51cGRhdGUoZW5jcnlwdGVkLCAnaGV4JywgJ3V0ZjgnKVxuICAgICAgICBkZWNyeXB0ZWQgKz0gZGVjaXBoZXIuZmluYWwoJ3V0ZjgnKVxuXG4gICAgICAgIHJldHVybiBkZWNyeXB0ZWRcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5jcnlwdE9iamVjdChvYmo6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSBKU09OLnN0cmluZ2lmeShvYmopXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZW5jcnlwdChqc29uU3RyaW5nKVxuICAgIH1cblxuICAgIHB1YmxpYyBkZWNyeXB0T2JqZWN0PFQ+KGVuY3J5cHRlZFN0cmluZzogc3RyaW5nKTogVCB7XG4gICAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSB0aGlzLmRlY3J5cHQoZW5jcnlwdGVkU3RyaW5nKVxuXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGpzb25TdHJpbmcpIGFzIFRcbiAgICB9XG5cbiAgICBwdWJsaWMgdXJsKHBhdGg6IHN0cmluZywgb3B0aW9ucz86IFVSTE9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBsZXQgZXhwaXJlQXQgPSBvcHRpb25zPy5leHBpcmVBdFxuXG4gICAgICAgIGlmIChvcHRpb25zPy5leHBpcmVzKSB7XG4gICAgICAgICAgICBjb25zdCBleHBpcmVzID0gbXMob3B0aW9ucy5leHBpcmVzKSBhcyBudW1iZXJcblxuICAgICAgICAgICAgZXhwaXJlQXQgPSBEYXRlLm5vdygpICsgZXhwaXJlc1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFleHBpcmVBdCkge1xuICAgICAgICAgICAgZXhwaXJlQXQgPSBEYXRlLm5vdygpICsgbXMoJzE1IG1pbnV0ZXMnKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZUF0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgZXhwaXJlQXQgPSBleHBpcmVBdC5nZXRUaW1lKClcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgICBkYXRhOiBvcHRpb25zPy5kYXRhIHx8IHt9LFxuICAgICAgICAgICAgZXhwaXJlQXQsXG4gICAgICAgICAgICBleHBpcmVBdFJlYWRhYmxlOiBmb3JtYXQobmV3IERhdGUoZXhwaXJlQXQpLCAneXl5eS1NTS1kZCBISDptbTpzcycpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmVuY3J5cHQoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpXG5cbiAgICAgICAgY29uc3QgYXBwVXJsID0gdGhpcy5lbnYuZ2V0KCdaRU5JVEhfQVBQX1VSTCcpXG5cbiAgICAgICAgaWYgKCFhcHBVcmwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBCYXNlRXhjZXB0aW9uKCdBUFBfVVJMIG5vdCBzZXQgaW4gZW52aXJvbm1lbnQgdmFyaWFibGVzJylcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwocGF0aCwgYXBwVXJsKVxuXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdrZXknLCBlbmNvZGVVUklDb21wb25lbnQoa2V5KSlcblxuICAgICAgICByZXR1cm4gdXJsLnRvU3RyaW5nKClcbiAgICB9XG5cbiAgICBwdWJsaWMgdmVyaWZ5VXJsKGVuY3J5cHRlZEtleTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgY29uc3QgZGVjcnlwdGVkRGF0YSA9IHRoaXMuZGVjcnlwdChkZWNvZGVVUklDb21wb25lbnQoZW5jcnlwdGVkS2V5KSlcblxuICAgICAgICBjb25zdCBwYXlsb2FkID0gSlNPTi5wYXJzZShkZWNyeXB0ZWREYXRhKVxuXG4gICAgICAgIGlmIChwYXlsb2FkLmV4cGlyZUF0ICYmIERhdGUubm93KCkgPiBwYXlsb2FkLmV4cGlyZUF0KSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBCYXNlRXhjZXB0aW9uKCdVUkwgaGFzIGV4cGlyZWQnLCA0MDMpXG5cbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZXJyb3IsIHtcbiAgICAgICAgICAgICAgICBleHBpcmVBdDogcGF5bG9hZC5leHBpcmVBdCxcbiAgICAgICAgICAgICAgICBleHBpcmVBdFJlYWRhYmxlOiBwYXlsb2FkLmV4cGlyZUF0UmVhZGFibGVcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIHRocm93IGVycm9yXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGF5bG9hZC5kYXRhXG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoid05Bb0JBLElBQXFCLEVBQXJCLE1BQXFCLENBQWUsQ0FDaEMsT0FBYyxzQkFBd0IsaUJBRXRDLE1BQWUsR0FDZixJQUNBLE9BRUEsVUFBNkIsY0FDN0IsSUFBNkIsS0FFN0IsWUFBWSxFQUFnQyxDQUN4QyxLQUFLLElBQU0sRUFBUSxLQUFPLElBQUksRUFDOUIsS0FBSyxPQUFTLEVBQVEsUUFBVSxJQUFJLEVBQ3BDLEtBQUssTUFBUSxFQUFRLE9BQVMsR0FFMUIsRUFBUSxNQUNSLEtBQUssSUFBTSxFQUFPLFdBQVcsRUFBUSxJQUFLLE9BQVEsR0FBRyxFQUk3RCxPQUFjLE9BQU8sRUFBZ0MsQ0FDakQsT0FBTyxJQUFJLEVBQWUsRUFBUSxDQUd0QyxTQUFnQixFQUFnQixDQUM1QixLQUFLLE1BQVEsRUFFVCxLQUFLLE9BQ0wsS0FBSyxPQUFPLE1BQU0scUJBQXFCLENBSS9DLFVBQWlCLEVBQXVCLENBQ3BDLEtBQUssT0FBUyxFQUdsQixPQUFjLEVBQWlCLENBQzNCLEtBQUssSUFBTSxFQUdmLE9BQWMsRUFBYSxDQUN2QixLQUFLLElBQU0sRUFBTyxXQUFXLEVBQUssT0FBUSxHQUFHLENBR2pELFFBQWUsRUFBYyxDQUN6QixHQUFJLENBQUMsS0FBSyxJQUNOLE1BQVUsTUFBTSx5QkFBeUIsQ0FHN0MsSUFBTSxFQUFLLEVBQU8sWUFBWSxHQUFHLENBQzNCLEVBQVMsRUFBTyxlQUFlLEtBQUssVUFBVyxLQUFLLElBQUssRUFBRyxDQUU5RCxFQUFZLEVBQU8sT0FBTyxFQUFNLE9BQVEsTUFBTSxDQUdsRCxNQUZBLElBQWEsRUFBTyxNQUFNLE1BQU0sQ0FFekIsR0FBRyxFQUFHLFNBQVMsTUFBTSxDQUFDLEdBQUcsSUFLcEMsUUFBZSxFQUF5QixDQUNwQyxHQUFJLENBQUMsS0FBSyxJQUNOLE1BQVUsTUFBTSx5QkFBeUIsQ0FHN0MsR0FBTSxDQUFDLEVBQUksR0FBYSxFQUFRLE1BQU0sSUFBSSxDQUVwQyxFQUFXLE9BQU8sS0FBSyxFQUFJLE1BQU0sQ0FFakMsRUFBVyxFQUFPLGlCQUFpQixLQUFLLFVBQVcsS0FBSyxJQUFLLEVBQVMsQ0FFeEUsRUFBWSxFQUFTLE9BQU8sRUFBVyxNQUFPLE9BQU8sQ0FHekQsTUFGQSxJQUFhLEVBQVMsTUFBTSxPQUFPLENBRTVCLEVBR1gsY0FBcUIsRUFBa0IsQ0FDbkMsSUFBTSxFQUFhLEtBQUssVUFBVSxFQUFJLENBRXRDLE9BQU8sS0FBSyxRQUFRLEVBQVcsQ0FHbkMsY0FBd0IsRUFBNEIsQ0FDaEQsSUFBTSxFQUFhLEtBQUssUUFBUSxFQUFnQixDQUVoRCxPQUFPLEtBQUssTUFBTSxFQUFXLENBR2pDLElBQVcsRUFBYyxFQUE4QixDQUNuRCxJQUFJLEVBQVcsR0FBUyxTQUV4QixHQUFJLEdBQVMsUUFBUyxDQUNsQixJQUFNLEVBQVUsRUFBRyxFQUFRLFFBQVEsQ0FFbkMsRUFBVyxLQUFLLEtBQUssQ0FBRyxFQUc1QixBQUNJLElBQVcsS0FBSyxLQUFLLENBQUcsRUFBRyxhQUFhLENBR3hDLGFBQW9CLE9BQ3BCLEVBQVcsRUFBUyxTQUFTLEVBR2pDLElBQU0sRUFBVSxDQUNaLEtBQU0sR0FBUyxNQUFRLEVBQUUsQ0FDekIsV0FDQSxpQkFBa0IsRUFBTyxJQUFJLEtBQUssRUFBUyxDQUFFLHNCQUFzQixDQUN0RSxDQUVLLEVBQU0sS0FBSyxRQUFRLEtBQUssVUFBVSxFQUFRLENBQUMsQ0FFM0MsRUFBUyxLQUFLLElBQUksSUFBSSxpQkFBaUIsQ0FFN0MsR0FBSSxDQUFDLEVBQ0QsTUFBTSxJQUFJLEVBQWMsMkNBQTJDLENBR3ZFLElBQU0sRUFBTSxJQUFJLElBQUksRUFBTSxFQUFPLENBSWpDLE9BRkEsRUFBSSxhQUFhLE9BQU8sTUFBTyxtQkFBbUIsRUFBSSxDQUFDLENBRWhELEVBQUksVUFBVSxDQUd6QixVQUFpQixFQUEyQixDQUN4QyxJQUFNLEVBQWdCLEtBQUssUUFBUSxtQkFBbUIsRUFBYSxDQUFDLENBRTlELEVBQVUsS0FBSyxNQUFNLEVBQWMsQ0FFekMsR0FBSSxFQUFRLFVBQVksS0FBSyxLQUFLLENBQUcsRUFBUSxTQUFVLENBQ25ELElBQU0sRUFBUSxJQUFJLEVBQWMsa0JBQW1CLElBQUksQ0FPdkQsTUFMQSxPQUFPLE9BQU8sRUFBTyxDQUNqQixTQUFVLEVBQVEsU0FDbEIsaUJBQWtCLEVBQVEsaUJBQzdCLENBQUMsQ0FFSSxFQUdWLE9BQU8sRUFBUSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"../EnvService-BUFUgqUW.mjs";export{e as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../LoggerService-8XvsFBNN.mjs";import{t}from"../EnvService-BUFUgqUW.mjs";var n=class{static __container_entry_key=`ExceptionService`;ignoreCodeErrors=[400,401,403,404,422];logger;env;constructor(n={}){this.logger=n.logger||new e,this.env=n.env||new t,n.ignoreCodeErrors&&(this.ignoreCodeErrors=n.ignoreCodeErrors)}handle(e,t){let n=e.name||`Internal Server Error`,r=e.message||`An unexpected error occurred`,i=e.status||500;return this.ignoreCodeErrors.includes(i)||this.logger.error(e),t.status(i).json({error:n,message:r,status:i,stack:this.env.development?e.stack:void 0})}};export{n as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhjZXB0aW9uU2VydmljZS5tanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9FeGNlcHRpb25TZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJ1xuaW1wb3J0IEVudlNlcnZpY2UgZnJvbSAnLi9FbnZTZXJ2aWNlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2VwdGlvblNlcnZpY2VPcHRpb25zIHtcbiAgICBpZ25vcmVDb2RlRXJyb3JzPzogbnVtYmVyW11cbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlXG4gICAgZW52PzogRW52U2VydmljZVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFeGNlcHRpb25TZXJ2aWNlIHtcbiAgICBwdWJsaWMgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleSA9ICdFeGNlcHRpb25TZXJ2aWNlJ1xuICAgIHB1YmxpYyBpZ25vcmVDb2RlRXJyb3JzOiBudW1iZXJbXSA9IFs0MDAsIDQwMSwgNDAzLCA0MDQsIDQyMl1cbiAgICBwdWJsaWMgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlXG4gICAgcHVibGljIGVudjogRW52U2VydmljZVxuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogRXhjZXB0aW9uU2VydmljZU9wdGlvbnMgPSB7fSkge1xuICAgICAgICB0aGlzLmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyIHx8IG5ldyBMb2dnZXJTZXJ2aWNlKClcbiAgICAgICAgdGhpcy5lbnYgPSBvcHRpb25zLmVudiB8fCBuZXcgRW52U2VydmljZSgpXG5cbiAgICAgICAgaWYgKG9wdGlvbnMuaWdub3JlQ29kZUVycm9ycykge1xuICAgICAgICAgICAgdGhpcy5pZ25vcmVDb2RlRXJyb3JzID0gb3B0aW9ucy5pZ25vcmVDb2RlRXJyb3JzXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlKGVycm9yOiBFcnJvciwgcmVzcG9uc2U6IFJlc3BvbnNlKSB7XG5cbiAgICAgICAgY29uc3QgZXJyb3JOYW1lID0gZXJyb3IubmFtZSB8fCAnSW50ZXJuYWwgU2VydmVyIEVycm9yJ1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8ICdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkJ1xuICAgICAgICBjb25zdCBlcnJvclN0YXR1cyA9IChlcnJvciBhcyBhbnkpLnN0YXR1cyB8fCA1MDBcblxuICAgICAgICBpZiAoIXRoaXMuaWdub3JlQ29kZUVycm9ycy5pbmNsdWRlcyhlcnJvclN0YXR1cykpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGVycm9yKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnN0YXR1cyhlcnJvclN0YXR1cykuanNvbih7XG4gICAgICAgICAgICBlcnJvcjogZXJyb3JOYW1lLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgc3RhdHVzOiBlcnJvclN0YXR1cyxcbiAgICAgICAgICAgIHN0YWNrOiB0aGlzLmVudi5kZXZlbG9wbWVudCA/IGVycm9yLnN0YWNrIDogdW5kZWZpbmVkLFxuICAgICAgICB9KVxuICAgIH1cbn1cblxuIl0sIm1hcHBpbmdzIjoiNEZBVUEsSUFBcUIsRUFBckIsS0FBc0MsQ0FDbEMsT0FBYyxzQkFBd0IsbUJBQ3RDLGlCQUFvQyxDQUFDLElBQUssSUFBSyxJQUFLLElBQUssSUFBSSxDQUM3RCxPQUNBLElBRUEsWUFBWSxFQUFtQyxFQUFFLENBQUUsQ0FDL0MsS0FBSyxPQUFTLEVBQVEsUUFBVSxJQUFJLEVBQ3BDLEtBQUssSUFBTSxFQUFRLEtBQU8sSUFBSSxFQUUxQixFQUFRLG1CQUNSLEtBQUssaUJBQW1CLEVBQVEsa0JBSXhDLE9BQWMsRUFBYyxFQUFvQixDQUU1QyxJQUFNLEVBQVksRUFBTSxNQUFRLHdCQUMxQixFQUFlLEVBQU0sU0FBVywrQkFDaEMsRUFBZSxFQUFjLFFBQVUsSUFNN0MsT0FKSyxLQUFLLGlCQUFpQixTQUFTLEVBQVksRUFDNUMsS0FBSyxPQUFPLE1BQU0sRUFBTSxDQUdyQixFQUFTLE9BQU8sRUFBWSxDQUFDLEtBQUssQ0FDckMsTUFBTyxFQUNQLFFBQVMsRUFDVCxPQUFRLEVBQ1IsTUFBTyxLQUFLLElBQUksWUFBYyxFQUFNLE1BQVEsSUFBQSxHQUMvQyxDQUFDIn0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=class{static __container_entry_key=`HasherService`;async hash(e){return(await import(`bcrypt`)).hash(e,12)}async compare(e,t){return(await import(`bcrypt`)).compare(e,t)}};export{e as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFzaGVyU2VydmljZS5tanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9IYXNoZXJTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBiY3J5cHQgZnJvbSAnYmNyeXB0J1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIYXNoZXJTZXJ2aWNlIHtcbiAgICBwdWJsaWMgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleSA9ICdIYXNoZXJTZXJ2aWNlJ1xuXG4gICAgcHVibGljIGFzeW5jIGhhc2godmFsdWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IGJjcnlwdCA9IGF3YWl0IGltcG9ydCgnYmNyeXB0JylcblxuICAgICAgICByZXR1cm4gYmNyeXB0Lmhhc2godmFsdWUsIDEyKVxuICAgIH1cblxuICAgIGFzeW5jIGNvbXBhcmUoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgYmNyeXB0ID0gYXdhaXQgaW1wb3J0KCdiY3J5cHQnKVxuXG4gICAgICAgIHJldHVybiBiY3J5cHQuY29tcGFyZShhLCBiKVxuICAgIH1cbn1cblxuIl0sIm1hcHBpbmdzIjoiQUFFQSxJQUFxQixFQUFyQixLQUFtQyxDQUMvQixPQUFjLHNCQUF3QixnQkFFdEMsTUFBYSxLQUFLLEVBQWdDLENBRzlDLE9BRmUsTUFBTSxPQUFPLFdBRWQsS0FBSyxFQUFPLEdBQUcsQ0FHakMsTUFBTSxRQUFRLEVBQVcsRUFBNkIsQ0FHbEQsT0FGZSxNQUFNLE9BQU8sV0FFZCxRQUFRLEVBQUcsRUFBRSJ9
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../tryCatch-Dz4OvJig.mjs";import{t}from"../LoggerService-8XvsFBNN.mjs";import{t as n}from"../EmmitterService-Dw_dThZJ.mjs";import{t as r}from"../EnvService-BUFUgqUW.mjs";import i from"./ExceptionService.mjs";import a from"../entities/RouteEntity.mjs";import{t as o}from"../RouterService-BS_1MzFI.mjs";import{t as s}from"../CookieMapEntity-KhdSUHhb.mjs";import{createRequire as c}from"module";const l=c(import.meta.url);var u=class{static __container_entry_key=`HttpService`;app;server=null;router;exception;logger;emmitter;env;debug=!1;onUnhandlerRouted=null;constructor(e){this.debug=e.debug||!1,this.logger=e.logger||new t,this.router=e.router||new o,this.emmitter=e.emmitter||new n,this.env=e.env||new r,this.exception=e.exception||new i({logger:this.logger,env:this.env});let a=l(`express`),s=l(`cookie-parser`);this.app=a(),this.app.use(s()),this.app.use(this.parser)}getExpressApp(){return this.app}cors(e){let t=l(`cors`);this.app.use(t(e))}use=(...e)=>(this.app.use(...e),this.app);routes(){this.app.use(`*all`,(e,t)=>{let n=new URL(e.originalUrl,`http://${e.headers.host}`),r=e.method.toLowerCase(),i=this.router.resolve(r,n.pathname);if(this.router.debug&&this.router.logger.debug(`${r.toUpperCase()} ${n.pathname}`),i)return this.execute(n,e,t,i);if(n.pathname.startsWith(`/api/`))return t.status(404).json({error:`Not Found`,message:`No API route found for ${r.toUpperCase()} ${n}`});if(this.onUnhandlerRouted)return this.onUnhandlerRouted(e,t)})}parser(e,t,n){let r=l(`express`);if((e.headers[`content-type`]||``).startsWith(`multipart/form-data`))return n();r.json()(e,t,i=>{if(i)return n(i);r.urlencoded({extended:!0})(e,t,n)})}async execute(t,n,r,i){let o={response:r,request:n,url:t.pathname,method:n.method.toLowerCase(),params:a.params(i.path,t.pathname),query:a.query(t.href),body:n.body||{},cookie:new s(n,r)},[c,l]=await e(()=>this.router.execute(i,o));if(c){this.exception.handle(c,r);return}if(!r.headersSent){if(l&&l.redirect){r.redirect(l.redirect);return}r.status(200),(typeof l==`object`||Array.isArray(l))&&r.setHeader(`Content-Type`,`application/json`),r.send(l)}}start(){let e=this.env.get(`ZENITH_PORT`),t=this.env.get(`ZENITH_HOST`),n=`http://${t}:${e}`;this.server=this.app.listen(e,t,()=>{this.logger.info(`server started`,{url:n,env:this.env.get(`NODE_ENV`)}),this.emmitter.emit(`http:started`)})}stop(){return new Promise(e=>{if(!this.server)return this.logger.warn(`server is not running`),e();this.server.on(`close`,()=>{e(),this.logger.info(`server stopped`,{pid:process.pid,env:this.env.get(`NODE_ENV`)})}),this.server.close()})}};export{u as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFNlcnZpY2UubWpzIiwibmFtZXMiOlsiUm91dGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9IdHRwU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNlcnZlciB9IGZyb20gJ2h0dHAnXG4vLyBpbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJ1xuLy8gaW1wb3J0IGNvcnMgZnJvbSAnY29ycydcbi8vIGltcG9ydCBjb29raWVQYXJzZXIgZnJvbSAnY29va2llLXBhcnNlcidcbmltcG9ydCB0eXBlIHsgUmVxdWVzdCwgUmVzcG9uc2UsIEFwcGxpY2F0aW9uLCBOZXh0RnVuY3Rpb24gfSBmcm9tICdleHByZXNzJ1xuaW1wb3J0IHR5cGUgeyBDb3JzT3B0aW9ucyB9IGZyb20gJ2NvcnMnXG5pbXBvcnQgUm91dGVyIGZyb20gJy4vUm91dGVyU2VydmljZS50cydcbmltcG9ydCBFeGNlcHRpb25TZXJ2aWNlIGZyb20gJy4vRXhjZXB0aW9uU2VydmljZS50cydcbmltcG9ydCBSb3V0ZSBmcm9tICcjc2VydmVyL2VudGl0aWVzL1JvdXRlRW50aXR5LnRzJ1xuaW1wb3J0IHsgdHJ5Q2F0Y2ggfSBmcm9tICcjc2hhcmVkL3V0aWxzL3RyeUNhdGNoLnRzJ1xuaW1wb3J0IEVtbWl0dGVyU2VydmljZSBmcm9tICcjc2hhcmVkL3NlcnZpY2VzL0VtbWl0dGVyU2VydmljZS50cydcbmltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cydcbmltcG9ydCB0eXBlIHsgSHR0cENvbnRleHQgfSBmcm9tICcjc2VydmVyL2NvbnRyYWN0cy9IdHRwQ29udGV4dENvbnRyYWN0LnRzJ1xuaW1wb3J0IENvb2tpZU1hcEVudGl0eSBmcm9tICcjc2VydmVyL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS50cydcbmltcG9ydCBFbnZTZXJ2aWNlIGZyb20gJy4vRW52U2VydmljZS50cydcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdtb2R1bGUnXG5cbmNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybClcblxuZXhwb3J0IGludGVyZmFjZSBIdHRwU2VydmljZU9wdGlvbnMge1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICByb3V0ZXI/OiBSb3V0ZXI7XG4gICAgbG9nZ2VyPzogTG9nZ2VyU2VydmljZTtcbiAgICBleGNlcHRpb24/OiBFeGNlcHRpb25TZXJ2aWNlO1xuICAgIGVtbWl0dGVyPzogRW1taXR0ZXJTZXJ2aWNlO1xuICAgIGVudj86IEVudlNlcnZpY2U7XG4gICAgb3JpZ2lucz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIdHRwU2VydmljZSB7XG4gICAgcHVibGljIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXkgPSAnSHR0cFNlcnZpY2UnXG5cbiAgICBwdWJsaWMgYXBwOiBBcHBsaWNhdGlvblxuICAgIHB1YmxpYyBzZXJ2ZXI6IFNlcnZlciB8IG51bGwgPSBudWxsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyXG4gICAgcHVibGljIGV4Y2VwdGlvbjogRXhjZXB0aW9uU2VydmljZVxuICAgIHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2VcbiAgICBwdWJsaWMgZW1taXR0ZXI6IEVtbWl0dGVyU2VydmljZVxuICAgIHB1YmxpYyBlbnY6IEVudlNlcnZpY2VcbiAgICBwdWJsaWMgZGVidWcgPSBmYWxzZVxuICAgIHB1YmxpYyBvblVuaGFuZGxlclJvdXRlZDogKChyZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UpID0+IHZvaWQpIHwgbnVsbCA9IG51bGxcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEh0dHBTZXJ2aWNlT3B0aW9ucykge1xuICAgICAgICB0aGlzLmRlYnVnID0gb3B0aW9ucy5kZWJ1ZyB8fCBmYWxzZVxuICAgICAgICB0aGlzLmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyIHx8IG5ldyBMb2dnZXJTZXJ2aWNlKClcbiAgICAgICAgdGhpcy5yb3V0ZXIgPSBvcHRpb25zLnJvdXRlciB8fCBuZXcgUm91dGVyKClcbiAgICAgICAgdGhpcy5lbW1pdHRlciA9IG9wdGlvbnMuZW1taXR0ZXIgfHwgbmV3IEVtbWl0dGVyU2VydmljZSgpXG4gICAgICAgIHRoaXMuZW52ID0gb3B0aW9ucy5lbnYgfHwgbmV3IEVudlNlcnZpY2UoKVxuICAgICAgICB0aGlzLmV4Y2VwdGlvbiA9IG9wdGlvbnMuZXhjZXB0aW9uIHx8IG5ldyBFeGNlcHRpb25TZXJ2aWNlKHsgbG9nZ2VyOiB0aGlzLmxvZ2dlciwgZW52OiB0aGlzLmVudiB9KVxuXG4gICAgICAgIGNvbnN0IGV4cHJlc3MgPSByZXF1aXJlKCdleHByZXNzJylcbiAgICAgICAgY29uc3QgY29va2llUGFyc2VyID0gcmVxdWlyZSgnY29va2llLXBhcnNlcicpXG5cbiAgICAgICAgdGhpcy5hcHAgPSBleHByZXNzKClcbiAgICAgICAgdGhpcy5hcHAudXNlKGNvb2tpZVBhcnNlcigpKVxuICAgICAgICB0aGlzLmFwcC51c2UodGhpcy5wYXJzZXIpXG4gICAgfVxuXG4gICAgcHVibGljIGdldEV4cHJlc3NBcHAoKTogQXBwbGljYXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBcbiAgICB9XG5cbiAgICBwdWJsaWMgY29ycyhvcHRpb25zOiBDb3JzT3B0aW9ucykge1xuICAgICAgICBjb25zdCBjb3JzID0gcmVxdWlyZSgnY29ycycpXG5cbiAgICAgICAgdGhpcy5hcHAudXNlKGNvcnMob3B0aW9ucykpXG4gICAgfVxuXG4gICAgcHVibGljIHVzZTogQXBwbGljYXRpb25bJ3VzZSddID0gKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIHRoaXMuYXBwLnVzZSguLi5hcmdzKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmFwcFxuICAgIH1cblxuICAgIHB1YmxpYyByb3V0ZXMoKSB7XG4gICAgICAgIHRoaXMuYXBwLnVzZSgnKmFsbCcsIChyZXEsIHJlcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChyZXEub3JpZ2luYWxVcmwsIGBodHRwOi8vJHtyZXEuaGVhZGVycy5ob3N0fWApXG4gICAgICAgICAgICBjb25zdCBtZXRob2QgPSByZXEubWV0aG9kLnRvTG93ZXJDYXNlKClcblxuICAgICAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLnJvdXRlci5yZXNvbHZlKG1ldGhvZCwgdXJsLnBhdGhuYW1lKVxuXG4gICAgICAgICAgICBpZiAodGhpcy5yb3V0ZXIuZGVidWcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5sb2dnZXIuZGVidWcoYCR7bWV0aG9kLnRvVXBwZXJDYXNlKCl9ICR7dXJsLnBhdGhuYW1lfWApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChyb3V0ZSkge1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXhlY3V0ZSh1cmwsIHJlcSwgcmVzLCByb3V0ZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHVybC5wYXRobmFtZS5zdGFydHNXaXRoKCcvYXBpLycpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcy5zdGF0dXMoNDA0KS5qc29uKHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6ICdOb3QgRm91bmQnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBgTm8gQVBJIHJvdXRlIGZvdW5kIGZvciAke21ldGhvZC50b1VwcGVyQ2FzZSgpfSAke3VybH1gLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm9uVW5oYW5kbGVyUm91dGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub25VbmhhbmRsZXJSb3V0ZWQocmVxLCByZXMpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlcihyZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UsIG5leHQ6IE5leHRGdW5jdGlvbikge1xuICAgICAgICBjb25zdCBleHByZXNzID0gcmVxdWlyZSgnZXhwcmVzcycpXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVxLmhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddIHx8ICcnXG5cbiAgICAgICAgaWYgKGNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoJ211bHRpcGFydC9mb3JtLWRhdGEnKSkge1xuICAgICAgICAgICAgLy8gU2tpcCBKU09OIGFuZCBVUkwtZW5jb2RlZCBwYXJzZXJzIGZvciBtdWx0aXBhcnQgcmVxdWVzdHNcbiAgICAgICAgICAgIHJldHVybiBuZXh0KClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBvdGhlciBjb250ZW50IHR5cGVzLCBwYXJzZSBKU09OIGFuZCBVUkwtZW5jb2RlZCBib2R5XG4gICAgICAgIGV4cHJlc3MuanNvbigpKHJlcSwgcmVzLCAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnIpIHJldHVybiBuZXh0KGVycilcblxuICAgICAgICAgICAgZXhwcmVzcy51cmxlbmNvZGVkKHsgZXh0ZW5kZWQ6IHRydWUgfSkocmVxLCByZXMsIG5leHQpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGV4ZWN1dGUodXJsOiBVUkwsIHJlcXVlc3Q6IFJlcXVlc3QsIHJlc3BvbnNlOiBSZXNwb25zZSwgcm91dGU6IFJvdXRlKSB7XG4gICAgICAgIGNvbnN0IGN0eDogT21pdDxIdHRwQ29udGV4dCwgJ2FjbCc+ID0ge1xuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICByZXF1ZXN0LFxuXG4gICAgICAgICAgICB1cmw6IHVybC5wYXRobmFtZSxcbiAgICAgICAgICAgIG1ldGhvZDogcmVxdWVzdC5tZXRob2QudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgIHBhcmFtczogUm91dGUucGFyYW1zKHJvdXRlLnBhdGgsIHVybC5wYXRobmFtZSksXG4gICAgICAgICAgICBxdWVyeTogUm91dGUucXVlcnkodXJsLmhyZWYpLFxuICAgICAgICAgICAgYm9keTogcmVxdWVzdC5ib2R5IHx8IHt9LFxuXG4gICAgICAgICAgICBjb29raWU6IG5ldyBDb29raWVNYXBFbnRpdHkocmVxdWVzdCwgcmVzcG9uc2UpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbZXJyb3IsIHJlc3VsdF0gPSBhd2FpdCB0cnlDYXRjaCgoKSA9PiB0aGlzLnJvdXRlci5leGVjdXRlKHJvdXRlLCBjdHgpKVxuXG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy5leGNlcHRpb24uaGFuZGxlKGVycm9yLCByZXNwb25zZSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLmhlYWRlcnNTZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gLy8gaWYgaGVhZGVycyBhcmUgYWxyZWFkeSBzZW50LCBkbyBub3QgbW9kaWZ5IHRoZSByZXNwb25zZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQucmVkaXJlY3QpIHtcbiAgICAgICAgICAgIHJlc3BvbnNlLnJlZGlyZWN0KHJlc3VsdC5yZWRpcmVjdClcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGVhZGVycyBub3Qgc2V0IFxuICAgICAgICByZXNwb25zZS5zdGF0dXMoMjAwKVxuXG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHJlc3BvbnNlLnNldEhlYWRlcignQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKVxuICAgICAgICB9XG5cbiAgICAgICAgcmVzcG9uc2Uuc2VuZChyZXN1bHQpXG4gICAgfVxuXG4gICAgcHVibGljIHN0YXJ0KCkge1xuICAgICAgICBjb25zdCBwb3J0ID0gdGhpcy5lbnYuZ2V0KCdaRU5JVEhfUE9SVCcpXG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVudi5nZXQoJ1pFTklUSF9IT1NUJylcblxuICAgICAgICBjb25zdCB1cmwgPSBgaHR0cDovLyR7aG9zdH06JHtwb3J0fWBcblxuICAgICAgICB0aGlzLnNlcnZlciA9IHRoaXMuYXBwLmxpc3Rlbihwb3J0LCBob3N0LCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdzZXJ2ZXIgc3RhcnRlZCcsIHtcbiAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgZW52OiB0aGlzLmVudi5nZXQoJ05PREVfRU5WJyksXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICB0aGlzLmVtbWl0dGVyLmVtaXQoJ2h0dHA6c3RhcnRlZCcpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHVibGljIHN0b3AoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnNlcnZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ3NlcnZlciBpcyBub3QgcnVubmluZycpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNlcnZlci5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdzZXJ2ZXIgc3RvcHBlZCcsIHtcbiAgICAgICAgICAgICAgICAgICAgcGlkOiBwcm9jZXNzLnBpZCxcbiAgICAgICAgICAgICAgICAgICAgZW52OiB0aGlzLmVudi5nZXQoJ05PREVfRU5WJyksXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIHRoaXMuc2Vy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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"../LifecycleService-5eYElrdc.mjs";export{e as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=class{payload;table;foreignKey;parentKey=`id`;constructor(e,t,n,r){this.payload=e,this.table=t,this.foreignKey=n,r&&(this.parentKey=r)}get needWhereIn(){for(let e of Object.values(this.payload))if(typeof e==`string`||e.eq!==void 0||e.neq!==void 0||e.like!==void 0||e.nlike!==void 0||e.in!==void 0||e.nin!==void 0||e.gt!==void 0||e.gte!==void 0||e.lt!==void 0||e.lte!==void 0||e.is_null!==void 0||e.exists===!0)return!0;return!1}get needWhereNotIn(){for(let e of Object.values(this.payload))if(typeof e!=`string`&&e.exists===!1)return!0;return!1}apply(e){let t=e;return this.needWhereIn&&(t=t.where(this.parentKey,`in`,e=>e.selectFrom(this.table).select(this.foreignKey).where(this.whereIn(e)))),this.needWhereNotIn&&(t=t.where(this.parentKey,`not in`,e=>e.selectFrom(this.table).select(this.foreignKey).where(this.whereNotIn(e)))),t}buildRowConditions(e,t,n){if(typeof n==`string`)return[e.eb(`name`,`=`,t),e.eb(`value`,`=`,n)];let r=[e.eb(`name`,`=`,t)];return n.eq!==void 0&&r.push(e.eb(`value`,`=`,n.eq)),n.neq!==void 0&&r.push(e.eb(`value`,`!=`,n.neq)),n.like!==void 0&&r.push(e.eb(`value`,`like`,n.like)),n.nlike!==void 0&&r.push(e.eb(`value`,`not like`,n.nlike)),n.in&&r.push(e.eb(`value`,`in`,n.in)),n.nin&&r.push(e.eb(`value`,`not in`,n.nin)),n.gt!==void 0&&r.push(e.eb(`value`,`>`,n.gt)),n.gte!==void 0&&r.push(e.eb(`value`,`>=`,n.gte)),n.lt!==void 0&&r.push(e.eb(`value`,`<`,n.lt)),n.lte!==void 0&&r.push(e.eb(`value`,`<=`,n.lte)),n.is_null!==void 0&&r.push(e.eb(`value`,n.is_null?`is`:`is not`,null)),r}whereIn=e=>{let t=e;for(let[n,r]of Object.entries(this.payload))typeof r!=`string`&&r.exists===!1||(t=t.and(this.buildRowConditions(e,n,r)));return t};whereNotIn=e=>{let t=e;for(let[e,n]of Object.entries(this.payload))typeof n!=`string`&&n.exists===!1&&(t=t(`name`,`=`,e));return t}};export{e as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0YWRhdGFRdWVyeVNlcnZpY2UubWpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvc2VydmljZXMvTWV0YWRhdGFRdWVyeVNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJ2t5c2VseSdcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb250cmFjdCBhcyBEYXRhYmFzZSB9IGZyb20gJyNzZXJ2ZXIvY29udHJhY3RzL0RhdGFiYXNlQ29udHJhY3QudHMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhZmlsdGVyIHtcbiAgICBlcT86IHN0cmluZyxcbiAgICBuZXE/OiBzdHJpbmcsXG4gICAgXG4gICAgbGlrZT86IHN0cmluZyxcbiAgICBubGlrZT86IHN0cmluZyxcblxuICAgIGluPzogc3RyaW5nW10sXG4gICAgbmluPzogc3RyaW5nW10sXG5cbiAgICBndD86IHN0cmluZyxcbiAgICBndGU/OiBzdHJpbmcsXG4gICAgbHQ/OiBzdHJpbmcsXG4gICAgbHRlPzogc3RyaW5nLFxuXG4gICAgaXNfbnVsbD86IGJvb2xlYW5cbiAgICBleGlzdHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFRdWVyeVBheWxvYWQge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IE1ldGFkYWZpbHRlclxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhZGF0YVF1ZXJ5U2VydmljZTxUIGV4dGVuZHMga2V5b2YgRGF0YWJhc2U+IHtcbiAgICBwcml2YXRlIHBheWxvYWQ6IE1ldGFkYXRhUXVlcnlQYXlsb2FkXG4gICAgcHJpdmF0ZSB0YWJsZTogVFxuICAgIHByaXZhdGUgZm9yZWlnbktleToga2V5b2YgRGF0YWJhc2VbVF1cbiAgICBwcml2YXRlIHBhcmVudEtleSA9ICdpZCdcblxuICAgIGNvbnN0cnVjdG9yKHBheWxvYWQ6IE1ldGFkYXRhUXVlcnlQYXlsb2FkLCB0YWJsZTogVCwgZm9yZWlnbktleToga2V5b2YgRGF0YWJhc2VbVF0sIHBhcmVudEtleT86IHN0cmluZykge1xuICAgICAgICB0aGlzLnBheWxvYWQgPSBwYXlsb2FkXG4gICAgICAgIHRoaXMudGFibGUgPSB0YWJsZVxuICAgICAgICB0aGlzLmZvcmVpZ25LZXkgPSBmb3JlaWduS2V5XG5cbiAgICAgICAgaWYgKHBhcmVudEtleSkge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRLZXkgPSBwYXJlbnRLZXlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbmVlZFdoZXJlSW4oKXtcbiAgICAgICAgZm9yIChjb25zdCBjb25kaXRpb24gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnBheWxvYWQpKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29uZGl0aW9uLmVxICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB8fCBjb25kaXRpb24ubmVxICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB8fCBjb25kaXRpb24ubGlrZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfHwgY29uZGl0aW9uLm5saWtlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB8fCBjb25kaXRpb24uaW4gIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIHx8IGNvbmRpdGlvbi5uaW4gIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIHx8IGNvbmRpdGlvbi5ndCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfHwgY29uZGl0aW9uLmd0ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfHwgY29uZGl0aW9uLmx0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB8fCBjb25kaXRpb24ubHRlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB8fCBjb25kaXRpb24uaXNfbnVsbCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfHwgY29uZGl0aW9uLmV4aXN0cyA9PT0gdHJ1ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbmVlZFdoZXJlTm90SW4oKXtcbiAgICAgICAgZm9yIChjb25zdCBjb25kaXRpb24gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnBheWxvYWQpKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ3N0cmluZycpIGNvbnRpbnVlXG5cbiAgICAgICAgICAgIGlmIChjb25kaXRpb24uZXhpc3RzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBwdWJsaWMgYXBwbHkoZGJRdWVyeTogYW55KSB7XG4gICAgICAgIGxldCBxdWVyeSA9IGRiUXVlcnlcblxuICAgICAgICBpZiAodGhpcy5uZWVkV2hlcmVJbikge1xuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeVxuICAgICAgICAgICAgICAgIC53aGVyZSh0aGlzLnBhcmVudEtleSwgJ2luJywgKGViOiBhbnkpID0+IFxuICAgICAgICAgICAgICAgICAgICBlYi5zZWxlY3RGcm9tKHRoaXMudGFibGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VsZWN0KHRoaXMuZm9yZWlnbktleSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC53aGVyZSh0aGlzLndoZXJlSW4oZWIpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5lZWRXaGVyZU5vdEluKSB7XG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5XG4gICAgICAgICAgICAgICAgLndoZXJlKHRoaXMucGFyZW50S2V5LCAnbm90IGluJywgKGViOiBhbnkpID0+IFxuICAgICAgICAgICAgICAgICAgICBlYi5zZWxlY3RGcm9tKHRoaXMudGFibGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VsZWN0KHRoaXMuZm9yZWlnbktleSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC53aGVyZSh0aGlzLndoZXJlTm90SW4oZWIpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBxdWVyeVxuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRSb3dDb25kaXRpb25zKGViOiBFeHByZXNzaW9uQnVpbGRlcjxhbnksIGFueT4sIG5hbWU6IHN0cmluZywgY29uZGl0aW9uOiBzdHJpbmcgfCBNZXRhZGFmaWx0ZXIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGViLmViKCduYW1lJywgJz0nLCBuYW1lKSxcbiAgICAgICAgICAgICAgICBlYi5lYigndmFsdWUnLCAnPScsIGNvbmRpdGlvbilcbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsYXVzZXMgPSBbXG4gICAgICAgICAgICBlYi5lYignbmFtZScsICc9JywgbmFtZSlcbiAgICAgICAgXVxuXG4gICAgICAgIGlmIChjb25kaXRpb24uZXEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY2xhdXNlcy5wdXNoKGViLmViKCd2YWx1ZScsICc9JywgY29uZGl0aW9uLmVxKSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25kaXRpb24ubmVxICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsYXVzZXMucHVzaChlYi5lYigndmFsdWUnLCAnIT0nLCBjb25kaXRpb24ubmVxKSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25kaXRpb24ubGlrZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjbGF1c2VzLnB1c2goZWIuZWIoJ3ZhbHVlJywgJ2xpa2UnLCBjb25kaXRpb24ubGlrZSkpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZGl0aW9uLm5saWtlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsYXVzZXMucHVzaChlYi5lYigndmFsdWUnLCAnbm90IGxpa2UnLCBjb25kaXRpb24ubmxpa2UpKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmRpdGlvbi5pbikge1xuICAgICAgICAgICAgY2xhdXNlcy5wdXNoKGViLmViKCd2YWx1ZScsICdpbicsIGNvbmRpdGlvbi5pbikpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZGl0aW9uLm5pbikge1xuICAgICAgICAgICAgY2xhdXNlcy5wdXNoKGViLmViKCd2YWx1ZScsICdub3QgaW4nLCBjb25kaXRpb24ubmluKSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25kaXRpb24uZ3QgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY2xhdXNlcy5wdXNoKGViLmViKCd2YWx1ZScsICc+JywgY29uZGl0aW9uLmd0KSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25kaXRpb24uZ3RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsYXVzZXMucHVzaChlYi5lYigndmFsdWUnLCAnPj0nLCBjb25kaXRpb24uZ3RlKSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25kaXRpb24ubHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY2xhdXNlcy5wdXNoKGViLmViKCd2YWx1ZScsICc8JywgY29uZGl0aW9uLmx0KSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25kaXRpb24ubHRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsYXVzZXMucHVzaChlYi5lYigndmFsdWUnLCAnPD0nLCBjb25kaXRpb24ubHRlKSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25kaXRpb24uaXNfbnVsbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjbGF1c2VzLnB1c2goZWIuZWIoJ3ZhbHVlJywgY29uZGl0aW9uLmlzX251bGwgPyAnaXMnIDogJ2lzIG5vdCcsIG51bGwpKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNsYXVzZXNcbiAgICB9XG5cbiAgICBwdWJsaWMgd2hlcmVJbiA9IDxEQlF1ZXJ5PihlYjogIEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55PikgPT4ge1xuICAgICAgICBsZXQgcXVlcnkgPSBlYiBhcyBhbnlcblxuICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCBjb25kaXRpb25dIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMucGF5bG9hZCkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY29uZGl0aW9uICE9PSAnc3RyaW5nJyAmJiBjb25kaXRpb24uZXhpc3RzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHF1ZXJ5ID0gcXVlcnkuYW5kKHRoaXMuYnVpbGRSb3dDb25kaXRpb25zKGViLCBuYW1lLCBjb25kaXRpb24pKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHF1ZXJ5IGFzIERCUXVlcnlcbiAgICB9XG5cbiAgICBwdWJsaWMgd2hlcmVOb3RJbiA9IDxEQlF1ZXJ5PihlYjogIEV4cHJlc3Npb25CdWlsZGVyPGFueSwgYW55PikgPT4ge1xuICAgICAgICBsZXQgcXVlcnkgPSBlYiBhcyBhbnlcblxuICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCBjb25kaXRpb25dIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMucGF5bG9hZCkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY29uZGl0aW9uID09PSAnc3RyaW5nJykgY29udGludWVcblxuICAgICAgICAgICAgaWYgKGNvbmRpdGlvbi5leGlzdHMgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSgnbmFtZScsICc9JywgbmFtZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBxdWVyeSBhcyBEQlF1ZXJ5XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUEwQkEsSUFBcUIsRUFBckIsS0FBb0UsQ0FDaEUsUUFDQSxNQUNBLFdBQ0EsVUFBb0IsS0FFcEIsWUFBWSxFQUErQixFQUFVLEVBQStCLEVBQW9CLENBQ3BHLEtBQUssUUFBVSxFQUNmLEtBQUssTUFBUSxFQUNiLEtBQUssV0FBYSxFQUVkLElBQ0EsS0FBSyxVQUFZLEdBSXpCLElBQVcsYUFBYSxDQUNwQixJQUFLLElBQU0sS0FBYSxPQUFPLE9BQU8sS0FBSyxRQUFRLENBSy9DLEdBSkksT0FBTyxHQUFjLFVBS3JCLEVBQVUsS0FBTyxJQUFBLElBQ2QsRUFBVSxNQUFRLElBQUEsSUFDbEIsRUFBVSxPQUFTLElBQUEsSUFDbkIsRUFBVSxRQUFVLElBQUEsSUFDcEIsRUFBVSxLQUFPLElBQUEsSUFDakIsRUFBVSxNQUFRLElBQUEsSUFDbEIsRUFBVSxLQUFPLElBQUEsSUFDakIsRUFBVSxNQUFRLElBQUEsSUFDbEIsRUFBVSxLQUFPLElBQUEsSUFDakIsRUFBVSxNQUFRLElBQUEsSUFDbEIsRUFBVSxVQUFZLElBQUEsSUFDdEIsRUFBVSxTQUFXLEdBRXhCLE1BQU8sR0FJZixNQUFPLEdBR1gsSUFBVyxnQkFBZ0IsQ0FDdkIsSUFBSyxJQUFNLEtBQWEsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUMzQyxVQUFPLEdBQWMsVUFFckIsRUFBVSxTQUFXLEdBQ3JCLE1BQU8sR0FJZixNQUFPLEdBR1gsTUFBYSxFQUFjLENBQ3ZCLElBQUksRUFBUSxFQW9CWixPQWxCSSxLQUFL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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"../facades/database.mjs";var t=class t{id;table;foreignKey;constructor(e){this.id=e.id,this.table=e.table,this.foreignKey=e.foreignKey}static parse(e){return typeof e==`string`&&e.startsWith(`json:`)?JSON.parse(e.slice(5)):typeof e==`string`&&e.startsWith(`bool:`)?e.slice(5)===`true`:typeof e==`string`&&e.startsWith(`number:`)?Number(e.slice(7)):typeof e==`string`&&e.startsWith(`string:`)?e.slice(7):e}static flatten(e){let n={};for(let r of e)n[r.name]=t.parse(r.value);return n}async get(n,r){let i=e.selectFrom(this.table);i=i.selectAll().where(this.foreignKey,`=`,this.id).where(`name`,`=`,n).limit(1);let a=await i.executeTakeFirst();return!a||!a.value?r:t.parse(a.value)}async set(t,n){let r=this.foreignKey,i=this.table,a={[r]:this.id,name:t,value:n};if(typeof n==`object`&&(a.value=`json:${JSON.stringify(n)}`),await e.selectFrom(i).where(r,`=`,this.id).where(`name`,`=`,t).executeTakeFirst()){await e.updateTable(i).set(a).where(r,`=`,this.id).where(`name`,`=`,t).execute();return}await e.insertInto(i).values(a).execute()}async list(){let n=this.foreignKey,r=this.table,i=e.selectFrom(r);return i=i.selectAll().where(n,`=`,this.id),(await i.execute()).map(e=>({name:e.name,value:t.parse(e.value)}))}async all(){let e=await this.list(),t={};for(let n of e)t[n.name]=n.value;return t}};export{t as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0YWRhdGFTZXJ2aWNlLm1qcyIsIm5hbWVzIjpbImRiIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9NZXRhZGF0YVNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRiIGZyb20gJyNzZXJ2ZXIvZmFjYWRlcy9kYXRhYmFzZS50cydcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YWRhdGFTZXJ2aWNlIHtcbiAgICBwdWJsaWMgaWQ6IG51bWJlclxuICAgIHB1YmxpYyB0YWJsZTogc3RyaW5nXG4gICAgcHVibGljIGZvcmVpZ25LZXk6IHN0cmluZ1xuXG4gICAgY29uc3RydWN0b3IocGF5bG9hZDogUGljazxNZXRhZGF0YVNlcnZpY2UsICd0YWJsZScgfCAnZm9yZWlnbktleScgfCAnaWQnPikge1xuICAgICAgICB0aGlzLmlkID0gcGF5bG9hZC5pZFxuICAgICAgICB0aGlzLnRhYmxlID0gcGF5bG9hZC50YWJsZVxuICAgICAgICB0aGlzLmZvcmVpZ25LZXkgPSBwYXlsb2FkLmZvcmVpZ25LZXlcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHBhcnNlKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5zdGFydHNXaXRoKCdqc29uOicpKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZS5zbGljZSg1KSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnN0YXJ0c1dpdGgoJ2Jvb2w6JykpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5zbGljZSg1KSA9PT0gJ3RydWUnXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5zdGFydHNXaXRoKCdudW1iZXI6JykpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUuc2xpY2UoNykpXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnN0YXJ0c1dpdGgoJ3N0cmluZzonKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnNsaWNlKDcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZsYXR0ZW4oaXRlbXM6IEFycmF5PHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogYW55IH0+KTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9XG5cbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgICAgICByZXN1bHRbaXRlbS5uYW1lXSA9IE1ldGFkYXRhU2VydmljZS5wYXJzZShpdGVtLnZhbHVlKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cbiAgICBcblxuICAgIHB1YmxpYyBhc3luYyBnZXQ8VCA9IGFueT4obmFtZTogc3RyaW5nKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPlxuICAgIHB1YmxpYyBhc3luYyBnZXQ8VCA9IGFueT4obmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBQcm9taXNlPFQ+XG4gICAgcHVibGljIGFzeW5jIGdldDxUID0gYW55PihuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IFQpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgbGV0IHF1ZXJ5ID0gZGIuc2VsZWN0RnJvbSh0aGlzLnRhYmxlIGFzIGFueSkgYXMgYW55XG5cbiAgICAgICAgcXVlcnkgPSBxdWVyeVxuICAgICAgICAgICAgLnNlbGVjdEFsbCgpXG4gICAgICAgICAgICAud2hlcmUoKHRoaXMuZm9yZWlnbktleSBhcyBzdHJpbmcpLCAnPScsIHRoaXMuaWQpXG4gICAgICAgICAgICAud2hlcmUoJ25hbWUnLCAnPScsIG5hbWUpXG4gICAgICAgICAgICAubGltaXQoMSlcblxuICAgICAgICBjb25zdCByb3cgPSBhd2FpdCBxdWVyeS5leGVjdXRlVGFrZUZpcnN0KCkgXG5cbiAgICAgICAgaWYgKCFyb3cgfHwgIXJvdy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBNZXRhZGF0YVNlcnZpY2UucGFyc2Uocm93LnZhbHVlKVxuXG4gICAgICAgIHJldHVybiB2YWx1ZSBhcyBUXG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZm9yZWlnbktleSA9IHRoaXMuZm9yZWlnbktleVxuICAgICAgICBjb25zdCB0YWJsZSA9IHRoaXMudGFibGVcblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSB7XG4gICAgICAgICAgICBbZm9yZWlnbktleV06IHRoaXMuaWQsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB2YWx1ZXMudmFsdWUgPSBganNvbjoke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1gXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb3cgPSBhd2FpdCBkYi5zZWxlY3RGcm9tKHRhYmxlIGFzIGFueSkud2hlcmUoKGZvcmVpZ25LZXkgYXMgc3RyaW5nKSwgJz0nLCB0aGlzLmlkKS53aGVyZSgnbmFtZScsICc9JywgbmFtZSkuZXhlY3V0ZVRha2VGaXJzdCgpXG5cbiAgICAgICAgaWYgKHJvdykge1xuICAgICAgICAgICAgYXdhaXQgZGIudXBkYXRlVGFibGUodGFibGUgYXMgYW55KVxuICAgICAgICAgICAgICAgIC5zZXQodmFsdWVzKVxuICAgICAgICAgICAgICAgIC53aGVyZSgoZm9yZWlnbktleSBhcyBzdHJpbmcpLCAnPScsIHRoaXMuaWQpXG4gICAgICAgICAgICAgICAgLndoZXJlKCduYW1lJywgJz0nLCBuYW1lKVxuICAgICAgICAgICAgICAgIC5leGVjdXRlKClcblxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBkYi5pbnNlcnRJbnRvKHRhYmxlIGFzIGFueSlcbiAgICAgICAgICAgIC52YWx1ZXModmFsdWVzKVxuICAgICAgICAgICAgLmV4ZWN1dGUoKVxuXG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxpc3QoKTogUHJvbWlzZTxBcnJheTx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IGFueSB9Pj4ge1xuICAgICAgICBjb25zdCBmb3JlaWduS2V5ID0gdGhpcy5mb3JlaWduS2V5XG4gICAgICAgIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZVxuXG4gICAgICAgIGxldCBxdWVyeSA9IGRiLnNlbGVjdEZyb20odGFibGUgYXMgYW55KSBhcyBhbnlcblxuICAgICAgICBxdWVyeSA9IHF1ZXJ5XG4gICAgICAgICAgICAuc2VsZWN0QWxsKClcbiAgICAgICAgICAgIC53aGVyZSgoZm9yZWlnbktleSBhcyBzdHJpbmcpLCAnPScsIHRoaXMuaWQpXG5cbiAgICAgICAgY29uc3Qgcm93cyA9IGF3YWl0IHF1ZXJ5LmV4ZWN1dGUoKVxuXG4gICAgICAgIHJldHVybiByb3dzLm1hcCgocm93OiBhbnkpID0+ICh7XG4gICAgICAgICAgICBuYW1lOiByb3cubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBNZXRhZGF0YVNlcnZpY2UucGFyc2Uocm93LnZhbHVlKVxuICAgICAgICB9KSlcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgYWxsKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgICAgICBjb25zdCByb3dzID0gYXdhaXQgdGhpcy5saXN0KClcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cblxuICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiByb3dzKSB7XG4gICAgICAgICAgICByZXN1bHRbcm93Lm5hbWVdID0gcm93LnZhbHVlXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG59XG4iXSwibWFwcGluZ3MiOiJ1Q0FFQSxJQUFxQixFQUFyQixNQUFxQixDQUFnQixDQUNqQyxHQUNBLE1BQ0EsV0FFQSxZQUFZLEVBQStELENBQ3ZFLEtBQUssR0FBSyxFQUFRLEdBQ2xCLEtBQUssTUFBUSxFQUFRLE1BQ3JCLEtBQUssV0FBYSxFQUFRLFdBRzlCLE9BQWMsTUFBTSxFQUFpQixDQWlCakMsT0FoQkksT0FBTyxHQUFVLFVBQVksRUFBTSxXQUFXLFFBQVEsQ0FDL0MsS0FBSyxNQUFNLEVBQU0sTUFBTSxFQUFFLENBQUMsQ0FHakMsT0FBTyxHQUFVLFVBQVksRUFBTSxXQUFXLFFBQVEsQ0FDL0MsRUFBTSxNQUFNLEVBQUUsR0FBSyxPQUcxQixPQUFPLEdBQVUsVUFBWSxFQUFNLFdBQVcsVUFBVSxDQUNqRCxPQUFPLEVBQU0sTUFBTSxFQUFFLENBQUMsQ0FHN0IsT0FBTyxHQUFVLFVBQVksRUFBTSxXQUFXLFVBQVUsQ0FDakQsRUFBTSxNQUFNLEVBQUUsQ0FHbEIsRUFHWCxPQUFjLFFBQVEsRUFBaUUsQ0FDbkYsSUFBTSxFQUE4QixFQUFFLENBRXRDLElBQUssSUFBTSxLQUFRLEVBQ2YsRUFBTyxFQUFLLE1BQVEsRUFBZ0IsTUFBTSxFQUFLLE1BQU0sQ0FHekQsT0FBTyxFQU1YLE1BQWEsSUFBYSxFQUFjLEVBQTBDLENBQzlFLElBQUksRUFBUUEsRUFBRyxXQUFXLEtBQUssTUFBYSxDQUU1QyxFQUFRLEVBQ0gsV0FBVyxDQUNYLE1BQU8sS0FBSyxXQUF1QixJQUFLLEtBQUssR0FBRyxDQUNoRCxNQUFNLE9BQVEsSUFBSyxFQUFLLENBQ3hCLE1BQU0sRUFBRSxDQUViLElBQU0sRUFBTSxNQUFNLEVBQU0sa0JBQWtCLENBUTFDLE1BTkksQ0FBQyxHQUFPLENBQUMsRUFBSSxNQUNOLEVBR0csRUFBZ0IsTUFBTSxFQUFJLE1BQU0sQ0FLbEQsTUFBYSxJQUFJLEVBQWMsRUFBMkIsQ0FDdEQsSUFBTSxFQUFhLEtBQUssV0FDbEIsRUFBUSxLQUFLLE1BRWIsRUFBUyxFQUNWLEdBQWEsS0FBSyxHQUNuQixPQUNBLFFBQ0gsQ0FRRCxHQU5JLE9BQU8sR0FBVSxXQUNqQixFQUFPLE1BQVEsUUFBUSxLQUFLLFVBQVUsRUFBTSxJQUdwQyxNQUFNQSxFQUFHLFdBQVcsRUFBYSxDQUFDLE1BQU8sRUFBdUIsSUFBSyxLQUFLLEdBQUcsQ0FBQyxNQUFNLE9BQVEsSUFBSyxFQUFLLENBQUMsa0JBQWtCLENBRTVILENBQ0wsTUFBTUEsRUFBRyxZQUFZLEVBQWEsQ0FDN0IsSUFBSSxFQUFPLENBQ1gsTUFBTyxFQUF1QixJQUFLLEtBQUssR0FBRyxDQUMzQyxNQUFNLE9BQVEsSUFBSyxFQUFLLENBQ3hCLFNBQVMsQ0FFZCxPQUdKLE1BQU1BLEVBQUcsV0FBVyxFQUFhLENBQzVCLE9BQU8sRUFBTyxDQUNkLFNBQVMsQ0FJbEIsTUFBYSxNQUFxRCxDQUM5RCxJQUFNLEVBQWEsS0FBSyxXQUNsQixFQUFRLEtBQUssTUFFZixFQUFRQSxFQUFHLFdBQVcsRUFBYSxDQVF2QyxNQU5BLEdBQVEsRUFDSCxXQUFXLENBQ1gsTUFBTyxFQUF1QixJQUFLLEtBQUssR0FBRyxFQUVuQyxNQUFNLEVBQU0sU0FBUyxFQUV0QixJQUFLLElBQWMsQ0FDM0IsS0FBTSxFQUFJLEtBQ1YsTUFBTyxFQUFnQixNQUFNLEVBQUksTUFBTSxDQUMxQyxFQUFFLENBR1AsTUFBYSxLQUFvQyxDQUM3QyxJQUFNLEVBQU8sTUFBTSxLQUFLLE1BQU0sQ0FDeEIsRUFBOEIsRUFBRSxDQUV0QyxJQUFLLElBQU0sS0FBTyxFQUNkLEVBQU8sRUFBSSxNQUFRLEVBQUksTUFHM0IsT0FBTyJ9
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as MigratorServiceEvents, i as MigratorService, n as Migration, o as MigratorServiceOptions, r as MigrationSource, t as ListFilters } from "../MigratorService-DHug6UBq.mjs";
|
|
2
|
+
export { ListFilters, Migration, MigrationSource, MigratorServiceEvents, MigratorServiceOptions, MigratorService as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../tryCatch-Dz4OvJig.mjs";import{t}from"../LoggerService-8XvsFBNN.mjs";import{t as n}from"../BaseException-cMfHz0w8.mjs";import{t as r}from"../EmmitterService-Dw_dThZJ.mjs";import i from"../entities/MigrationEntity.mjs";import a from"path";import o from"fs";import{orderBy as s}from"lodash-es";import{format as c}from"date-fns";var l=class{static __container_entry_key=`MigratorService`;debug=!1;emmitter;logger;db;sources;constructor(e){this.debug=e.debug??this.debug,this.emmitter=e.emmitter||new r,this.logger=e.logger||new t,this.db=e.db,this.sources=e.sources}addSource(e){this.sources.push(e)}async ensureMigrationsTable(){await this.db.schema.createTable(`migrations`).ifNotExists().addColumn(`name`,`varchar(255)`,e=>e.primaryKey()).addColumn(`module`,`varchar(255)`).addColumn(`executed_at`,`timestamp`,e=>e.notNull()).execute()}async listSource(e){if(!o.existsSync(e.directory))return this.logger.warn(`Migration source directory does not exist: ${e.directory}`),[];let t=await o.promises.readdir(e.directory),n=[`.js`,`.ts`,`.mjs`,`.mts`],r=[];for(let o of t){if(!n.some(e=>o.endsWith(e)))continue;let t=a.join(e.directory,o),s=new i({name:a.basename(o,a.extname(o)),source:e.id,filename:t,executedAt:null});r.push(s)}return r}async list(e){await this.ensureMigrationsTable();let t=[];for await(let e of this.sources){let n=await this.listSource(e);t.push(...n)}let n=await this.db.selectFrom(`migrations`).selectAll().execute();for(let e of n){e.source||=`root`;let n=t.find(t=>t.name===e.name);n&&(n.executedAt=new Date(e.executed_at))}if(e?.source&&(t=t.filter(t=>t.source===e.source)),e?.name){let n=Array.isArray(e.name)?e.name:[e.name];t=t.filter(e=>n.includes(e.name))}return t=s(t,[`source`,`name`],[`asc`,`asc`]),t}async migrateUp(e){await e.up(this.db),await this.db.insertInto(`migrations`).values({name:e.name,module:e.source,executed_at:c(new Date,`yyyy-MM-dd HH:mm:ss`)}).execute(),this.logger.info(`${e.name} migrated successfully`)}async migrateDown(e){await e.down(this.db),await this.db.deleteFrom(`migrations`).where(`name`,`=`,e.name).where(`module`,`=`,e.source).execute(),this.logger.info(`${e.name} rolled back successfully`)}async migrateFile(t){await this.ensureMigrationsTable();let n=(await this.list()).find(e=>e.filename===t);if(!n)return{name:a.basename(t,a.extname(t)),filename:t,source:null,result:`failed`,error:Error(`Migration ${t} not found`)};if(n.executedAt)return{name:n.name,filename:n.filename,source:n.source,result:`success`};let[r]=await e(()=>this.migrateUp(n));return r?{name:n.name,filename:n.filename,source:n.source,result:`failed`,error:r}:{name:n.name,filename:n.filename,source:n.source,result:`success`}}async rollbackFile(t){await this.ensureMigrationsTable();let n=(await this.list()).find(e=>e.filename===t);if(!n)return{name:a.basename(t,a.extname(t)),filename:t,source:null,result:`failed`,error:`Migration ${t} not found`};if(!n.executedAt)return{name:n.name,filename:n.filename,source:n.source,result:`success`};let[r]=await e(()=>this.migrateDown(n));return r?{name:n.name,filename:n.filename,source:n.source,result:`failed`,error:r}:{name:n.name,filename:n.filename,source:n.source,result:`success`}}async migrate(e={}){await this.ensureMigrationsTable();let t=await this.list(e);if(t=t.filter(e=>!e.executedAt),t.sort((e,t)=>e.name.localeCompare(t.name)),e.steps!==void 0&&(t=t.slice(0,e.steps)),t.length===0)return[];await this.emmitter.emitAndWait(`migrator:before-migrate`,{migrations:t.map(e=>e.name)});let n=[];for(let e of t){let t=await this.migrateFile(e.filename);if(n.push(t),t.result===`failed`)break}return await this.emmitter.emitAndWait(`migrator:after-migrate`,{migrations:t,results:n}),n}async rollback(e={}){await this.ensureMigrationsTable();let t=await this.list(e);if(t=t.filter(e=>e.executedAt),t.sort((e,t)=>t.name.localeCompare(e.name)),e.steps!==void 0&&(t=t.slice(0,e.steps)),t.length===0)return[];await this.emmitter.emitAndWait(`migrator:before-rollback`,{migrations:t.map(e=>e.name)});let n=[];for(let e of t){let t=await this.rollbackFile(e.filename);if(n.push(t),t.result===`failed`)break}return await this.emmitter.emitAndWait(`migrator:after-rollback`,{migrations:t.map(e=>e.name)}),n}async up(e=1,t={}){return this.migrate({...t,steps:e})}async down(e=1,t={}){return this.rollback({...t,steps:e})}async latest(e={}){return this.migrate(e)}async latestOrFail(e={}){let t=await this.latest(e),r=t.find(e=>e.result===`failed`);if(r)throw r.error||new n(`Migration failed: ${r.name}`);return t}async fresh(e={}){let t=await this.rollback(e);return t.some(e=>e.result===`failed`)?t:await this.migrate(e)}};export{l as default};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0b3JTZXJ2aWNlLm1qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL01pZ3JhdG9yU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnXG5pbXBvcnQgeyB0cnlDYXRjaCB9IGZyb20gJyNzaGFyZWQvdXRpbHMvdHJ5Q2F0Y2gudHMnXG5pbXBvcnQgRW1taXR0ZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvRW1taXR0ZXJTZXJ2aWNlLnRzJ1xuaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnI3NoYXJlZC9zZXJ2aWNlcy9Mb2dnZXJTZXJ2aWNlLnRzJ1xuaW1wb3J0IHR5cGUgeyBLeXNlbHkgfSBmcm9tICdreXNlbHknXG5pbXBvcnQgTWlncmF0aW9uRW50aXR5IGZyb20gJyNzZXJ2ZXIvZW50aXRpZXMvTWlncmF0aW9uRW50aXR5LnRzJ1xuaW1wb3J0IHsgb3JkZXJCeSB9IGZyb20gJ2xvZGFzaC1lcydcbmltcG9ydCBCYXNlRXhjZXB0aW9uIGZyb20gJyNzaGFyZWQvZXhjZXB0aW9ucy9CYXNlRXhjZXB0aW9uLnRzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE1pZ3JhdGlvblNvdXJjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBkaXJlY3Rvcnk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaWdyYXRpb24ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZyB8IG51bGw7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBleGVjdXRlZEF0OiBEYXRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0RmlsdGVycyB7XG4gICAgc291cmNlPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIE1pZ3JhdGlvblJlc3VsdCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGZpbGVuYW1lOiBzdHJpbmc7XG4gICAgc291cmNlOiBzdHJpbmcgfCBudWxsO1xuICAgIHJlc3VsdDogJ3N1Y2Nlc3MnIHwgJ2ZhaWxlZCc7XG4gICAgZXJyb3I/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlncmF0b3JTZXJ2aWNlT3B0aW9ucyB7XG4gICAgc291cmNlczogTWlncmF0aW9uU291cmNlW107XG4gICAgZGI6IEt5c2VseTxhbnk+O1xuICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICBlbW1pdHRlcj86IEVtbWl0dGVyU2VydmljZTtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlncmF0b3JTZXJ2aWNlRXZlbnRzIHtcbiAgICAnbWlncmF0b3I6YmVmb3JlLW1pZ3JhdGUnOiB7XG4gICAgICAgIG1pZ3JhdGlvbnM6IE1pZ3JhdGlvbkVudGl0eVtdXG4gICAgfVxuICAgICdtaWdyYXRvcjphZnRlci1taWdyYXRlJzoge1xuICAgICAgICBtaWdyYXRpb25zOiBNaWdyYXRpb25FbnRpdHlbXVxuICAgIH1cbiAgICAnbWlncmF0b3I6YmVmb3JlLXJvbGxiYWNrJzoge1xuICAgICAgICBtaWdyYXRpb25zOiBNaWdyYXRpb25FbnRpdHlbXVxuICAgIH1cbiAgICAnbWlncmF0b3I6YWZ0ZXItcm9sbGJhY2snOiB7XG4gICAgICAgIG1pZ3JhdGlvbnM6IE1pZ3JhdGlvbkVudGl0eVtdXG4gICAgfVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1pZ3JhdG9yU2VydmljZSB7XG4gICAgcHVibGljIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXkgPSAnTWlncmF0b3JTZXJ2aWNlJ1xuXG4gICAgcHVibGljIGRlYnVnID0gZmFsc2VcbiAgICBwdWJsaWMgZW1taXR0ZXI6IEVtbWl0dGVyU2VydmljZVxuICAgIHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2VcbiAgICBwdWJsaWMgZGI6IEt5c2VseTxhbnk+XG4gICAgcHVibGljIHNvdXJjZXM6IE1pZ3JhdGlvblNvdXJjZVtdXG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNaWdyYXRvclNlcnZpY2VPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuZGVidWcgPSBvcHRpb25zLmRlYnVnID8/IHRoaXMuZGVidWdcbiAgICAgICAgdGhpcy5lbW1pdHRlciA9IG9wdGlvbnMuZW1taXR0ZXIgfHwgbmV3IEVtbWl0dGVyU2VydmljZSgpXG4gICAgICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXIgfHwgbmV3IExvZ2dlclNlcnZpY2UoKVxuICAgICAgICB0aGlzLmRiID0gb3B0aW9ucy5kYlxuICAgICAgICB0aGlzLnNvdXJjZXMgPSBvcHRpb25zLnNvdXJjZXNcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkU291cmNlKHNvdXJjZTogTWlncmF0aW9uU291cmNlKSB7XG4gICAgICAgIHRoaXMuc291cmNlcy5wdXNoKHNvdXJjZSlcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGVuc3VyZU1pZ3JhdGlvbnNUYWJsZSgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5kYi5zY2hlbWFcbiAgICAgICAgICAgIC5jcmVhdGVUYWJsZSgnbWlncmF0aW9ucycpXG4gICAgICAgICAgICAuaWZOb3RFeGlzdHMoKVxuICAgICAgICAgICAgLmFkZENvbHVtbignbmFtZScsICd2YXJjaGFyKDI1NSknLCAoY29sKSA9PiBjb2wucHJpbWFyeUtleSgpKVxuICAgICAgICAgICAgLmFkZENvbHVtbignbW9kdWxlJywgJ3ZhcmNoYXIoMjU1KScpIC8vIG1vZHVsZSB3aWxsIGJlIHJlbmFtZWQgdG8gc291cmNlIGluIGZ1dHVyZSB2ZXJzaW9uc1xuICAgICAgICAgICAgLmFkZENvbHVtbignZXhlY3V0ZWRfYXQnLCAndGltZXN0YW1wJywgKGNvbCkgPT4gY29sLm5vdE51bGwoKSlcbiAgICAgICAgICAgIC5leGVjdXRlKClcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbGlzdFNvdXJjZShzb3VyY2U6IE1pZ3JhdGlvblNvdXJjZSkge1xuXG4gICAgICAgIGlmICghZnMuZXhpc3RzU3luYyhzb3VyY2UuZGlyZWN0b3J5KSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIud2FybihgTWlncmF0aW9uIHNvdXJjZSBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3Q6ICR7c291cmNlLmRpcmVjdG9yeX1gKVxuXG4gICAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVudHJpZXMgPSBhd2FpdCBmcy5wcm9taXNlcy5yZWFkZGlyKHNvdXJjZS5kaXJlY3RvcnkpXG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBbJy5qcycsICcudHMnLCAnLm1qcycsICcubXRzJ11cblxuICAgICAgICBjb25zdCBpdGVtczogTWlncmF0aW9uRW50aXR5W10gPSBbXVxuXG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgICAgaWYgKCFleHRlbnNpb25zLnNvbWUoZXh0ID0+IGVudHJ5LmVuZHNXaXRoKGV4dCkpKSBjb250aW51ZVxuXG4gICAgICAgICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihzb3VyY2UuZGlyZWN0b3J5LCBlbnRyeSlcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBwYXRoLmJhc2VuYW1lKGVudHJ5LCBwYXRoLmV4dG5hbWUoZW50cnkpKVxuXG4gICAgICAgICAgICBjb25zdCBlbnRpdHkgPSBuZXcgTWlncmF0aW9uRW50aXR5KHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlLmlkLFxuICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBmdWxsUGF0aCxcbiAgICAgICAgICAgICAgICBleGVjdXRlZEF0OiBudWxsLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaXRlbXMucHVzaChlbnRpdHkpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbXNcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbGlzdChmaWx0ZXJzPzogTGlzdEZpbHRlcnMpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5lbnN1cmVNaWdyYXRpb25zVGFibGUoKVxuXG4gICAgICAgIGxldCBpdGVtcyA9IFtdIGFzIE1pZ3JhdGlvbkVudGl0eVtdXG5cbiAgICAgICAgZm9yIGF3YWl0IChjb25zdCBzb3VyY2Ugb2YgdGhpcy5zb3VyY2VzKSB7XG4gICAgICAgICAgICBjb25zdCBtaWdyYXRpb25zID0gYXdhaXQgdGhpcy5saXN0U291cmNlKHNvdXJjZSlcblxuICAgICAgICAgICAgaXRlbXMucHVzaCguLi5taWdyYXRpb25zKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IGV4ZWN1dGVkIG1pZ3JhdGlvbnMgZnJvbSBkYXRhYmFzZVxuICAgICAgICBjb25zdCBleGVjdXRlZCA9IGF3YWl0IHRoaXMuZGJcbiAgICAgICAgICAgIC5zZWxlY3RGcm9tKCdtaWdyYXRpb25zJylcbiAgICAgICAgICAgIC5zZWxlY3RBbGwoKVxuICAgICAgICAgICAgLmV4ZWN1dGUoKVxuXG4gICAgICAgIGZvciAoY29uc3QgZSBvZiBleGVjdXRlZCkge1xuICAgICAgICAgICAgaWYgKCFlLnNvdXJjZSkge1xuICAgICAgICAgICAgICAgIGUuc291cmNlID0gJ3Jvb3QnXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG0gPSBpdGVtcy5maW5kKG0gPT4gbS5uYW1lID09PSBlLm5hbWUpXG5cbiAgICAgICAgICAgIGlmICghbSkgY29udGludWVcblxuICAgICAgICAgICAgbS5leGVjdXRlZEF0ID0gbmV3IERhdGUoZS5leGVjdXRlZF9hdClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWx0ZXJzPy5zb3VyY2UpIHtcbiAgICAgICAgICAgIGl0ZW1zID0gaXRlbXMuZmlsdGVyKG0gPT4gbS5zb3VyY2UgPT09IGZpbHRlcnMuc291cmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbHRlcnM/Lm5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gQXJyYXkuaXNBcnJheShmaWx0ZXJzLm5hbWUpID8gZmlsdGVycy5uYW1lIDogW2ZpbHRlcnMubmFtZV1cblxuICAgICAgICAgICAgaXRlbXMgPSBpdGVtcy5maWx0ZXIobSA9PiBuYW1lcy5pbmNsdWRlcyhtLm5hbWUpKVxuICAgICAgICB9XG5cbiAgICAgICAgaXRlbXMgPSBvcmRlckJ5KGl0ZW1zLCBbJ3NvdXJjZScsICduYW1lJ10sIFsnYXNjJywgJ2FzYyddKVxuXG4gICAgICAgIHJldHVybiBpdGVtc1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbWlncmF0ZVVwKG1pZ3JhdGlvbjogTWlncmF0aW9uRW50aXR5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IG1pZ3JhdGlvbi51cCh0aGlzLmRiKVxuXG4gICAgICAgIGF3YWl0IHRoaXMuZGJcbiAgICAgICAgICAgIC5pbnNlcnRJbnRvKCdtaWdyYXRpb25zJylcbiAgICAgICAgICAgIC52YWx1ZXMoe1xuICAgICAgICAgICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICAgICAgICAgIG1vZHVsZTogbWlncmF0aW9uLnNvdXJjZSxcbiAgICAgICAgICAgICAgICBleGVjdXRlZF9hdDogZm9ybWF0KG5ldyBEYXRlKCksICd5eXl5LU1NLWRkIEhIOm1tOnNzJyksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmV4ZWN1dGUoKVxuXG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oYCR7bWlncmF0aW9uLm5hbWV9IG1pZ3JhdGVkIHN1Y2Nlc3NmdWxseWApXG5cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIG1pZ3JhdGVEb3duKG1pZ3JhdGlvbjogTWlncmF0aW9uRW50aXR5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IG1pZ3JhdGlvbi5kb3duKHRoaXMuZGIpXG5cbiAgICAgICAgYXdhaXQgdGhpcy5kYlxuICAgICAgICAgICAgLmRlbGV0ZUZyb20oJ21pZ3JhdGlvbnMnKVxuICAgICAgICAgICAgLndoZXJlKCduYW1lJywgJz0nLCBtaWdyYXRpb24ubmFtZSlcbiAgICAgICAgICAgIC53aGVyZSgnbW9kdWxlJywgJz0nLCBtaWdyYXRpb24uc291cmNlKVxuICAgICAgICAgICAgLmV4ZWN1dGUoKVxuXG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oYCR7bWlncmF0aW9uLm5hbWV9IHJvbGxlZCBiYWNrIHN1Y2Nlc3NmdWxseWApXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBtaWdyYXRlRmlsZShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5lbnN1cmVNaWdyYXRpb25zVGFibGUoKVxuXG4gICAgICAgIGNvbnN0IG1pZ3JhdGlvbnMgPSBhd2FpdCB0aGlzLmxpc3QoKVxuICAgICAgICBjb25zdCBtaWdyYXRpb24gPSBtaWdyYXRpb25zLmZpbmQobSA9PiBtLmZpbGVuYW1lID09PSBmaWxlbmFtZSlcblxuICAgICAgICBpZiAoIW1pZ3JhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBwYXRoLmJhc2VuYW1lKGZpbGVuYW1lLCBwYXRoLmV4dG5hbWUoZmlsZW5hbWUpKSxcbiAgICAgICAgICAgICAgICBmaWxlbmFtZTogZmlsZW5hbWUsXG4gICAgICAgICAgICAgICAgc291cmNlOiBudWxsLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogJ2ZhaWxlZCcsXG4gICAgICAgICAgICAgICAgZXJyb3I6IG5ldyBFcnJvcihgTWlncmF0aW9uICR7ZmlsZW5hbWV9IG5vdCBmb3VuZGApXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWlncmF0aW9uLmV4ZWN1dGVkQXQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgZmlsZW5hbWU6IG1pZ3JhdGlvbi5maWxlbmFtZSxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IG1pZ3JhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgICAgICAgcmVzdWx0OiAnc3VjY2VzcycsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbZXJyb3JdID0gYXdhaXQgdHJ5Q2F0Y2goKCkgPT4gdGhpcy5taWdyYXRlVXAobWlncmF0aW9uKSlcblxuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgZmlsZW5hbWU6IG1pZ3JhdGlvbi5maWxlbmFtZSxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IG1pZ3JhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgICAgICAgcmVzdWx0OiAnZmFpbGVkJyxcbiAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICAgICAgZmlsZW5hbWU6IG1pZ3JhdGlvbi5maWxlbmFtZSxcbiAgICAgICAgICAgIHNvdXJjZTogbWlncmF0aW9uLnNvdXJjZSxcbiAgICAgICAgICAgIHJlc3VsdDogJ3N1Y2Nlc3MnXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHJvbGxiYWNrRmlsZShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5lbnN1cmVNaWdyYXRpb25zVGFibGUoKVxuXG4gICAgICAgIGNvbnN0IG1pZ3JhdGlvbnMgPSBhd2FpdCB0aGlzLmxpc3QoKVxuICAgICAgICBjb25zdCBtaWdyYXRpb24gPSBtaWdyYXRpb25zLmZpbmQobSA9PiBtLmZpbGVuYW1lID09PSBmaWxlbmFtZSlcblxuICAgICAgICBpZiAoIW1pZ3JhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBwYXRoLmJhc2VuYW1lKGZpbGVuYW1lLCBwYXRoLmV4dG5hbWUoZmlsZW5hbWUpKSxcbiAgICAgICAgICAgICAgICBmaWxlbmFtZTogZmlsZW5hbWUsXG4gICAgICAgICAgICAgICAgc291cmNlOiBudWxsLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogJ2ZhaWxlZCcsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGBNaWdyYXRpb24gJHtmaWxlbmFtZX0gbm90IGZvdW5kYFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFtaWdyYXRpb24uZXhlY3V0ZWRBdCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgICAgICAgICBmaWxlbmFtZTogbWlncmF0aW9uLmZpbGVuYW1lLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogbWlncmF0aW9uLnNvdXJjZSxcbiAgICAgICAgICAgICAgICByZXN1bHQ6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtlcnJvcl0gPSBhd2FpdCB0cnlDYXRjaCgoKSA9PiB0aGlzLm1pZ3JhdGVEb3duKG1pZ3JhdGlvbikpXG5cbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBtaWdyYXRpb24uZmlsZW5hbWUsXG4gICAgICAgICAgICAgICAgc291cmNlOiBtaWdyYXRpb24uc291cmNlLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogJ2ZhaWxlZCcsXG4gICAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgICAgIGZpbGVuYW1lOiBtaWdyYXRpb24uZmlsZW5hbWUsXG4gICAgICAgICAgICBzb3VyY2U6IG1pZ3JhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgICByZXN1bHQ6ICdzdWNjZXNzJ1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG1pZ3JhdGUoZmlsdGVyczogTGlzdEZpbHRlcnMgJiB7IHN0ZXBzPzogbnVtYmVyIH0gPSB7fSk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5lbnN1cmVNaWdyYXRpb25zVGFibGUoKVxuXG4gICAgICAgIGxldCBtaWdyYXRpb25zID0gYXdhaXQgdGhpcy5saXN0KGZpbHRlcnMpXG5cbiAgICAgICAgbWlncmF0aW9ucyA9IG1pZ3JhdGlvbnMuZmlsdGVyKG0gPT4gIW0uZXhlY3V0ZWRBdClcblxuICAgICAgICBtaWdyYXRpb25zLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG5cbiAgICAgICAgaWYgKGZpbHRlcnMuc3RlcHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbWlncmF0aW9ucyA9IG1pZ3JhdGlvbnMuc2xpY2UoMCwgZmlsdGVycy5zdGVwcylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtaWdyYXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCB0aGlzLmVtbWl0dGVyLmVtaXRBbmRXYWl0KCdtaWdyYXRvcjpiZWZvcmUtbWlncmF0ZScsIHtcbiAgICAgICAgICAgIG1pZ3JhdGlvbnM6IG1pZ3JhdGlvbnMubWFwKG0gPT4gbS5uYW1lKVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdHM6IE1pZ3JhdGlvblJlc3VsdFtdID0gW11cblxuICAgICAgICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBtaWdyYXRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm1pZ3JhdGVGaWxlKG1pZ3JhdGlvbi5maWxlbmFtZSlcblxuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdClcblxuICAgICAgICAgICAgLy8gU3RvcCBvbiBmaXJzdCBmYWlsdXJlXG4gICAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdCA9PT0gJ2ZhaWxlZCcpIHtcbiAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgdGhpcy5lbW1pdHRlci5lbWl0QW5kV2FpdCgnbWlncmF0b3I6YWZ0ZXItbWlncmF0ZScsIHtcbiAgICAgICAgICAgIG1pZ3JhdGlvbnM6IG1pZ3JhdGlvbnMsXG4gICAgICAgICAgICByZXN1bHRzXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdHNcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcm9sbGJhY2soZmlsdGVyczogTGlzdEZpbHRlcnMgJiB7IHN0ZXBzPzogbnVtYmVyIH0gPSB7fSk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5lbnN1cmVNaWdyYXRpb25zVGFibGUoKVxuXG4gICAgICAgIGxldCBtaWdyYXRpb25zID0gYXdhaXQgdGhpcy5saXN0KGZpbHRlcnMpXG5cbiAgICAgICAgbWlncmF0aW9ucyA9IG1pZ3JhdGlvbnMuZmlsdGVyKG0gPT4gbS5leGVjdXRlZEF0KVxuXG4gICAgICAgIG1pZ3JhdGlvbnMuc29ydCgoYSwgYikgPT4gYi5uYW1lLmxvY2FsZUNvbXBhcmUoYS5uYW1lKSlcblxuICAgICAgICBpZiAoZmlsdGVycy5zdGVwcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBtaWdyYXRpb25zID0gbWlncmF0aW9ucy5zbGljZSgwLCBmaWx0ZXJzLnN0ZXBzKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1pZ3JhdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHRoaXMuZW1taXR0ZXIuZW1pdEFuZFdhaXQoJ21pZ3JhdG9yOmJlZm9yZS1yb2xsYmFjaycsIHtcbiAgICAgICAgICAgIG1pZ3JhdGlvbnM6IG1pZ3JhdGlvbnMubWFwKG0gPT4gbS5uYW1lKVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdHM6IE1pZ3JhdGlvblJlc3VsdFtdID0gW11cblxuICAgICAgICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBtaWdyYXRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnJvbGxiYWNrRmlsZShtaWdyYXRpb24uZmlsZW5hbWUpXG5cbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXN1bHQpXG5cbiAgICAgICAgICAgIC8vIFN0b3Agb24gZmlyc3QgZmFpbHVyZVxuICAgICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHQgPT09ICdmYWlsZWQnKSB7XG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHRoaXMuZW1taXR0ZXIuZW1pdEFuZFdhaXQoJ21pZ3JhdG9yOmFmdGVyLXJvbGxiYWNrJywge1xuICAgICAgICAgICAgbWlncmF0aW9uczogbWlncmF0aW9ucy5tYXAobSA9PiBtLm5hbWUpXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdHNcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgdXAoc3RlcHM6IG51bWJlciA9IDEsIGZpbHRlcnM6IExpc3RGaWx0ZXJzID0ge30pOiBQcm9taXNlPE1pZ3JhdGlvblJlc3VsdFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pZ3JhdGUoe1xuICAgICAgICAgICAgLi4uZmlsdGVycyxcbiAgICAgICAgICAgIHN0ZXBzXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGRvd24oc3RlcHM6IG51bWJlciA9IDEsIGZpbHRlcnM6IExpc3RGaWx0ZXJzID0ge30pOiBQcm9taXNlPE1pZ3JhdGlvblJlc3VsdFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvbGxiYWNrKHtcbiAgICAgICAgICAgIC4uLmZpbHRlcnMsXG4gICAgICAgICAgICBzdGVwc1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsYXRlc3QoZmlsdGVyczogTGlzdEZpbHRlcnMgPSB7fSk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWlncmF0ZShmaWx0ZXJzKVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsYXRlc3RPckZhaWwoZmlsdGVyczogTGlzdEZpbHRlcnMgPSB7fSk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMubGF0ZXN0KGZpbHRlcnMpXG5cbiAgICAgICAgY29uc3QgZmFpbGVkID0gcmVzdWx0cy5maW5kKHIgPT4gci5yZXN1bHQgPT09ICdmYWlsZWQnKVxuXG4gICAgICAgIGlmIChmYWlsZWQpIHtcbiAgICAgICAgICAgIHRocm93IGZhaWxlZC5lcnJvciB8fCBuZXcgQmFzZUV4Y2VwdGlvbihgTWlncmF0aW9uIGZhaWxlZDogJHtmYWlsZWQubmFtZX1gKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdHNcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZnJlc2goZmlsdGVyczogTGlzdEZpbHRlcnMgJiB7IHN0ZXBzPzogbnVtYmVyIH0gPSB7fSk6IFByb21pc2U8TWlncmF0aW9uUmVzdWx0W10+IHtcbiAgICAgICAgY29uc3QgZG93blJlc3VsdHMgPSBhd2FpdCB0aGlzLnJvbGxiYWNrKGZpbHRlcnMpXG5cbiAgICAgICAgaWYgKGRvd25SZXN1bHRzLnNvbWUociA9PiByLnJlc3VsdCA9PT0gJ2ZhaWxlZCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gZG93blJlc3VsdHNcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVwUmVzdWx0cyA9IGF3YWl0IHRoaXMubWlncmF0ZShmaWx0ZXJzKVxuXG4gICAgICAgIHJldHVybiB1cFJlc3VsdHNcbiAgICB9XG5cbn1cblxuIl0sIm1hcHBpbmdzIjoiMlZBNERBLElBQXFCLEVBQXJCLEtBQXFDLENBQ2pDLE9BQWMsc0JBQXdCLGtCQUV0QyxNQUFlLEdBQ2YsU0FDQSxPQUNBLEdBQ0EsUUFFQSxZQUFZLEVBQWlDLENBQ3pDLEtBQUssTUFBUSxFQUFRLE9BQVMsS0FBSyxNQUNuQyxLQUFLLFNBQVcsRUFBUSxVQUFZLElBQUksRUFDeEMsS0FBSyxPQUFTLEVBQVEsUUFBVSxJQUFJLEVBQ3BDLEtBQUssR0FBSyxFQUFRLEdBQ2xCLEtBQUssUUFBVSxFQUFRLFFBRzNCLFVBQWlCLEVBQXlCLENBQ3RDLEtBQUssUUFBUSxLQUFLLEVBQU8sQ0FHN0IsTUFBYyx1QkFBd0IsQ0FDbEMsTUFBTSxLQUFLLEdBQUcsT0FDVCxZQUFZLGFBQWEsQ0FDekIsYUFBYSxDQUNiLFVBQVUsT0FBUSxlQUFpQixHQUFRLEVBQUksWUFBWSxDQUFDLENBQzVELFVBQVUsU0FBVSxlQUFlLENBQ25DLFVBQVUsY0FBZSxZQUFjLEdBQVEsRUFBSSxTQUFTLENBQUMsQ0FDN0QsU0FBUyxDQUdsQixNQUFhLFdBQVcsRUFBeUIsQ0FFN0MsR0FBSSxDQUFDLEVBQUcsV0FBVyxFQUFPLFVBQVUsQ0FHaEMsT0FGQSxLQUFLLE9BQU8sS0FBSyw4Q0FBOEMsRUFBTyxZQUFZLENBRTNFLEVBQUUsQ0FHYixJQUFNLEVBQVUsTUFBTSxFQUFHLFNBQVMsUUFBUSxFQUFPLFVB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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../createId-c4X4-v2p.mjs";var t=class{listeners=new Map;constructor(){process.on(`message`,e=>{let t=this.listeners.get(e.event);if(t)for(let n of t)n(e.data)})}on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t)}off(e,t){this.listeners.get(e)?.delete(t)}emit(t,n){if(!process.send)throw Error(`PluginIpcClient.emit: process.send is not available — process was not spawned with IPC channel`);let r=e(),i={id:r,event:t,data:n};return process.send(i),r}};export{t as PluginIpcClient};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luSXBjQ2xpZW50Lm1qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1BsdWdpbklwY0NsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVJZCB9IGZyb20gJy4uLy4uL3NoYXJlZC91dGlscy9jcmVhdGVJZC50cydcblxuZXhwb3J0IHR5cGUgSXBjTWVzc2FnZTxUID0gYW55PiA9IHtcbiAgICBpZDogc3RyaW5nXG4gICAgZXZlbnQ6IHN0cmluZ1xuICAgIGRhdGE6IFRcbn1cblxudHlwZSBJcGNMaXN0ZW5lcjxUID0gYW55PiA9IChkYXRhOiBUKSA9PiB2b2lkXG5cbmV4cG9ydCBjbGFzcyBQbHVnaW5JcGNDbGllbnQge1xuICAgIHByaXZhdGUgbGlzdGVuZXJzID0gbmV3IE1hcDxzdHJpbmcsIFNldDxJcGNMaXN0ZW5lcj4+KClcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgcHJvY2Vzcy5vbignbWVzc2FnZScsIChtZXNzYWdlOiBJcGNNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVycyA9IHRoaXMubGlzdGVuZXJzLmdldChtZXNzYWdlLmV2ZW50KVxuICAgICAgICAgICAgaWYgKCFoYW5kbGVycykgcmV0dXJuXG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiBoYW5kbGVycykge1xuICAgICAgICAgICAgICAgIGhhbmRsZXIobWVzc2FnZS5kYXRhKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHB1YmxpYyBvbjxUID0gYW55PihldmVudDogc3RyaW5nLCBjYWxsYmFjazogSXBjTGlzdGVuZXI8VD4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RlbmVycy5oYXMoZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5zZXQoZXZlbnQsIG5ldyBTZXQoKSlcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmdldChldmVudCkhLmFkZChjYWxsYmFjayBhcyBJcGNMaXN0ZW5lcilcbiAgICB9XG5cbiAgICBwdWJsaWMgb2ZmPFQgPSBhbnk+KGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiBJcGNMaXN0ZW5lcjxUPik6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5nZXQoZXZlbnQpPy5kZWxldGUoY2FsbGJhY2sgYXMgSXBjTGlzdGVuZXIpXG4gICAgfVxuXG4gICAgcHVibGljIGVtaXQ8VCA9IGFueT4oZXZlbnQ6IHN0cmluZywgZGF0YT86IFQpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXByb2Nlc3Muc2VuZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbHVnaW5JcGNDbGllbnQuZW1pdDogcHJvY2Vzcy5zZW5kIGlzIG5vdCBhdmFpbGFibGUg4oCUIHByb2Nlc3Mgd2FzIG5vdCBzcGF3bmVkIHdpdGggSVBDIGNoYW5uZWwnKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaWQgPSBjcmVhdGVJZCgpXG4gICAgICAgIGNvbnN0IG1lc3NhZ2U6IElwY01lc3NhZ2U8VD4gPSB7IGlkLCBldmVudCwgZGF0YTogZGF0YSBhcyBUIH1cbiAgICAgICAgcHJvY2Vzcy5zZW5kKG1lc3NhZ2UpXG5cbiAgICAgICAgcmV0dXJuIGlkXG4gICAgfVxuXG59XG5cbiJdLCJtYXBwaW5ncyI6IjZDQVVBLElBQWEsRUFBYixLQUE2QixDQUN6QixVQUFvQixJQUFJLElBQ3hCLGFBQWMsQ0FDVixRQUFRLEdBQUcsVUFBWSxHQUF3QixDQUMzQyxJQUFNLEVBQVcsS0FBSyxVQUFVLElBQUksRUFBUSxNQUFNLENBQzdDLEtBRUwsSUFBSyxJQUFNLEtBQVcsRUFDbEIsRUFBUSxFQUFRLEtBQUssRUFFM0IsQ0FHTixHQUFtQixFQUFlLEVBQWdDLENBQ3pELEtBQUssVUFBVSxJQUFJLEVBQU0sRUFDMUIsS0FBSyxVQUFVLElBQUksRUFBTyxJQUFJLElBQU0sQ0FHeEMsS0FBSyxVQUFVLElBQUksRUFBTSxDQUFFLElBQUksRUFBd0IsQ0FHM0QsSUFBb0IsRUFBZSxFQUFnQyxDQUMvRCxLQUFLLFVBQVUsSUFBSSxFQUFNLEVBQUUsT0FBTyxFQUF3QixDQUc5RCxLQUFxQixFQUFlLEVBQWtCLENBQ2xELEdBQUksQ0FBQyxRQUFRLEtBQ1QsTUFBVSxNQUFNLGlHQUFpRyxDQUdySCxJQUFNLEVBQUssR0FBVSxDQUNmLEVBQXlCLENBQUUsS0FBSSxRQUFhLE9BQVcsQ0FHN0QsT0FGQSxRQUFRLEtBQUssRUFBUSxDQUVkIn0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"../createId-c4X4-v2p.mjs";var t=class{listeners=new Map;constructor(e){this.child=e,this.child.on(`message`,e=>{let t=this.listeners.get(e.event);if(t)for(let n of t)n(e.data)})}on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t)}off(e,t){this.listeners.get(e)?.delete(t)}emit(t,n){if(!this.child.send)throw Error(`PluginIpcHost.emit: child process was not spawned with an IPC channel`);let r=e(),i={id:r,event:t,data:n};return this.child.send(i),r}};export{t as PluginIpcHost};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luSXBjSG9zdC5tanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci9zZXJ2aWNlcy9QbHVnaW5JcGNIb3N0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2hpbGRQcm9jZXNzIH0gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJ1xuaW1wb3J0IHsgY3JlYXRlSWQgfSBmcm9tICcuLi8uLi9zaGFyZWQvdXRpbHMvY3JlYXRlSWQudHMnXG5pbXBvcnQgdHlwZSB7IElwY01lc3NhZ2UgfSBmcm9tICcuL1BsdWdpbklwY0NsaWVudC50cydcblxudHlwZSBJcGNMaXN0ZW5lcjxUID0gYW55PiA9IChkYXRhOiBUKSA9PiB2b2lkXG5cbmV4cG9ydCBjbGFzcyBQbHVnaW5JcGNIb3N0IHtcbiAgICBwcml2YXRlIGxpc3RlbmVycyA9IG5ldyBNYXA8c3RyaW5nLCBTZXQ8SXBjTGlzdGVuZXI+PigpXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjaGlsZDogQ2hpbGRQcm9jZXNzKSB7XG4gICAgICAgIHRoaXMuY2hpbGQub24oJ21lc3NhZ2UnLCAobWVzc2FnZTogSXBjTWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlcnMgPSB0aGlzLmxpc3RlbmVycy5nZXQobWVzc2FnZS5ldmVudClcbiAgICAgICAgICAgIGlmICghaGFuZGxlcnMpIHJldHVyblxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgaGFuZGxlcnMpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVyKG1lc3NhZ2UuZGF0YSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwdWJsaWMgb248VCA9IGFueT4oZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s6IElwY0xpc3RlbmVyPFQ+KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5saXN0ZW5lcnMuaGFzKGV2ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KGV2ZW50LCBuZXcgU2V0KCkpXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxpc3RlbmVycy5nZXQoZXZlbnQpIS5hZGQoY2FsbGJhY2sgYXMgSXBjTGlzdGVuZXIpXG4gICAgfVxuXG4gICAgcHVibGljIG9mZjxUID0gYW55PihldmVudDogc3RyaW5nLCBjYWxsYmFjazogSXBjTGlzdGVuZXI8VD4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuZ2V0KGV2ZW50KT8uZGVsZXRlKGNhbGxiYWNrIGFzIElwY0xpc3RlbmVyKVxuICAgIH1cblxuICAgIHB1YmxpYyBlbWl0PFQgPSBhbnk+KGV2ZW50OiBzdHJpbmcsIGRhdGE/OiBUKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLmNoaWxkLnNlbmQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUGx1Z2luSXBjSG9zdC5lbWl0OiBjaGlsZCBwcm9jZXNzIHdhcyBub3Qgc3Bhd25lZCB3aXRoIGFuIElQQyBjaGFubmVsJylcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlkID0gY3JlYXRlSWQoKVxuICAgICAgICBjb25zdCBtZXNzYWdlOiBJcGNNZXNzYWdlPFQ+ID0geyBpZCwgZXZlbnQsIGRhdGE6IGRhdGEgYXMgVCB9XG4gICAgICAgIHRoaXMuY2hpbGQuc2VuZChtZXNzYWdlKVxuXG4gICAgICAgIHJldHVybiBpZFxuICAgIH1cblxufVxuIl0sIm1hcHBpbmdzIjoiNkNBTUEsSUFBYSxFQUFiLEtBQTJCLENBQ3ZCLFVBQW9CLElBQUksSUFDeEIsWUFBWSxFQUFzQyxDQUFyQixLQUFBLE1BQUEsRUFDekIsS0FBSyxNQUFNLEdBQUcsVUFBWSxHQUF3QixDQUM5QyxJQUFNLEVBQVcsS0FBSyxVQUFVLElBQUksRUFBUSxNQUFNLENBQzdDLEtBRUwsSUFBSyxJQUFNLEtBQVcsRUFDbEIsRUFBUSxFQUFRLEtBQUssRUFFM0IsQ0FHTixHQUFtQixFQUFlLEVBQWdDLENBQ3pELEtBQUssVUFBVSxJQUFJLEVBQU0sRUFDMUIsS0FBSyxVQUFVLElBQUksRUFBTyxJQUFJLElBQU0sQ0FHeEMsS0FBSyxVQUFVLElBQUksRUFBTSxDQUFFLElBQUksRUFBd0IsQ0FHM0QsSUFBb0IsRUFBZSxFQUFnQyxDQUMvRCxLQUFLLFVBQVUsSUFBSSxFQUFNLEVBQUUsT0FBTyxFQUF3QixDQUc5RCxLQUFxQixFQUFlLEVBQWtCLENBQ2xELEdBQUksQ0FBQyxLQUFLLE1BQU0sS0FDWixNQUFVLE1BQU0sd0VBQXdFLENBRzVGLElBQU0sRUFBSyxHQUFVLENBQ2YsRUFBeUIsQ0FBRSxLQUFJLFFBQWEsT0FBVyxDQUc3RCxPQUZBLEtBQUssTUFBTSxLQUFLLEVBQVEsQ0FFakIifQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as RouteReply, i as RouteHandler, n as PluginRouter, o as RouteRequest, r as RouteDefinition, s as RouteResponsePayload, t as HttpMethod } from "../PluginRouter-DOOBinlR.mjs";
|
|
2
|
+
export { HttpMethod, PluginRouter, RouteDefinition, RouteHandler, RouteReply, RouteRequest, RouteResponsePayload };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./PluginIpcClient.mjs";function e(e){let t=[],n=e.replace(/:[a-zA-Z_][a-zA-Z0-9_]*/g,e=>(t.push(e.slice(1)),`([^/]+)`)).replace(/\//g,`\\/`);return{pattern:RegExp(`^${n}$`),paramNames:t}}var t=class{routes=[];constructor(e){this.client=e,this.client.on(`router:request`,e=>this.dispatch(e))}async dispatch(e){for(let t of this.routes){if(t.method!==e.method)continue;let n=t.pattern.exec(e.path);if(!n)continue;let r={};t.paramNames.forEach((e,t)=>{r[e]=n[t+1]});let i=200,a={},o={status(e){return i=e,this},send:t=>{let n={requestId:e.requestId,status:i,body:t,headers:a};this.client.emit(`router:response`,n)}};await t.handler({...e,params:r},o);return}this.client.emit(`router:response`,{requestId:e.requestId,status:404,body:{message:`Not Found`}})}register(t,n,r){let{pattern:i,paramNames:a}=e(n);this.routes.push({method:t,path:n,handler:r,pattern:i,paramNames:a}),this.client.emit(`router:register`,{method:t,path:n})}get(e,t){this.register(`GET`,e,t)}post(e,t){this.register(`POST`,e,t)}put(e,t){this.register(`PUT`,e,t)}patch(e,t){this.register(`PATCH`,e,t)}delete(e,t){this.register(`DELETE`,e,t)}};export{t as PluginRouter};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luUm91dGVyLm1qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3NlcnZpY2VzL1BsdWdpblJvdXRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnaW5JcGNDbGllbnQgfSBmcm9tICcuL1BsdWdpbklwY0NsaWVudC50cydcblxuZXhwb3J0IHR5cGUgSHR0cE1ldGhvZCA9ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnUEFUQ0gnIHwgJ0RFTEVURSdcblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZURlZmluaXRpb24ge1xuICAgIG1ldGhvZDogSHR0cE1ldGhvZFxuICAgIHBhdGg6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlUmVxdWVzdCB7XG4gICAgcmVxdWVzdElkOiBzdHJpbmdcbiAgICBtZXRob2Q6IEh0dHBNZXRob2RcbiAgICBwYXRoOiBzdHJpbmdcbiAgICBib2R5PzogYW55XG4gICAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICBxdWVyeT86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVSZXNwb25zZVBheWxvYWQge1xuICAgIHJlcXVlc3RJZDogc3RyaW5nXG4gICAgc3RhdHVzOiBudW1iZXJcbiAgICBib2R5PzogYW55XG4gICAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZVJlcGx5IHtcbiAgICBzdGF0dXMoY29kZTogbnVtYmVyKTogUm91dGVSZXBseVxuICAgIHNlbmQoYm9keT86IGFueSk6IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgUm91dGVIYW5kbGVyID0gKHJlcTogUm91dGVSZXF1ZXN0LCByZXBseTogUm91dGVSZXBseSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD5cblxuaW50ZXJmYWNlIFJvdXRlRW50cnkgZXh0ZW5kcyBSb3V0ZURlZmluaXRpb24ge1xuICAgIGhhbmRsZXI6IFJvdXRlSGFuZGxlclxuICAgIHBhdHRlcm46IFJlZ0V4cFxuICAgIHBhcmFtTmFtZXM6IHN0cmluZ1tdXG59XG5cbmZ1bmN0aW9uIGJ1aWxkUGF0dGVybihwYXRoOiBzdHJpbmcpOiB7IHBhdHRlcm46IFJlZ0V4cDsgcGFyYW1OYW1lczogc3RyaW5nW10gfSB7XG4gICAgY29uc3QgcGFyYW1OYW1lczogc3RyaW5nW10gPSBbXVxuXG4gICAgY29uc3QgcmVnZXhTdHIgPSBwYXRoXG4gICAgICAgIC5yZXBsYWNlKC86W2EtekEtWl9dW2EtekEtWjAtOV9dKi9nLCAobWF0Y2gpID0+IHtcbiAgICAgICAgICAgIHBhcmFtTmFtZXMucHVzaChtYXRjaC5zbGljZSgxKSlcbiAgICAgICAgICAgIHJldHVybiAnKFteL10rKSdcbiAgICAgICAgfSlcbiAgICAgICAgLnJlcGxhY2UoL1xcLy9nLCAnXFxcXC8nKVxuXG4gICAgcmV0dXJuIHsgcGF0dGVybjogbmV3IFJlZ0V4cChgXiR7cmVnZXhTdHJ9JGApLCBwYXJhbU5hbWVzIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBsdWdpblJvdXRlciB7XG4gICAgcHJpdmF0ZSByb3V0ZXM6IFJvdXRlRW50cnlbXSA9IFtdXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNsaWVudDogUGx1Z2luSXBjQ2xpZW50KSB7XG4gICAgICAgIHRoaXMuY2xpZW50Lm9uPFJvdXRlUmVxdWVzdD4oJ3JvdXRlcjpyZXF1ZXN0JywgKHJlcSkgPT4gdGhpcy5kaXNwYXRjaChyZXEpKVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZGlzcGF0Y2gocmVxOiBSb3V0ZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgZm9yIChjb25zdCByb3V0ZSBvZiB0aGlzLnJvdXRlcykge1xuICAgICAgICAgICAgaWYgKHJvdXRlLm1ldGhvZCAhPT0gcmVxLm1ldGhvZCkgY29udGludWVcblxuICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSByb3V0ZS5wYXR0ZXJuLmV4ZWMocmVxLnBhdGgpXG4gICAgICAgICAgICBpZiAoIW1hdGNoKSBjb250aW51ZVxuXG4gICAgICAgICAgICBjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICAgICAgICAgICAgcm91dGUucGFyYW1OYW1lcy5mb3JFYWNoKChuYW1lLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgcGFyYW1zW25hbWVdID0gbWF0Y2hbaSArIDFdXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBsZXQgc3RhdHVzQ29kZSA9IDIwMFxuICAgICAgICAgICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlcGx5OiBSb3V0ZVJlcGx5ID0ge1xuICAgICAgICAgICAgICAgIHN0YXR1cyhjb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1c0NvZGUgPSBjb2RlXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZW5kOiAoYm9keT86IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZTogUm91dGVSZXNwb25zZVBheWxvYWQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6IHJlcS5yZXF1ZXN0SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1c0NvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsaWVudC5lbWl0KCdyb3V0ZXI6cmVzcG9uc2UnLCByZXNwb25zZSlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCByb3V0ZS5oYW5kbGVyKHsgLi4ucmVxLCBwYXJhbXMgfSwgcmVwbHkpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xpZW50LmVtaXQoJ3JvdXRlcjpyZXNwb25zZScsIHtcbiAgICAgICAgICAgIHJlcXVlc3RJZDogcmVxLnJlcXVlc3RJZCxcbiAgICAgICAgICAgIHN0YXR1czogNDA0LFxuICAgICAgICAgICAgYm9keTogeyBtZXNzYWdlOiAnTm90IEZvdW5kJyB9LFxuICAgICAgICB9IHNhdGlzZmllcyBSb3V0ZVJlc3BvbnNlUGF5bG9hZClcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyKG1ldGhvZDogSHR0cE1ldGhvZCwgcGF0aDogc3RyaW5nLCBoYW5kbGVyOiBSb3V0ZUhhbmRsZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBwYXR0ZXJuLCBwYXJhbU5hbWVzIH0gPSBidWlsZFBhdHRlcm4ocGF0aClcblxuICAgICAgICB0aGlzLnJvdXRlcy5wdXNoKHsgbWV0aG9kLCBwYXRoLCBoYW5kbGVyLCBwYXR0ZXJuLCBwYXJhbU5hbWVzIH0pXG4gICAgICAgIHRoaXMuY2xpZW50LmVtaXQoJ3JvdXRlcjpyZWdpc3RlcicsIHsgbWV0aG9kLCBwYXRoIH0gc2F0aXNmaWVzIFJvdXRlRGVmaW5pdGlvbilcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KHBhdGg6IHN0cmluZywgaGFuZGxlcjogUm91dGVIYW5kbGVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXIoJ0dFVCcsIHBhdGgsIGhhbmRsZXIpXG4gICAgfVxuXG4gICAgcHVibGljIHBvc3QocGF0aDogc3RyaW5nLCBoYW5kbGVyOiBSb3V0ZUhhbmRsZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlcignUE9TVCcsIHBhdGgsIGhhbmRsZXIpXG4gICAgfVxuXG4gICAgcHVibGljIHB1dChwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IFJvdXRlSGFuZGxlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyKCdQVVQnLCBwYXRoLCBoYW5kbGVyKVxuICAgIH1cblxuICAgIHB1YmxpYyBwYXRjaChwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IFJvdXRlSGFuZGxlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyKCdQQVRDSCcsIHBhdGgsIGhhbmRsZXIpXG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZShwYXRoOiBzdHJpbmcsIGhhbmRsZXI6IFJvdXRlSGFuZGxlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyKCdERUxFVEUnLCBwYXRoLCBoYW5kbGVyKVxuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjhCQXVDQSxTQUFTLEVBQWEsRUFBeUQsQ0FDM0UsSUFBTSxFQUF1QixFQUFFLENBRXpCLEVBQVcsRUFDWixRQUFRLDJCQUE2QixJQUNsQyxFQUFXLEtBQUssRUFBTSxNQUFNLEVBQUUsQ0FBQyxDQUN4QixXQUNULENBQ0QsUUFBUSxNQUFPLE1BQU0sQ0FFMUIsTUFBTyxDQUFFLFFBQWEsT0FBTyxJQUFJLEVBQVMsR0FBRyxDQUFFLGFBQVksQ0FHL0QsSUFBYSxFQUFiLEtBQTBCLENBQ3RCLE9BQStCLEVBQUUsQ0FFakMsWUFBWSxFQUEwQyxDQUF6QixLQUFBLE9BQUEsRUFDekIsS0FBSyxPQUFPLEdBQWlCLGlCQUFtQixHQUFRLEtBQUssU0FBUyxFQUFJLENBQUMsQ0FHL0UsTUFBYyxTQUFTLEVBQWtDLENBQ3JELElBQUssSUFBTSxLQUFTLEtBQUssT0FBUSxDQUM3QixHQUFJLEVBQU0sU0FBVyxFQUFJLE9BQVEsU0FFakMsSUFBTSxFQUFRLEVBQU0sUUFBUSxLQUFLLEVBQUksS0FBSyxDQUMxQyxHQUFJLENBQUMsRUFBTyxTQUVaLElBQU0sRUFBaUMsRUFBRSxDQUN6QyxFQUFNLFdBQVcsU0FBUyxFQUFNLElBQU0sQ0FDbEMsRUFBTyxHQUFRLEVBQU0sRUFBSSxJQUMzQixDQUVGLElBQUksRUFBYSxJQUNYLEVBQWtDLEVBQUUsQ0FFcEMsRUFBb0IsQ0FDdEIsT0FBTyxFQUFNLENBRVQsTUFEQSxHQUFhLEVBQ04sTUFFWCxLQUFPLEdBQWUsQ0FDbEIsSUFBTSxFQUFpQyxDQUNuQyxVQUFXLEVBQUksVUFDZixPQUFRLEVBQ1IsT0FDQSxVQUNILENBQ0QsS0FBSyxPQUFPLEtBQUssa0JBQW1CLEVBQVMsRUFFcEQsQ0FFRCxNQUFNLEVBQU0sUUFBUSxDQUFFLEdBQUcsRUFBSyxTQUFRLENBQUUsRUFBTSxDQUM5QyxPQUdKLEtBQUssT0FBTyxLQUFLLGtCQUFtQixDQUNoQyxVQUFXLEVBQUksVUFDZixPQUFRLElBQ1IsS0FBTSxDQUFFLFFBQVMsWUFBYSxDQUNqQyxDQUFnQyxDQUdyQyxTQUFpQixFQUFvQixFQUFjLEVBQTZCLENBQzVFLEdBQU0sQ0FBRSxVQUFTLGNBQWUsRUFBYSxFQUFLLENBRWxELEtBQUssT0FBTyxLQUFLLENBQUUsU0FBUSxPQUFNLFVBQVMsVUFBUyxhQUFZLENBQUMsQ0FDaEUsS0FBSyxPQUFPLEtBQUssa0JBQW1CLENBQUUsU0FBUSxPQUFNLENBQTJCLENBR25GLElBQVcsRUFBYyxFQUE2QixDQUNsRCxLQUFLLFNBQVMsTUFBTyxFQUFNLEVBQVEsQ0FHdkMsS0FBWSxFQUFjLEVBQTZCLENBQ25ELEtBQUssU0FBUyxPQUFRLEVBQU0sRUFBUSxDQUd4QyxJQUFXLEVBQWMsRUFBNkIsQ0FDbEQsS0FBSyxTQUFTLE1BQU8sRUFBTSxFQUFRLENBR3ZDLE1BQWEsRUFBYyxFQUE2QixDQUNwRCxLQUFLLFNBQVMsUUFBUyxFQUFNLEVBQVEsQ0FHekMsT0FBYyxFQUFjLEVBQTZCLENBQ3JELEtBQUssU0FBUyxTQUFVLEVBQU0sRUFBUSJ9
|