@aerokit/sdk 12.44.0
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/LICENSE +277 -0
- package/README.md +170 -0
- package/dist/cjs/bpm/deployer.js +57 -0
- package/dist/cjs/bpm/index.js +35 -0
- package/dist/cjs/bpm/process.js +636 -0
- package/dist/cjs/bpm/tasks.js +973 -0
- package/dist/cjs/bpm/values.js +82 -0
- package/dist/cjs/cache/cache.js +64 -0
- package/dist/cjs/cache/index.js +26 -0
- package/dist/cjs/cms/cmis.js +689 -0
- package/dist/cjs/cms/index.js +26 -0
- package/dist/cjs/component/decorators.js +126 -0
- package/dist/cjs/component/index.js +36 -0
- package/dist/cjs/core/configurations.js +110 -0
- package/dist/cjs/core/context.js +47 -0
- package/dist/cjs/core/env.js +45 -0
- package/dist/cjs/core/globals.js +54 -0
- package/dist/cjs/core/index.js +35 -0
- package/dist/cjs/db/dao.js +795 -0
- package/dist/cjs/db/database.js +904 -0
- package/dist/cjs/db/decorators.js +167 -0
- package/dist/cjs/db/index.js +72 -0
- package/dist/cjs/db/insert.js +51 -0
- package/dist/cjs/db/orm.js +245 -0
- package/dist/cjs/db/ormstatements.js +243 -0
- package/dist/cjs/db/procedure.js +112 -0
- package/dist/cjs/db/query.js +57 -0
- package/dist/cjs/db/repository.js +148 -0
- package/dist/cjs/db/sequence.js +59 -0
- package/dist/cjs/db/sql.js +516 -0
- package/dist/cjs/db/store.js +172 -0
- package/dist/cjs/db/translator.js +100 -0
- package/dist/cjs/db/update.js +43 -0
- package/dist/cjs/etcd/client.js +174 -0
- package/dist/cjs/etcd/index.js +26 -0
- package/dist/cjs/extensions/decorators.js +40 -0
- package/dist/cjs/extensions/extensions.js +108 -0
- package/dist/cjs/extensions/index.js +39 -0
- package/dist/cjs/git/client.js +277 -0
- package/dist/cjs/git/index.js +26 -0
- package/dist/cjs/http/client-async.js +224 -0
- package/dist/cjs/http/client.js +145 -0
- package/dist/cjs/http/decorators.js +76 -0
- package/dist/cjs/http/errors/ForbiddenError.js +41 -0
- package/dist/cjs/http/errors/ValidationError.js +41 -0
- package/dist/cjs/http/errors.js +26 -0
- package/dist/cjs/http/index.js +59 -0
- package/dist/cjs/http/request.js +281 -0
- package/dist/cjs/http/response.js +452 -0
- package/dist/cjs/http/rs/resource-common.js +32 -0
- package/dist/cjs/http/rs/resource-http-controller.js +306 -0
- package/dist/cjs/http/rs/resource-mappings.js +130 -0
- package/dist/cjs/http/rs/resource-method.js +218 -0
- package/dist/cjs/http/rs/resource.js +232 -0
- package/dist/cjs/http/rs.js +31 -0
- package/dist/cjs/http/session.js +124 -0
- package/dist/cjs/http/upload.js +144 -0
- package/dist/cjs/http/utils.js +106 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/indexing/index.js +29 -0
- package/dist/cjs/indexing/searcher.js +70 -0
- package/dist/cjs/indexing/writer.js +45 -0
- package/dist/cjs/integrations/index.js +26 -0
- package/dist/cjs/integrations/integrations.js +55 -0
- package/dist/cjs/io/bytes.js +101 -0
- package/dist/cjs/io/files.js +344 -0
- package/dist/cjs/io/image.js +43 -0
- package/dist/cjs/io/index.js +38 -0
- package/dist/cjs/io/streams.js +243 -0
- package/dist/cjs/io/zip.js +251 -0
- package/dist/cjs/job/decorators.js +40 -0
- package/dist/cjs/job/index.js +39 -0
- package/dist/cjs/job/scheduler.js +347 -0
- package/dist/cjs/junit/index.js +18 -0
- package/dist/cjs/junit/junit.js +67 -0
- package/dist/cjs/kafka/consumer.js +70 -0
- package/dist/cjs/kafka/index.js +29 -0
- package/dist/cjs/kafka/producer.js +70 -0
- package/dist/cjs/log/index.js +26 -0
- package/dist/cjs/log/logging.js +174 -0
- package/dist/cjs/mail/client.js +153 -0
- package/dist/cjs/mail/index.js +26 -0
- package/dist/cjs/messaging/consumer.js +83 -0
- package/dist/cjs/messaging/decorators.js +40 -0
- package/dist/cjs/messaging/index.js +42 -0
- package/dist/cjs/messaging/producer.js +81 -0
- package/dist/cjs/mongodb/client.js +627 -0
- package/dist/cjs/mongodb/dao.js +390 -0
- package/dist/cjs/mongodb/index.js +36 -0
- package/dist/cjs/net/decorators.js +40 -0
- package/dist/cjs/net/index.js +42 -0
- package/dist/cjs/net/soap.js +228 -0
- package/dist/cjs/net/websockets.js +151 -0
- package/dist/cjs/net/wrappers/onClose.js +2 -0
- package/dist/cjs/net/wrappers/onError.js +2 -0
- package/dist/cjs/net/wrappers/onMessage.js +2 -0
- package/dist/cjs/net/wrappers/onOpen.js +2 -0
- package/dist/cjs/pdf/index.js +26 -0
- package/dist/cjs/pdf/pdf.js +160 -0
- package/dist/cjs/platform/command.js +47 -0
- package/dist/cjs/platform/engines.js +70 -0
- package/dist/cjs/platform/index.js +47 -0
- package/dist/cjs/platform/lifecycle.js +49 -0
- package/dist/cjs/platform/os.js +51 -0
- package/dist/cjs/platform/problems.js +127 -0
- package/dist/cjs/platform/registry.js +319 -0
- package/dist/cjs/platform/repository.js +498 -0
- package/dist/cjs/platform/workspace.js +574 -0
- package/dist/cjs/qldb/index.js +26 -0
- package/dist/cjs/qldb/qldb.js +24 -0
- package/dist/cjs/rabbitmq/consumer.js +50 -0
- package/dist/cjs/rabbitmq/index.js +29 -0
- package/dist/cjs/rabbitmq/producer.js +38 -0
- package/dist/cjs/redis/client.js +190 -0
- package/dist/cjs/redis/index.js +26 -0
- package/dist/cjs/security/decorators.js +48 -0
- package/dist/cjs/security/index.js +40 -0
- package/dist/cjs/security/oauth.js +75 -0
- package/dist/cjs/security/user.js +88 -0
- package/dist/cjs/template/engines.js +139 -0
- package/dist/cjs/template/index.js +26 -0
- package/dist/cjs/utils/alphanumeric.js +107 -0
- package/dist/cjs/utils/base64.js +104 -0
- package/dist/cjs/utils/converter.js +78 -0
- package/dist/cjs/utils/digest.js +167 -0
- package/dist/cjs/utils/escape.js +160 -0
- package/dist/cjs/utils/hex.js +104 -0
- package/dist/cjs/utils/index.js +68 -0
- package/dist/cjs/utils/jsonpath.js +489 -0
- package/dist/cjs/utils/qrcode.js +41 -0
- package/dist/cjs/utils/url.js +82 -0
- package/dist/cjs/utils/utf8.js +61 -0
- package/dist/cjs/utils/uuid.js +48 -0
- package/dist/cjs/utils/xml.js +57 -0
- package/dist/dts/bpm/deployer.d.ts +29 -0
- package/dist/dts/bpm/index.d.ts +8 -0
- package/dist/dts/bpm/process.d.ts +433 -0
- package/dist/dts/bpm/tasks.d.ts +2022 -0
- package/dist/dts/bpm/values.d.ts +38 -0
- package/dist/dts/cache/cache.d.ts +30 -0
- package/dist/dts/cache/index.d.ts +2 -0
- package/dist/dts/cms/cmis.d.ts +413 -0
- package/dist/dts/cms/index.d.ts +2 -0
- package/dist/dts/component/decorators.d.ts +52 -0
- package/dist/dts/component/index.d.ts +2 -0
- package/dist/dts/core/configurations.d.ts +65 -0
- package/dist/dts/core/context.d.ts +19 -0
- package/dist/dts/core/env.d.ts +23 -0
- package/dist/dts/core/globals.d.ts +30 -0
- package/dist/dts/core/index.d.ts +8 -0
- package/dist/dts/db/dao.d.ts +8 -0
- package/dist/dts/db/database.d.ts +507 -0
- package/dist/dts/db/decorators.d.ts +89 -0
- package/dist/dts/db/index.d.ts +25 -0
- package/dist/dts/db/insert.d.ts +32 -0
- package/dist/dts/db/orm.d.ts +44 -0
- package/dist/dts/db/ormstatements.d.ts +4 -0
- package/dist/dts/db/procedure.d.ts +25 -0
- package/dist/dts/db/query.d.ts +48 -0
- package/dist/dts/db/repository.d.ts +64 -0
- package/dist/dts/db/sequence.d.ts +34 -0
- package/dist/dts/db/sql.d.ts +267 -0
- package/dist/dts/db/store.d.ts +138 -0
- package/dist/dts/db/translator.d.ts +26 -0
- package/dist/dts/db/update.d.ts +21 -0
- package/dist/dts/etcd/client.d.ts +92 -0
- package/dist/dts/etcd/index.d.ts +2 -0
- package/dist/dts/extensions/decorators.d.ts +11 -0
- package/dist/dts/extensions/extensions.d.ts +41 -0
- package/dist/dts/extensions/index.d.ts +4 -0
- package/dist/dts/git/client.d.ts +478 -0
- package/dist/dts/git/index.d.ts +2 -0
- package/dist/dts/http/client-async.d.ts +158 -0
- package/dist/dts/http/client.d.ts +180 -0
- package/dist/dts/http/decorators.d.ts +11 -0
- package/dist/dts/http/errors/ForbiddenError.d.ts +20 -0
- package/dist/dts/http/errors/ValidationError.d.ts +20 -0
- package/dist/dts/http/errors.d.ts +2 -0
- package/dist/dts/http/index.d.ts +16 -0
- package/dist/dts/http/request.d.ts +158 -0
- package/dist/dts/http/response.d.ts +281 -0
- package/dist/dts/http/rs/resource-common.d.ts +11 -0
- package/dist/dts/http/rs/resource-http-controller.d.ts +43 -0
- package/dist/dts/http/rs/resource-mappings.d.ts +70 -0
- package/dist/dts/http/rs/resource-method.d.ts +206 -0
- package/dist/dts/http/rs/resource.d.ts +126 -0
- package/dist/dts/http/rs.d.ts +4 -0
- package/dist/dts/http/session.d.ts +81 -0
- package/dist/dts/http/upload.d.ts +100 -0
- package/dist/dts/http/utils.d.ts +54 -0
- package/dist/dts/index.d.ts +0 -0
- package/dist/dts/indexing/index.d.ts +4 -0
- package/dist/dts/indexing/searcher.d.ts +47 -0
- package/dist/dts/indexing/writer.d.ts +22 -0
- package/dist/dts/integrations/index.d.ts +2 -0
- package/dist/dts/integrations/integrations.d.ts +118 -0
- package/dist/dts/io/bytes.d.ts +56 -0
- package/dist/dts/io/files.d.ts +261 -0
- package/dist/dts/io/image.d.ts +22 -0
- package/dist/dts/io/index.d.ts +10 -0
- package/dist/dts/io/streams.d.ts +172 -0
- package/dist/dts/io/zip.d.ts +178 -0
- package/dist/dts/job/decorators.d.ts +11 -0
- package/dist/dts/job/index.d.ts +4 -0
- package/dist/dts/job/scheduler.d.ts +250 -0
- package/dist/dts/junit/index.d.ts +1 -0
- package/dist/dts/junit/junit.d.ts +50 -0
- package/dist/dts/kafka/consumer.d.ts +48 -0
- package/dist/dts/kafka/index.d.ts +4 -0
- package/dist/dts/kafka/producer.d.ts +50 -0
- package/dist/dts/log/index.d.ts +2 -0
- package/dist/dts/log/logging.d.ts +102 -0
- package/dist/dts/mail/client.d.ts +90 -0
- package/dist/dts/mail/index.d.ts +2 -0
- package/dist/dts/messaging/consumer.d.ts +61 -0
- package/dist/dts/messaging/decorators.d.ts +11 -0
- package/dist/dts/messaging/index.d.ts +6 -0
- package/dist/dts/messaging/producer.d.ts +59 -0
- package/dist/dts/mongodb/client.d.ts +367 -0
- package/dist/dts/mongodb/dao.d.ts +24 -0
- package/dist/dts/mongodb/index.d.ts +2 -0
- package/dist/dts/net/decorators.d.ts +11 -0
- package/dist/dts/net/index.d.ts +6 -0
- package/dist/dts/net/soap.d.ts +115 -0
- package/dist/dts/net/websockets.d.ts +100 -0
- package/dist/dts/net/wrappers/onClose.d.ts +0 -0
- package/dist/dts/net/wrappers/onError.d.ts +0 -0
- package/dist/dts/net/wrappers/onMessage.d.ts +0 -0
- package/dist/dts/net/wrappers/onOpen.d.ts +0 -0
- package/dist/dts/pdf/index.d.ts +2 -0
- package/dist/dts/pdf/pdf.d.ts +72 -0
- package/dist/dts/platform/command.d.ts +41 -0
- package/dist/dts/platform/engines.d.ts +35 -0
- package/dist/dts/platform/index.d.ts +16 -0
- package/dist/dts/platform/lifecycle.d.ts +22 -0
- package/dist/dts/platform/os.d.ts +23 -0
- package/dist/dts/platform/problems.d.ts +114 -0
- package/dist/dts/platform/registry.d.ts +227 -0
- package/dist/dts/platform/repository.d.ts +354 -0
- package/dist/dts/platform/workspace.d.ts +421 -0
- package/dist/dts/qldb/index.d.ts +2 -0
- package/dist/dts/qldb/qldb.d.ts +1 -0
- package/dist/dts/rabbitmq/consumer.d.ts +25 -0
- package/dist/dts/rabbitmq/index.d.ts +4 -0
- package/dist/dts/rabbitmq/producer.d.ts +15 -0
- package/dist/dts/redis/client.d.ts +134 -0
- package/dist/dts/redis/index.d.ts +2 -0
- package/dist/dts/security/decorators.d.ts +4 -0
- package/dist/dts/security/index.d.ts +5 -0
- package/dist/dts/security/oauth.d.ts +39 -0
- package/dist/dts/security/user.d.ts +51 -0
- package/dist/dts/template/engines.d.ts +98 -0
- package/dist/dts/template/index.d.ts +2 -0
- package/dist/dts/utils/alphanumeric.d.ts +39 -0
- package/dist/dts/utils/base64.d.ts +48 -0
- package/dist/dts/utils/converter.d.ts +44 -0
- package/dist/dts/utils/digest.d.ts +50 -0
- package/dist/dts/utils/escape.d.ts +110 -0
- package/dist/dts/utils/hex.d.ts +48 -0
- package/dist/dts/utils/index.d.ts +23 -0
- package/dist/dts/utils/jsonpath.d.ts +22 -0
- package/dist/dts/utils/qrcode.d.ts +16 -0
- package/dist/dts/utils/url.d.ts +50 -0
- package/dist/dts/utils/utf8.d.ts +33 -0
- package/dist/dts/utils/uuid.d.ts +21 -0
- package/dist/dts/utils/xml.d.ts +22 -0
- package/dist/esm/bpm/deployer.mjs +38 -0
- package/dist/esm/bpm/index.mjs +15 -0
- package/dist/esm/bpm/process.mjs +617 -0
- package/dist/esm/bpm/tasks.mjs +954 -0
- package/dist/esm/bpm/values.mjs +63 -0
- package/dist/esm/cache/cache.mjs +45 -0
- package/dist/esm/cache/index.mjs +6 -0
- package/dist/esm/cms/cmis.mjs +660 -0
- package/dist/esm/cms/index.mjs +6 -0
- package/dist/esm/component/decorators.mjs +107 -0
- package/dist/esm/component/index.mjs +6 -0
- package/dist/esm/core/configurations.mjs +91 -0
- package/dist/esm/core/context.mjs +28 -0
- package/dist/esm/core/env.mjs +26 -0
- package/dist/esm/core/globals.mjs +35 -0
- package/dist/esm/core/index.mjs +15 -0
- package/dist/esm/db/dao.mjs +775 -0
- package/dist/esm/db/database.mjs +885 -0
- package/dist/esm/db/decorators.mjs +148 -0
- package/dist/esm/db/index.mjs +42 -0
- package/dist/esm/db/insert.mjs +32 -0
- package/dist/esm/db/orm.mjs +225 -0
- package/dist/esm/db/ormstatements.mjs +223 -0
- package/dist/esm/db/procedure.mjs +93 -0
- package/dist/esm/db/query.mjs +38 -0
- package/dist/esm/db/repository.mjs +129 -0
- package/dist/esm/db/sequence.mjs +40 -0
- package/dist/esm/db/sql.mjs +497 -0
- package/dist/esm/db/store.mjs +153 -0
- package/dist/esm/db/translator.mjs +81 -0
- package/dist/esm/db/update.mjs +24 -0
- package/dist/esm/etcd/client.mjs +155 -0
- package/dist/esm/etcd/index.mjs +6 -0
- package/dist/esm/extensions/decorators.mjs +21 -0
- package/dist/esm/extensions/extensions.mjs +89 -0
- package/dist/esm/extensions/index.mjs +9 -0
- package/dist/esm/git/client.mjs +258 -0
- package/dist/esm/git/index.mjs +6 -0
- package/dist/esm/http/client-async.mjs +205 -0
- package/dist/esm/http/client.mjs +126 -0
- package/dist/esm/http/decorators.mjs +47 -0
- package/dist/esm/http/errors/ForbiddenError.mjs +22 -0
- package/dist/esm/http/errors/ValidationError.mjs +22 -0
- package/dist/esm/http/errors.mjs +7 -0
- package/dist/esm/http/index.mjs +29 -0
- package/dist/esm/http/request.mjs +262 -0
- package/dist/esm/http/response.mjs +433 -0
- package/dist/esm/http/rs/resource-common.mjs +13 -0
- package/dist/esm/http/rs/resource-http-controller.mjs +287 -0
- package/dist/esm/http/rs/resource-mappings.mjs +111 -0
- package/dist/esm/http/rs/resource-method.mjs +199 -0
- package/dist/esm/http/rs/resource.mjs +213 -0
- package/dist/esm/http/rs.mjs +12 -0
- package/dist/esm/http/session.mjs +105 -0
- package/dist/esm/http/upload.mjs +125 -0
- package/dist/esm/http/utils.mjs +87 -0
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/indexing/index.mjs +9 -0
- package/dist/esm/indexing/searcher.mjs +51 -0
- package/dist/esm/indexing/writer.mjs +26 -0
- package/dist/esm/integrations/index.mjs +6 -0
- package/dist/esm/integrations/integrations.mjs +36 -0
- package/dist/esm/io/bytes.mjs +82 -0
- package/dist/esm/io/files.mjs +325 -0
- package/dist/esm/io/image.mjs +24 -0
- package/dist/esm/io/index.mjs +18 -0
- package/dist/esm/io/streams.mjs +224 -0
- package/dist/esm/io/zip.mjs +232 -0
- package/dist/esm/job/decorators.mjs +21 -0
- package/dist/esm/job/index.mjs +9 -0
- package/dist/esm/job/scheduler.mjs +328 -0
- package/dist/esm/junit/index.mjs +2 -0
- package/dist/esm/junit/junit.mjs +48 -0
- package/dist/esm/kafka/consumer.mjs +51 -0
- package/dist/esm/kafka/index.mjs +9 -0
- package/dist/esm/kafka/producer.mjs +51 -0
- package/dist/esm/log/index.mjs +6 -0
- package/dist/esm/log/logging.mjs +155 -0
- package/dist/esm/mail/client.mjs +134 -0
- package/dist/esm/mail/index.mjs +6 -0
- package/dist/esm/messaging/consumer.mjs +64 -0
- package/dist/esm/messaging/decorators.mjs +21 -0
- package/dist/esm/messaging/index.mjs +12 -0
- package/dist/esm/messaging/producer.mjs +62 -0
- package/dist/esm/mongodb/client.mjs +608 -0
- package/dist/esm/mongodb/dao.mjs +360 -0
- package/dist/esm/mongodb/index.mjs +7 -0
- package/dist/esm/net/decorators.mjs +21 -0
- package/dist/esm/net/index.mjs +12 -0
- package/dist/esm/net/soap.mjs +209 -0
- package/dist/esm/net/websockets.mjs +132 -0
- package/dist/esm/net/wrappers/onClose.mjs +2 -0
- package/dist/esm/net/wrappers/onError.mjs +2 -0
- package/dist/esm/net/wrappers/onMessage.mjs +2 -0
- package/dist/esm/net/wrappers/onOpen.mjs +2 -0
- package/dist/esm/pdf/index.mjs +6 -0
- package/dist/esm/pdf/pdf.mjs +141 -0
- package/dist/esm/platform/command.mjs +28 -0
- package/dist/esm/platform/engines.mjs +51 -0
- package/dist/esm/platform/index.mjs +27 -0
- package/dist/esm/platform/lifecycle.mjs +30 -0
- package/dist/esm/platform/os.mjs +32 -0
- package/dist/esm/platform/problems.mjs +108 -0
- package/dist/esm/platform/registry.mjs +300 -0
- package/dist/esm/platform/repository.mjs +479 -0
- package/dist/esm/platform/workspace.mjs +555 -0
- package/dist/esm/qldb/index.mjs +6 -0
- package/dist/esm/qldb/qldb.mjs +5 -0
- package/dist/esm/rabbitmq/consumer.mjs +31 -0
- package/dist/esm/rabbitmq/index.mjs +9 -0
- package/dist/esm/rabbitmq/producer.mjs +19 -0
- package/dist/esm/redis/client.mjs +171 -0
- package/dist/esm/redis/index.mjs +6 -0
- package/dist/esm/security/decorators.mjs +29 -0
- package/dist/esm/security/index.mjs +10 -0
- package/dist/esm/security/oauth.mjs +56 -0
- package/dist/esm/security/user.mjs +69 -0
- package/dist/esm/template/engines.mjs +120 -0
- package/dist/esm/template/index.mjs +6 -0
- package/dist/esm/utils/alphanumeric.mjs +88 -0
- package/dist/esm/utils/base64.mjs +85 -0
- package/dist/esm/utils/converter.mjs +59 -0
- package/dist/esm/utils/digest.mjs +148 -0
- package/dist/esm/utils/escape.mjs +141 -0
- package/dist/esm/utils/hex.mjs +85 -0
- package/dist/esm/utils/index.mjs +38 -0
- package/dist/esm/utils/jsonpath.mjs +470 -0
- package/dist/esm/utils/qrcode.mjs +22 -0
- package/dist/esm/utils/url.mjs +63 -0
- package/dist/esm/utils/utf8.mjs +42 -0
- package/dist/esm/utils/uuid.mjs +29 -0
- package/dist/esm/utils/xml.mjs +38 -0
- package/package.json +58 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { Bytes } from "@aerokit/sdk/io/bytes";
|
|
2
|
+
const ZipFacade = Java.type("org.eclipse.dirigible.components.api.io.ZipFacade");
|
|
3
|
+
class Zip {
|
|
4
|
+
/**
|
|
5
|
+
* Zips the content of a source directory or file into a target ZIP file.
|
|
6
|
+
*
|
|
7
|
+
* @param sourcePath The file system path to the content to be compressed.
|
|
8
|
+
* @param zipTargetPath The file system path where the resulting ZIP file should be saved.
|
|
9
|
+
*/
|
|
10
|
+
static zip(sourcePath, zipTargetPath) {
|
|
11
|
+
ZipFacade.exportZip(sourcePath, zipTargetPath);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Unzips an existing ZIP file into a target directory.
|
|
15
|
+
*
|
|
16
|
+
* @param zipPath The file system path to the ZIP file to be extracted.
|
|
17
|
+
* @param targetPath The file system path to the directory where content should be extracted.
|
|
18
|
+
*/
|
|
19
|
+
static unzip(zipPath, targetPath) {
|
|
20
|
+
ZipFacade.importZip(zipPath, targetPath);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Creates a {@link ZipInputStream} that reads ZIP archive data from a provided
|
|
24
|
+
* generic {@link InputStream}. This allows for reading ZIP entries without
|
|
25
|
+
* writing the archive to disk first.
|
|
26
|
+
*
|
|
27
|
+
* @param inputStream The source stream containing the raw ZIP data.
|
|
28
|
+
* @returns A new {@link ZipInputStream} instance.
|
|
29
|
+
*/
|
|
30
|
+
static createZipInputStream(inputStream) {
|
|
31
|
+
const native = ZipFacade.createZipInputStream(inputStream.native);
|
|
32
|
+
return new ZipInputStream(native);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a {@link ZipOutputStream} that writes compressed ZIP archive data
|
|
36
|
+
* to a provided generic {@link OutputStream}. This allows for creating ZIP archives
|
|
37
|
+
* in memory or streaming them directly.
|
|
38
|
+
*
|
|
39
|
+
* @param outputStream The destination stream where the raw ZIP data will be written.
|
|
40
|
+
* @returns A new {@link ZipOutputStream} instance.
|
|
41
|
+
*/
|
|
42
|
+
static createZipOutputStream(outputStream) {
|
|
43
|
+
const native = ZipFacade.createZipOutputStream(outputStream.native);
|
|
44
|
+
return new ZipOutputStream(native);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class ZipInputStream {
|
|
48
|
+
/**
|
|
49
|
+
* @param native The underlying native ZipInputStream object.
|
|
50
|
+
*/
|
|
51
|
+
constructor(native) {
|
|
52
|
+
this.native = native;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Reads the next ZIP file entry and positions the stream at the beginning of the entry data.
|
|
56
|
+
* Must be called before reading data for an entry.
|
|
57
|
+
*
|
|
58
|
+
* @returns The next {@link ZipEntry} object, or null if there are no more entries.
|
|
59
|
+
*/
|
|
60
|
+
getNextEntry() {
|
|
61
|
+
const native = this.native.getNextEntry();
|
|
62
|
+
return new ZipEntry(native);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reads the data for the current entry and returns it as a JavaScript byte array.
|
|
66
|
+
*
|
|
67
|
+
* @returns A JavaScript array (`number[]`) of the byte values for the current entry.
|
|
68
|
+
*/
|
|
69
|
+
read() {
|
|
70
|
+
const native = ZipFacade.readNative(this.native);
|
|
71
|
+
return Bytes.toJavaScriptBytes(native);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Reads the data for the current entry and returns the native Java byte array.
|
|
75
|
+
*
|
|
76
|
+
* @returns The native Java byte array object.
|
|
77
|
+
*/
|
|
78
|
+
readNative() {
|
|
79
|
+
return ZipFacade.readNative(this.native);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Reads the data for the current entry and converts it to a string
|
|
83
|
+
* using the platform's default character encoding.
|
|
84
|
+
*
|
|
85
|
+
* @returns The content of the current entry as a string.
|
|
86
|
+
*/
|
|
87
|
+
readText() {
|
|
88
|
+
return ZipFacade.readText(this.native);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Closes the underlying native ZipInputStream.
|
|
92
|
+
*/
|
|
93
|
+
close() {
|
|
94
|
+
this.native.close();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
class ZipOutputStream {
|
|
98
|
+
/**
|
|
99
|
+
* @param native The underlying native ZipOutputStream object.
|
|
100
|
+
*/
|
|
101
|
+
constructor(native) {
|
|
102
|
+
this.native = native;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Creates a new {@link ZipEntry} with the given name, and begins writing the
|
|
106
|
+
* entry's header to the archive stream. All subsequent write operations
|
|
107
|
+
* will apply to this entry until {@link closeEntry} is called.
|
|
108
|
+
*
|
|
109
|
+
* @param name The file or directory name to use inside the ZIP archive.
|
|
110
|
+
* @returns The newly created {@link ZipEntry} object.
|
|
111
|
+
*/
|
|
112
|
+
createZipEntry(name) {
|
|
113
|
+
const nativeNext = ZipFacade.createZipEntry(name);
|
|
114
|
+
const zipEntry = new ZipEntry(nativeNext);
|
|
115
|
+
this.native.putNextEntry(nativeNext);
|
|
116
|
+
return zipEntry;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Writes the data from a JavaScript byte array to the current active entry in the stream.
|
|
120
|
+
*
|
|
121
|
+
* @param data The JavaScript array (`number[]`) of byte values to write.
|
|
122
|
+
*/
|
|
123
|
+
write(data) {
|
|
124
|
+
const native = Bytes.toJavaBytes(data);
|
|
125
|
+
ZipFacade.writeNative(this.native, native);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Writes the data from a native Java byte array to the current active entry in the stream.
|
|
129
|
+
*
|
|
130
|
+
* @param data The native Java byte array object to write.
|
|
131
|
+
*/
|
|
132
|
+
writeNative(data) {
|
|
133
|
+
ZipFacade.writeNative(this.native, data);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Converts the string to bytes and writes it to the current active entry in the stream.
|
|
137
|
+
*
|
|
138
|
+
* @param text The string content to write.
|
|
139
|
+
*/
|
|
140
|
+
writeText(text) {
|
|
141
|
+
ZipFacade.writeText(this.native, text);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Closes the current active ZIP entry and positions the stream for the next entry.
|
|
145
|
+
*/
|
|
146
|
+
closeEntry() {
|
|
147
|
+
this.native.closeEntry();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Finalizes the writing of the ZIP file, flushes the stream, and closes the native object.
|
|
151
|
+
* This must be called after all entries have been written.
|
|
152
|
+
*/
|
|
153
|
+
close() {
|
|
154
|
+
this.native.finish();
|
|
155
|
+
this.native.flush();
|
|
156
|
+
this.native.close();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
class ZipEntry {
|
|
160
|
+
/**
|
|
161
|
+
* @param native The underlying native ZipEntry object.
|
|
162
|
+
*/
|
|
163
|
+
constructor(native) {
|
|
164
|
+
this.native = native;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Gets the name of the entry (path relative to the ZIP root).
|
|
168
|
+
* @returns The name of the entry.
|
|
169
|
+
*/
|
|
170
|
+
getName() {
|
|
171
|
+
return this.native.getName();
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Gets the uncompressed size of the entry data.
|
|
175
|
+
* @returns The size in bytes.
|
|
176
|
+
*/
|
|
177
|
+
getSize() {
|
|
178
|
+
return this.native.getSize();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Gets the compressed size of the entry data.
|
|
182
|
+
* @returns The compressed size in bytes.
|
|
183
|
+
*/
|
|
184
|
+
getCompressedSize() {
|
|
185
|
+
return this.native.getCompressedSize();
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Gets the modification time of the entry.
|
|
189
|
+
* @returns The time as a numerical timestamp.
|
|
190
|
+
*/
|
|
191
|
+
getTime() {
|
|
192
|
+
return this.native.getTime();
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Gets the CRC-32 checksum of the uncompressed entry data.
|
|
196
|
+
* @returns The CRC value.
|
|
197
|
+
*/
|
|
198
|
+
getCrc() {
|
|
199
|
+
return this.native.getCrc();
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Gets the optional comment for the entry.
|
|
203
|
+
* @returns The comment string.
|
|
204
|
+
*/
|
|
205
|
+
getComment() {
|
|
206
|
+
return this.native.getComment();
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Checks if the entry represents a directory.
|
|
210
|
+
* @returns True if it is a directory, false otherwise.
|
|
211
|
+
*/
|
|
212
|
+
isDirectory() {
|
|
213
|
+
return this.native.isDirectory();
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Checks if the underlying native ZipEntry object is defined and non-null.
|
|
217
|
+
* @returns True if the entry is valid, false otherwise.
|
|
218
|
+
*/
|
|
219
|
+
isValid() {
|
|
220
|
+
return this.native !== void 0 && this.native !== null;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
if (typeof module !== "undefined") {
|
|
224
|
+
module.exports = Zip;
|
|
225
|
+
}
|
|
226
|
+
export {
|
|
227
|
+
Zip,
|
|
228
|
+
ZipEntry,
|
|
229
|
+
ZipInputStream,
|
|
230
|
+
ZipOutputStream
|
|
231
|
+
};
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2lvL3ppcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXHJcbiAqIFByb3ZpZGVzIGEgZmFcdTAwRTdhZGUgZm9yIGhhbmRsaW5nIFpJUCBhcmNoaXZlIG9wZXJhdGlvbnMsIGluY2x1ZGluZ1xyXG4gKiBmaWxlIGNvbXByZXNzaW9uLCBkZWNvbXByZXNzaW9uLCBhbmQgc3RyZWFtLWJhc2VkIGVudHJ5IHByb2Nlc3NpbmcuXHJcbiAqL1xyXG5pbXBvcnQgeyBCeXRlcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vYnl0ZXNcIjtcclxuaW1wb3J0IHsgSW5wdXRTdHJlYW0sIE91dHB1dFN0cmVhbSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vc3RyZWFtc1wiO1xyXG5cclxuY29uc3QgWmlwRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmlvLlppcEZhY2FkZVwiKTtcclxuXHJcbi8qKlxyXG4gKiBUaGUgWmlwIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyB1dGlsaXR5IG1ldGhvZHMgZm9yIG1hbmFnaW5nIFpJUCBhcmNoaXZlc1xyXG4gKiBhdCBib3RoIGZpbGUgcGF0aCBsZXZlbCBhbmQgc3RyZWFtIGxldmVsLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFppcCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBaaXBzIHRoZSBjb250ZW50IG9mIGEgc291cmNlIGRpcmVjdG9yeSBvciBmaWxlIGludG8gYSB0YXJnZXQgWklQIGZpbGUuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHNvdXJjZVBhdGggVGhlIGZpbGUgc3lzdGVtIHBhdGggdG8gdGhlIGNvbnRlbnQgdG8gYmUgY29tcHJlc3NlZC5cclxuICAgICAqIEBwYXJhbSB6aXBUYXJnZXRQYXRoIFRoZSBmaWxlIHN5c3RlbSBwYXRoIHdoZXJlIHRoZSByZXN1bHRpbmcgWklQIGZpbGUgc2hvdWxkIGJlIHNhdmVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHppcChzb3VyY2VQYXRoOiBzdHJpbmcsIHppcFRhcmdldFBhdGg6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIFppcEZhY2FkZS5leHBvcnRaaXAoc291cmNlUGF0aCwgemlwVGFyZ2V0UGF0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVbnppcHMgYW4gZXhpc3RpbmcgWklQIGZpbGUgaW50byBhIHRhcmdldCBkaXJlY3RvcnkuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHppcFBhdGggVGhlIGZpbGUgc3lzdGVtIHBhdGggdG8gdGhlIFpJUCBmaWxlIHRvIGJlIGV4dHJhY3RlZC5cclxuICAgICAqIEBwYXJhbSB0YXJnZXRQYXRoIFRoZSBmaWxlIHN5c3RlbSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgY29udGVudCBzaG91bGQgYmUgZXh0cmFjdGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHVuemlwKHppcFBhdGg6IHN0cmluZywgdGFyZ2V0UGF0aDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgWmlwRmFjYWRlLmltcG9ydFppcCh6aXBQYXRoLCB0YXJnZXRQYXRoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgYSB7QGxpbmsgWmlwSW5wdXRTdHJlYW19IHRoYXQgcmVhZHMgWklQIGFyY2hpdmUgZGF0YSBmcm9tIGEgcHJvdmlkZWRcclxuICAgICAqIGdlbmVyaWMge0BsaW5rIElucHV0U3RyZWFtfS4gVGhpcyBhbGxvd3MgZm9yIHJlYWRpbmcgWklQIGVudHJpZXMgd2l0aG91dFxyXG4gICAgICogd3JpdGluZyB0aGUgYXJjaGl2ZSB0byBkaXNrIGZpcnN0LlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpbnB1dFN0cmVhbSBUaGUgc291cmNlIHN0cmVhbSBjb250YWluaW5nIHRoZSByYXcgWklQIGRhdGEuXHJcbiAgICAgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgWmlwSW5wdXRTdHJlYW19IGluc3RhbmNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZVppcElucHV0U3RyZWFtKGlucHV0U3RyZWFtOiBJbnB1dFN0cmVhbSk6IFppcElucHV0U3RyZWFtIHtcclxuICAgICAgICBjb25zdCBuYXRpdmUgPSBaaXBGYWNhZGUuY3JlYXRlWmlwSW5wdXRTdHJlYW0oaW5wdXRTdHJlYW0ubmF0aXZlKTtcclxuICAgICAgICByZXR1cm4gbmV3IFppcElucHV0U3RyZWFtKG5hdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEge0BsaW5rIFppcE91dHB1dFN0cmVhbX0gdGhhdCB3cml0ZXMgY29tcHJlc3NlZCBaSVAgYXJjaGl2ZSBkYXRhXHJcbiAgICAgKiB0byBhIHByb3ZpZGVkIGdlbmVyaWMge0BsaW5rIE91dHB1dFN0cmVhbX0uIFRoaXMgYWxsb3dzIGZvciBjcmVhdGluZyBaSVAgYXJjaGl2ZXNcclxuICAgICAqIGluIG1lbW9yeSBvciBzdHJlYW1pbmcgdGhlbSBkaXJlY3RseS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gb3V0cHV0U3RyZWFtIFRoZSBkZXN0aW5hdGlvbiBzdHJlYW0gd2hlcmUgdGhlIHJhdyBaSVAgZGF0YSB3aWxsIGJlIHdyaXR0ZW4uXHJcbiAgICAgKiBAcmV0dXJucyBBIG5ldyB7QGxpbmsgWmlwT3V0cHV0U3RyZWFtfSBpbnN0YW5jZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVaaXBPdXRwdXRTdHJlYW0ob3V0cHV0U3RyZWFtOiBPdXRwdXRTdHJlYW0pOiBaaXBPdXRwdXRTdHJlYW0ge1xyXG4gICAgICAgIGNvbnN0IG5hdGl2ZSA9IFppcEZhY2FkZS5jcmVhdGVaaXBPdXRwdXRTdHJlYW0ob3V0cHV0U3RyZWFtLm5hdGl2ZSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBaaXBPdXRwdXRTdHJlYW0obmF0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYW4gaW5wdXQgc3RyZWFtIGZvciByZWFkaW5nIGRhdGEgZnJvbSBhIFpJUCBhcmNoaXZlLlxyXG4gKiBEYXRhIGlzIGFjY2Vzc2VkIHNlcXVlbnRpYWxseSBieSBpdGVyYXRpbmcgdGhyb3VnaCB7QGxpbmsgWmlwRW50cnl9IG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgWmlwSW5wdXRTdHJlYW0ge1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcGFyYW0gbmF0aXZlIFRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBaaXBJbnB1dFN0cmVhbSBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWFkcyB0aGUgbmV4dCBaSVAgZmlsZSBlbnRyeSBhbmQgcG9zaXRpb25zIHRoZSBzdHJlYW0gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZW50cnkgZGF0YS5cclxuICAgICAqIE11c3QgYmUgY2FsbGVkIGJlZm9yZSByZWFkaW5nIGRhdGEgZm9yIGFuIGVudHJ5LlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFRoZSBuZXh0IHtAbGluayBaaXBFbnRyeX0gb2JqZWN0LCBvciBudWxsIGlmIHRoZXJlIGFyZSBubyBtb3JlIGVudHJpZXMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXROZXh0RW50cnkoKTogWmlwRW50cnkge1xyXG4gICAgICAgIGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldE5leHRFbnRyeSgpO1xyXG4gICAgICAgIC8vIElmIG5hdGl2ZSBpcyBudWxsIChlbmQgb2Ygc3RyZWFtKSwgdGhlIFppcEVudHJ5IGNvbnN0cnVjdG9yIHdpbGwgaGFuZGxlIHRoZSBudWxsIGNoZWNrIG9yIHRocm93L3JldHVybiBpbnZhbGlkLlxyXG4gICAgICAgIHJldHVybiBuZXcgWmlwRW50cnkobmF0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlYWRzIHRoZSBkYXRhIGZvciB0aGUgY3VycmVudCBlbnRyeSBhbmQgcmV0dXJucyBpdCBhcyBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheS5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgYXJyYXkgKGBudW1iZXJbXWApIG9mIHRoZSBieXRlIHZhbHVlcyBmb3IgdGhlIGN1cnJlbnQgZW50cnkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWFkKCk6IGFueVtdIHtcclxuICAgICAgICBjb25zdCBuYXRpdmUgPSBaaXBGYWNhZGUucmVhZE5hdGl2ZSh0aGlzLm5hdGl2ZSk7XHJcbiAgICAgICAgcmV0dXJuIEJ5dGVzLnRvSmF2YVNjcmlwdEJ5dGVzKG5hdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWFkcyB0aGUgZGF0YSBmb3IgdGhlIGN1cnJlbnQgZW50cnkgYW5kIHJldHVybnMgdGhlIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgVGhlIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZE5hdGl2ZSgpOiBhbnlbXSB7XHJcbiAgICAgICAgcmV0dXJuIFppcEZhY2FkZS5yZWFkTmF0aXZlKHRoaXMubmF0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlYWRzIHRoZSBkYXRhIGZvciB0aGUgY3VycmVudCBlbnRyeSBhbmQgY29udmVydHMgaXQgdG8gYSBzdHJpbmdcclxuICAgICAqIHVzaW5nIHRoZSBwbGF0Zm9ybSdzIGRlZmF1bHQgY2hhcmFjdGVyIGVuY29kaW5nLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFRoZSBjb250ZW50IG9mIHRoZSBjdXJyZW50IGVudHJ5IGFzIGEgc3RyaW5nLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZFRleHQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gWmlwRmFjYWRlLnJlYWRUZXh0KHRoaXMubmF0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsb3NlcyB0aGUgdW5kZXJseWluZyBuYXRpdmUgWmlwSW5wdXRTdHJlYW0uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5hdGl2ZS5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYW4gb3V0cHV0IHN0cmVhbSBmb3Igd3JpdGluZyBkYXRhIHRvIGEgWklQIGFyY2hpdmUuXHJcbiAqIEVudHJpZXMgbXVzdCBiZSBleHBsaWNpdGx5IGNyZWF0ZWQgYW5kIGNsb3NlZC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBaaXBPdXRwdXRTdHJlYW0ge1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcGFyYW0gbmF0aXZlIFRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBaaXBPdXRwdXRTdHJlYW0gb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xyXG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIG5ldyB7QGxpbmsgWmlwRW50cnl9IHdpdGggdGhlIGdpdmVuIG5hbWUsIGFuZCBiZWdpbnMgd3JpdGluZyB0aGVcclxuICAgICAqIGVudHJ5J3MgaGVhZGVyIHRvIHRoZSBhcmNoaXZlIHN0cmVhbS4gQWxsIHN1YnNlcXVlbnQgd3JpdGUgb3BlcmF0aW9uc1xyXG4gICAgICogd2lsbCBhcHBseSB0byB0aGlzIGVudHJ5IHVudGlsIHtAbGluayBjbG9zZUVudHJ5fSBpcyBjYWxsZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUgdG8gdXNlIGluc2lkZSB0aGUgWklQIGFyY2hpdmUuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCB7QGxpbmsgWmlwRW50cnl9IG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNyZWF0ZVppcEVudHJ5KG5hbWU6IHN0cmluZyk6IFppcEVudHJ5IHtcclxuICAgICAgICBjb25zdCBuYXRpdmVOZXh0ID0gWmlwRmFjYWRlLmNyZWF0ZVppcEVudHJ5KG5hbWUpO1xyXG4gICAgICAgIGNvbnN0IHppcEVudHJ5ID0gbmV3IFppcEVudHJ5KG5hdGl2ZU5leHQpO1xyXG4gICAgICAgIHRoaXMubmF0aXZlLnB1dE5leHRFbnRyeShuYXRpdmVOZXh0KTtcclxuICAgICAgICByZXR1cm4gemlwRW50cnk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXcml0ZXMgdGhlIGRhdGEgZnJvbSBhIEphdmFTY3JpcHQgYnl0ZSBhcnJheSB0byB0aGUgY3VycmVudCBhY3RpdmUgZW50cnkgaW4gdGhlIHN0cmVhbS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgSmF2YVNjcmlwdCBhcnJheSAoYG51bWJlcltdYCkgb2YgYnl0ZSB2YWx1ZXMgdG8gd3JpdGUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZShkYXRhOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG5hdGl2ZSA9IEJ5dGVzLnRvSmF2YUJ5dGVzKGRhdGEpO1xyXG4gICAgICAgIFppcEZhY2FkZS53cml0ZU5hdGl2ZSh0aGlzLm5hdGl2ZSwgbmF0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdyaXRlcyB0aGUgZGF0YSBmcm9tIGEgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSB0byB0aGUgY3VycmVudCBhY3RpdmUgZW50cnkgaW4gdGhlIHN0cmVhbS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSBvYmplY3QgdG8gd3JpdGUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZU5hdGl2ZShkYXRhOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgICAgIFppcEZhY2FkZS53cml0ZU5hdGl2ZSh0aGlzLm5hdGl2ZSwgZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb252ZXJ0cyB0aGUgc3RyaW5nIHRvIGJ5dGVzIGFuZCB3cml0ZXMgaXQgdG8gdGhlIGN1cnJlbnQgYWN0aXZlIGVudHJ5IGluIHRoZSBzdHJlYW0uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHRleHQgVGhlIHN0cmluZyBjb250ZW50IHRvIHdyaXRlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd3JpdGVUZXh0KHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIFppcEZhY2FkZS53cml0ZVRleHQodGhpcy5uYXRpdmUsIHRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xvc2VzIHRoZSBjdXJyZW50IGFjdGl2ZSBaSVAgZW50cnkgYW5kIHBvc2l0aW9ucyB0aGUgc3RyZWFtIGZvciB0aGUgbmV4dCBlbnRyeS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsb3NlRW50cnkoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUuY2xvc2VFbnRyeSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluYWxpemVzIHRoZSB3cml0aW5nIG9mIHRoZSBaSVAgZmlsZSwgZmx1c2hlcyB0aGUgc3RyZWFtLCBhbmQgY2xvc2VzIHRoZSBuYXRpdmUgb2JqZWN0LlxyXG4gICAgICogVGhpcyBtdXN0IGJlIGNhbGxlZCBhZnRlciBhbGwgZW50cmllcyBoYXZlIGJlZW4gd3JpdHRlbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmF0aXZlLmZpbmlzaCgpO1xyXG4gICAgICAgIHRoaXMubmF0aXZlLmZsdXNoKCk7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUuY2xvc2UoKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYW4gZW50cnkgKGZpbGUgb3IgZGlyZWN0b3J5KSB3aXRoaW4gYSBaSVAgYXJjaGl2ZS5cclxuICogSXQgaG9sZHMgbWV0YWRhdGEgYWJvdXQgdGhlIGFyY2hpdmVkIGl0ZW0uXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgWmlwRW50cnkge1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcGFyYW0gbmF0aXZlIFRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBaaXBFbnRyeSBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBlbnRyeSAocGF0aCByZWxhdGl2ZSB0byB0aGUgWklQIHJvb3QpLlxyXG4gICAgICogQHJldHVybnMgVGhlIG5hbWUgb2YgdGhlIGVudHJ5LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSB1bmNvbXByZXNzZWQgc2l6ZSBvZiB0aGUgZW50cnkgZGF0YS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBzaXplIGluIGJ5dGVzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0U2l6ZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRTaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBjb21wcmVzc2VkIHNpemUgb2YgdGhlIGVudHJ5IGRhdGEuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgY29tcHJlc3NlZCBzaXplIGluIGJ5dGVzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q29tcHJlc3NlZFNpemUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q29tcHJlc3NlZFNpemUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIG9mIHRoZSBlbnRyeS5cclxuICAgICAqIEByZXR1cm5zIFRoZSB0aW1lIGFzIGEgbnVtZXJpY2FsIHRpbWVzdGFtcC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFRpbWUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0VGltZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgQ1JDLTMyIGNoZWNrc3VtIG9mIHRoZSB1bmNvbXByZXNzZWQgZW50cnkgZGF0YS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBDUkMgdmFsdWUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDcmMoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q3JjKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBvcHRpb25hbCBjb21tZW50IGZvciB0aGUgZW50cnkuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgY29tbWVudCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDb21tZW50KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldENvbW1lbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBpZiB0aGUgZW50cnkgcmVwcmVzZW50cyBhIGRpcmVjdG9yeS5cclxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgaXQgaXMgYSBkaXJlY3RvcnksIGZhbHNlIG90aGVyd2lzZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzRGlyZWN0b3J5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5pc0RpcmVjdG9yeSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1bmRlcmx5aW5nIG5hdGl2ZSBaaXBFbnRyeSBvYmplY3QgaXMgZGVmaW5lZCBhbmQgbm9uLW51bGwuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBlbnRyeSBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLm5hdGl2ZSAhPT0gbnVsbDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQHRzLWlnbm9yZVxyXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHQvLyBAdHMtaWdub3JlXHJcblx0bW9kdWxlLmV4cG9ydHMgPSBaaXA7XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsU0FBUyxhQUFhO0FBR3RCLE1BQU0sWUFBWSxLQUFLLEtBQUssbURBQW1EO0FBTXhFLE1BQU0sSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWIsT0FBYyxJQUFJLFlBQW9CLGVBQTZCO0FBQy9ELGNBQVUsVUFBVSxZQUFZLGFBQWE7QUFBQSxFQUNqRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const SCHEDULED_METADATA_KEY = Symbol("scheduled:metadata");
|
|
2
|
+
function Scheduled(options) {
|
|
3
|
+
return function(target, context) {
|
|
4
|
+
if (context.kind !== "class") {
|
|
5
|
+
throw new Error(`@Scheduled can only be used on classes.`);
|
|
6
|
+
}
|
|
7
|
+
Object.defineProperty(target, SCHEDULED_METADATA_KEY, {
|
|
8
|
+
value: {
|
|
9
|
+
expression: options.expression,
|
|
10
|
+
group: options.group
|
|
11
|
+
},
|
|
12
|
+
writable: false,
|
|
13
|
+
configurable: false,
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
Scheduled
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9kZWNvcmF0b3JzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBTQ0hFRFVMRURfTUVUQURBVEFfS0VZID0gU3ltYm9sKFwic2NoZWR1bGVkOm1ldGFkYXRhXCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlZE9wdGlvbnMge1xuICAgIGV4cHJlc3Npb246IHN0cmluZzsgLy8gZS5nLiwgXCIwLzEwICogKiAqICogP1wiXG4gICAgZ3JvdXA/OiBzdHJpbmc7ICAgICAgLy8gZS5nLiwgXCJkZWZpbmVkXCJcbn1cblxuLyoqXG4gKiBAU2NoZWR1bGVkIGRlY29yYXRvclxuICogTWFya3MgYW4gZW50aXJlIGNsYXNzIGFzIGEgc2NoZWR1bGVkIGpvYiB3aXRoIGEgY3JvbiBleHByZXNzaW9uLlxuICpcbiAqIGludHJvZHVjZWQgaW4gVHlwZVNjcmlwdCA1LjAsIHdoaWNoIGV4cGVjdHMgYSBDbGFzc0RlY29yYXRvckNvbnRleHQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2NoZWR1bGVkKG9wdGlvbnM6IFNjaGVkdWxlZE9wdGlvbnMpIHtcbiAgICBcbiAgICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBhYnN0cmFjdCBuZXcgKC4uLmFyZ3M6IGFueSkgPT4gYW55Pih0YXJnZXQ6IFQsIGNvbnRleHQ6IENsYXNzRGVjb3JhdG9yQ29udGV4dDxUPikge1xuICAgICAgICBcbiAgICAgICAgaWYgKGNvbnRleHQua2luZCAhPT0gJ2NsYXNzJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBAU2NoZWR1bGVkIGNhbiBvbmx5IGJlIHVzZWQgb24gY2xhc3Nlcy5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIFNDSEVEVUxFRF9NRVRBREFUQV9LRVksIHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogb3B0aW9ucy5leHByZXNzaW9uLFxuICAgICAgICAgICAgICAgIGdyb3VwOiBvcHRpb25zLmdyb3VwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE1BQU0seUJBQXlCLE9BQU8sb0JBQW9CO0FBYW5ELFNBQVMsVUFBVSxTQUEyQjtBQUVqRCxTQUFPLFNBQXdELFFBQVcsU0FBbUM7QUFFekcsUUFBSSxRQUFRLFNBQVMsU0FBUztBQUMxQixZQUFNLElBQUksTUFBTSx5Q0FBeUM7QUFBQSxJQUM3RDtBQUVBLFdBQU8sZUFBZSxRQUFRLHdCQUF3QjtBQUFBLE1BQ2xELE9BQU87QUFBQSxRQUNILFlBQVksUUFBUTtBQUFBLFFBQ3BCLE9BQU8sUUFBUTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixjQUFjO0FBQUEsTUFDZCxZQUFZO0FBQUEsSUFDaEIsQ0FBQztBQUFBLEVBQ0w7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Scheduler } from "./scheduler";
|
|
2
|
+
export * from "./scheduler";
|
|
3
|
+
import * as decorators from "./decorators";
|
|
4
|
+
export * from "./decorators";
|
|
5
|
+
export {
|
|
6
|
+
decorators,
|
|
7
|
+
Scheduler as scheduler
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHsgU2NoZWR1bGVyIGFzIHNjaGVkdWxlciB9IGZyb20gXCIuL3NjaGVkdWxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2NoZWR1bGVyXCI7XG5leHBvcnQgKiBhcyBkZWNvcmF0b3JzIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFzQixpQkFBaUI7QUFDdkMsY0FBYztBQUNkLFlBQVksZ0JBQWdCO0FBQzVCLGNBQWM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { configurations } from "@aerokit/sdk/core";
|
|
2
|
+
const JobFacade = Java.type("org.eclipse.dirigible.components.api.job.JobFacade");
|
|
3
|
+
class Scheduler {
|
|
4
|
+
/**
|
|
5
|
+
* Retrieves all job definitions currently configured in the system.
|
|
6
|
+
*
|
|
7
|
+
* @returns An array of {@link Job} objects.
|
|
8
|
+
*/
|
|
9
|
+
static getJobs() {
|
|
10
|
+
const jobs = new Array();
|
|
11
|
+
const jobDefinitions = JSON.parse(JobFacade.getJobs());
|
|
12
|
+
for (const definition of jobDefinitions) {
|
|
13
|
+
jobs.push(new Job(definition));
|
|
14
|
+
}
|
|
15
|
+
return jobs;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Retrieves a specific job definition by its unique name.
|
|
19
|
+
*
|
|
20
|
+
* @param name The name of the job.
|
|
21
|
+
* @returns A {@link Job} object corresponding to the provided name.
|
|
22
|
+
*/
|
|
23
|
+
static getJob(name) {
|
|
24
|
+
const jobDefinition = JSON.parse(JobFacade.getJob(name));
|
|
25
|
+
return new Job(jobDefinition);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Enables a job, allowing it to be executed according to its schedule (cron expression).
|
|
29
|
+
*
|
|
30
|
+
* @param name The name of the job to enable.
|
|
31
|
+
*/
|
|
32
|
+
static enable(name) {
|
|
33
|
+
JobFacade.enable(name);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Disables a job, preventing it from executing on its schedule.
|
|
37
|
+
*
|
|
38
|
+
* @param name The name of the job to disable.
|
|
39
|
+
*/
|
|
40
|
+
static disable(name) {
|
|
41
|
+
JobFacade.disable(name);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Triggers the immediate execution of a job.
|
|
45
|
+
*
|
|
46
|
+
* @param name The name of the job to trigger.
|
|
47
|
+
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
48
|
+
*/
|
|
49
|
+
static trigger(name, parameters = {}) {
|
|
50
|
+
JobFacade.trigger(name, JSON.stringify(parameters));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Logs a message at the standard log level for a specific job instance.
|
|
54
|
+
* This is useful when the log context needs to be associated with a running job.
|
|
55
|
+
*
|
|
56
|
+
* @param name The name of the job to associate the log with.
|
|
57
|
+
* @param message The log message content.
|
|
58
|
+
*/
|
|
59
|
+
static log(name, message) {
|
|
60
|
+
JobFacade.log(name, message);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Logs an error message for a specific job instance.
|
|
64
|
+
*
|
|
65
|
+
* @param name The name of the job.
|
|
66
|
+
* @param message The error message content.
|
|
67
|
+
*/
|
|
68
|
+
static error(name, message) {
|
|
69
|
+
JobFacade.error(name, message);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Logs a warning message for a specific job instance.
|
|
73
|
+
*
|
|
74
|
+
* @param name The name of the job.
|
|
75
|
+
* @param message The warning message content.
|
|
76
|
+
*/
|
|
77
|
+
static warn(name, message) {
|
|
78
|
+
JobFacade.warn(name, message);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Logs an informational message for a specific job instance.
|
|
82
|
+
*
|
|
83
|
+
* @param name The name of the job.
|
|
84
|
+
* @param message The information message content.
|
|
85
|
+
*/
|
|
86
|
+
static info(name, message) {
|
|
87
|
+
JobFacade.info(name, message);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
class Job {
|
|
91
|
+
/**
|
|
92
|
+
* @param data The raw data object containing job properties.
|
|
93
|
+
*/
|
|
94
|
+
constructor(data) {
|
|
95
|
+
this.data = data;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Gets the unique name of the job.
|
|
99
|
+
* @returns The job name.
|
|
100
|
+
*/
|
|
101
|
+
getName() {
|
|
102
|
+
return this.data.name;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Gets the logical grouping for the job.
|
|
106
|
+
* @returns The job group name.
|
|
107
|
+
*/
|
|
108
|
+
getGroup() {
|
|
109
|
+
return this.data.group;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Gets the Java class name (for Java-based jobs) or script file name (for script-based jobs).
|
|
113
|
+
* @returns The job implementation class/file name.
|
|
114
|
+
*/
|
|
115
|
+
getClazz() {
|
|
116
|
+
return this.data.clazz;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Gets the description of the job's purpose.
|
|
120
|
+
* @returns The job description.
|
|
121
|
+
*/
|
|
122
|
+
getDescription() {
|
|
123
|
+
return this.data.description;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Gets the cron expression defining the job's schedule.
|
|
127
|
+
* @returns The cron expression string.
|
|
128
|
+
*/
|
|
129
|
+
getExpression() {
|
|
130
|
+
return this.data.expression;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Gets the handler file path or resource name for script-based jobs.
|
|
134
|
+
* @returns The handler path.
|
|
135
|
+
*/
|
|
136
|
+
getHandler() {
|
|
137
|
+
return this.data.handler;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Gets the execution engine type (e.g., 'JavaScript', 'Java').
|
|
141
|
+
* @returns The engine type.
|
|
142
|
+
*/
|
|
143
|
+
getEngine() {
|
|
144
|
+
return this.data.engine;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Checks if the job is configured as a singleton (only one instance runs at a time).
|
|
148
|
+
* @returns True if the job is a singleton.
|
|
149
|
+
*/
|
|
150
|
+
getSingleton() {
|
|
151
|
+
return this.data.singleton;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Checks if the job is currently enabled for scheduled execution.
|
|
155
|
+
* @returns True if the job is enabled.
|
|
156
|
+
*/
|
|
157
|
+
getEnabled() {
|
|
158
|
+
return this.data.enabled;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Gets the user ID who created the job definition.
|
|
162
|
+
* @returns The creator's user ID.
|
|
163
|
+
*/
|
|
164
|
+
getCreatedBy() {
|
|
165
|
+
return this.data.createdBy;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Gets the timestamp when the job definition was created.
|
|
169
|
+
* @returns The creation time as a numerical timestamp.
|
|
170
|
+
*/
|
|
171
|
+
getCreatedAt() {
|
|
172
|
+
return this.data.createdAt;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Gets the parameters associated with this job definition.
|
|
176
|
+
* @returns A {@link JobParameters} object containing all parameters.
|
|
177
|
+
*/
|
|
178
|
+
getParameters() {
|
|
179
|
+
return new JobParameters(this.data.parameters);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Retrieves the value for a specific parameter of this job.
|
|
183
|
+
* It checks for an overriding value in the global configurations first,
|
|
184
|
+
* and falls back to the defined default value if the configuration is not set.
|
|
185
|
+
*
|
|
186
|
+
* @param name The name of the parameter to retrieve.
|
|
187
|
+
* @returns The parameter's configured or default value, or null if not found.
|
|
188
|
+
*/
|
|
189
|
+
getParameter(name) {
|
|
190
|
+
if (this.data) {
|
|
191
|
+
for (let i in this.data.parameters) {
|
|
192
|
+
if (this.data.parameters[i].name === name) {
|
|
193
|
+
let value = configurations.get(name);
|
|
194
|
+
return value && value !== null ? value : this.data.parameters[i].defaultValue;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
} else {
|
|
198
|
+
console.error("Job is not valid");
|
|
199
|
+
}
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Enables this specific job instance.
|
|
204
|
+
*/
|
|
205
|
+
enable() {
|
|
206
|
+
JobFacade.enable(this.getName());
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Disables this specific job instance.
|
|
210
|
+
*/
|
|
211
|
+
disable() {
|
|
212
|
+
JobFacade.disable(this.getName());
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Triggers the immediate execution of this job instance.
|
|
216
|
+
*
|
|
217
|
+
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
218
|
+
*/
|
|
219
|
+
trigger(parameters = {}) {
|
|
220
|
+
JobFacade.trigger(this.getName(), JSON.stringify(parameters));
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Logs a message at the standard log level for this job instance.
|
|
224
|
+
*
|
|
225
|
+
* @param message The log message content.
|
|
226
|
+
*/
|
|
227
|
+
log(message) {
|
|
228
|
+
JobFacade.log(this.getName(), message);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Logs an error message for this job instance.
|
|
232
|
+
*
|
|
233
|
+
* @param message The error message content.
|
|
234
|
+
*/
|
|
235
|
+
error(message) {
|
|
236
|
+
JobFacade.error(this.getName(), message);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Logs a warning message for this job instance.
|
|
240
|
+
*
|
|
241
|
+
* @param message The warning message content.
|
|
242
|
+
*/
|
|
243
|
+
warn(message) {
|
|
244
|
+
JobFacade.warn(this.getName(), message);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Logs an informational message for this job instance.
|
|
248
|
+
*
|
|
249
|
+
* @param message The information message content.
|
|
250
|
+
*/
|
|
251
|
+
info(message) {
|
|
252
|
+
JobFacade.info(this.getName(), message);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
class JobParameters {
|
|
256
|
+
/**
|
|
257
|
+
* @param data The array of raw job parameter objects.
|
|
258
|
+
*/
|
|
259
|
+
constructor(data) {
|
|
260
|
+
this.data = data;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Retrieves a specific job parameter by its index.
|
|
264
|
+
*
|
|
265
|
+
* @param i The index of the parameter in the array.
|
|
266
|
+
* @returns A {@link JobParameter} object.
|
|
267
|
+
*/
|
|
268
|
+
get(i) {
|
|
269
|
+
return new JobParameter(this.data[i]);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Gets the total number of parameters defined for the job.
|
|
273
|
+
* @returns The count of parameters.
|
|
274
|
+
*/
|
|
275
|
+
count() {
|
|
276
|
+
return this.data.length;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
class JobParameter {
|
|
280
|
+
/**
|
|
281
|
+
* @param data The raw data object containing parameter properties.
|
|
282
|
+
*/
|
|
283
|
+
constructor(data) {
|
|
284
|
+
this.data = data;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Gets the name of the parameter.
|
|
288
|
+
* @returns The parameter name.
|
|
289
|
+
*/
|
|
290
|
+
getName() {
|
|
291
|
+
return this.data.name;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Gets the description of the parameter.
|
|
295
|
+
* @returns The parameter description.
|
|
296
|
+
*/
|
|
297
|
+
getDescription() {
|
|
298
|
+
return this.data.description;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Gets the expected data type of the parameter (e.g., 'String', 'Integer', 'Boolean').
|
|
302
|
+
* @returns The parameter type.
|
|
303
|
+
*/
|
|
304
|
+
getType() {
|
|
305
|
+
return this.data.type;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Gets the default value for the parameter.
|
|
309
|
+
* @returns The default value string.
|
|
310
|
+
*/
|
|
311
|
+
getDefaultValue() {
|
|
312
|
+
return this.data.defaultValue;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Gets a list of predefined choices for the parameter, if applicable.
|
|
316
|
+
* @returns An array of choice strings.
|
|
317
|
+
*/
|
|
318
|
+
getChoices() {
|
|
319
|
+
return this.data.choices;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
if (typeof module !== "undefined") {
|
|
323
|
+
module.exports = Scheduler;
|
|
324
|
+
}
|
|
325
|
+
export {
|
|
326
|
+
Scheduler
|
|
327
|
+
};
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogUHJvdmlkZXMgdGhlIEFQSSBmb3IgbWFuYWdpbmcgc2NoZWR1bGVkIGpvYnMgYW5kIHRhc2tzIHdpdGhpbiB0aGUgcGxhdGZvcm0sXG4gKiBhbGxvd2luZyB1c2VycyB0byByZXRyaWV2ZSwgZW5hYmxlLCBkaXNhYmxlLCBhbmQgdHJpZ2dlciBqb2JzLCBhcyB3ZWxsIGFzIGxvZyBvdXRwdXQuXG4gKi9cblxuaW1wb3J0IHsgY29uZmlndXJhdGlvbnMgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2NvcmVcIjtcblxuY29uc3QgSm9iRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmpvYi5Kb2JGYWNhZGVcIik7XG5cbi8qKlxuICogVGhlIFNjaGVkdWxlciBjbGFzcyBwcm92aWRlcyBzdGF0aWMgbWV0aG9kcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgam9iIHNjaGVkdWxlcixcbiAqIG9mZmVyaW5nIGdsb2JhbCBjb250cm9sIG92ZXIgdGhlIHN5c3RlbSdzIGRlZmluZWQgam9icy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjaGVkdWxlciB7XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYWxsIGpvYiBkZWZpbml0aW9ucyBjdXJyZW50bHkgY29uZmlndXJlZCBpbiB0aGUgc3lzdGVtLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2Yge0BsaW5rIEpvYn0gb2JqZWN0cy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYnMoKTogSm9iW10ge1xuICAgICAgICBjb25zdCBqb2JzID0gbmV3IEFycmF5PEpvYj4oKTtcbiAgICAgICAgY29uc3Qgam9iRGVmaW5pdGlvbnMgPSBKU09OLnBhcnNlKEpvYkZhY2FkZS5nZXRKb2JzKCkpO1xuICAgICAgICBmb3IgKGNvbnN0IGRlZmluaXRpb24gb2Ygam9iRGVmaW5pdGlvbnMpIHtcbiAgICAgICAgICAgIGpvYnMucHVzaChuZXcgSm9iKGRlZmluaXRpb24pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gam9icztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBqb2IgZGVmaW5pdGlvbiBieSBpdHMgdW5pcXVlIG5hbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYn0gb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb3ZpZGVkIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRKb2IobmFtZTogc3RyaW5nKTogSm9iIHtcbiAgICAgICAgY29uc3Qgam9iRGVmaW5pdGlvbiA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYihuYW1lKSk7XG4gICAgICAgIHJldHVybiBuZXcgSm9iKGpvYkRlZmluaXRpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuYWJsZXMgYSBqb2IsIGFsbG93aW5nIGl0IHRvIGJlIGV4ZWN1dGVkIGFjY29yZGluZyB0byBpdHMgc2NoZWR1bGUgKGNyb24gZXhwcmVzc2lvbikuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGVuYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVuYWJsZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVuYWJsZShuYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyBhIGpvYiwgcHJldmVudGluZyBpdCBmcm9tIGV4ZWN1dGluZyBvbiBpdHMgc2NoZWR1bGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGRpc2FibGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBkaXNhYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZGlzYWJsZShuYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyB0aGUgaW1tZWRpYXRlIGV4ZWN1dGlvbiBvZiBhIGpvYi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gdHJpZ2dlci5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBPcHRpb25hbCBrZXktdmFsdWUgb2JqZWN0IG9mIHBhcmFtZXRlcnMgdG8gcGFzcyB0byB0aGUgam9iIGV4ZWN1dGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRyaWdnZXIobmFtZTogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLnRyaWdnZXIobmFtZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBzdGFuZGFyZCBsb2cgbGV2ZWwgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqIFRoaXMgaXMgdXNlZnVsIHdoZW4gdGhlIGxvZyBjb250ZXh0IG5lZWRzIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCBhIHJ1bm5pbmcgam9iLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byBhc3NvY2lhdGUgdGhlIGxvZyB3aXRoLlxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBsb2cgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbG9nKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5sb2cobmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhbiBlcnJvciBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGVycm9yKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcihuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGEgd2FybmluZyBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIHdhcm5pbmcgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgd2FybihuYW1lOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUud2FybihuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBpbmZvcm1hdGlvbiBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBpbmZvKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5pbmZvKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgc2NoZWR1bGVkIGpvYiBkZWZpbml0aW9uLlxuICovXG5jbGFzcyBKb2Ige1xuXG4gICAgcHJpdmF0ZSBkYXRhOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgcmF3IGRhdGEgb2JqZWN0IGNvbnRhaW5pbmcgam9iIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdW5pcXVlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxvZ2ljYWwgZ3JvdXBpbmcgZm9yIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgVGhlIGpvYiBncm91cCBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRHcm91cCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdyb3VwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIEphdmEgY2xhc3MgbmFtZSAoZm9yIEphdmEtYmFzZWQgam9icykgb3Igc2NyaXB0IGZpbGUgbmFtZSAoZm9yIHNjcmlwdC1iYXNlZCBqb2JzKS5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGltcGxlbWVudGF0aW9uIGNsYXNzL2ZpbGUgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2xhenooKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5jbGF6ejtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgam9iJ3MgcHVycG9zZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGRlc2NyaXB0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGNyb24gZXhwcmVzc2lvbiBkZWZpbmluZyB0aGUgam9iJ3Mgc2NoZWR1bGUuXG4gICAgICogQHJldHVybnMgVGhlIGNyb24gZXhwcmVzc2lvbiBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIGdldEV4cHJlc3Npb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5leHByZXNzaW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGhhbmRsZXIgZmlsZSBwYXRoIG9yIHJlc291cmNlIG5hbWUgZm9yIHNjcmlwdC1iYXNlZCBqb2JzLlxuICAgICAqIEByZXR1cm5zIFRoZSBoYW5kbGVyIHBhdGguXG4gICAgICovXG4gICAgcHVibGljIGdldEhhbmRsZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5oYW5kbGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGV4ZWN1dGlvbiBlbmdpbmUgdHlwZSAoZS5nLiwgJ0phdmFTY3JpcHQnLCAnSmF2YScpLlxuICAgICAqIEByZXR1cm5zIFRoZSBlbmdpbmUgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5naW5lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZW5naW5lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgam9iIGlzIGNvbmZpZ3VyZWQgYXMgYSBzaW5nbGV0b24gKG9ubHkgb25lIGluc3RhbmNlIHJ1bnMgYXQgYSB0aW1lKS5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgYSBzaW5nbGV0b24uXG4gICAgICovXG4gICAgcHVibGljIGdldFNpbmdsZXRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5zaW5nbGV0b247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHNjaGVkdWxlZCBleGVjdXRpb24uXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgam9iIGlzIGVuYWJsZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZW5hYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1c2VyIElEIHdobyBjcmVhdGVkIHRoZSBqb2IgZGVmaW5pdGlvbi5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRvcidzIHVzZXIgSUQuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRCeSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRCeTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0aW1lc3RhbXAgd2hlbiB0aGUgam9iIGRlZmluaXRpb24gd2FzIGNyZWF0ZWQuXG4gICAgICogQHJldHVybnMgVGhlIGNyZWF0aW9uIHRpbWUgYXMgYSBudW1lcmljYWwgdGltZXN0YW1wLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDcmVhdGVkQXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5jcmVhdGVkQXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcGFyYW1ldGVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBqb2IgZGVmaW5pdGlvbi5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBKb2JQYXJhbWV0ZXJzfSBvYmplY3QgY29udGFpbmluZyBhbGwgcGFyYW1ldGVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGFyYW1ldGVycygpOiBKb2JQYXJhbWV0ZXJzIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXJzKHRoaXMuZGF0YS5wYXJhbWV0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIGZvciBhIHNwZWNpZmljIHBhcmFtZXRlciBvZiB0aGlzIGpvYi5cbiAgICAgKiBJdCBjaGVja3MgZm9yIGFuIG92ZXJyaWRpbmcgdmFsdWUgaW4gdGhlIGdsb2JhbCBjb25maWd1cmF0aW9ucyBmaXJzdCxcbiAgICAgKiBhbmQgZmFsbHMgYmFjayB0byB0aGUgZGVmaW5lZCBkZWZhdWx0IHZhbHVlIGlmIHRoZSBjb25maWd1cmF0aW9uIGlzIG5vdCBzZXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyIHRvIHJldHJpZXZlLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIncyBjb25maWd1cmVkIG9yIGRlZmF1bHQgdmFsdWUsIG9yIG51bGwgaWYgbm90IGZvdW5kLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXIobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSBpbiB0aGlzLmRhdGEucGFyYW1ldGVycykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGdsb2JhbCBjb25maWd1cmF0aW9uIGZvciBvdmVycmlkZVxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjb25maWd1cmF0aW9ucy5nZXQobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZSAhPT0gbnVsbCA/IHZhbHVlIDogdGhpcy5kYXRhLnBhcmFtZXRlcnNbaV0uZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJKb2IgaXMgbm90IHZhbGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuYWJsZXMgdGhpcyBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVuYWJsZSh0aGlzLmdldE5hbWUoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZXMgdGhpcyBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyB0aGUgaW1tZWRpYXRlIGV4ZWN1dGlvbiBvZiB0aGlzIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyB0cmlnZ2VyKHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcih0aGlzLmdldE5hbWUoKSwgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBzdGFuZGFyZCBsb2cgbGV2ZWwgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIGxvZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhbiBlcnJvciBtZXNzYWdlIGZvciB0aGlzIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIGVycm9yKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZXJyb3IodGhpcy5nZXROYW1lKCksIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIHdhcm5pbmcgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyB3YXJuKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUud2Fybih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhbiBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW5mbyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8odGhpcy5nZXROYW1lKCksIG1lc3NhZ2UpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBIGNvbnRhaW5lciBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBjb2xsZWN0aW9uIG9mIHBhcmFtZXRlcnMgZm9yIGEge0BsaW5rIEpvYn0uXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlcnMge1xuXG4gICAgcHJpdmF0ZSBkYXRhOiBhbnlbXVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGFycmF5IG9mIHJhdyBqb2IgcGFyYW1ldGVyIG9iamVjdHMuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogYW55W10pIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBqb2IgcGFyYW1ldGVyIGJ5IGl0cyBpbmRleC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpIFRoZSBpbmRleCBvZiB0aGUgcGFyYW1ldGVyIGluIHRoZSBhcnJheS5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBKb2JQYXJhbWV0ZXJ9IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0KGk6IG51bWJlcik6IEpvYlBhcmFtZXRlciB7XG4gICAgICAgIHJldHVybiBuZXcgSm9iUGFyYW1ldGVyKHRoaXMuZGF0YVtpXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdG90YWwgbnVtYmVyIG9mIHBhcmFtZXRlcnMgZGVmaW5lZCBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgY291bnQgb2YgcGFyYW1ldGVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGg7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgcGFyYW1ldGVyIGRlZmluaXRpb24gZm9yIGEgam9iLlxuICovXG5jbGFzcyBKb2JQYXJhbWV0ZXIge1xuXG4gICAgcHJpdmF0ZSBkYXRhOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgcmF3IGRhdGEgb2JqZWN0IGNvbnRhaW5pbmcgcGFyYW1ldGVyIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHBhcmFtZXRlci5cbiAgICAgKiBAcmV0dXJucyBUaGUgcGFyYW1ldGVyIGRlc2NyaXB0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGV4cGVjdGVkIGRhdGEgdHlwZSBvZiB0aGUgcGFyYW1ldGVyIChlLmcuLCAnU3RyaW5nJywgJ0ludGVnZXInLCAnQm9vbGVhbicpLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnR5cGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIHBhcmFtZXRlci5cbiAgICAgKiBAcmV0dXJucyBUaGUgZGVmYXVsdCB2YWx1ZSBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIGdldERlZmF1bHRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgbGlzdCBvZiBwcmVkZWZpbmVkIGNob2ljZXMgZm9yIHRoZSBwYXJhbWV0ZXIsIGlmIGFwcGxpY2FibGUuXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgY2hvaWNlIHN0cmluZ3MuXG4gICAgICovXG4gICAgcHVibGljIGdldENob2ljZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNob2ljZXM7XG4gICAgfVxuXG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gU2NoZWR1bGVyO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBS0EsU0FBUyxzQkFBc0I7QUFFL0IsTUFBTSxZQUFZLEtBQUssS0FBSyxvREFBb0Q7QUFNekUsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT25CLE9BQWMsVUFBaUI7QUFDM0IsVUFBTSxPQUFPLElBQUksTUFBVztBQUM1QixVQUFNLGlCQUFpQixLQUFLLE1BQU0sVUFBVSxRQUFRLENBQUM7QUFDckQsZUFBVyxjQUFjLGdCQUFnQjtBQUNyQyxXQUFLLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQztBQUFBLElBQ2pDO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsT0FBTyxNQUFtQjtBQUNwQyxVQUFNLGdCQUFnQixLQUFLLE1BQU0sVUFBVSxPQUFPLElBQUksQ0FBQztBQUN2RCxXQUFPLElBQUksSUFBSSxhQUFhO0FBQUEsRUFDaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLE9BQU8sTUFBb0I7QUFDckMsY0FBVSxPQUFPLElBQUk7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsUUFBUSxNQUFvQjtBQUN0QyxjQUFVLFFBQVEsSUFBSTtBQUFBLEVBQzFC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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./junit";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2p1bml0L2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9qdW5pdFwiO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K
|