@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,48 @@
|
|
|
1
|
+
const Assert = Java.type("org.junit.Assert");
|
|
2
|
+
function test(name, testFn) {
|
|
3
|
+
globalThis.test(name, testFn);
|
|
4
|
+
}
|
|
5
|
+
function assertEquals(messageOrExpected, expectedOrActual, actualOrUndefined) {
|
|
6
|
+
if (arguments.length === 3) {
|
|
7
|
+
Assert.assertEquals(messageOrExpected, expectedOrActual, actualOrUndefined);
|
|
8
|
+
} else {
|
|
9
|
+
Assert.assertEquals(messageOrExpected, expectedOrActual);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function assertNotEquals(messageOrUnexpected, unexpectedOrActual, actualOrUndefined) {
|
|
13
|
+
if (arguments.length === 3) {
|
|
14
|
+
Assert.assertNotEquals(messageOrUnexpected, unexpectedOrActual, actualOrUndefined);
|
|
15
|
+
} else {
|
|
16
|
+
Assert.assertNotEquals(messageOrUnexpected, unexpectedOrActual);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function assertTrue(messageOrCondition, conditionOrUndefined) {
|
|
20
|
+
if (arguments.length === 2) {
|
|
21
|
+
Assert.assertTrue(messageOrCondition, conditionOrUndefined);
|
|
22
|
+
} else {
|
|
23
|
+
Assert.assertTrue(messageOrCondition);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function assertFalse(messageOrCondition, conditionOrUndefined) {
|
|
27
|
+
if (arguments.length === 2) {
|
|
28
|
+
Assert.assertFalse(messageOrCondition, conditionOrUndefined);
|
|
29
|
+
} else {
|
|
30
|
+
Assert.assertFalse(messageOrCondition);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function fail(message) {
|
|
34
|
+
if (message) {
|
|
35
|
+
Assert.fail(message);
|
|
36
|
+
} else {
|
|
37
|
+
Assert.fail();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
assertEquals,
|
|
42
|
+
assertFalse,
|
|
43
|
+
assertNotEquals,
|
|
44
|
+
assertTrue,
|
|
45
|
+
fail,
|
|
46
|
+
test
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2p1bml0L2p1bml0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgc2V0IG9mIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBkZWZpbmluZyB0ZXN0cyBhbmQgcGVyZm9ybWluZyBhc3NlcnRpb25zLFxuICogd3JhcHBpbmcgdGhlIG5hdGl2ZSBKVW5pdCBBc3NlcnRpb25zIGZvciB1c2UgaW4gVHlwZVNjcmlwdC9KYXZhU2NyaXB0IHRlc3RzLlxuICovXG5jb25zdCBBc3NlcnQgPSBKYXZhLnR5cGUoJ29yZy5qdW5pdC5Bc3NlcnQnKTtcblxuLyoqXG4gKiBEZWZpbmVzIGEgdGVzdCBjYXNlLlxuICpcbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB0ZXN0IGNhc2UuXG4gKiBAcGFyYW0gdGVzdEZuIFRoZSBmdW5jdGlvbiBjb250YWluaW5nIHRoZSB0ZXN0IGxvZ2ljIGFuZCBhc3NlcnRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVzdChuYW1lOiBzdHJpbmcsIHRlc3RGbjogKCkgPT4gdm9pZCkge1xuICAgIC8vIENhbGxzIHRoZSBnbG9iYWwgdGVzdCBydW5uZXIgZnVuY3Rpb24gcHJvdmlkZWQgYnkgdGhlIFNESyBlbnZpcm9ubWVudC5cbiAgICAoZ2xvYmFsVGhpcyBhcyBhbnkpLnRlc3QobmFtZSwgdGVzdEZuKTtcbn1cblxuLyoqXG4gKiBBc3NlcnRzIHRoYXQgdHdvIG9iamVjdHMgb3IgcHJpbWl0aXZlIHZhbHVlcyBhcmUgZXF1YWwuXG4gKlxuICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgb2YgdGhlIHZhbHVlcyBiZWluZyBjb21wYXJlZC5cbiAqIEBwYXJhbSBleHBlY3RlZCBUaGUgZXhwZWN0ZWQgdmFsdWUuXG4gKiBAcGFyYW0gYWN0dWFsIFRoZSBhY3R1YWwgdmFsdWUuXG4gKiBAcGFyYW0gbWVzc2FnZSBPcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIGFzc2VydGlvbiBmYWlscy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEVxdWFsczxUPihleHBlY3RlZDogVCwgYWN0dWFsOiBUKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEVxdWFsczxUPihtZXNzYWdlOiBzdHJpbmcsIGV4cGVjdGVkOiBULCBhY3R1YWw6IFQpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RXF1YWxzPFQ+KG1lc3NhZ2VPckV4cGVjdGVkPzogc3RyaW5nIHwgVCwgZXhwZWN0ZWRPckFjdHVhbD86IFQsIGFjdHVhbE9yVW5kZWZpbmVkPzogVCk6IHZvaWQge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIEFzc2VydC5hc3NlcnRFcXVhbHMobWVzc2FnZU9yRXhwZWN0ZWQsIGV4cGVjdGVkT3JBY3R1YWwsIGFjdHVhbE9yVW5kZWZpbmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBBc3NlcnQuYXNzZXJ0RXF1YWxzKG1lc3NhZ2VPckV4cGVjdGVkLCBleHBlY3RlZE9yQWN0dWFsKTtcbiAgICB9XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IHR3byBvYmplY3RzIG9yIHByaW1pdGl2ZSB2YWx1ZXMgYXJlIG5vdCBlcXVhbC5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiB0aGUgdmFsdWVzIGJlaW5nIGNvbXBhcmVkLlxuICogQHBhcmFtIHVuZXhwZWN0ZWQgVGhlIHVuZXhwZWN0ZWQgdmFsdWUuXG4gKiBAcGFyYW0gYWN0dWFsIFRoZSBhY3R1YWwgdmFsdWUuXG4gKiBAcGFyYW0gbWVzc2FnZSBPcHRpb25hbCBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgdGhlIGFzc2VydGlvbiBmYWlscy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5vdEVxdWFsczxUPih1bmV4cGVjdGVkOiBULCBhY3R1YWw6IFQpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0Tm90RXF1YWxzPFQ+KG1lc3NhZ2U6IHN0cmluZywgdW5leHBlY3RlZDogVCwgYWN0dWFsOiBUKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydE5vdEVxdWFsczxUPihtZXNzYWdlT3JVbmV4cGVjdGVkPzogc3RyaW5nIHwgVCwgdW5leHBlY3RlZE9yQWN0dWFsPzogVCwgYWN0dWFsT3JVbmRlZmluZWQ/OiBUKTogdm9pZCB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydE5vdEVxdWFscyhtZXNzYWdlT3JVbmV4cGVjdGVkLCB1bmV4cGVjdGVkT3JBY3R1YWwsIGFjdHVhbE9yVW5kZWZpbmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBBc3NlcnQuYXNzZXJ0Tm90RXF1YWxzKG1lc3NhZ2VPclVuZXhwZWN0ZWQsIHVuZXhwZWN0ZWRPckFjdHVhbCk7XG4gICAgfVxufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIGNvbmRpdGlvbiBpcyB0cnVlLlxuICpcbiAqIEBwYXJhbSBjb25kaXRpb24gVGhlIGNvbmRpdGlvbiB0byB0ZXN0LlxuICogQHBhcmFtIG1lc3NhZ2UgT3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRUcnVlKGNvbmRpdGlvbjogYm9vbGVhbik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRUcnVlKG1lc3NhZ2U6IHN0cmluZywgY29uZGl0aW9uOiBib29sZWFuKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFRydWUobWVzc2FnZU9yQ29uZGl0aW9uPzogc3RyaW5nIHwgYm9vbGVhbiwgY29uZGl0aW9uT3JVbmRlZmluZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydFRydWUobWVzc2FnZU9yQ29uZGl0aW9uLCBjb25kaXRpb25PclVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydFRydWUobWVzc2FnZU9yQ29uZGl0aW9uKTtcbiAgICB9XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IGEgY29uZGl0aW9uIGlzIGZhbHNlLlxuICpcbiAqIEBwYXJhbSBjb25kaXRpb24gVGhlIGNvbmRpdGlvbiB0byB0ZXN0LlxuICogQHBhcmFtIG1lc3NhZ2UgT3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGlmIHRoZSBhc3NlcnRpb24gZmFpbHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRGYWxzZShjb25kaXRpb246IGJvb2xlYW4pOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RmFsc2UobWVzc2FnZTogc3RyaW5nLCBjb25kaXRpb246IGJvb2xlYW4pOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RmFsc2UobWVzc2FnZU9yQ29uZGl0aW9uPzogc3RyaW5nIHwgYm9vbGVhbiwgY29uZGl0aW9uT3JVbmRlZmluZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgQXNzZXJ0LmFzc2VydEZhbHNlKG1lc3NhZ2VPckNvbmRpdGlvbiwgY29uZGl0aW9uT3JVbmRlZmluZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIEFzc2VydC5hc3NlcnRGYWxzZShtZXNzYWdlT3JDb25kaXRpb24pO1xuICAgIH1cbn1cblxuLyoqXG4gKiBGYWlscyBhIHRlc3QgaW1tZWRpYXRlbHkuXG4gKlxuICogQHBhcmFtIG1lc3NhZ2UgT3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgdGhlIGZhaWx1cmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmYWlsKCk6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBmYWlsKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBmYWlsKG1lc3NhZ2U/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICBBc3NlcnQuZmFpbChtZXNzYWdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBBc3NlcnQuZmFpbCgpO1xuICAgIH1cbn0iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxNQUFNLFNBQVMsS0FBSyxLQUFLLGtCQUFrQjtBQVFwQyxTQUFTLEtBQUssTUFBYyxRQUFvQjtBQUVuRCxFQUFDLFdBQW1CLEtBQUssTUFBTSxNQUFNO0FBQ3pDO0FBWU8sU0FBUyxhQUFnQixtQkFBZ0Msa0JBQXNCLG1CQUE2QjtBQUMvRyxNQUFJLFVBQVUsV0FBVyxHQUFHO0FBQ3hCLFdBQU8sYUFBYSxtQkFBbUIsa0JBQWtCLGlCQUFpQjtBQUFBLEVBQzlFLE9BQU87QUFDSCxXQUFPLGFBQWEsbUJBQW1CLGdCQUFnQjtBQUFBLEVBQzNEO0FBQ0o7QUFZTyxTQUFTLGdCQUFtQixxQkFBa0Msb0JBQXdCLG1CQUE2QjtBQUN0SCxNQUFJLFVBQVUsV0FBVyxHQUFHO0FBQ3hCLFdBQU8sZ0JBQWdCLHFCQUFxQixvQkFBb0IsaUJBQWlCO0FBQUEsRUFDckYsT0FBTztBQUNILFdBQU8sZ0JBQWdCLHFCQUFxQixrQkFBa0I7QUFBQSxFQUNsRTtBQUNKO0FBVU8sU0FBUyxXQUFXLG9CQUF1QyxzQkFBc0M7QUFDcEcsTUFBSSxVQUFVLFdBQVcsR0FBRztBQUN4QixXQUFPLFdBQVcsb0JBQW9CLG9CQUFvQjtBQUFBLEVBQzlELE9BQU87QUFDSCxXQUFPLFdBQVcsa0JBQWtCO0FBQUEsRUFDeEM7QUFDSjtBQVVPLFNBQVMsWUFBWSxvQkFBdUMsc0JBQXNDO0FBQ3JHLE1BQUksVUFBVSxXQUFXLEdBQUc7QUFDeEIsV0FBTyxZQUFZLG9CQUFvQixvQkFBb0I7QUFBQSxFQUMvRCxPQUFPO0FBQ0gsV0FBTyxZQUFZLGtCQUFrQjtBQUFBLEVBQ3pDO0FBQ0o7QUFTTyxTQUFTLEtBQUssU0FBd0I7QUFDekMsTUFBSSxTQUFTO0FBQ1QsV0FBTyxLQUFLLE9BQU87QUFBQSxFQUN2QixPQUFPO0FBQ0gsV0FBTyxLQUFLO0FBQUEsRUFDaEI7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const KafkaFacade = Java.type("org.eclipse.dirigible.components.api.kafka.KafkaFacade");
|
|
2
|
+
class Consumer {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new topic configuration wrapper that can be used to start or
|
|
5
|
+
* stop listening for messages on a Kafka topic.
|
|
6
|
+
*
|
|
7
|
+
* @param destination The name of the Kafka topic to consume messages from.
|
|
8
|
+
* @param configuration Optional key-value object containing Kafka consumer properties
|
|
9
|
+
* (e.g., 'group.id', 'auto.offset.reset').
|
|
10
|
+
* @returns A {@link Topic} instance configured for the specified destination and properties.
|
|
11
|
+
*/
|
|
12
|
+
static topic(destination, configuration = {}) {
|
|
13
|
+
return new Topic(destination, configuration);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
class Topic {
|
|
17
|
+
/**
|
|
18
|
+
* @param destination The name of the Kafka topic.
|
|
19
|
+
* @param configuration Optional key-value object for consumer properties.
|
|
20
|
+
*/
|
|
21
|
+
constructor(destination, configuration = {}) {
|
|
22
|
+
this.configuration = {};
|
|
23
|
+
this.destination = destination;
|
|
24
|
+
this.configuration = configuration;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Starts listening to the configured topic in a background process.
|
|
28
|
+
*
|
|
29
|
+
* @param handler The path to the script or function name that will handle the incoming Kafka messages.
|
|
30
|
+
* This function should accept two arguments: `message` (string) and `headers` (object).
|
|
31
|
+
* @param timeout The maximum amount of time (in milliseconds) the consumer should wait for messages.
|
|
32
|
+
*/
|
|
33
|
+
startListening(handler, timeout) {
|
|
34
|
+
KafkaFacade.startListening(this.destination, handler, timeout, JSON.stringify(this.configuration));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Stops the background process that is listening to the configured topic.
|
|
38
|
+
* Note: Stopping is based on matching the topic and configuration, so the same
|
|
39
|
+
* configuration object used in `startListening` should be used here.
|
|
40
|
+
*/
|
|
41
|
+
stopListening() {
|
|
42
|
+
KafkaFacade.stopListening(this.destination, JSON.stringify(this.configuration));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (typeof module !== "undefined") {
|
|
46
|
+
module.exports = Consumer;
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
Consumer
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL2NvbnN1bWVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGFuIEFQSSBmb3IgY29uZmlndXJpbmcgYW5kIG1hbmFnaW5nIEthZmthIGNvbnN1bWVycyxcbiAqIGFsbG93aW5nIHNjcmlwdHMgdG8gc3RhcnQgYW5kIHN0b3AgbGlzdGVuaW5nIHRvIHNwZWNpZmljIHRvcGljcy5cbiAqL1xuY29uc3QgS2Fma2FGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkua2Fma2EuS2Fma2FGYWNhZGVcIik7XG5cbi8qKlxuICogVGhlIENvbnN1bWVyIGNsYXNzIGFjdHMgYXMgdGhlIG1haW4gZW50cnkgcG9pbnQgZm9yIGNyZWF0aW5nIGFuZCBjb25maWd1cmluZ1xuICogS2Fma2EgdG9waWMgY29uc3VtZXJzLlxuICovXG5leHBvcnQgY2xhc3MgQ29uc3VtZXIge1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyB0b3BpYyBjb25maWd1cmF0aW9uIHdyYXBwZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBzdGFydCBvclxuICAgICAqIHN0b3AgbGlzdGVuaW5nIGZvciBtZXNzYWdlcyBvbiBhIEthZmthIHRvcGljLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSBLYWZrYSB0b3BpYyB0byBjb25zdW1lIG1lc3NhZ2VzIGZyb20uXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBjb250YWluaW5nIEthZmthIGNvbnN1bWVyIHByb3BlcnRpZXNcbiAgICAgKiAoZS5nLiwgJ2dyb3VwLmlkJywgJ2F1dG8ub2Zmc2V0LnJlc2V0JykuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgVG9waWN9IGluc3RhbmNlIGNvbmZpZ3VyZWQgZm9yIHRoZSBzcGVjaWZpZWQgZGVzdGluYXRpb24gYW5kIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b3BpYyhkZXN0aW5hdGlvbjogc3RyaW5nLCBjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiBUb3BpYyB7XG4gICAgICAgIHJldHVybiBuZXcgVG9waWMoZGVzdGluYXRpb24sIGNvbmZpZ3VyYXRpb24pO1xuICAgIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29uZmlndXJlZCBLYWZrYSB0b3BpYyBjb25zdW1lciBjYXBhYmxlIG9mIHN0YXJ0aW5nIGFuZCBzdG9wcGluZ1xuICogYmFja2dyb3VuZCBtZXNzYWdlIGxpc3RlbmluZy5cbiAqL1xuY2xhc3MgVG9waWMge1xuICAgIHByaXZhdGUgZGVzdGluYXRpb246IHN0cmluZztcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgbmFtZSBvZiB0aGUgS2Fma2EgdG9waWMuXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBmb3IgY29uc3VtZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkZXN0aW5hdGlvbjogc3RyaW5nLCBjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0YXJ0cyBsaXN0ZW5pbmcgdG8gdGhlIGNvbmZpZ3VyZWQgdG9waWMgaW4gYSBiYWNrZ3JvdW5kIHByb2Nlc3MuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaGFuZGxlciBUaGUgcGF0aCB0byB0aGUgc2NyaXB0IG9yIGZ1bmN0aW9uIG5hbWUgdGhhdCB3aWxsIGhhbmRsZSB0aGUgaW5jb21pbmcgS2Fma2EgbWVzc2FnZXMuXG4gICAgICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYWNjZXB0IHR3byBhcmd1bWVudHM6IGBtZXNzYWdlYCAoc3RyaW5nKSBhbmQgYGhlYWRlcnNgIChvYmplY3QpLlxuICAgICAqIEBwYXJhbSB0aW1lb3V0IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZSBjb25zdW1lciBzaG91bGQgd2FpdCBmb3IgbWVzc2FnZXMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXJ0TGlzdGVuaW5nKGhhbmRsZXI6IHN0cmluZywgdGltZW91dDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIEthZmthRmFjYWRlLnN0YXJ0TGlzdGVuaW5nKHRoaXMuZGVzdGluYXRpb24sIGhhbmRsZXIsIHRpbWVvdXQsIEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlndXJhdGlvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3BzIHRoZSBiYWNrZ3JvdW5kIHByb2Nlc3MgdGhhdCBpcyBsaXN0ZW5pbmcgdG8gdGhlIGNvbmZpZ3VyZWQgdG9waWMuXG4gICAgICogTm90ZTogU3RvcHBpbmcgaXMgYmFzZWQgb24gbWF0Y2hpbmcgdGhlIHRvcGljIGFuZCBjb25maWd1cmF0aW9uLCBzbyB0aGUgc2FtZVxuICAgICAqIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHVzZWQgaW4gYHN0YXJ0TGlzdGVuaW5nYCBzaG91bGQgYmUgdXNlZCBoZXJlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdG9wTGlzdGVuaW5nKCk6IHZvaWQge1xuICAgICAgICBLYWZrYUZhY2FkZS5zdG9wTGlzdGVuaW5nKHRoaXMuZGVzdGluYXRpb24sIEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlndXJhdGlvbikpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG1vZHVsZS5leHBvcnRzID0gQ29uc3VtZXI7XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsTUFBTSxjQUFjLEtBQUssS0FBSyx3REFBd0Q7QUFNL0UsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbEIsT0FBYyxNQUFNLGFBQXFCLGdCQUEyQyxDQUFDLEdBQVU7QUFDM0YsV0FBTyxJQUFJLE1BQU0sYUFBYSxhQUFhO0FBQUEsRUFDL0M7QUFDSjtBQU1BLE1BQU0sTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRUixZQUFZLGFBQXFCLGdCQUEyQyxDQUFDLEdBQUc7QUFOaEYsU0FBUSxnQkFBMkMsQ0FBQztBQU9oRCxTQUFLLGNBQWM7QUFDbkIsU0FBSyxnQkFBZ0I7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxlQUFlLFNBQWlCLFNBQXVCO0FBQzFELGdCQUFZLGVBQWUsS0FBSyxhQUFhLFNBQVMsU0FBUyxLQUFLLFVBQVUsS0FBSyxhQUFhLENBQUM7QUFBQSxFQUNyRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLGdCQUFzQjtBQUN6QixnQkFBWSxjQUFjLEtBQUssYUFBYSxLQUFLLFVBQVUsS0FBSyxhQUFhLENBQUM7QUFBQSxFQUNsRjtBQUNKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUUvQixTQUFPLFVBQVU7QUFDckI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Consumer } from "./consumer";
|
|
2
|
+
export * from "./consumer";
|
|
3
|
+
import { Producer } from "./producer";
|
|
4
|
+
export * from "./producer";
|
|
5
|
+
export {
|
|
6
|
+
Consumer as consumer,
|
|
7
|
+
Producer as producer
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyBDb25zdW1lciBhcyBjb25zdW1lciB9IGZyb20gXCIuL2NvbnN1bWVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdW1lclwiO1xuZXhwb3J0IHsgUHJvZHVjZXIgYXMgcHJvZHVjZXIgfSBmcm9tIFwiLi9wcm9kdWNlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZHVjZXJcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFxQixnQkFBZ0I7QUFDckMsY0FBYztBQUNkLFNBQXFCLGdCQUFnQjtBQUNyQyxjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const KafkaFacade = Java.type("org.eclipse.dirigible.components.api.kafka.KafkaFacade");
|
|
2
|
+
class Producer {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new topic configuration wrapper that can be used to send messages
|
|
5
|
+
* to a specific Kafka topic.
|
|
6
|
+
*
|
|
7
|
+
* @param destination The name of the Kafka topic to send messages to.
|
|
8
|
+
* @param configuration Optional key-value object containing Kafka producer properties
|
|
9
|
+
* (e.g., 'bootstrap.servers', 'acks').
|
|
10
|
+
* @returns A {@link Topic} instance configured for the specified destination and properties.
|
|
11
|
+
*/
|
|
12
|
+
static topic(destination, configuration = {}) {
|
|
13
|
+
return new Topic(destination, configuration);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Closes the Kafka producer connection pool, releasing associated resources.
|
|
17
|
+
* This should be called when message sending is complete to ensure proper cleanup.
|
|
18
|
+
*
|
|
19
|
+
* @param configuration Optional key-value object containing the configuration
|
|
20
|
+
* used to initialize the producer to be closed.
|
|
21
|
+
*/
|
|
22
|
+
static close(configuration = {}) {
|
|
23
|
+
KafkaFacade.closeProducer(configuration);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
class Topic {
|
|
27
|
+
/**
|
|
28
|
+
* @param destination The name of the Kafka topic.
|
|
29
|
+
* @param configuration Key-value object for producer properties.
|
|
30
|
+
*/
|
|
31
|
+
constructor(destination, configuration) {
|
|
32
|
+
this.destination = destination;
|
|
33
|
+
this.configuration = configuration;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Sends a message with an optional key to the configured Kafka topic.
|
|
37
|
+
*
|
|
38
|
+
* @param key The key of the message. Messages with the same key go to the same partition.
|
|
39
|
+
* @param value The content of the message to be sent.
|
|
40
|
+
*/
|
|
41
|
+
send(key, value) {
|
|
42
|
+
KafkaFacade.send(this.destination, key, value, JSON.stringify(this.configuration));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (typeof module !== "undefined") {
|
|
46
|
+
module.exports = Producer;
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
Producer
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2thZmthL3Byb2R1Y2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGFuIEFQSSBmb3IgY29uZmlndXJpbmcgYW5kIG1hbmFnaW5nIEthZmthIHByb2R1Y2VycyxcbiAqIGFsbG93aW5nIHNjcmlwdHMgdG8gY3JlYXRlIHRvcGljcywgc2VuZCBtZXNzYWdlcywgYW5kIGNsb3NlIHRoZSBwcm9kdWNlciBjb25uZWN0aW9uLlxuICovXG5jb25zdCBLYWZrYUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5rYWZrYS5LYWZrYUZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgUHJvZHVjZXIgY2xhc3Mgc2VydmVzIGFzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciBjcmVhdGluZyBhbmQgY29uZmlndXJpbmdcbiAqIEthZmthIHRvcGljIHByb2R1Y2Vycy5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2R1Y2VyIHtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgdG9waWMgY29uZmlndXJhdGlvbiB3cmFwcGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VuZCBtZXNzYWdlc1xuICAgICAqIHRvIGEgc3BlY2lmaWMgS2Fma2EgdG9waWMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gVGhlIG5hbWUgb2YgdGhlIEthZmthIHRvcGljIHRvIHNlbmQgbWVzc2FnZXMgdG8uXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBjb250YWluaW5nIEthZmthIHByb2R1Y2VyIHByb3BlcnRpZXNcbiAgICAgKiAoZS5nLiwgJ2Jvb3RzdHJhcC5zZXJ2ZXJzJywgJ2Fja3MnKS5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBUb3BpY30gaW5zdGFuY2UgY29uZmlndXJlZCBmb3IgdGhlIHNwZWNpZmllZCBkZXN0aW5hdGlvbiBhbmQgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvcGljKGRlc3RpbmF0aW9uOiBzdHJpbmcsIGNvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IFRvcGljIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUb3BpYyhkZXN0aW5hdGlvbiwgY29uZmlndXJhdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIHRoZSBLYWZrYSBwcm9kdWNlciBjb25uZWN0aW9uIHBvb2wsIHJlbGVhc2luZyBhc3NvY2lhdGVkIHJlc291cmNlcy5cbiAgICAgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgd2hlbiBtZXNzYWdlIHNlbmRpbmcgaXMgY29tcGxldGUgdG8gZW5zdXJlIHByb3BlciBjbGVhbnVwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb24gT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBjb250YWluaW5nIHRoZSBjb25maWd1cmF0aW9uXG4gICAgICogdXNlZCB0byBpbml0aWFsaXplIHRoZSBwcm9kdWNlciB0byBiZSBjbG9zZWQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBjbG9zZShjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pOiB2b2lkIHtcbiAgICAgICAgS2Fma2FGYWNhZGUuY2xvc2VQcm9kdWNlcihjb25maWd1cmF0aW9uKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbmZpZ3VyZWQgS2Fma2EgdG9waWMgdGhhdCBjYW4gYmUgdXNlZCB0byBzZW5kIG1lc3NhZ2VzLlxuICovXG5jbGFzcyBUb3BpYyB7XG5cbiAgICBwcml2YXRlIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSBLYWZrYSB0b3BpYy5cbiAgICAgKiBAcGFyYW0gY29uZmlndXJhdGlvbiBLZXktdmFsdWUgb2JqZWN0IGZvciBwcm9kdWNlciBwcm9wZXJ0aWVzLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uOiBzdHJpbmcsIGNvbmZpZ3VyYXRpb246IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmRzIGEgbWVzc2FnZSB3aXRoIGFuIG9wdGlvbmFsIGtleSB0byB0aGUgY29uZmlndXJlZCBLYWZrYSB0b3BpYy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbWVzc2FnZS4gTWVzc2FnZXMgd2l0aCB0aGUgc2FtZSBrZXkgZ28gdG8gdGhlIHNhbWUgcGFydGl0aW9uLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgY29udGVudCBvZiB0aGUgbWVzc2FnZSB0byBiZSBzZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZW5kKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEthZmthRmFjYWRlLnNlbmQodGhpcy5kZXN0aW5hdGlvbiwga2V5LCB2YWx1ZSwgSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWd1cmF0aW9uKSk7XG4gICAgfVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFByb2R1Y2VyO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE1BQU0sY0FBYyxLQUFLLEtBQUssd0RBQXdEO0FBTS9FLE1BQU0sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV2xCLE9BQWMsTUFBTSxhQUFxQixnQkFBMkMsQ0FBQyxHQUFVO0FBQzNGLFdBQU8sSUFBSSxNQUFNLGFBQWEsYUFBYTtBQUFBLEVBQy9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsTUFBTSxnQkFBMkMsQ0FBQyxHQUFTO0FBQ3JFLGdCQUFZLGNBQWMsYUFBYTtBQUFBLEVBQzNDO0FBQ0o7QUFLQSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1IsWUFBWSxhQUFxQixlQUEwQztBQUN2RSxTQUFLLGNBQWM7QUFDbkIsU0FBSyxnQkFBZ0I7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sS0FBSyxLQUFhLE9BQXFCO0FBQzFDLGdCQUFZLEtBQUssS0FBSyxhQUFhLEtBQUssT0FBTyxLQUFLLFVBQVUsS0FBSyxhQUFhLENBQUM7QUFBQSxFQUNyRjtBQUNKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Logging } from "./logging";
|
|
2
|
+
export * from "./logging";
|
|
3
|
+
export {
|
|
4
|
+
Logging as logging
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xvZy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHsgTG9nZ2luZyBhcyBsb2dnaW5nIH0gZnJvbSBcIi4vbG9nZ2luZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nZ2luZ1wiOyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQW9CLGVBQWU7QUFDbkMsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
const LogFacade = Java.type("org.eclipse.dirigible.components.api.log.LogFacade");
|
|
2
|
+
class Logging {
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves or creates a Logger instance associated with a specific name.
|
|
5
|
+
* The logger name is typically used to categorize log messages (e.g., 'com.app.service').
|
|
6
|
+
*
|
|
7
|
+
* @param loggerName The name of the logger.
|
|
8
|
+
* @returns A {@link Logger} instance.
|
|
9
|
+
*/
|
|
10
|
+
static getLogger(loggerName) {
|
|
11
|
+
return new Logger(loggerName);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class Logger {
|
|
15
|
+
/**
|
|
16
|
+
* @param loggerName The name of the logger.
|
|
17
|
+
*/
|
|
18
|
+
constructor(loggerName) {
|
|
19
|
+
this.loggerName = loggerName;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Sets the logging level for this specific logger instance.
|
|
23
|
+
* Messages below this threshold will be ignored.
|
|
24
|
+
*
|
|
25
|
+
* @param level The desired logging level (e.g., 'TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR').
|
|
26
|
+
* @returns The Logger instance for method chaining.
|
|
27
|
+
*/
|
|
28
|
+
setLevel(level) {
|
|
29
|
+
LogFacade.setLevel(this.loggerName, level);
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Checks if the DEBUG level is currently enabled for this logger.
|
|
34
|
+
* @returns True if DEBUG logging is enabled, false otherwise.
|
|
35
|
+
*/
|
|
36
|
+
isDebugEnabled() {
|
|
37
|
+
return LogFacade.isDebugEnabled(this.loggerName);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Checks if the ERROR level is currently enabled for this logger.
|
|
41
|
+
* @returns True if ERROR logging is enabled, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
isErrorEnabled() {
|
|
44
|
+
return LogFacade.isErrorEnabled(this.loggerName);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Checks if the WARN level is currently enabled for this logger.
|
|
48
|
+
* @returns True if WARN logging is enabled, false otherwise.
|
|
49
|
+
*/
|
|
50
|
+
isWarnEnabled() {
|
|
51
|
+
return LogFacade.isWarnEnabled(this.loggerName);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Checks if the INFO level is currently enabled for this logger.
|
|
55
|
+
* @returns True if INFO logging is enabled, false otherwise.
|
|
56
|
+
*/
|
|
57
|
+
isInfoEnabled() {
|
|
58
|
+
return LogFacade.isInfoEnabled(this.loggerName);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Checks if the TRACE level is currently enabled for this logger.
|
|
62
|
+
* @returns True if TRACE logging is enabled, false otherwise.
|
|
63
|
+
*/
|
|
64
|
+
isTraceEnabled() {
|
|
65
|
+
return LogFacade.isTraceEnabled(this.loggerName);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The core logging method. Logs a message at the specified level, optionally
|
|
69
|
+
* supporting parameters for message formatting and a final Error object for stack trace logging.
|
|
70
|
+
*
|
|
71
|
+
* @param msg The log message template (e.g., "User {0} failed to connect: {1}").
|
|
72
|
+
* @param level The logging level (e.g., 'DEBUG', 'ERROR').
|
|
73
|
+
* @param [args] Optional arguments for message formatting. The last argument can be an Error object.
|
|
74
|
+
*/
|
|
75
|
+
log(msg, level) {
|
|
76
|
+
const args = Array.prototype.slice.call(arguments);
|
|
77
|
+
let msgParameters = [];
|
|
78
|
+
let rawError = null;
|
|
79
|
+
if (args.length > 2) {
|
|
80
|
+
if (args[args.length - 1] instanceof Error) {
|
|
81
|
+
rawError = args[args.length - 1];
|
|
82
|
+
if (rawError.stack) {
|
|
83
|
+
console.debug("Handling error with stack:\n" + rawError.stack);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const endIndex = rawError ? args.length - 1 : args.length;
|
|
87
|
+
msgParameters = args.slice(2, endIndex).map(function(param) {
|
|
88
|
+
return typeof param === "object" ? JSON.stringify(param) : param;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
LogFacade.log(this.loggerName, level, msg, JSON.stringify(msgParameters), rawError);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Logs a message at the DEBUG level.
|
|
95
|
+
*
|
|
96
|
+
* @param msg The log message template.
|
|
97
|
+
* @param [args] Optional arguments for message formatting. The last argument can be an Error object.
|
|
98
|
+
*/
|
|
99
|
+
debug(msg, ..._) {
|
|
100
|
+
const args = Array.prototype.slice.call(arguments);
|
|
101
|
+
args.splice(1, 0, "DEBUG");
|
|
102
|
+
this.log.apply(this, args);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Logs a message at the INFO level.
|
|
106
|
+
*
|
|
107
|
+
* @param msg The log message template.
|
|
108
|
+
* @param [args] Optional arguments for message formatting. The last argument can be an Error object.
|
|
109
|
+
*/
|
|
110
|
+
info(msg, ..._) {
|
|
111
|
+
const args = Array.prototype.slice.call(arguments);
|
|
112
|
+
args.splice(1, 0, "INFO");
|
|
113
|
+
this.log.apply(this, args);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Logs a message at the TRACE level.
|
|
117
|
+
*
|
|
118
|
+
* @param msg The log message template.
|
|
119
|
+
* @param [args] Optional arguments for message formatting. The last argument can be an Error object.
|
|
120
|
+
*/
|
|
121
|
+
trace(msg, ..._) {
|
|
122
|
+
const args = Array.prototype.slice.call(arguments);
|
|
123
|
+
args.splice(1, 0, "TRACE");
|
|
124
|
+
this.log.apply(this, args);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Logs a message at the WARN level.
|
|
128
|
+
*
|
|
129
|
+
* @param msg The log message template.
|
|
130
|
+
* @param [args] Optional arguments for message formatting. The last argument can be an Error object.
|
|
131
|
+
*/
|
|
132
|
+
warn(msg, ..._) {
|
|
133
|
+
const args = Array.prototype.slice.call(arguments);
|
|
134
|
+
args.splice(1, 0, "WARN");
|
|
135
|
+
this.log.apply(this, args);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Logs a message at the ERROR level.
|
|
139
|
+
*
|
|
140
|
+
* @param msg The log message template.
|
|
141
|
+
* @param [args] Optional arguments for message formatting. The last argument can be an Error object.
|
|
142
|
+
*/
|
|
143
|
+
error(msg, ..._) {
|
|
144
|
+
const args = Array.prototype.slice.call(arguments);
|
|
145
|
+
args.splice(1, 0, "ERROR");
|
|
146
|
+
this.log.apply(this, args);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (typeof module !== "undefined") {
|
|
150
|
+
module.exports = Logging;
|
|
151
|
+
}
|
|
152
|
+
export {
|
|
153
|
+
Logging
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xvZy9sb2dnaW5nLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgd3JhcHBlciBmb3IgdGhlIHVuZGVybHlpbmcgbG9nZ2luZyBmYWNpbGl0eSwgYWxsb3dpbmdcbiAqIGZvciBjYXRlZ29yaXplZCBhbmQgbGV2ZWxlZCBsb2dnaW5nIG1lc3NhZ2VzIHdpdGggc3VwcG9ydCBmb3IgdmFyaWFibGUgYXJndW1lbnRzLFxuICogaW5jbHVkaW5nIGVycm9yIG9iamVjdHMuXG4gKi9cbmNvbnN0IExvZ0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5sb2cuTG9nRmFjYWRlXCIpO1xuXG5cbi8qKlxuICogVGhlIG1haW4gZW50cnkgcG9pbnQgZm9yIHRoZSBsb2dnaW5nIEFQSS4gVXNlIHRoaXMgY2xhc3MgdG8gb2J0YWluIGEgbmFtZWRcbiAqIGxvZ2dlciBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGNsYXNzIExvZ2dpbmcge1xuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIExvZ2dlciBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyBuYW1lLlxuXHQgKiBUaGUgbG9nZ2VyIG5hbWUgaXMgdHlwaWNhbGx5IHVzZWQgdG8gY2F0ZWdvcml6ZSBsb2cgbWVzc2FnZXMgKGUuZy4sICdjb20uYXBwLnNlcnZpY2UnKS5cblx0ICpcblx0ICogQHBhcmFtIGxvZ2dlck5hbWUgVGhlIG5hbWUgb2YgdGhlIGxvZ2dlci5cblx0ICogQHJldHVybnMgQSB7QGxpbmsgTG9nZ2VyfSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0TG9nZ2VyKGxvZ2dlck5hbWU6IHN0cmluZyk6IExvZ2dlciB7XG5cdFx0cmV0dXJuIG5ldyBMb2dnZXIobG9nZ2VyTmFtZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbmFtZWQgbG9nZ2VyIGluc3RhbmNlIHVzZWQgZm9yIGVtaXR0aW5nIGxvZyBtZXNzYWdlcyBhdCB2YXJpb3VzIGxldmVscy5cbiAqL1xuY2xhc3MgTG9nZ2VyIHtcblxuXHRwcml2YXRlIGxvZ2dlck5hbWU6IHN0cmluZztcblxuXHQvKipcblx0ICogQHBhcmFtIGxvZ2dlck5hbWUgVGhlIG5hbWUgb2YgdGhlIGxvZ2dlci5cblx0ICovXG5cdGNvbnN0cnVjdG9yKGxvZ2dlck5hbWU6IHN0cmluZykge1xuXHRcdHRoaXMubG9nZ2VyTmFtZSA9IGxvZ2dlck5hbWU7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgbG9nZ2luZyBsZXZlbCBmb3IgdGhpcyBzcGVjaWZpYyBsb2dnZXIgaW5zdGFuY2UuXG5cdCAqIE1lc3NhZ2VzIGJlbG93IHRoaXMgdGhyZXNob2xkIHdpbGwgYmUgaWdub3JlZC5cblx0ICpcblx0ICogQHBhcmFtIGxldmVsIFRoZSBkZXNpcmVkIGxvZ2dpbmcgbGV2ZWwgKGUuZy4sICdUUkFDRScsICdERUJVRycsICdJTkZPJywgJ1dBUk4nLCAnRVJST1InKS5cblx0ICogQHJldHVybnMgVGhlIExvZ2dlciBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuXHQgKi9cblx0cHVibGljIHNldExldmVsKGxldmVsOiBzdHJpbmcpOiBMb2dnZXIge1xuXHRcdExvZ0ZhY2FkZS5zZXRMZXZlbCh0aGlzLmxvZ2dlck5hbWUsIGxldmVsKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBERUJVRyBsZXZlbCBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhpcyBsb2dnZXIuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBERUJVRyBsb2dnaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNEZWJ1Z0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBMb2dGYWNhZGUuaXNEZWJ1Z0VuYWJsZWQodGhpcy5sb2dnZXJOYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIEVSUk9SIGxldmVsIGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciB0aGlzIGxvZ2dlci5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIEVSUk9SIGxvZ2dpbmcgaXMgZW5hYmxlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0Vycm9yRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIExvZ0ZhY2FkZS5pc0Vycm9yRW5hYmxlZCh0aGlzLmxvZ2dlck5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgV0FSTiBsZXZlbCBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhpcyBsb2dnZXIuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBXQVJOIGxvZ2dpbmcgaXMgZW5hYmxlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1dhcm5FbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTG9nRmFjYWRlLmlzV2FybkVuYWJsZWQodGhpcy5sb2dnZXJOYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIElORk8gbGV2ZWwgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHRoaXMgbG9nZ2VyLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgSU5GTyBsb2dnaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJbmZvRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIExvZ0ZhY2FkZS5pc0luZm9FbmFibGVkKHRoaXMubG9nZ2VyTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBUUkFDRSBsZXZlbCBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgdGhpcyBsb2dnZXIuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBUUkFDRSBsb2dnaW5nIGlzIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNUcmFjZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBMb2dGYWNhZGUuaXNUcmFjZUVuYWJsZWQodGhpcy5sb2dnZXJOYW1lKTtcbiAgICB9XG5cblx0LyoqXG5cdCAqIFRoZSBjb3JlIGxvZ2dpbmcgbWV0aG9kLiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgc3BlY2lmaWVkIGxldmVsLCBvcHRpb25hbGx5XG5cdCAqIHN1cHBvcnRpbmcgcGFyYW1ldGVycyBmb3IgbWVzc2FnZSBmb3JtYXR0aW5nIGFuZCBhIGZpbmFsIEVycm9yIG9iamVjdCBmb3Igc3RhY2sgdHJhY2UgbG9nZ2luZy5cblx0ICpcblx0ICogQHBhcmFtIG1zZyBUaGUgbG9nIG1lc3NhZ2UgdGVtcGxhdGUgKGUuZy4sIFwiVXNlciB7MH0gZmFpbGVkIHRvIGNvbm5lY3Q6IHsxfVwiKS5cblx0ICogQHBhcmFtIGxldmVsIFRoZSBsb2dnaW5nIGxldmVsIChlLmcuLCAnREVCVUcnLCAnRVJST1InKS5cblx0ICogQHBhcmFtIFthcmdzXSBPcHRpb25hbCBhcmd1bWVudHMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZy4gVGhlIGxhc3QgYXJndW1lbnQgY2FuIGJlIGFuIEVycm9yIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBsb2cobXNnOiBzdHJpbmcsIGxldmVsOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcblx0XHRsZXQgbXNnUGFyYW1ldGVycyA9IFtdO1xuXG5cdFx0bGV0IHJhd0Vycm9yID0gbnVsbDtcblx0XHRpZiAoYXJncy5sZW5ndGggPiAyKSB7XG5cdFx0XHRpZiAoYXJnc1thcmdzLmxlbmd0aC0xXSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmF3RXJyb3IgPSBhcmdzW2FyZ3MubGVuZ3RoLTFdO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJhd0Vycm9yLnN0YWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJIYW5kbGluZyBlcnJvciB3aXRoIHN0YWNrOlxcblwiICsgcmF3RXJyb3Iuc3RhY2spO1xuICAgICAgICAgICAgICAgIH1cblx0XHRcdH1cblx0XHRcdGNvbnN0IGVuZEluZGV4ID0gcmF3RXJyb3IgPyAoYXJncy5sZW5ndGggLSAxKSA6IGFyZ3MubGVuZ3RoO1xuXHRcdFx0bXNnUGFyYW1ldGVycyA9IGFyZ3Muc2xpY2UoMiwgZW5kSW5kZXgpLm1hcChmdW5jdGlvbiAocGFyYW0pIHtcblx0XHRcdFx0cmV0dXJuIHR5cGVvZiBwYXJhbSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShwYXJhbSkgOiBwYXJhbTtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdExvZ0ZhY2FkZS5sb2codGhpcy5sb2dnZXJOYW1lLCBsZXZlbCwgbXNnLCBKU09OLnN0cmluZ2lmeShtc2dQYXJhbWV0ZXJzKSwgcmF3RXJyb3IpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBERUJVRyBsZXZlbC5cblx0ICpcblx0ICogQHBhcmFtIG1zZyBUaGUgbG9nIG1lc3NhZ2UgdGVtcGxhdGUuXG5cdCAqIEBwYXJhbSBbYXJnc10gT3B0aW9uYWwgYXJndW1lbnRzIGZvciBtZXNzYWdlIGZvcm1hdHRpbmcuIFRoZSBsYXN0IGFyZ3VtZW50IGNhbiBiZSBhbiBFcnJvciBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZGVidWcobXNnOiBzdHJpbmcsIC4uLl86IGFueVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0YXJncy5zcGxpY2UoMSwgMCwgJ0RFQlVHJyk7Ly9pbnNlcnQgREVCVUcgb24gc2Vjb25kIHBvc2l0aW9uIGluIGFyZ3VtZW50cyBhcnJheVxuXHRcdHRoaXMubG9nLmFwcGx5KHRoaXMsIGFyZ3MpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ3MgYSBtZXNzYWdlIGF0IHRoZSBJTkZPIGxldmVsLlxuXHQgKlxuXHQgKiBAcGFyYW0gbXNnIFRoZSBsb2cgbWVzc2FnZSB0ZW1wbGF0ZS5cblx0ICogQHBhcmFtIFthcmdzXSBPcHRpb25hbCBhcmd1bWVudHMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZy4gVGhlIGxhc3QgYXJndW1lbnQgY2FuIGJlIGFuIEVycm9yIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBpbmZvKG1zZzogc3RyaW5nLCAuLi5fOiBhbnlbXSk6IHZvaWQge1xuXHRcdGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuXHRcdGFyZ3Muc3BsaWNlKDEsIDAsICdJTkZPJyk7Ly9pbnNlcnQgSU5GTyBvbiBzZWNvbmQgcG9zaXRpb24gaW4gYXJndW1lbnRzIGFycmF5XG5cdFx0dGhpcy5sb2cuYXBwbHkodGhpcywgYXJncyk7XG5cdH1cblxuXHQvKipcblx0ICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIFRSQUNFIGxldmVsLlxuXHQgKlxuXHQgKiBAcGFyYW0gbXNnIFRoZSBsb2cgbWVzc2FnZSB0ZW1wbGF0ZS5cblx0ICogQHBhcmFtIFthcmdzXSBPcHRpb25hbCBhcmd1bWVudHMgZm9yIG1lc3NhZ2UgZm9ybWF0dGluZy4gVGhlIGxhc3QgYXJndW1lbnQgY2FuIGJlIGFuIEVycm9yIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyB0cmFjZShtc2c6IHN0cmluZywgLi4uXzogYW55W10pOiB2b2lkIHtcblx0XHRjb25zdCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcblx0XHRhcmdzLnNwbGljZSgxLCAwLCAnVFJBQ0UnKTsvL2luc2VydCBUUkFDRSBvbiBzZWNvbmQgcG9zaXRpb24gaW4gYXJndW1lbnRzIGFycmF5XG5cdFx0dGhpcy5sb2cuYXBwbHkodGhpcywgYXJncyk7XG5cdH1cblxuXHQvKipcblx0ICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIFdBUk4gbGV2ZWwuXG5cdCAqXG5cdCAqIEBwYXJhbSBtc2cgVGhlIGxvZyBtZXNzYWdlIHRlbXBsYXRlLlxuXHQgKiBAcGFyYW0gW2FyZ3NdIE9wdGlvbmFsIGFyZ3VtZW50cyBmb3IgbWVzc2FnZSBmb3JtYXR0aW5nLiBUaGUgbGFzdCBhcmd1bWVudCBjYW4gYmUgYW4gRXJyb3Igb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIHdhcm4obXNnOiBzdHJpbmcsIC4uLl86IGFueVtdKTogdm9pZCB7XG5cdFx0Y29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cdFx0YXJncy5zcGxpY2UoMSwgMCwgJ1dBUk4nKTsvL2luc2VydCBXQVJOIG9uIHNlY29uZCBwb3NpdGlvbiBpbiBhcmd1bWVudHMgYXJyYXlcblx0XHR0aGlzLmxvZy5hcHBseSh0aGlzLCBhcmdzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2dzIGEgbWVzc2FnZSBhdCB0aGUgRVJST1IgbGV2ZWwuXG5cdCAqXG5cdCAqIEBwYXJhbSBtc2cgVGhlIGxvZyBtZXNzYWdlIHRlbXBsYXRlLlxuXHQgKiBAcGFyYW0gW2FyZ3NdIE9wdGlvbmFsIGFyZ3VtZW50cyBmb3IgbWVzc2FnZSBmb3JtYXR0aW5nLiBUaGUgbGFzdCBhcmd1bWVudCBjYW4gYmUgYW4gRXJyb3Igb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIGVycm9yKG1zZzogc3RyaW5nLCAuLi5fOiBhbnlbXSk6IHZvaWQge1xuXHRcdGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuXHRcdGFyZ3Muc3BsaWNlKDEsIDAsICdFUlJPUicpOy8vaW5zZXJ0IEVSUk9SIG9uIHNlY29uZCBwb3NpdGlvbiBpbiBhcmd1bWVudHMgYXJyYXlcblx0XHR0aGlzLmxvZy5hcHBseSh0aGlzLCBhcmdzKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IExvZ2dpbmc7XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBS0EsTUFBTSxZQUFZLEtBQUssS0FBSyxvREFBb0Q7QUFPekUsTUFBTSxRQUFRO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNwQixPQUFjLFVBQVUsWUFBNEI7QUFDbkQsV0FBTyxJQUFJLE9BQU8sVUFBVTtBQUFBLEVBQzdCO0FBQ0Q7QUFLQSxNQUFNLE9BQU87QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9aLFlBQVksWUFBb0I7QUFDL0IsU0FBSyxhQUFhO0FBQUEsRUFDbkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU08sU0FBUyxPQUF1QjtBQUN0QyxjQUFVLFNBQVMsS0FBSyxZQUFZLEtBQUs7QUFDekMsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTVUsaUJBQTBCO0FBQzdCLFdBQU8sVUFBVSxlQUFlLEtBQUssVUFBVTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLGlCQUEwQjtBQUM3QixXQUFPLFVBQVUsZUFBZSxLQUFLLFVBQVU7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNTyxnQkFBeUI7QUFDNUIsV0FBTyxVQUFVLGNBQWMsS0FBSyxVQUFVO0FBQUEsRUFDbEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTU8sZ0JBQXlCO0FBQzVCLFdBQU8sVUFBVSxjQUFjLEtBQUssVUFBVTtBQUFBLEVBQ2xEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLGlCQUEwQjtBQUM3QixXQUFPLFVBQVUsZUFBZSxLQUFLLFVBQVU7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVJLElBQUksS0FBYSxPQUFxQjtBQUM1QyxVQUFNLE9BQU8sTUFBTSxVQUFVLE1BQU0sS0FBSyxTQUFTO0FBQ2pELFFBQUksZ0JBQWdCLENBQUM7QUFFckIsUUFBSSxXQUFXO0FBQ2YsUUFBSSxLQUFLLFNBQVMsR0FBRztBQUNwQixVQUFJLEtBQUssS0FBSyxTQUFPLENBQUMsYUFBYSxPQUFPO0FBQzdCLG1CQUFXLEtBQUssS0FBSyxTQUFPLENBQUM7QUFFN0IsWUFBSSxTQUFTLE9BQU87QUFDaEIsa0JBQVEsTUFBTSxpQ0FBaUMsU0FBUyxLQUFLO0FBQUEsUUFDakU7QUFBQSxNQUNiO0FBQ0EsWUFBTSxXQUFXLFdBQVksS0FBSyxTQUFTLElBQUssS0FBSztBQUNyRCxzQkFBZ0IsS0FBSyxNQUFNLEdBQUcsUUFBUSxFQUFFLElBQUksU0FBVSxPQUFPO0FBQzVELGVBQU8sT0FBTyxVQUFVLFdBQVcsS0FBSyxVQUFVLEtBQUssSUFBSTtBQUFBLE1BQzVELENBQUM7QUFBQSxJQUNGO0FBRUEsY0FBVSxJQUFJLEtBQUssWUFBWSxPQUFPLEtBQUssS0FBSyxVQUFVLGFBQWEsR0FBRyxRQUFRO0FBQUEsRUFDbkY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLE1BQU0sUUFBZ0IsR0FBZ0I7QUFDNUMsVUFBTSxPQUFPLE1BQU0sVUFBVSxNQUFNLEtBQUssU0FBUztBQUNqRCxTQUFLLE9BQU8sR0FBRyxHQUFHLE9BQU87QUFDekIsU0FBSyxJQUFJLE1BQU0sTUFBTSxJQUFJO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLEtBQUssUUFBZ0IsR0FBZ0I7QUFDM0MsVUFBTSxPQUFPLE1BQU0sVUFBVSxNQUFNLEtBQUssU0FBUztBQUNqRCxTQUFLLE9BQU8sR0FBRyxHQUFHLE1BQU07QUFDeEIsU0FBSyxJQUFJLE1BQU0sTUFBTSxJQUFJO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLE1BQU0sUUFBZ0IsR0FBZ0I7QUFDNUMsVUFBTSxPQUFPLE1BQU0sVUFBVSxNQUFNLEtBQUssU0FBUztBQUNqRCxTQUFLLE9BQU8sR0FBRyxHQUFHLE9BQU87QUFDekIsU0FBSyxJQUFJLE1BQU0sTUFBTSxJQUFJO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLEtBQUssUUFBZ0IsR0FBZ0I7QUFDM0MsVUFBTSxPQUFPLE1BQU0sVUFBVSxNQUFNLEtBQUssU0FBUztBQUNqRCxTQUFLLE9BQU8sR0FBRyxHQUFHLE1BQU07QUFDeEIsU0FBSyxJQUFJLE1BQU0sTUFBTSxJQUFJO0FBQUEsRUFDMUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLE1BQU0sUUFBZ0IsR0FBZ0I7QUFDNUMsVUFBTSxPQUFPLE1BQU0sVUFBVSxNQUFNLEtBQUssU0FBUztBQUNqRCxTQUFLLE9BQU8sR0FBRyxHQUFHLE9BQU87QUFDekIsU0FBSyxJQUFJLE1BQU0sTUFBTSxJQUFJO0FBQUEsRUFDMUI7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
const Properties = Java.type("java.util.Properties");
|
|
2
|
+
const MailFacade = Java.type("org.eclipse.dirigible.components.api.mail.MailFacade");
|
|
3
|
+
class MailClient {
|
|
4
|
+
/**
|
|
5
|
+
* A static convenience method to send a multipart email without instantiating a client.
|
|
6
|
+
* This is suitable for emails that require attachments, inline images, or mixed content.
|
|
7
|
+
*
|
|
8
|
+
* @param from The sender's email address.
|
|
9
|
+
* @param recipients The recipient(s) structure (string for 'to', or {@link MailRecipients} object).
|
|
10
|
+
* @param subject The subject line of the email.
|
|
11
|
+
* @param parts An array of {@link MailMultipart} objects defining the email content.
|
|
12
|
+
*/
|
|
13
|
+
static sendMultipart(from, recipients, subject, parts) {
|
|
14
|
+
const mailClient = new MailClient();
|
|
15
|
+
mailClient.sendMultipart(from, recipients, subject, parts);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A static convenience method to send a simple email with only a single text or HTML body.
|
|
19
|
+
*
|
|
20
|
+
* @param from The sender's email address.
|
|
21
|
+
* @param recipients The recipient(s) structure (string for 'to', or {@link MailRecipients} object).
|
|
22
|
+
* @param subject The subject line of the email.
|
|
23
|
+
* @param text The body content of the email.
|
|
24
|
+
* @param contentType Specifies the body format: 'html' or 'plain'.
|
|
25
|
+
*/
|
|
26
|
+
static send(from, recipients, subject, text, contentType) {
|
|
27
|
+
const mailClient = new MailClient();
|
|
28
|
+
mailClient.send(from, recipients, subject, text, contentType);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new instance of the MailClient, optionally configuring the underlying
|
|
32
|
+
* native mail facade.
|
|
33
|
+
*
|
|
34
|
+
* @param options Optional key-value object containing configuration properties for the mail client (e.g., SMTP settings).
|
|
35
|
+
*/
|
|
36
|
+
constructor(options) {
|
|
37
|
+
this.native = options ? MailFacade.getInstance(toJavaProperties(options)) : MailFacade.getInstance();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Sends a simple email with a single body part (text or HTML).
|
|
41
|
+
*
|
|
42
|
+
* @param from The sender's email address.
|
|
43
|
+
* @param _recipients The recipient(s) structure (string for 'to', or {@link MailRecipients} object).
|
|
44
|
+
* @param subject The subject line of the email.
|
|
45
|
+
* @param text The body content of the email.
|
|
46
|
+
* @param contentType Specifies the body format: 'html' or 'plain'.
|
|
47
|
+
* @throws {Error} Throws an error if the recipient format is invalid or the native call fails.
|
|
48
|
+
*/
|
|
49
|
+
send(from, _recipients, subject, text, contentType) {
|
|
50
|
+
const recipients = processRecipients(_recipients);
|
|
51
|
+
const part = {
|
|
52
|
+
contentType: contentType === "html" ? "text/html" : "text/plain",
|
|
53
|
+
text,
|
|
54
|
+
type: "text"
|
|
55
|
+
};
|
|
56
|
+
try {
|
|
57
|
+
this.native.send(from, recipients.to, recipients.cc, recipients.bcc, subject, [part]);
|
|
58
|
+
} catch (error) {
|
|
59
|
+
console.error(error.message);
|
|
60
|
+
throw new Error(error);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Sends a complex email composed of multiple parts (text bodies, HTML, attachments, inline content).
|
|
65
|
+
*
|
|
66
|
+
* @param from The sender's email address.
|
|
67
|
+
* @param _recipients The recipient(s) structure (string for 'to', or {@link MailRecipients} object).
|
|
68
|
+
* @param subject The subject line of the email.
|
|
69
|
+
* @param parts An array of {@link MailMultipart} objects defining the email content.
|
|
70
|
+
* @throws {Error} Throws an error if the recipient format is invalid or the native call fails.
|
|
71
|
+
*/
|
|
72
|
+
sendMultipart(from, _recipients, subject, parts) {
|
|
73
|
+
let recipients = processRecipients(_recipients);
|
|
74
|
+
try {
|
|
75
|
+
return this.native.send(from, recipients.to, recipients.cc, recipients.bcc, subject, stringifyPartData(parts));
|
|
76
|
+
} catch (error) {
|
|
77
|
+
console.error(error.message);
|
|
78
|
+
throw new Error(error);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function stringifyPartData(parts) {
|
|
83
|
+
parts.forEach(function(part) {
|
|
84
|
+
if (part.data) {
|
|
85
|
+
part.data = JSON.stringify(part.data);
|
|
86
|
+
}
|
|
87
|
+
return part;
|
|
88
|
+
});
|
|
89
|
+
return parts;
|
|
90
|
+
}
|
|
91
|
+
function processRecipients(recipients) {
|
|
92
|
+
let to = [];
|
|
93
|
+
let cc = [];
|
|
94
|
+
let bcc = [];
|
|
95
|
+
if (typeof recipients === "string") {
|
|
96
|
+
to.push(recipients);
|
|
97
|
+
} else if (typeof recipients === "object") {
|
|
98
|
+
to = parseRecipients(recipients, "to");
|
|
99
|
+
cc = parseRecipients(recipients, "cc");
|
|
100
|
+
bcc = parseRecipients(recipients, "bcc");
|
|
101
|
+
} else {
|
|
102
|
+
const errorMessage = "Invalid 'recipients' format: " + JSON.stringify(recipients);
|
|
103
|
+
console.error(errorMessage);
|
|
104
|
+
throw new Error(errorMessage);
|
|
105
|
+
}
|
|
106
|
+
return { to, cc, bcc };
|
|
107
|
+
}
|
|
108
|
+
function toJavaProperties(properties) {
|
|
109
|
+
const javaProperties = new Properties();
|
|
110
|
+
Object.keys(properties).forEach(function(e) {
|
|
111
|
+
javaProperties.put(e, properties[e]);
|
|
112
|
+
});
|
|
113
|
+
return javaProperties;
|
|
114
|
+
}
|
|
115
|
+
function parseRecipients(recipients, type) {
|
|
116
|
+
const objectType = typeof recipients[type];
|
|
117
|
+
if (objectType === "string") {
|
|
118
|
+
return [recipients[type]];
|
|
119
|
+
} else if (Array.isArray(recipients[type])) {
|
|
120
|
+
return recipients[type];
|
|
121
|
+
} else if (objectType === "undefined") {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
const errorMessage = `Invalid 'recipients.${type}' format: [${recipients[type]}|${objectType}]`;
|
|
125
|
+
console.error(errorMessage);
|
|
126
|
+
throw new Error(errorMessage);
|
|
127
|
+
}
|
|
128
|
+
if (typeof module !== "undefined") {
|
|
129
|
+
module.exports = MailClient;
|
|
130
|
+
}
|
|
131
|
+
export {
|
|
132
|
+
MailClient
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21haWwvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgY2xpZW50IGZvciBzZW5kaW5nIGVtYWlscywgc3VwcG9ydGluZyBib3RoIHNpbXBsZSB0ZXh0L0hUTUxcbiAqIG1lc3NhZ2VzIGFuZCBjb21wbGV4IG11bHRpcGFydCBtZXNzYWdlcyB3aXRoIGF0dGFjaG1lbnRzIG9yIGlubGluZSBjb250ZW50LlxuICovXG5jb25zdCBQcm9wZXJ0aWVzID0gSmF2YS50eXBlKFwiamF2YS51dGlsLlByb3BlcnRpZXNcIik7XG5jb25zdCBNYWlsRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLm1haWwuTWFpbEZhY2FkZVwiKTtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgZm9yIHNwZWNpZnlpbmcgZW1haWwgcmVjaXBpZW50cy5cbiAqIFJlY2lwaWVudHMgY2FuIGJlIHByb3ZpZGVkIGFzIGEgc2luZ2xlIGVtYWlsIHN0cmluZyBvciBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1haWxSZWNpcGllbnRzIHtcbiAgICAvKiogVGhlIHByaW1hcnkgcmVjaXBpZW50cyBvZiB0aGUgZW1haWwuICovXG4gICAgdG8/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvKiogQ2FyYm9uIENvcHkgcmVjaXBpZW50cy4gKi9cbiAgICBjYz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIC8qKiBCbGluZCBDYXJib24gQ29weSByZWNpcGllbnRzLiAqL1xuICAgIGJjYz86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIERlZmluZXMgYSBzaW5nbGUgcGFydCBvZiBhIG11bHRpcGFydCBlbWFpbCBtZXNzYWdlLlxuICogVGhpcyBpcyB1c2VkIGZvciBib2RpZXMsIGF0dGFjaG1lbnRzLCBhbmQgaW5saW5lIGltYWdlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYWlsTXVsdGlwYXJ0IHtcbiAgICAvKiogVGhlIG5hdHVyZSBvZiB0aGUgcGFydDogJ3RleHQnIChib2R5KSwgJ2lubGluZScgKGUuZy4sIGltYWdlIGRpc3BsYXllZCBpbiBIVE1MKSwgb3IgJ2F0dGFjaG1lbnQnLiAqL1xuICAgIHR5cGU6IFwidGV4dFwiIHwgXCJpbmxpbmVcIiB8IFwiYXR0YWNobWVudFwiO1xuICAgIC8qKiBUaGUgTUlNRSBjb250ZW50IHR5cGUgb2YgdGhlIHBhcnQgKGUuZy4sICd0ZXh0L3BsYWluJywgJ3RleHQvaHRtbCcsICdpbWFnZS9wbmcnKS4gKi9cbiAgICBjb250ZW50VHlwZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgdGV4dCBjb250ZW50IGZvciAndGV4dCcgcGFydHMuICovXG4gICAgdGV4dD86IHN0cmluZztcbiAgICAvKiogUmVxdWlyZWQgZm9yICdpbmxpbmUnIHBhcnRzOyB1c2VkIGluIHRoZSBIVE1MIGJvZHkgdG8gcmVmZXJlbmNlIHRoZSBjb250ZW50IChlLmcuLCBgPGltZyBzcmM9XCJjaWQ6Li4uXCI+YCkuICovXG4gICAgY29udGVudElkPzogc3RyaW5nO1xuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgZmlsZSBmb3IgJ2F0dGFjaG1lbnQnIGFuZCAnaW5saW5lJyBwYXJ0cy4gKi9cbiAgICBmaWxlTmFtZT86IHN0cmluZztcbiAgICAvKiogVGhlIGJhc2U2NC1lbmNvZGVkIGRhdGEgY29udGVudCBmb3IgJ2F0dGFjaG1lbnQnIGFuZCAnaW5saW5lJyBwYXJ0cy4gKi9cbiAgICBkYXRhPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGNvbnRlbnQgdHlwZSBmb3Igc2ltcGxlIGVtYWlscyBzZW50IHZpYSB7QGxpbmsgTWFpbENsaWVudC5zZW5kfS5cbiAqL1xudHlwZSBNYWlsQ29udGVudFR5cGUgPSBcImh0bWxcIiB8IFwicGxhaW5cIjtcblxuLyoqXG4gKiBUaGUgTWFpbENsaWVudCBwcm92aWRlcyBtZXRob2RzIGZvciBzZW5kaW5nIGVtYWlscywgaGFuZGxpbmcgcmVjaXBpZW50IHByb2Nlc3NpbmdcbiAqIGFuZCBpbnRlcmZhY2luZyB3aXRoIHRoZSB1bmRlcmx5aW5nIE1haWxGYWNhZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNYWlsQ2xpZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgLyoqXG4gICAgICogQSBzdGF0aWMgY29udmVuaWVuY2UgbWV0aG9kIHRvIHNlbmQgYSBtdWx0aXBhcnQgZW1haWwgd2l0aG91dCBpbnN0YW50aWF0aW5nIGEgY2xpZW50LlxuICAgICAqIFRoaXMgaXMgc3VpdGFibGUgZm9yIGVtYWlscyB0aGF0IHJlcXVpcmUgYXR0YWNobWVudHMsIGlubGluZSBpbWFnZXMsIG9yIG1peGVkIGNvbnRlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZnJvbSBUaGUgc2VuZGVyJ3MgZW1haWwgYWRkcmVzcy5cbiAgICAgKiBAcGFyYW0gcmVjaXBpZW50cyBUaGUgcmVjaXBpZW50KHMpIHN0cnVjdHVyZSAoc3RyaW5nIGZvciAndG8nLCBvciB7QGxpbmsgTWFpbFJlY2lwaWVudHN9IG9iamVjdCkuXG4gICAgICogQHBhcmFtIHN1YmplY3QgVGhlIHN1YmplY3QgbGluZSBvZiB0aGUgZW1haWwuXG4gICAgICogQHBhcmFtIHBhcnRzIEFuIGFycmF5IG9mIHtAbGluayBNYWlsTXVsdGlwYXJ0fSBvYmplY3RzIGRlZmluaW5nIHRoZSBlbWFpbCBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc2VuZE11bHRpcGFydChmcm9tOiBzdHJpbmcsIHJlY2lwaWVudHM6IHN0cmluZyB8IE1haWxSZWNpcGllbnRzLCBzdWJqZWN0OiBzdHJpbmcsIHBhcnRzOiBNYWlsTXVsdGlwYXJ0W10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWFpbENsaWVudCA9IG5ldyBNYWlsQ2xpZW50KCk7XG4gICAgICAgIG1haWxDbGllbnQuc2VuZE11bHRpcGFydChmcm9tLCByZWNpcGllbnRzLCBzdWJqZWN0LCBwYXJ0cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzdGF0aWMgY29udmVuaWVuY2UgbWV0aG9kIHRvIHNlbmQgYSBzaW1wbGUgZW1haWwgd2l0aCBvbmx5IGEgc2luZ2xlIHRleHQgb3IgSFRNTCBib2R5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZyb20gVGhlIHNlbmRlcidzIGVtYWlsIGFkZHJlc3MuXG4gICAgICogQHBhcmFtIHJlY2lwaWVudHMgVGhlIHJlY2lwaWVudChzKSBzdHJ1Y3R1cmUgKHN0cmluZyBmb3IgJ3RvJywgb3Ige0BsaW5rIE1haWxSZWNpcGllbnRzfSBvYmplY3QpLlxuICAgICAqIEBwYXJhbSBzdWJqZWN0IFRoZSBzdWJqZWN0IGxpbmUgb2YgdGhlIGVtYWlsLlxuICAgICAqIEBwYXJhbSB0ZXh0IFRoZSBib2R5IGNvbnRlbnQgb2YgdGhlIGVtYWlsLlxuICAgICAqIEBwYXJhbSBjb250ZW50VHlwZSBTcGVjaWZpZXMgdGhlIGJvZHkgZm9ybWF0OiAnaHRtbCcgb3IgJ3BsYWluJy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHNlbmQoZnJvbTogc3RyaW5nLCByZWNpcGllbnRzOiBzdHJpbmcgfCBNYWlsUmVjaXBpZW50cywgc3ViamVjdDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGNvbnRlbnRUeXBlOiBNYWlsQ29udGVudFR5cGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWFpbENsaWVudCA9IG5ldyBNYWlsQ2xpZW50KCk7XG4gICAgICAgIG1haWxDbGllbnQuc2VuZChmcm9tLCByZWNpcGllbnRzLCBzdWJqZWN0LCB0ZXh0LCBjb250ZW50VHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgTWFpbENsaWVudCwgb3B0aW9uYWxseSBjb25maWd1cmluZyB0aGUgdW5kZXJseWluZ1xuICAgICAqIG5hdGl2ZSBtYWlsIGZhY2FkZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3QgY29udGFpbmluZyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBtYWlsIGNsaWVudCAoZS5nLiwgU01UUCBzZXR0aW5ncykuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IG9iamVjdCkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG9wdGlvbnMgPyBNYWlsRmFjYWRlLmdldEluc3RhbmNlKHRvSmF2YVByb3BlcnRpZXMob3B0aW9ucykpIDogTWFpbEZhY2FkZS5nZXRJbnN0YW5jZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmRzIGEgc2ltcGxlIGVtYWlsIHdpdGggYSBzaW5nbGUgYm9keSBwYXJ0ICh0ZXh0IG9yIEhUTUwpLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZyb20gVGhlIHNlbmRlcidzIGVtYWlsIGFkZHJlc3MuXG4gICAgICogQHBhcmFtIF9yZWNpcGllbnRzIFRoZSByZWNpcGllbnQocykgc3RydWN0dXJlIChzdHJpbmcgZm9yICd0bycsIG9yIHtAbGluayBNYWlsUmVjaXBpZW50c30gb2JqZWN0KS5cbiAgICAgKiBAcGFyYW0gc3ViamVjdCBUaGUgc3ViamVjdCBsaW5lIG9mIHRoZSBlbWFpbC5cbiAgICAgKiBAcGFyYW0gdGV4dCBUaGUgYm9keSBjb250ZW50IG9mIHRoZSBlbWFpbC5cbiAgICAgKiBAcGFyYW0gY29udGVudFR5cGUgU3BlY2lmaWVzIHRoZSBib2R5IGZvcm1hdDogJ2h0bWwnIG9yICdwbGFpbicuXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgcmVjaXBpZW50IGZvcm1hdCBpcyBpbnZhbGlkIG9yIHRoZSBuYXRpdmUgY2FsbCBmYWlscy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VuZChmcm9tOiBzdHJpbmcsIF9yZWNpcGllbnRzOiBzdHJpbmcgfCBNYWlsUmVjaXBpZW50cywgc3ViamVjdDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGNvbnRlbnRUeXBlOiBNYWlsQ29udGVudFR5cGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVjaXBpZW50cyA9IHByb2Nlc3NSZWNpcGllbnRzKF9yZWNpcGllbnRzKTtcblxuICAgICAgICBjb25zdCBwYXJ0ID0ge1xuICAgICAgICAgICAgY29udGVudFR5cGU6IGNvbnRlbnRUeXBlID09PSBcImh0bWxcIiA/IFwidGV4dC9odG1sXCIgOiBcInRleHQvcGxhaW5cIixcbiAgICAgICAgICAgIHRleHQ6IHRleHQsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCdcbiAgICAgICAgfTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmUuc2VuZChmcm9tLCByZWNpcGllbnRzLnRvLCByZWNpcGllbnRzLmNjLCByZWNpcGllbnRzLmJjYywgc3ViamVjdCwgW3BhcnRdKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IgYXMgc3RyaW5nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmRzIGEgY29tcGxleCBlbWFpbCBjb21wb3NlZCBvZiBtdWx0aXBsZSBwYXJ0cyAodGV4dCBib2RpZXMsIEhUTUwsIGF0dGFjaG1lbnRzLCBpbmxpbmUgY29udGVudCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZnJvbSBUaGUgc2VuZGVyJ3MgZW1haWwgYWRkcmVzcy5cbiAgICAgKiBAcGFyYW0gX3JlY2lwaWVudHMgVGhlIHJlY2lwaWVudChzKSBzdHJ1Y3R1cmUgKHN0cmluZyBmb3IgJ3RvJywgb3Ige0BsaW5rIE1haWxSZWNpcGllbnRzfSBvYmplY3QpLlxuICAgICAqIEBwYXJhbSBzdWJqZWN0IFRoZSBzdWJqZWN0IGxpbmUgb2YgdGhlIGVtYWlsLlxuICAgICAqIEBwYXJhbSBwYXJ0cyBBbiBhcnJheSBvZiB7QGxpbmsgTWFpbE11bHRpcGFydH0gb2JqZWN0cyBkZWZpbmluZyB0aGUgZW1haWwgY29udGVudC5cbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSByZWNpcGllbnQgZm9ybWF0IGlzIGludmFsaWQgb3IgdGhlIG5hdGl2ZSBjYWxsIGZhaWxzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZW5kTXVsdGlwYXJ0KGZyb206IHN0cmluZywgX3JlY2lwaWVudHM6IHN0cmluZyB8IE1haWxSZWNpcGllbnRzLCBzdWJqZWN0OiBzdHJpbmcsIHBhcnRzOiBNYWlsTXVsdGlwYXJ0W10pOiB2b2lkIHtcbiAgICAgICAgbGV0IHJlY2lwaWVudHMgPSBwcm9jZXNzUmVjaXBpZW50cyhfcmVjaXBpZW50cyk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBOb3RlOiBUaGUgbmF0aXZlIGZhY2FkZSBleHBlY3RzIGJhc2U2NCBkYXRhIHRvIGJlIEpTT04tc3RyaW5naWZpZWQgaWYgcHJlc2VudC5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5zZW5kKGZyb20sIHJlY2lwaWVudHMudG8sIHJlY2lwaWVudHMuY2MsIHJlY2lwaWVudHMuYmNjLCBzdWJqZWN0LCBzdHJpbmdpZnlQYXJ0RGF0YShwYXJ0cykpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvciBhcyBzdHJpbmcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFByZXBhcmVzIHRoZSBtdWx0aXBhcnQgYXJyYXkgZm9yIHRoZSBuYXRpdmUgZmFjYWRlIGNhbGwgYnkgSlNPTi1zdHJpbmdpZnlpbmdcbiAqIHRoZSAnZGF0YScgZmllbGQgb2YgYW55IHBhcnQgdGhhdCBoYXMgaXQgKHJlcXVpcmVkIGZvciBiYXNlNjQgZGF0YSB0cmFuc3BvcnQpLlxuICpcbiAqIEBwYXJhbSBwYXJ0cyBUaGUgYXJyYXkgb2YgTWFpbE11bHRpcGFydCBvYmplY3RzLlxuICogQHJldHVybnMgVGhlIG1vZGlmaWVkIHBhcnRzIGFycmF5IHJlYWR5IGZvciB0aGUgbmF0aXZlIGNhbGwuXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ2lmeVBhcnREYXRhKHBhcnRzOiBNYWlsTXVsdGlwYXJ0W10pOiBNYWlsTXVsdGlwYXJ0W10ge1xuICAgIHBhcnRzLmZvckVhY2goZnVuY3Rpb24gKHBhcnQ6IGFueSkge1xuICAgICAgICBpZiAocGFydC5kYXRhKSB7XG4gICAgICAgICAgICBwYXJ0LmRhdGEgPSBKU09OLnN0cmluZ2lmeShwYXJ0LmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJ0O1xuICAgIH0pXG4gICAgcmV0dXJuIHBhcnRzO1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyB0aGUgcmVjaXBpZW50cyBpbnB1dCAoZWl0aGVyIGEgc2luZ2xlIHN0cmluZyBvciBhIHtAbGluayBNYWlsUmVjaXBpZW50c30gb2JqZWN0KVxuICogaW50byBzZXBhcmF0ZSAndG8nLCAnY2MnLCBhbmQgJ2JjYycgYXJyYXlzIG9mIHN0cmluZ3MuXG4gKlxuICogQHBhcmFtIHJlY2lwaWVudHMgVGhlIHJhdyByZWNpcGllbnQgZGF0YS5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIGB0b2AsIGBjY2AsIGFuZCBgYmNjYCBhcnJheXMuXG4gKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBpbnB1dCBmb3JtYXQgaXMgaW52YWxpZC5cbiAqL1xuZnVuY3Rpb24gcHJvY2Vzc1JlY2lwaWVudHMocmVjaXBpZW50czogc3RyaW5nIHwgTWFpbFJlY2lwaWVudHMpIHtcbiAgICBsZXQgdG8gPSBbXTtcbiAgICBsZXQgY2MgPSBbXTtcbiAgICBsZXQgYmNjID0gW107XG4gICAgaWYgKHR5cGVvZiByZWNpcGllbnRzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRvLnB1c2gocmVjaXBpZW50cyk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVjaXBpZW50cyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICB0byA9IHBhcnNlUmVjaXBpZW50cyhyZWNpcGllbnRzLCBcInRvXCIpO1xuICAgICAgICBjYyA9IHBhcnNlUmVjaXBpZW50cyhyZWNpcGllbnRzLCBcImNjXCIpO1xuICAgICAgICBiY2MgPSBwYXJzZVJlY2lwaWVudHMocmVjaXBpZW50cywgXCJiY2NcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gXCJJbnZhbGlkICdyZWNpcGllbnRzJyBmb3JtYXQ6IFwiICsgSlNPTi5zdHJpbmdpZnkocmVjaXBpZW50cyk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdG86IHRvLCBjYzogY2MsIGJjYzogYmNjIH07XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBKYXZhU2NyaXB0IG9iamVjdCBvZiBwcm9wZXJ0aWVzIGludG8gYSBKYXZhIFByb3BlcnRpZXMgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIFRoZSBKYXZhU2NyaXB0IG9iamVjdCBjb250YWluaW5nIGtleS12YWx1ZSBjb25maWd1cmF0aW9uIHBhaXJzLlxuICogQHJldHVybnMgQSBKYXZhIFByb3BlcnRpZXMgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIHRvSmF2YVByb3BlcnRpZXMocHJvcGVydGllczogYW55KSB7XG4gICAgY29uc3QgamF2YVByb3BlcnRpZXMgPSBuZXcgUHJvcGVydGllcygpO1xuICAgIE9iamVjdC5rZXlzKHByb3BlcnRpZXMpLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgamF2YVByb3BlcnRpZXMucHV0KGUsIHByb3BlcnRpZXNbZV0pO1xuICAgIH0pO1xuICAgIHJldHVybiBqYXZhUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gc2FmZWx5IGV4dHJhY3QgYW5kIHZhbGlkYXRlIHJlY2lwaWVudHMgZnJvbSBhIHNwZWNpZmljIGZpZWxkICgndG8nLCAnY2MnLCAnYmNjJykuXG4gKlxuICogQHBhcmFtIHJlY2lwaWVudHMgVGhlIE1haWxSZWNpcGllbnRzIG9iamVjdC5cbiAqIEBwYXJhbSB0eXBlIFRoZSBmaWVsZCBuYW1lIHRvIHBhcnNlICgndG8nLCAnY2MnLCBvciAnYmNjJykuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiByZWNpcGllbnQgZW1haWwgc3RyaW5ncy5cbiAqIEB0aHJvd3Mge0Vycm9yfSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGZpZWxkIHZhbHVlIGlzIG5vdCBhIHN0cmluZywgYXJyYXksIG9yIHVuZGVmaW5lZC5cbiAqL1xuZnVuY3Rpb24gcGFyc2VSZWNpcGllbnRzKHJlY2lwaWVudHM6IE1haWxSZWNpcGllbnRzLCB0eXBlOiBrZXlvZiBNYWlsUmVjaXBpZW50cyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBvYmplY3RUeXBlID0gdHlwZW9mIHJlY2lwaWVudHNbdHlwZV07XG4gICAgaWYgKG9iamVjdFR5cGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIFtyZWNpcGllbnRzW3R5cGVdIGFzIHN0cmluZ107XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJlY2lwaWVudHNbdHlwZV0pKSB7XG4gICAgICAgIHJldHVybiByZWNpcGllbnRzW3R5cGVdIGFzIHN0cmluZ1tdO1xuICAgIH0gZWxzZSBpZiAob2JqZWN0VHlwZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGBJbnZhbGlkICdyZWNpcGllbnRzLiR7dHlwZX0nIGZvcm1hdDogWyR7cmVjaXBpZW50c1t0eXBlXX18JHtvYmplY3RUeXBlfV1gO1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBNYWlsQ2xpZW50O1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE1BQU0sYUFBYSxLQUFLLEtBQUssc0JBQXNCO0FBQ25ELE1BQU0sYUFBYSxLQUFLLEtBQUssc0RBQXNEO0FBMkM1RSxNQUFNLFdBQVc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVlwQixPQUFjLGNBQWMsTUFBYyxZQUFxQyxTQUFpQixPQUE4QjtBQUMxSCxVQUFNLGFBQWEsSUFBSSxXQUFXO0FBQ2xDLGVBQVcsY0FBYyxNQUFNLFlBQVksU0FBUyxLQUFLO0FBQUEsRUFDN0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdBLE9BQWMsS0FBSyxNQUFjLFlBQXFDLFNBQWlCLE1BQWMsYUFBb0M7QUFDckksVUFBTSxhQUFhLElBQUksV0FBVztBQUNsQyxlQUFXLEtBQUssTUFBTSxZQUFZLFNBQVMsTUFBTSxXQUFXO0FBQUEsRUFDaEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLFlBQVksU0FBa0I7QUFDMUIsU0FBSyxTQUFTLFVBQVUsV0FBVyxZQUFZLGlCQUFpQixPQUFPLENBQUMsSUFBSSxXQUFXLFlBQVk7QUFBQSxFQUN2RztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZTyxLQUFLLE1BQWMsYUFBc0MsU0FBaUIsTUFBYyxhQUFvQztBQUMvSCxVQUFNLGFBQWEsa0JBQWtCLFdBQVc7QUFFaEQsVUFBTSxPQUFPO0FBQUEsTUFDVCxhQUFhLGdCQUFnQixTQUFTLGNBQWM7QUFBQSxNQUNwRDtBQUFBLE1BQ0EsTUFBTTtBQUFBLElBQ1Y7QUFFQSxRQUFJO0FBQ0EsV0FBSyxPQUFPLEtBQUssTUFBTSxXQUFXLElBQUksV0FBVyxJQUFJLFdBQVcsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDO0FBQUEsSUFDeEYsU0FBUyxPQUFPO0FBQ1osY0FBUSxNQUFNLE1BQU0sT0FBTztBQUMzQixZQUFNLElBQUksTUFBTSxLQUFlO0FBQUEsSUFDbkM7QUFBQSxFQUNKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXTyxjQUFjLE1BQWMsYUFBc0MsU0FBaUIsT0FBOEI7QUFDcEgsUUFBSSxhQUFhLGtCQUFrQixXQUFXO0FBQzlDLFFBQUk7QUFFQSxhQUFPLEtBQUssT0FBTyxLQUFLLE1BQU0sV0FBVyxJQUFJLFdBQVcsSUFBSSxXQUFXLEtBQUssU0FBUyxrQkFBa0IsS0FBSyxDQUFDO0FBQUEsSUFDakgsU0FBUyxPQUFPO0FBQ1osY0FBUSxNQUFNLE1BQU0sT0FBTztBQUMzQixZQUFNLElBQUksTUFBTSxLQUFlO0FBQUEsSUFDbkM7QUFBQSxFQUNKO0FBQ0o7QUFTQSxTQUFTLGtCQUFrQixPQUF5QztBQUNoRSxRQUFNLFFBQVEsU0FBVSxNQUFXO0FBQy9CLFFBQUksS0FBSyxNQUFNO0FBQ1gsV0FBSyxPQUFPLEtBQUssVUFBVSxLQUFLLElBQUk7QUFBQSxJQUN4QztBQUNBLFdBQU87QUFBQSxFQUNYLENBQUM7QUFDRCxTQUFPO0FBQ1g7QUFVQSxTQUFTLGtCQUFrQixZQUFxQztBQUM1RCxNQUFJLEtBQUssQ0FBQztBQUNWLE1BQUksS0FBSyxDQUFDO0FBQ1YsTUFBSSxNQUFNLENBQUM7QUFDWCxNQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2hDLE9BQUcsS0FBSyxVQUFVO0FBQUEsRUFDdEIsV0FBVyxPQUFPLGVBQWUsVUFBVTtBQUN2QyxTQUFLLGdCQUFnQixZQUFZLElBQUk7QUFDckMsU0FBSyxnQkFBZ0IsWUFBWSxJQUFJO0FBQ3JDLFVBQU0sZ0JBQWdCLFlBQVksS0FBSztBQUFBLEVBQzNDLE9BQU87QUFDSCxVQUFNLGVBQWUsa0NBQWtDLEtBQUssVUFBVSxVQUFVO0FBQ2hGLFlBQVEsTUFBTSxZQUFZO0FBQzFCLFVBQU0sSUFBSSxNQUFNLFlBQVk7QUFBQSxFQUNoQztBQUVBLFNBQU8sRUFBRSxJQUFRLElBQVEsSUFBUztBQUN0QztBQVFBLFNBQVMsaUJBQWlCLFlBQWlCO0FBQ3ZDLFFBQU0saUJBQWlCLElBQUksV0FBVztBQUN0QyxTQUFPLEtBQUssVUFBVSxFQUFFLFFBQVEsU0FBVSxHQUFHO0FBQ3pDLG1CQUFlLElBQUksR0FBRyxXQUFXLENBQUMsQ0FBQztBQUFBLEVBQ3ZDLENBQUM7QUFDRCxTQUFPO0FBQ1g7QUFVQSxTQUFTLGdCQUFnQixZQUE0QixNQUFzQztBQUN2RixRQUFNLGFBQWEsT0FBTyxXQUFXLElBQUk7QUFDekMsTUFBSSxlQUFlLFVBQVU7QUFDekIsV0FBTyxDQUFDLFdBQVcsSUFBSSxDQUFXO0FBQUEsRUFDdEMsV0FBVyxNQUFNLFFBQVEsV0FBVyxJQUFJLENBQUMsR0FBRztBQUN4QyxXQUFPLFdBQVcsSUFBSTtBQUFBLEVBQzFCLFdBQVcsZUFBZSxhQUFhO0FBQ25DLFdBQU8sQ0FBQztBQUFBLEVBQ1o7QUFDQSxRQUFNLGVBQWUsdUJBQXVCLElBQUksY0FBYyxXQUFXLElBQUksQ0FBQyxJQUFJLFVBQVU7QUFDNUYsVUFBUSxNQUFNLFlBQVk7QUFDMUIsUUFBTSxJQUFJLE1BQU0sWUFBWTtBQUNoQztBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./client";
|
|
2
|
+
import { MailClient } from "./client";
|
|
3
|
+
export {
|
|
4
|
+
MailClient as client
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21haWwvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCAqIGZyb20gXCIuL2NsaWVudFwiO1xuZXhwb3J0IHsgTWFpbENsaWVudCBhcyBjbGllbnQgfSBmcm9tIFwiLi9jbGllbnRcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLGNBQWM7QUFDZCxTQUF1QixrQkFBYzsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const MessagingFacade = Java.type("org.eclipse.dirigible.components.api.messaging.MessagingFacade");
|
|
2
|
+
class Consumer {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Queue consumer instance for point-to-point messaging.
|
|
5
|
+
* Messages sent to this destination are consumed by only one receiver.
|
|
6
|
+
*
|
|
7
|
+
* @param destination The name of the queue destination (e.g., 'orders.queue').
|
|
8
|
+
* @returns A {@link Queue} instance.
|
|
9
|
+
*/
|
|
10
|
+
static queue(destination) {
|
|
11
|
+
return new Queue(destination);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates a Topic consumer instance for publish/subscribe messaging.
|
|
15
|
+
* Messages sent to this destination can be consumed by multiple subscribers.
|
|
16
|
+
*
|
|
17
|
+
* @param destination The name of the topic destination (e.g., 'market.updates.topic').
|
|
18
|
+
* @returns A {@link Topic} instance.
|
|
19
|
+
*/
|
|
20
|
+
static topic(destination) {
|
|
21
|
+
return new Topic(destination);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
class Queue {
|
|
25
|
+
/**
|
|
26
|
+
* @param destination The name of the queue destination.
|
|
27
|
+
*/
|
|
28
|
+
constructor(destination) {
|
|
29
|
+
this.destination = destination;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Attempts to synchronously receive a message from the queue.
|
|
33
|
+
*
|
|
34
|
+
* @param timeout The maximum time (in milliseconds) to wait for a message. Defaults to 1000ms.
|
|
35
|
+
* @returns The received message content (usually a string or object), or null if the timeout is reached.
|
|
36
|
+
*/
|
|
37
|
+
receive(timeout = 1e3) {
|
|
38
|
+
return MessagingFacade.receiveFromQueue(this.destination, timeout);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
class Topic {
|
|
42
|
+
/**
|
|
43
|
+
* @param destination The name of the topic destination.
|
|
44
|
+
*/
|
|
45
|
+
constructor(destination) {
|
|
46
|
+
this.destination = destination;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Attempts to synchronously receive a message from the topic.
|
|
50
|
+
*
|
|
51
|
+
* @param timeout The maximum time (in milliseconds) to wait for a message. Defaults to 1000ms.
|
|
52
|
+
* @returns The received message content (usually a string or object), or null if the timeout is reached.
|
|
53
|
+
*/
|
|
54
|
+
receive(timeout = 1e3) {
|
|
55
|
+
return MessagingFacade.receiveFromTopic(this.destination, timeout);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (typeof module !== "undefined") {
|
|
59
|
+
module.exports = Consumer;
|
|
60
|
+
}
|
|
61
|
+
export {
|
|
62
|
+
Consumer
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9jb25zdW1lci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBQcm92aWRlcyBhbiBBUEkgZm9yIGNvbnN1bWluZyBtZXNzYWdlcyBmcm9tIEpNUy1zdHlsZSBkZXN0aW5hdGlvbnMsXG4gKiBzdXBwb3J0aW5nIGJvdGggUXVldWVzIChwb2ludC10by1wb2ludCkgYW5kIFRvcGljcyAocHVibGlzaC9zdWJzY3JpYmUpLlxuICovXG5cbmNvbnN0IE1lc3NhZ2luZ0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5tZXNzYWdpbmcuTWVzc2FnaW5nRmFjYWRlXCIpO1xuXG4vKipcbiAqIFRoZSBlbnRyeSBwb2ludCBmb3IgY3JlYXRpbmcgbWVzc2FnaW5nIGNvbnN1bWVycy5cbiAqIFVzZSB0aGlzIGNsYXNzIHRvIG9idGFpbiBpbnN0YW5jZXMgb2YgUXVldWUgb3IgVG9waWMgY29uc3VtZXJzLlxuICovXG5leHBvcnQgY2xhc3MgQ29uc3VtZXIge1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIFF1ZXVlIGNvbnN1bWVyIGluc3RhbmNlIGZvciBwb2ludC10by1wb2ludCBtZXNzYWdpbmcuXG4gICAgICogTWVzc2FnZXMgc2VudCB0byB0aGlzIGRlc3RpbmF0aW9uIGFyZSBjb25zdW1lZCBieSBvbmx5IG9uZSByZWNlaXZlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgbmFtZSBvZiB0aGUgcXVldWUgZGVzdGluYXRpb24gKGUuZy4sICdvcmRlcnMucXVldWUnKS5cbiAgICAgKiBAcmV0dXJucyBBIHtAbGluayBRdWV1ZX0gaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBxdWV1ZShkZXN0aW5hdGlvbjogc3RyaW5nKTogUXVldWUge1xuICAgICAgICByZXR1cm4gbmV3IFF1ZXVlKGRlc3RpbmF0aW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgVG9waWMgY29uc3VtZXIgaW5zdGFuY2UgZm9yIHB1Ymxpc2gvc3Vic2NyaWJlIG1lc3NhZ2luZy5cbiAgICAgKiBNZXNzYWdlcyBzZW50IHRvIHRoaXMgZGVzdGluYXRpb24gY2FuIGJlIGNvbnN1bWVkIGJ5IG11bHRpcGxlIHN1YnNjcmliZXJzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyBkZXN0aW5hdGlvbiAoZS5nLiwgJ21hcmtldC51cGRhdGVzLnRvcGljJykuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgVG9waWN9IGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdG9waWMoZGVzdGluYXRpb246IHN0cmluZyk6IFRvcGljIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUb3BpYyhkZXN0aW5hdGlvbik7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb25zdW1lciBmb3IgYSBRdWV1ZSBkZXN0aW5hdGlvbiAocG9pbnQtdG8tcG9pbnQpLlxuICovXG5jbGFzcyBRdWV1ZSB7XG5cbiAgICBwcml2YXRlIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGVzdGluYXRpb24gVGhlIG5hbWUgb2YgdGhlIHF1ZXVlIGRlc3RpbmF0aW9uLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGRlc3RpbmF0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF0dGVtcHRzIHRvIHN5bmNocm9ub3VzbHkgcmVjZWl2ZSBhIG1lc3NhZ2UgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGltZW91dCBUaGUgbWF4aW11bSB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRvIHdhaXQgZm9yIGEgbWVzc2FnZS4gRGVmYXVsdHMgdG8gMTAwMG1zLlxuICAgICAqIEByZXR1cm5zIFRoZSByZWNlaXZlZCBtZXNzYWdlIGNvbnRlbnQgKHVzdWFsbHkgYSBzdHJpbmcgb3Igb2JqZWN0KSwgb3IgbnVsbCBpZiB0aGUgdGltZW91dCBpcyByZWFjaGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWNlaXZlKHRpbWVvdXQ6IG51bWJlciA9IDEwMDApIHtcbiAgICAgICAgcmV0dXJuIE1lc3NhZ2luZ0ZhY2FkZS5yZWNlaXZlRnJvbVF1ZXVlKHRoaXMuZGVzdGluYXRpb24sIHRpbWVvdXQpO1xuICAgIH07XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbnN1bWVyIGZvciBhIFRvcGljIGRlc3RpbmF0aW9uIChwdWJsaXNoL3N1YnNjcmliZSkuXG4gKi9cbmNsYXNzIFRvcGljIHtcblxuICAgIHByaXZhdGUgZGVzdGluYXRpb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZXN0aW5hdGlvbiBUaGUgbmFtZSBvZiB0aGUgdG9waWMgZGVzdGluYXRpb24uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGVzdGluYXRpb246IHN0cmluZykge1xuICAgICAgICB0aGlzLmRlc3RpbmF0aW9uID0gZGVzdGluYXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXR0ZW1wdHMgdG8gc3luY2hyb25vdXNseSByZWNlaXZlIGEgbWVzc2FnZSBmcm9tIHRoZSB0b3BpYy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aW1lb3V0IFRoZSBtYXhpbXVtIHRpbWUgKGluIG1pbGxpc2Vjb25kcykgdG8gd2FpdCBmb3IgYSBtZXNzYWdlLiBEZWZhdWx0cyB0byAxMDAwbXMuXG4gICAgICogQHJldHVybnMgVGhlIHJlY2VpdmVkIG1lc3NhZ2UgY29udGVudCAodXN1YWxseSBhIHN0cmluZyBvciBvYmplY3QpLCBvciBudWxsIGlmIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQuXG4gICAgICovXG4gICAgcHVibGljIHJlY2VpdmUodGltZW91dDogbnVtYmVyID0gMTAwMCkge1xuICAgICAgICByZXR1cm4gTWVzc2FnaW5nRmFjYWRlLnJlY2VpdmVGcm9tVG9waWModGhpcy5kZXN0aW5hdGlvbiwgdGltZW91dCk7XG4gICAgfVxufVxuXG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtb2R1bGUuZXhwb3J0cyA9IENvbnN1bWVyO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUtBLE1BQU0sa0JBQWtCLEtBQUssS0FBSyxnRUFBZ0U7QUFNM0YsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNsQixPQUFjLE1BQU0sYUFBNEI7QUFDNUMsV0FBTyxJQUFJLE1BQU0sV0FBVztBQUFBLEVBQ2hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNBLE9BQWMsTUFBTSxhQUE0QjtBQUM1QyxXQUFPLElBQUksTUFBTSxXQUFXO0FBQUEsRUFDaEM7QUFDSjtBQUtBLE1BQU0sTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1IsWUFBWSxhQUFxQjtBQUM3QixTQUFLLGNBQWM7QUFBQSxFQUN2QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sUUFBUSxVQUFrQixLQUFNO0FBQ25DLFdBQU8sZ0JBQWdCLGlCQUFpQixLQUFLLGFBQWEsT0FBTztBQUFBLEVBQ3JFO0FBQ0o7QUFLQSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9SLFlBQVksYUFBcUI7QUFDN0IsU0FBSyxjQUFjO0FBQUEsRUFDdkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFFBQVEsVUFBa0IsS0FBTTtBQUNuQyxXQUFPLGdCQUFnQixpQkFBaUIsS0FBSyxhQUFhLE9BQU87QUFBQSxFQUNyRTtBQUNKO0FBSUEsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUUvQixTQUFPLFVBQVU7QUFDckI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const LISTENER_METADATA_KEY = Symbol("listener:metadata");
|
|
2
|
+
function Listener(options) {
|
|
3
|
+
return function(target, context) {
|
|
4
|
+
if (context.kind !== "class") {
|
|
5
|
+
throw new Error(`@Listener can only be used on classes.`);
|
|
6
|
+
}
|
|
7
|
+
Object.defineProperty(target, LISTENER_METADATA_KEY, {
|
|
8
|
+
value: {
|
|
9
|
+
name: options.name,
|
|
10
|
+
kind: options.kind
|
|
11
|
+
},
|
|
12
|
+
writable: false,
|
|
13
|
+
configurable: false,
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
Listener
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9kZWNvcmF0b3JzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBMSVNURU5FUl9NRVRBREFUQV9LRVkgPSBTeW1ib2woXCJsaXN0ZW5lcjptZXRhZGF0YVwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lck9wdGlvbnMge1xuICAgIG5hbWU6IHN0cmluZzsgLy8gZS5nLiwgXCJNeVF1ZXVlXCJcbiAgICBraW5kOiBzdHJpbmc7ICAgICAgLy8gZS5nLiwgXCJRdWV1ZVwiXG59XG5cbi8qKlxuICogQExpc3RlbmVyIGRlY29yYXRvclxuICogTWFya3MgYW4gZW50aXJlIGNsYXNzIGFzIGEgbGlzdGVuZXJcbiAqXG4gKiBpbnRyb2R1Y2VkIGluIFR5cGVTY3JpcHQgNS4wLCB3aGljaCBleHBlY3RzIGEgQ2xhc3NEZWNvcmF0b3JDb250ZXh0IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExpc3RlbmVyKG9wdGlvbnM6IExpc3RlbmVyT3B0aW9ucykge1xuICAgIFxuICAgIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIGFic3RyYWN0IG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnk+KHRhcmdldDogVCwgY29udGV4dDogQ2xhc3NEZWNvcmF0b3JDb250ZXh0PFQ+KSB7XG4gICAgICAgIFxuICAgICAgICBpZiAoY29udGV4dC5raW5kICE9PSAnY2xhc3MnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEBMaXN0ZW5lciBjYW4gb25seSBiZSB1c2VkIG9uIGNsYXNzZXMuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBMSVNURU5FUl9NRVRBREFUQV9LRVksIHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgICAgIGtpbmQ6IG9wdGlvbnMua2luZFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxNQUFNLHdCQUF3QixPQUFPLG1CQUFtQjtBQWFqRCxTQUFTLFNBQVMsU0FBMEI7QUFFL0MsU0FBTyxTQUF3RCxRQUFXLFNBQW1DO0FBRXpHLFFBQUksUUFBUSxTQUFTLFNBQVM7QUFDMUIsWUFBTSxJQUFJLE1BQU0sd0NBQXdDO0FBQUEsSUFDNUQ7QUFFQSxXQUFPLGVBQWUsUUFBUSx1QkFBdUI7QUFBQSxNQUNqRCxPQUFPO0FBQUEsUUFDSCxNQUFNLFFBQVE7QUFBQSxRQUNkLE1BQU0sUUFBUTtBQUFBLE1BQ2xCO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixjQUFjO0FBQUEsTUFDZCxZQUFZO0FBQUEsSUFDaEIsQ0FBQztBQUFBLEVBQ0w7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
|