@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,19 @@
|
|
|
1
|
+
const RabbitMQFacade = Java.type("org.eclipse.dirigible.components.api.rabbitmq.RabbitMQFacade");
|
|
2
|
+
class Producer {
|
|
3
|
+
/**
|
|
4
|
+
* Sends a message to the specified RabbitMQ queue.
|
|
5
|
+
*
|
|
6
|
+
* @param queue The name of the RabbitMQ queue to send the message to.
|
|
7
|
+
* @param message The content of the message to be sent (as a string).
|
|
8
|
+
*/
|
|
9
|
+
static send(queue, message) {
|
|
10
|
+
RabbitMQFacade.send(queue, message);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
if (typeof module !== "undefined") {
|
|
14
|
+
module.exports = Producer;
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
Producer
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JhYmJpdG1xL3Byb2R1Y2VyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFJhYmJpdE1RIFByb2R1Y2VyXG4gKlxuICogVGhpcyBmYWNhZGUgcHJvdmlkZXMgYSBzdGF0aWMgbWV0aG9kIHRvIHNlbmQgbWVzc2FnZXMgdG8gYSBSYWJiaXRNUSBxdWV1ZSxcbiAqIHdyYXBwaW5nIHRoZSB1bmRlcmx5aW5nIEphdmEgaW1wbGVtZW50YXRpb24gcHJvdmlkZWQgYnkgdGhlIGBSYWJiaXRNUUZhY2FkZWAuXG4gKi9cblxuY29uc3QgUmFiYml0TVFGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucmFiYml0bXEuUmFiYml0TVFGYWNhZGVcIik7XG5cbmV4cG9ydCBjbGFzcyBQcm9kdWNlciB7XG5cbiAgICAvKipcbiAgICAgKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIHNwZWNpZmllZCBSYWJiaXRNUSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBxdWV1ZSBUaGUgbmFtZSBvZiB0aGUgUmFiYml0TVEgcXVldWUgdG8gc2VuZCB0aGUgbWVzc2FnZSB0by5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgY29udGVudCBvZiB0aGUgbWVzc2FnZSB0byBiZSBzZW50IChhcyBhIHN0cmluZykuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzZW5kKHF1ZXVlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBSYWJiaXRNUUZhY2FkZS5zZW5kKHF1ZXVlLCBtZXNzYWdlKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtb2R1bGUuZXhwb3J0cyA9IFByb2R1Y2VyO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQU9BLE1BQU0saUJBQWlCLEtBQUssS0FBSyw4REFBOEQ7QUFFeEYsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbEIsT0FBYyxLQUFLLE9BQWUsU0FBdUI7QUFDckQsbUJBQWUsS0FBSyxPQUFPLE9BQU87QUFBQSxFQUN0QztBQUNKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUUvQixTQUFPLFVBQVU7QUFDckI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
const RedisFacade = Java.type("org.eclipse.dirigible.components.api.redis.RedisFacade");
|
|
2
|
+
class Client {
|
|
3
|
+
/**
|
|
4
|
+
* Initializes the Redis Client and retrieves the native client instance
|
|
5
|
+
* from the Redis Facade.
|
|
6
|
+
*/
|
|
7
|
+
constructor() {
|
|
8
|
+
this.native = RedisFacade.getClient();
|
|
9
|
+
}
|
|
10
|
+
// --- Key-Value and General Operations ---
|
|
11
|
+
/**
|
|
12
|
+
* Appends a value to the value of a key. If the key does not exist,
|
|
13
|
+
* it is created and set to the initial value.
|
|
14
|
+
*
|
|
15
|
+
* @param key The key to append to.
|
|
16
|
+
* @param value The value string to append.
|
|
17
|
+
* @returns The length of the string after the append operation.
|
|
18
|
+
*/
|
|
19
|
+
append(key, value) {
|
|
20
|
+
return this.native.append(key, value);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Counts the number of set bits (1s) in the string value of a key.
|
|
24
|
+
*
|
|
25
|
+
* @param key The key to perform the bitcount on.
|
|
26
|
+
* @returns The number of set bits.
|
|
27
|
+
*/
|
|
28
|
+
bitcount(key) {
|
|
29
|
+
return this.native.bitcount(key);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Decrements the number stored at key by one.
|
|
33
|
+
*
|
|
34
|
+
* @param key The key holding the numeric value.
|
|
35
|
+
* @returns The value of key after the decrement.
|
|
36
|
+
*/
|
|
37
|
+
decr(key) {
|
|
38
|
+
return this.native.decr(key);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Deletes the specified key.
|
|
42
|
+
*
|
|
43
|
+
* @param key The key to delete.
|
|
44
|
+
* @returns The number of keys that were removed (1 if successful, 0 otherwise).
|
|
45
|
+
*/
|
|
46
|
+
del(key) {
|
|
47
|
+
return this.native.del(key);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Checks if the specified key exists.
|
|
51
|
+
*
|
|
52
|
+
* @param key The key to check.
|
|
53
|
+
* @returns True if the key exists, false otherwise.
|
|
54
|
+
*/
|
|
55
|
+
exists(key) {
|
|
56
|
+
return this.native.exists(key);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Gets the value of the specified key.
|
|
60
|
+
*
|
|
61
|
+
* @param key The key to retrieve the value for.
|
|
62
|
+
* @returns The value of the key, or null if the key does not exist.
|
|
63
|
+
*/
|
|
64
|
+
get(key) {
|
|
65
|
+
return this.native.get(key);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Increments the number stored at key by one.
|
|
69
|
+
*
|
|
70
|
+
* @param key The key holding the numeric value.
|
|
71
|
+
* @returns The value of key after the increment.
|
|
72
|
+
*/
|
|
73
|
+
incr(key) {
|
|
74
|
+
return this.native.incr(key);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Finds all keys matching the given pattern.
|
|
78
|
+
*
|
|
79
|
+
* @param pattern The pattern to match keys against (e.g., "user:*").
|
|
80
|
+
* @returns An array of matching keys.
|
|
81
|
+
*/
|
|
82
|
+
keys(pattern) {
|
|
83
|
+
return this.native.keys(pattern);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Sets the string value of a key.
|
|
87
|
+
*
|
|
88
|
+
* @param key The key to set.
|
|
89
|
+
* @param value The string value to assign to the key.
|
|
90
|
+
* @returns 'OK' on success.
|
|
91
|
+
*/
|
|
92
|
+
set(key, value) {
|
|
93
|
+
return this.native.set(key, value);
|
|
94
|
+
}
|
|
95
|
+
// --- List Operations ---
|
|
96
|
+
/**
|
|
97
|
+
* Gets an element from a list by its zero-based index.
|
|
98
|
+
*
|
|
99
|
+
* @param key The key of the list.
|
|
100
|
+
* @param index The zero-based index (0 is the first element, -1 is the last).
|
|
101
|
+
* @returns The element at the specified index, or null if the index is out of range.
|
|
102
|
+
*/
|
|
103
|
+
lindex(key, index) {
|
|
104
|
+
return this.native.lindex(key, index);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Gets the length of the list stored at the key.
|
|
108
|
+
*
|
|
109
|
+
* @param key The key of the list.
|
|
110
|
+
* @returns The length of the list.
|
|
111
|
+
*/
|
|
112
|
+
llen(key) {
|
|
113
|
+
return this.native.llen(key);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Removes and returns the first element of the list stored at the key (Left POP).
|
|
117
|
+
*
|
|
118
|
+
* @param key The key of the list.
|
|
119
|
+
* @returns The first element of the list, or null when the list is empty.
|
|
120
|
+
*/
|
|
121
|
+
lpop(key) {
|
|
122
|
+
return this.native.lpop(key);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Inserts all specified values at the head of the list stored at the key (Left PUSH).
|
|
126
|
+
*
|
|
127
|
+
* @param key The key of the list.
|
|
128
|
+
* @param value One or more values to prepend to the list.
|
|
129
|
+
* @returns The new length of the list.
|
|
130
|
+
*/
|
|
131
|
+
lpush(key, ...value) {
|
|
132
|
+
return this.native.lpush(key, value);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Returns the specified elements of the list stored at the key.
|
|
136
|
+
*
|
|
137
|
+
* @param key The key of the list.
|
|
138
|
+
* @param start The starting zero-based offset.
|
|
139
|
+
* @param stop The stopping zero-based offset.
|
|
140
|
+
* @returns An array of elements in the specified range.
|
|
141
|
+
*/
|
|
142
|
+
lrange(key, start, stop) {
|
|
143
|
+
return this.native.lrange(key, start, stop);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Removes and returns the last element of the list stored at the key (Right POP).
|
|
147
|
+
*
|
|
148
|
+
* @param key The key of the list.
|
|
149
|
+
* @returns The last element of the list, or null when the list is empty.
|
|
150
|
+
*/
|
|
151
|
+
rpop(key) {
|
|
152
|
+
return this.native.rpop(key);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Inserts all specified values at the tail of the list stored at the key (Right PUSH).
|
|
156
|
+
*
|
|
157
|
+
* @param key The key of the list.
|
|
158
|
+
* @param value One or more values to append to the list.
|
|
159
|
+
* @returns The new length of the list.
|
|
160
|
+
*/
|
|
161
|
+
rpush(key, ...value) {
|
|
162
|
+
return this.native.rpush(key, value);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (typeof module !== "undefined") {
|
|
166
|
+
module.exports = Client;
|
|
167
|
+
}
|
|
168
|
+
export {
|
|
169
|
+
Client
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZGlzL2NsaWVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBSZWRpcyBDbGllbnRcbiAqXG4gKiBUaGlzIGNsYXNzIHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgY29tbW9uIFJlZGlzIG9wZXJhdGlvbnMsIHByb3ZpZGluZyBhIGNvbnZlbmllbnRcbiAqIEphdmFTY3JpcHQgaW50ZXJmYWNlIHRoYXQgd3JhcHMgdGhlIHVuZGVybHlpbmcgSmF2YSBSZWRpcyBjbGllbnQgaW1wbGVtZW50YXRpb24uXG4gKi9cblxuY29uc3QgUmVkaXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucmVkaXMuUmVkaXNGYWNhZGVcIik7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgUmVkaXMgQ2xpZW50IGFuZCByZXRyaWV2ZXMgdGhlIG5hdGl2ZSBjbGllbnQgaW5zdGFuY2VcbiAgICAgKiBmcm9tIHRoZSBSZWRpcyBGYWNhZGUuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gUmVkaXNGYWNhZGUuZ2V0Q2xpZW50KCk7XG4gICAgfVxuXG4gICAgLy8gLS0tIEtleS1WYWx1ZSBhbmQgR2VuZXJhbCBPcGVyYXRpb25zIC0tLVxuXG4gICAgLyoqXG4gICAgICogQXBwZW5kcyBhIHZhbHVlIHRvIHRoZSB2YWx1ZSBvZiBhIGtleS4gSWYgdGhlIGtleSBkb2VzIG5vdCBleGlzdCxcbiAgICAgKiBpdCBpcyBjcmVhdGVkIGFuZCBzZXQgdG8gdGhlIGluaXRpYWwgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gYXBwZW5kIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgc3RyaW5nIHRvIGFwcGVuZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgYWZ0ZXIgdGhlIGFwcGVuZCBvcGVyYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIGFwcGVuZChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ291bnRzIHRoZSBudW1iZXIgb2Ygc2V0IGJpdHMgKDFzKSBpbiB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHBlcmZvcm0gdGhlIGJpdGNvdW50IG9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygc2V0IGJpdHMuXG4gICAgICovXG4gICAgcHVibGljIGJpdGNvdW50KGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmJpdGNvdW50KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjcmVtZW50cyB0aGUgbnVtYmVyIHN0b3JlZCBhdCBrZXkgYnkgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IGhvbGRpbmcgdGhlIG51bWVyaWMgdmFsdWUuXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIGtleSBhZnRlciB0aGUgZGVjcmVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWNyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmRlY3Ioa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIGRlbGV0ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGtleXMgdGhhdCB3ZXJlIHJlbW92ZWQgKDEgaWYgc3VjY2Vzc2Z1bCwgMCBvdGhlcndpc2UpLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWwoa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZGVsKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQga2V5IGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBrZXkgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGV4aXN0cyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZvci5cbiAgICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGtleSwgb3IgbnVsbCBpZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5jcmVtZW50cyB0aGUgbnVtYmVyIHN0b3JlZCBhdCBrZXkgYnkgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IGhvbGRpbmcgdGhlIG51bWVyaWMgdmFsdWUuXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIGtleSBhZnRlciB0aGUgaW5jcmVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmNyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmluY3Ioa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBhbGwga2V5cyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0dGVybi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIG1hdGNoIGtleXMgYWdhaW5zdCAoZS5nLiwgXCJ1c2VyOipcIikuXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWF0Y2hpbmcga2V5cy5cbiAgICAgKi9cbiAgICBwdWJsaWMga2V5cyhwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5rZXlzKHBhdHRlcm4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZXQuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUgdG8gYXNzaWduIHRvIHRoZSBrZXkuXG4gICAgICogQHJldHVybnMgJ09LJyBvbiBzdWNjZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuc2V0KGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIC0tLSBMaXN0IE9wZXJhdGlvbnMgLS0tXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIGVsZW1lbnQgZnJvbSBhIGxpc3QgYnkgaXRzIHplcm8tYmFzZWQgaW5kZXguXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSB6ZXJvLWJhc2VkIGluZGV4ICgwIGlzIHRoZSBmaXJzdCBlbGVtZW50LCAtMSBpcyB0aGUgbGFzdCkuXG4gICAgICogQHJldHVybnMgVGhlIGVsZW1lbnQgYXQgdGhlIHNwZWNpZmllZCBpbmRleCwgb3IgbnVsbCBpZiB0aGUgaW5kZXggaXMgb3V0IG9mIHJhbmdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBsaW5kZXgoa2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUubGluZGV4KGtleSwgaW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGVuZ3RoIG9mIHRoZSBsaXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBsbGVuKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxsZW4oa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFuZCByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChMZWZ0IFBPUCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGxpc3QsIG9yIG51bGwgd2hlbiB0aGUgbGlzdCBpcyBlbXB0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbHBvcChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5scG9wKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyBhbGwgc3BlY2lmaWVkIHZhbHVlcyBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleSAoTGVmdCBQVVNIKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgT25lIG9yIG1vcmUgdmFsdWVzIHRvIHByZXBlbmQgdG8gdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBsZW5ndGggb2YgdGhlIGxpc3QuXG4gICAgICovXG4gICAgcHVibGljIGxwdXNoKGtleTogc3RyaW5nLCAuLi52YWx1ZTogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxwdXNoKGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNwZWNpZmllZCBlbGVtZW50cyBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gc3RhcnQgVGhlIHN0YXJ0aW5nIHplcm8tYmFzZWQgb2Zmc2V0LlxuICAgICAqIEBwYXJhbSBzdG9wIFRoZSBzdG9wcGluZyB6ZXJvLWJhc2VkIG9mZnNldC5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBlbGVtZW50cyBpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBscmFuZ2Uoa2V5OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIHN0b3A6IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxyYW5nZShrZXksIHN0YXJ0LCBzdG9wKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFuZCByZXR1cm5zIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIGxpc3Qgc3RvcmVkIGF0IHRoZSBrZXkgKFJpZ2h0IFBPUCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgbGlzdCwgb3IgbnVsbCB3aGVuIHRoZSBsaXN0IGlzIGVtcHR5LlxuICAgICAqL1xuICAgIHB1YmxpYyBycG9wKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnJwb3Aoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIGFsbCBzcGVjaWZpZWQgdmFsdWVzIGF0IHRoZSB0YWlsIG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChSaWdodCBQVVNIKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgT25lIG9yIG1vcmUgdmFsdWVzIHRvIGFwcGVuZCB0byB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgbGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcnB1c2goa2V5OiBzdHJpbmcsIC4uLnZhbHVlOiBzdHJpbmdbXSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5ycHVzaChrZXksIHZhbHVlKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtb2R1bGUuZXhwb3J0cyA9IENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFPQSxNQUFNLGNBQWMsS0FBSyxLQUFLLHdEQUF3RDtBQUUvRSxNQUFNLE9BQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2hCLGNBQWM7QUFDVixTQUFLLFNBQVMsWUFBWSxVQUFVO0FBQUEsRUFDeEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVlPLE9BQU8sS0FBYSxPQUF1QjtBQUM5QyxXQUFPLEtBQUssT0FBTyxPQUFPLEtBQUssS0FBSztBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxTQUFTLEtBQXFCO0FBQ2pDLFdBQU8sS0FBSyxPQUFPLFNBQVMsR0FBRztBQUFBLEVBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLEtBQXFCO0FBQzdCLFdBQU8sS0FBSyxPQUFPLEtBQUssR0FBRztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxJQUFJLEtBQXFCO0FBQzVCLFdBQU8sS0FBSyxPQUFPLElBQUksR0FBRztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxPQUFPLEtBQXNCO0FBQ2hDLFdBQU8sS0FBSyxPQUFPLE9BQU8sR0FBRztBQUFBLEVBQ2pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxJQUFJLEtBQXFCO0FBQzVCLFdBQU8sS0FBSyxPQUFPLElBQUksR0FBRztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLEtBQXFCO0FBQzdCLFdBQU8sS0FBSyxPQUFPLEtBQUssR0FBRztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLFNBQTJCO0FBQ25DLFdBQU8sS0FBSyxPQUFPLEtBQUssT0FBTztBQUFBLEVBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLElBQUksS0FBYSxPQUF1QjtBQUMzQyxXQUFPLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSztBQUFBLEVBQ3JDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV08sT0FBTyxLQUFhLE9BQXVCO0FBQzlDLFdBQU8sS0FBSyxPQUFPLE9BQU8sS0FBSyxLQUFLO0FBQUEsRUFDeEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLEtBQUssS0FBcUI7QUFDN0IsV0FBTyxLQUFLLE9BQU8sS0FBSyxHQUFHO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLEtBQUssS0FBcUI7QUFDN0IsV0FBTyxLQUFLLE9BQU8sS0FBSyxHQUFHO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU08sTUFBTSxRQUFnQixPQUFpQjtBQUMxQyxXQUFPLEtBQUssT0FBTyxNQUFNLEtBQUssS0FBSztBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVU8sT0FBTyxLQUFhLE9BQWUsTUFBd0I7QUFDOUQsV0FBTyxLQUFLLE9BQU8sT0FBTyxLQUFLLE9BQU8sSUFBSTtBQUFBLEVBQzlDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLEtBQXFCO0FBQzdCLFdBQU8sS0FBSyxPQUFPLEtBQUssR0FBRztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLE1BQU0sUUFBZ0IsT0FBeUI7QUFDbEQsV0FBTyxLQUFLLE9BQU8sTUFBTSxLQUFLLEtBQUs7QUFBQSxFQUN2QztBQUNKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUUvQixTQUFPLFVBQVU7QUFDckI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./client";
|
|
2
|
+
import { Client } from "./client";
|
|
3
|
+
export {
|
|
4
|
+
Client as client
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZGlzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9jbGllbnRcIjtcbmV4cG9ydCB7IENsaWVudCBhcyBjbGllbnQgfSBmcm9tIFwiLi9jbGllbnRcIjtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLGNBQWM7QUFDZCxTQUFtQixjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const UserFacade = Java.type("org.eclipse.dirigible.components.api.security.UserFacade");
|
|
2
|
+
function Roles(roles) {
|
|
3
|
+
return function(target, _context) {
|
|
4
|
+
const moduleName = target.name || "<unknown>";
|
|
5
|
+
for (const methodName of Object.getOwnPropertyNames(target.prototype)) {
|
|
6
|
+
if (methodName === "constructor") {
|
|
7
|
+
continue;
|
|
8
|
+
}
|
|
9
|
+
const original = target.prototype[methodName];
|
|
10
|
+
if (typeof original !== "function") {
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
target.prototype[methodName] = function(...args) {
|
|
14
|
+
const allowed = roles.some((role) => UserFacade.isInRole(role));
|
|
15
|
+
if (!allowed) {
|
|
16
|
+
throw new Error(
|
|
17
|
+
"User is not allowed to call this module: " + moduleName
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
return original.apply(this, args);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return target;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
Roles
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L2RlY29yYXRvcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IFVzZXJGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuc2VjdXJpdHkuVXNlckZhY2FkZVwiKTtcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSByb2xlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gUm9sZXMocm9sZXMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwgX2NvbnRleHQpIHtcbiAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRhcmdldC5uYW1lIHx8IFwiPHVua25vd24+XCI7XG4gICAgICAgIGZvciAoY29uc3QgbWV0aG9kTmFtZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQucHJvdG90eXBlKSkge1xuICAgICAgICAgICAgaWYgKG1ldGhvZE5hbWUgPT09IFwiY29uc3RydWN0b3JcIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSB0YXJnZXQucHJvdG90eXBlW21ldGhvZE5hbWVdO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcmlnaW5hbCAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YXJnZXQucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGxvd2VkID0gcm9sZXMuc29tZShyb2xlID0+IFVzZXJGYWNhZGUuaXNJblJvbGUocm9sZSkpO1xuICAgICAgICAgICAgICAgIGlmICghYWxsb3dlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlVzZXIgaXMgbm90IGFsbG93ZWQgdG8gY2FsbCB0aGlzIG1vZHVsZTogXCIgKyBtb2R1bGVOYW1lXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH07XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsTUFBTSxhQUFhLEtBQUssS0FBSywwREFBMEQ7QUFLaEYsU0FBUyxNQUFNLE9BQU87QUFDekIsU0FBTyxTQUFVLFFBQVEsVUFBVTtBQUMvQixVQUFNLGFBQWEsT0FBTyxRQUFRO0FBQ2xDLGVBQVcsY0FBYyxPQUFPLG9CQUFvQixPQUFPLFNBQVMsR0FBRztBQUNuRSxVQUFJLGVBQWUsZUFBZTtBQUM5QjtBQUFBLE1BQ0o7QUFDQSxZQUFNLFdBQVcsT0FBTyxVQUFVLFVBQVU7QUFDNUMsVUFBSSxPQUFPLGFBQWEsWUFBWTtBQUNoQztBQUFBLE1BQ0o7QUFDQSxhQUFPLFVBQVUsVUFBVSxJQUFJLFlBQWEsTUFBTTtBQUM5QyxjQUFNLFVBQVUsTUFBTSxLQUFLLFVBQVEsV0FBVyxTQUFTLElBQUksQ0FBQztBQUM1RCxZQUFJLENBQUMsU0FBUztBQUNWLGdCQUFNLElBQUk7QUFBQSxZQUNOLDhDQUE4QztBQUFBLFVBQ2xEO0FBQUEsUUFDSjtBQUNBLGVBQU8sU0FBUyxNQUFNLE1BQU0sSUFBSTtBQUFBLE1BQ3BDO0FBQUEsSUFDSjtBQUVBLFdBQU87QUFBQSxFQUNYO0FBQ0o7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./user";
|
|
2
|
+
import { User } from "./user";
|
|
3
|
+
export * from "./oauth";
|
|
4
|
+
export * from "./decorators";
|
|
5
|
+
import * as decorators from "./decorators";
|
|
6
|
+
export {
|
|
7
|
+
decorators,
|
|
8
|
+
User as user
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi91c2VyXCI7XG5leHBvcnQgeyBVc2VyIGFzIHVzZXIgfSBmcm9tIFwiLi91c2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vYXV0aFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogYXMgZGVjb3JhdG9ycyBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxjQUFjO0FBQ2QsU0FBaUIsWUFBWTtBQUM3QixjQUFjO0FBQ2QsY0FBYztBQUNkLFlBQVksZ0JBQWdCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { client as httpClient } from "@aerokit/sdk/http";
|
|
2
|
+
import { url } from "@aerokit/sdk/utils";
|
|
3
|
+
class OAuthClient {
|
|
4
|
+
/**
|
|
5
|
+
* Initializes the OAuthClient with the required configuration.
|
|
6
|
+
* Sets 'client_credentials' as the default grant type if none is provided.
|
|
7
|
+
*
|
|
8
|
+
* @param config The configuration object containing URL, client ID, and secret.
|
|
9
|
+
*/
|
|
10
|
+
constructor(config) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
if (!config.grantType) {
|
|
13
|
+
config.grantType = "client_credentials";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Executes the OAuth token request and returns the parsed response.
|
|
18
|
+
*
|
|
19
|
+
* The request uses the client credentials grant type (default) and
|
|
20
|
+
* sends credentials as URL-encoded parameters in the body.
|
|
21
|
+
*
|
|
22
|
+
* @returns A parsed JSON object containing the OAuth token (e.g., { access_token: string, expires_in: number, ... }).
|
|
23
|
+
* @throws {Error} If the HTTP status code is not 200.
|
|
24
|
+
*/
|
|
25
|
+
getToken() {
|
|
26
|
+
const params = [{
|
|
27
|
+
name: "grant_type",
|
|
28
|
+
value: this.config.grantType
|
|
29
|
+
}, {
|
|
30
|
+
name: "client_id",
|
|
31
|
+
// The client ID is URL-encoded
|
|
32
|
+
value: url.encode(this.config.clientId)
|
|
33
|
+
}, {
|
|
34
|
+
name: "client_secret",
|
|
35
|
+
// The client secret is URL-encoded
|
|
36
|
+
value: url.encode(this.config.clientSecret)
|
|
37
|
+
}];
|
|
38
|
+
const oauthResponse = httpClient.post(this.config.url, {
|
|
39
|
+
params,
|
|
40
|
+
headers: [{
|
|
41
|
+
name: "Content-Type",
|
|
42
|
+
value: "application/x-www-form-urlencoded"
|
|
43
|
+
}]
|
|
44
|
+
});
|
|
45
|
+
if (oauthResponse.statusCode !== 200) {
|
|
46
|
+
const errorMessage = `Error occurred while retrieving OAuth token. Status code: [${oauthResponse.statusCode}], text: [${oauthResponse.text}]`;
|
|
47
|
+
console.error(errorMessage);
|
|
48
|
+
throw new Error(errorMessage);
|
|
49
|
+
}
|
|
50
|
+
return JSON.parse(oauthResponse.text);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
OAuthClient
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L29hdXRoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBjbGllbnQgYXMgaHR0cENsaWVudH0gZnJvbSBcIkBhZXJva2l0L3Nkay9odHRwXCJcbmltcG9ydCB7IHVybCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdXRpbHNcIlxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGZvciB0aGUgT0F1dGggY2xpZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoQ2xpZW50Q29uZmlnIHtcbiAgICAvKiogVGhlIFVSTCBlbmRwb2ludCBmb3IgdGhlIE9BdXRoIHRva2VuIHNlcnZpY2UgKGUuZy4sICcvb2F1dGgvdG9rZW4nKS4gKi9cbiAgICByZWFkb25seSB1cmw6IHN0cmluZztcbiAgICAvKiogVGhlIGNsaWVudCBJRCBmb3IgYXV0aGVudGljYXRpb24uICovXG4gICAgcmVhZG9ubHkgY2xpZW50SWQ6IHN0cmluZztcbiAgICAvKiogVGhlIGNsaWVudCBzZWNyZXQgZm9yIGF1dGhlbnRpY2F0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudFNlY3JldDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZ3JhbnQgdHlwZSB0byBiZSB1c2VkLiBEZWZhdWx0cyB0byAnY2xpZW50X2NyZWRlbnRpYWxzJy4gKi9cbiAgICByZWFkb25seSBncmFudFR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjbGllbnQgY2xhc3MgZm9yIGZldGNoaW5nIE9BdXRoIGFjY2VzcyB0b2tlbnMuXG4gKlxuICogSXQgdXNlcyB0aGUgSFRUUCBjbGllbnQgdG8gc2VuZCBhIFBPU1QgcmVxdWVzdCB3aXRoIGNsaWVudCBjcmVkZW50aWFsc1xuICogdG8gdGhlIHNwZWNpZmllZCB0b2tlbiBlbmRwb2ludC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9BdXRoQ2xpZW50IHtcbiAgICBwcml2YXRlIGNvbmZpZzogT0F1dGhDbGllbnRDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgT0F1dGhDbGllbnQgd2l0aCB0aGUgcmVxdWlyZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBTZXRzICdjbGllbnRfY3JlZGVudGlhbHMnIGFzIHRoZSBkZWZhdWx0IGdyYW50IHR5cGUgaWYgbm9uZSBpcyBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGNvbnRhaW5pbmcgVVJMLCBjbGllbnQgSUQsIGFuZCBzZWNyZXQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBPQXV0aENsaWVudENvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgaWYgKCFjb25maWcuZ3JhbnRUeXBlKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25maWcuZ3JhbnRUeXBlID0gXCJjbGllbnRfY3JlZGVudGlhbHNcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHRoZSBPQXV0aCB0b2tlbiByZXF1ZXN0IGFuZCByZXR1cm5zIHRoZSBwYXJzZWQgcmVzcG9uc2UuXG4gICAgICpcbiAgICAgKiBUaGUgcmVxdWVzdCB1c2VzIHRoZSBjbGllbnQgY3JlZGVudGlhbHMgZ3JhbnQgdHlwZSAoZGVmYXVsdCkgYW5kXG4gICAgICogc2VuZHMgY3JlZGVudGlhbHMgYXMgVVJMLWVuY29kZWQgcGFyYW1ldGVycyBpbiB0aGUgYm9keS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEEgcGFyc2VkIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIE9BdXRoIHRva2VuIChlLmcuLCB7IGFjY2Vzc190b2tlbjogc3RyaW5nLCBleHBpcmVzX2luOiBudW1iZXIsIC4uLiB9KS5cbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIEhUVFAgc3RhdHVzIGNvZGUgaXMgbm90IDIwMC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9rZW4oKSB7XG4gICAgICAgIC8vIFByZXBhcmUgdGhlIHJlcXVlc3QgYm9keSBwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IFt7XG4gICAgICAgICAgICBuYW1lOiBcImdyYW50X3R5cGVcIixcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy5ncmFudFR5cGVcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogXCJjbGllbnRfaWRcIixcbiAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgSUQgaXMgVVJMLWVuY29kZWRcbiAgICAgICAgICAgIHZhbHVlOiB1cmwuZW5jb2RlKHRoaXMuY29uZmlnLmNsaWVudElkKVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBuYW1lOiBcImNsaWVudF9zZWNyZXRcIixcbiAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgc2VjcmV0IGlzIFVSTC1lbmNvZGVkXG4gICAgICAgICAgICB2YWx1ZTogdXJsLmVuY29kZSh0aGlzLmNvbmZpZy5jbGllbnRTZWNyZXQpXG4gICAgICAgIH1dO1xuXG4gICAgICAgIGNvbnN0IG9hdXRoUmVzcG9uc2UgPSBodHRwQ2xpZW50LnBvc3QodGhpcy5jb25maWcudXJsLCB7XG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgICAgIGhlYWRlcnM6IFt7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJDb250ZW50LVR5cGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICAgICAgICAgfV1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKG9hdXRoUmVzcG9uc2Uuc3RhdHVzQ29kZSAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgRXJyb3Igb2NjdXJyZWQgd2hpbGUgcmV0cmlldmluZyBPQXV0aCB0b2tlbi4gU3RhdHVzIGNvZGU6IFske29hdXRoUmVzcG9uc2Uuc3RhdHVzQ29kZX1dLCB0ZXh0OiBbJHtvYXV0aFJlc3BvbnNlLnRleHR9XWA7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhcnNlIGFuZCByZXR1cm4gdGhlIHRva2VuIHJlc3BvbnNlXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKG9hdXRoUmVzcG9uc2UudGV4dCk7XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxVQUFVLGtCQUFpQjtBQUNwQyxTQUFTLFdBQVc7QUFzQmIsTUFBTSxZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTckIsWUFBWSxRQUEyQjtBQUNuQyxTQUFLLFNBQVM7QUFDZCxRQUFJLENBQUMsT0FBTyxXQUFXO0FBRW5CLGFBQU8sWUFBWTtBQUFBLElBQ3ZCO0FBQUEsRUFDSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV08sV0FBVztBQUVkLFVBQU0sU0FBUyxDQUFDO0FBQUEsTUFDWixNQUFNO0FBQUEsTUFDTixPQUFPLEtBQUssT0FBTztBQUFBLElBQ3ZCLEdBQUc7QUFBQSxNQUNDLE1BQU07QUFBQTtBQUFBLE1BRU4sT0FBTyxJQUFJLE9BQU8sS0FBSyxPQUFPLFFBQVE7QUFBQSxJQUMxQyxHQUFHO0FBQUEsTUFDQyxNQUFNO0FBQUE7QUFBQSxNQUVOLE9BQU8sSUFBSSxPQUFPLEtBQUssT0FBTyxZQUFZO0FBQUEsSUFDOUMsQ0FBQztBQUVELFVBQU0sZ0JBQWdCLFdBQVcsS0FBSyxLQUFLLE9BQU8sS0FBSztBQUFBLE1BQ25EO0FBQUEsTUFDQSxTQUFTLENBQUM7QUFBQSxRQUNOLE1BQU07QUFBQSxRQUNOLE9BQU87QUFBQSxNQUNYLENBQUM7QUFBQSxJQUNMLENBQUM7QUFFRCxRQUFJLGNBQWMsZUFBZSxLQUFLO0FBQ2xDLFlBQU0sZUFBZSw4REFBOEQsY0FBYyxVQUFVLGFBQWEsY0FBYyxJQUFJO0FBQzFJLGNBQVEsTUFBTSxZQUFZO0FBQzFCLFlBQU0sSUFBSSxNQUFNLFlBQVk7QUFBQSxJQUNoQztBQUdBLFdBQU8sS0FBSyxNQUFNLGNBQWMsSUFBSTtBQUFBLEVBQ3hDO0FBQ0o7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const UserFacade = Java.type("org.eclipse.dirigible.components.api.security.UserFacade");
|
|
2
|
+
class User {
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the principal name (username or ID) of the currently authenticated user.
|
|
5
|
+
*
|
|
6
|
+
* @returns The user's name or identifier as a string.
|
|
7
|
+
*/
|
|
8
|
+
static getName() {
|
|
9
|
+
return UserFacade.getName();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Checks if the currently authenticated user is assigned to a specific security role.
|
|
13
|
+
*
|
|
14
|
+
* @param role The name of the role to check (e.g., 'Administrator', 'User').
|
|
15
|
+
* @returns True if the user is in the specified role, false otherwise.
|
|
16
|
+
*/
|
|
17
|
+
static isInRole(role) {
|
|
18
|
+
return UserFacade.isInRole(role);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Retrieves the remaining session timeout for the current user session in seconds.
|
|
22
|
+
*
|
|
23
|
+
* @returns The session timeout duration in seconds.
|
|
24
|
+
*/
|
|
25
|
+
static getTimeout() {
|
|
26
|
+
return UserFacade.getTimeout();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Retrieves the authentication mechanism used for the current session (e.g., 'BASIC', 'FORM').
|
|
30
|
+
*
|
|
31
|
+
* @returns The type of authentication used.
|
|
32
|
+
*/
|
|
33
|
+
static getAuthType() {
|
|
34
|
+
return UserFacade.getAuthType();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Retrieves the security token associated with the current user session.
|
|
38
|
+
* This might be a session ID or an access token.
|
|
39
|
+
*
|
|
40
|
+
* @returns The security token as a string.
|
|
41
|
+
*/
|
|
42
|
+
static getSecurityToken() {
|
|
43
|
+
return UserFacade.getSecurityToken();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Retrieves the number of requests (invocations) made by the current user
|
|
47
|
+
* during the lifecycle of the current session.
|
|
48
|
+
*
|
|
49
|
+
* @returns The total invocation count.
|
|
50
|
+
*/
|
|
51
|
+
static getInvocationCount() {
|
|
52
|
+
return UserFacade.getInvocationCount();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Retrieves the preferred language setting (e.g., 'en', 'de', 'es') for the current user.
|
|
56
|
+
*
|
|
57
|
+
* @returns The user's preferred language code.
|
|
58
|
+
*/
|
|
59
|
+
static getLanguage() {
|
|
60
|
+
return UserFacade.getLanguage();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (typeof module !== "undefined") {
|
|
64
|
+
module.exports = User;
|
|
65
|
+
}
|
|
66
|
+
export {
|
|
67
|
+
User
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L3VzZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IFVzZXJGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuc2VjdXJpdHkuVXNlckZhY2FkZVwiKTtcblxuLyoqXG4gKiBQcm92aWRlcyBzdGF0aWMgYWNjZXNzIHRvIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyJ3Mgc2VjdXJpdHkgYW5kIHNlc3Npb24gY29udGV4dC5cbiAqIFRoaXMgY2xhc3MgYWN0cyBhcyBhIGZhY2FkZSBmb3IgdGhlIHVuZGVybHlpbmcgVXNlckZhY2FkZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcHJpbmNpcGFsIG5hbWUgKHVzZXJuYW1lIG9yIElEKSBvZiB0aGUgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWQgdXNlci5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB1c2VyJ3MgbmFtZSBvciBpZGVudGlmaWVyIGFzIGEgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXROYW1lKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCB1c2VyIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgc2VjdXJpdHkgcm9sZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb2xlIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNoZWNrIChlLmcuLCAnQWRtaW5pc3RyYXRvcicsICdVc2VyJykuXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgdXNlciBpcyBpbiB0aGUgc3BlY2lmaWVkIHJvbGUsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzSW5Sb2xlKHJvbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5pc0luUm9sZShyb2xlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHJlbWFpbmluZyBzZXNzaW9uIHRpbWVvdXQgZm9yIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvbiBpbiBzZWNvbmRzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIHNlc3Npb24gdGltZW91dCBkdXJhdGlvbiBpbiBzZWNvbmRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGltZW91dCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXRUaW1lb3V0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20gdXNlZCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbiAoZS5nLiwgJ0JBU0lDJywgJ0ZPUk0nKS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB0eXBlIG9mIGF1dGhlbnRpY2F0aW9uIHVzZWQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRBdXRoVHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXRBdXRoVHlwZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgc2VjdXJpdHkgdG9rZW4gYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IHVzZXIgc2Vzc2lvbi5cbiAgICAgKiBUaGlzIG1pZ2h0IGJlIGEgc2Vzc2lvbiBJRCBvciBhbiBhY2Nlc3MgdG9rZW4uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgc2VjdXJpdHkgdG9rZW4gYXMgYSBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRTZWN1cml0eVRva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBVc2VyRmFjYWRlLmdldFNlY3VyaXR5VG9rZW4oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIG51bWJlciBvZiByZXF1ZXN0cyAoaW52b2NhdGlvbnMpIG1hZGUgYnkgdGhlIGN1cnJlbnQgdXNlclxuICAgICAqIGR1cmluZyB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBjdXJyZW50IHNlc3Npb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgdG90YWwgaW52b2NhdGlvbiBjb3VudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEludm9jYXRpb25Db3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXRJbnZvY2F0aW9uQ291bnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHByZWZlcnJlZCBsYW5ndWFnZSBzZXR0aW5nIChlLmcuLCAnZW4nLCAnZGUnLCAnZXMnKSBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSB1c2VyJ3MgcHJlZmVycmVkIGxhbmd1YWdlIGNvZGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gVXNlckZhY2FkZS5nZXRMYW5ndWFnZSgpO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBVc2VyO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE1BQU0sYUFBYSxLQUFLLEtBQUssMERBQTBEO0FBTWhGLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9kLE9BQWMsVUFBa0I7QUFDNUIsV0FBTyxXQUFXLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxTQUFTLE1BQXVCO0FBQzFDLFdBQU8sV0FBVyxTQUFTLElBQUk7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsYUFBcUI7QUFDL0IsV0FBTyxXQUFXLFdBQVc7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsY0FBc0I7QUFDaEMsV0FBTyxXQUFXLFlBQVk7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxtQkFBMkI7QUFDckMsV0FBTyxXQUFXLGlCQUFpQjtBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLHFCQUE2QjtBQUN2QyxXQUFPLFdBQVcsbUJBQW1CO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGNBQXNCO0FBQ2hDLFdBQU8sV0FBVyxZQUFZO0FBQUEsRUFDbEM7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Repository } from "@aerokit/sdk/platform/repository";
|
|
2
|
+
const REGISTRY_PUBLIC = "/registry/public/";
|
|
3
|
+
const MUSTACHE_FILE_EXTENSION = ".mustache";
|
|
4
|
+
const TemplateEnginesFacade = Java.type("org.eclipse.dirigible.components.api.templates.TemplateEnginesFacade");
|
|
5
|
+
class TemplateEngine {
|
|
6
|
+
/**
|
|
7
|
+
* Creates an instance of TemplateEngine.
|
|
8
|
+
*
|
|
9
|
+
* @param engine The native template engine object from the Facade.
|
|
10
|
+
* @param type The type of the engine ('mustache', 'velocity', 'javascript').
|
|
11
|
+
*/
|
|
12
|
+
constructor(engine, type) {
|
|
13
|
+
this.engine = engine;
|
|
14
|
+
this.sm = type === "mustache" ? "{{" : null;
|
|
15
|
+
this.em = type === "mustache" ? "}}" : null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generates the final output by executing the template with the provided parameters.
|
|
19
|
+
* Note: Parameters are internally serialized to JSON before being passed to the native engine.
|
|
20
|
+
*
|
|
21
|
+
* @param location A string identifying the template (used for error reporting/caching, often a file path).
|
|
22
|
+
* @param template The raw template string content to process.
|
|
23
|
+
* @param parameters An object containing the context data to be used in the template.
|
|
24
|
+
* @returns The processed output string.
|
|
25
|
+
*/
|
|
26
|
+
generate(location, template, parameters) {
|
|
27
|
+
return this.engine.generate(location, template, JSON.stringify(parameters), this.sm, this.em);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Sets a custom start marker for the template engine. This is primarily useful for Mustache.
|
|
31
|
+
*
|
|
32
|
+
* @param sm The new start marker string.
|
|
33
|
+
*/
|
|
34
|
+
setSm(sm) {
|
|
35
|
+
this.sm = sm;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Sets a custom end marker for the template engine. This is primarily useful for Mustache.
|
|
39
|
+
*
|
|
40
|
+
* @param em The new end marker string.
|
|
41
|
+
*/
|
|
42
|
+
setEm(em) {
|
|
43
|
+
this.em = em;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
class TemplateEngines {
|
|
47
|
+
/**
|
|
48
|
+
* Retrieves the default template engine, which is currently the Velocity engine.
|
|
49
|
+
*
|
|
50
|
+
* @returns The default template engine instance.
|
|
51
|
+
*/
|
|
52
|
+
static getDefaultEngine() {
|
|
53
|
+
return this.getVelocityEngine();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Retrieves the Mustache template engine instance.
|
|
57
|
+
* Mustache is often used for logic-less templating and uses '{{' and '}}' as default markers.
|
|
58
|
+
*
|
|
59
|
+
* @returns The Mustache template engine instance.
|
|
60
|
+
*/
|
|
61
|
+
static getMustacheEngine() {
|
|
62
|
+
const engine = TemplateEnginesFacade.getMustacheEngine();
|
|
63
|
+
return new TemplateEngine(engine, "mustache");
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Retrieves the Velocity template engine instance.
|
|
67
|
+
* Velocity is often used for complex templating with directives (e.g., #set, #foreach).
|
|
68
|
+
*
|
|
69
|
+
* @returns The Velocity template engine instance.
|
|
70
|
+
*/
|
|
71
|
+
static getVelocityEngine() {
|
|
72
|
+
const engine = TemplateEnginesFacade.getVelocityEngine();
|
|
73
|
+
return new TemplateEngine(engine, "velocity");
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Retrieves the JavaScript template engine instance (usually used for server-side evaluation).
|
|
77
|
+
*
|
|
78
|
+
* @returns The JavaScript template engine instance.
|
|
79
|
+
*/
|
|
80
|
+
static getJavascriptEngine() {
|
|
81
|
+
const engine = TemplateEnginesFacade.getJavascriptEngine();
|
|
82
|
+
return new TemplateEngine(engine, "javascript");
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Generates output by processing a raw template string using the **default template engine (Velocity)**.
|
|
86
|
+
*
|
|
87
|
+
* @param location A string identifying the template (used for error reporting/caching, often a file path).
|
|
88
|
+
* @param template The raw template string content to process.
|
|
89
|
+
* @param parameters An object containing key-value pairs to be used as context variables in the template.
|
|
90
|
+
* @returns The processed output string.
|
|
91
|
+
*/
|
|
92
|
+
static generate(location, template, parameters) {
|
|
93
|
+
return this.getDefaultEngine().generate(location, template, parameters);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Loads a template from the public registry, selects an appropriate engine, and generates output.
|
|
97
|
+
* It uses the **Mustache engine** if the file extension is `.mustache`, otherwise it uses the **default (Velocity)**.
|
|
98
|
+
*
|
|
99
|
+
* @param location The path to the template file within the `/registry/public/` directory (e.g., 'templates/email.mustache').
|
|
100
|
+
* @param parameters An object containing key-value pairs to be used as context variables in the template.
|
|
101
|
+
* @returns The processed output string, or `undefined` if the resource does not exist.
|
|
102
|
+
*/
|
|
103
|
+
static generateFromFile(location, parameters) {
|
|
104
|
+
const resource = Repository.getResource(REGISTRY_PUBLIC + location);
|
|
105
|
+
if (resource.exists()) {
|
|
106
|
+
const isMustacheTemplate = location.endsWith(MUSTACHE_FILE_EXTENSION);
|
|
107
|
+
const engine = isMustacheTemplate ? this.getMustacheEngine() : this.getDefaultEngine();
|
|
108
|
+
const template = resource.getText();
|
|
109
|
+
return engine.generate(location, template, parameters);
|
|
110
|
+
}
|
|
111
|
+
return void 0;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (typeof module !== "undefined") {
|
|
115
|
+
module.exports = TemplateEngines;
|
|
116
|
+
}
|
|
117
|
+
export {
|
|
118
|
+
TemplateEngines
|
|
119
|
+
};
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2VuZ2luZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL3BsYXRmb3JtL3JlcG9zaXRvcnlcIjtcblxuY29uc3QgUkVHSVNUUllfUFVCTElDID0gXCIvcmVnaXN0cnkvcHVibGljL1wiO1xuY29uc3QgTVVTVEFDSEVfRklMRV9FWFRFTlNJT04gPSBcIi5tdXN0YWNoZVwiO1xuXG5jb25zdCBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkudGVtcGxhdGVzLlRlbXBsYXRlRW5naW5lc0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCB3cmFwcGVyIGNsYXNzIHRoYXQgYWRhcHRzIGEgbmF0aXZlIHRlbXBsYXRlIGVuZ2luZSBpbXBsZW1lbnRhdGlvbi5cbiAqIEl0IG1hbmFnZXMgdGhlIGVuZ2luZSBpbnN0YW5jZSBhbmQgb3B0aW9uYWwgY3VzdG9tIHN0YXJ0L2VuZCBtYXJrZXJzLlxuICovXG5jbGFzcyBUZW1wbGF0ZUVuZ2luZSB7XG5cbiAgICBwcml2YXRlIGVuZ2luZTogYW55O1xuICAgIC8qKiBUaGUgc3RhcnQgbWFya2VyIHN0cmluZyAoZS5nLiwgJ3t7JyBmb3IgTXVzdGFjaGUpLiAqL1xuICAgIHByaXZhdGUgc206IHN0cmluZyB8IG51bGw7XG4gICAgLyoqIFRoZSBlbmQgbWFya2VyIHN0cmluZyAoZS5nLiwgJ319JyBmb3IgTXVzdGFjaGUpLiAqL1xuICAgIHByaXZhdGUgZW06IHN0cmluZyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFRlbXBsYXRlRW5naW5lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVuZ2luZSBUaGUgbmF0aXZlIHRlbXBsYXRlIGVuZ2luZSBvYmplY3QgZnJvbSB0aGUgRmFjYWRlLlxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBlbmdpbmUgKCdtdXN0YWNoZScsICd2ZWxvY2l0eScsICdqYXZhc2NyaXB0JykuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZW5naW5lOiBhbnksIHR5cGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVuZ2luZSA9IGVuZ2luZTtcbiAgICAgICAgLy8gRGVmYXVsdCBtYXJrZXJzIGZvciBNdXN0YWNoZSBlbmdpbmVcbiAgICAgICAgdGhpcy5zbSA9IHR5cGUgPT09IFwibXVzdGFjaGVcIiA/IFwie3tcIiA6IG51bGw7XG4gICAgICAgIHRoaXMuZW0gPSB0eXBlID09PSBcIm11c3RhY2hlXCIgPyBcIn19XCIgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyB0aGUgZmluYWwgb3V0cHV0IGJ5IGV4ZWN1dGluZyB0aGUgdGVtcGxhdGUgd2l0aCB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAgICAgKiBOb3RlOiBQYXJhbWV0ZXJzIGFyZSBpbnRlcm5hbGx5IHNlcmlhbGl6ZWQgdG8gSlNPTiBiZWZvcmUgYmVpbmcgcGFzc2VkIHRvIHRoZSBuYXRpdmUgZW5naW5lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSB0ZW1wbGF0ZSAodXNlZCBmb3IgZXJyb3IgcmVwb3J0aW5nL2NhY2hpbmcsIG9mdGVuIGEgZmlsZSBwYXRoKS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGhlIHJhdyB0ZW1wbGF0ZSBzdHJpbmcgY29udGVudCB0byBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjb250ZXh0IGRhdGEgdG8gYmUgdXNlZCBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZW5lcmF0ZShsb2NhdGlvbjogc3RyaW5nLCB0ZW1wbGF0ZTogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5naW5lLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycyksIHRoaXMuc20sIHRoaXMuZW0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSBjdXN0b20gc3RhcnQgbWFya2VyIGZvciB0aGUgdGVtcGxhdGUgZW5naW5lLiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIE11c3RhY2hlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNtIFRoZSBuZXcgc3RhcnQgbWFya2VyIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U20oc206IGFueSkge1xuICAgICAgICB0aGlzLnNtID0gc207XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIGN1c3RvbSBlbmQgbWFya2VyIGZvciB0aGUgdGVtcGxhdGUgZW5naW5lLiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIE11c3RhY2hlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVtIFRoZSBuZXcgZW5kIG1hcmtlciBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHNldEVtKGVtOiBhbnkpIHtcbiAgICAgICAgdGhpcy5lbSA9IGVtO1xuICAgIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdmFyaW91cyBzZXJ2ZXItc2lkZSB0ZW1wbGF0ZSBlbmdpbmVzIChWZWxvY2l0eSwgTXVzdGFjaGUsIEphdmFTY3JpcHQpLlxuICogSXQgb2ZmZXJzIHV0aWxpdHkgbWV0aG9kcyBmb3IgZ2VuZXJhdGluZyBjb250ZW50IGZyb20gdGVtcGxhdGVzIGRpcmVjdGx5IG9yIGZyb20gZmlsZXNcbiAqIHN0b3JlZCBpbiB0aGUgcmVnaXN0cnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUVuZ2luZXMge1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBkZWZhdWx0IHRlbXBsYXRlIGVuZ2luZSwgd2hpY2ggaXMgY3VycmVudGx5IHRoZSBWZWxvY2l0eSBlbmdpbmUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXREZWZhdWx0RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmVsb2NpdHlFbmdpbmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIE11c3RhY2hlIHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKiBNdXN0YWNoZSBpcyBvZnRlbiB1c2VkIGZvciBsb2dpYy1sZXNzIHRlbXBsYXRpbmcgYW5kIHVzZXMgJ3t7JyBhbmQgJ319JyBhcyBkZWZhdWx0IG1hcmtlcnMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgTXVzdGFjaGUgdGVtcGxhdGUgZW5naW5lIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TXVzdGFjaGVFbmdpbmUoKTogVGVtcGxhdGVFbmdpbmUge1xuICAgICAgICBjb25zdCBlbmdpbmUgPSBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUuZ2V0TXVzdGFjaGVFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwibXVzdGFjaGVcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBWZWxvY2l0eSB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICogVmVsb2NpdHkgaXMgb2Z0ZW4gdXNlZCBmb3IgY29tcGxleCB0ZW1wbGF0aW5nIHdpdGggZGlyZWN0aXZlcyAoZS5nLiwgI3NldCwgI2ZvcmVhY2gpLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIFZlbG9jaXR5IHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldFZlbG9jaXR5RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgY29uc3QgZW5naW5lID0gVGVtcGxhdGVFbmdpbmVzRmFjYWRlLmdldFZlbG9jaXR5RW5naW5lKCk7XG4gICAgICAgIHJldHVybiBuZXcgVGVtcGxhdGVFbmdpbmUoZW5naW5lLCBcInZlbG9jaXR5XCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UgKHVzdWFsbHkgdXNlZCBmb3Igc2VydmVyLXNpZGUgZXZhbHVhdGlvbikuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRKYXZhc2NyaXB0RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgY29uc3QgZW5naW5lID0gVGVtcGxhdGVFbmdpbmVzRmFjYWRlLmdldEphdmFzY3JpcHRFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwiamF2YXNjcmlwdFwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgb3V0cHV0IGJ5IHByb2Nlc3NpbmcgYSByYXcgdGVtcGxhdGUgc3RyaW5nIHVzaW5nIHRoZSAqKmRlZmF1bHQgdGVtcGxhdGUgZW5naW5lIChWZWxvY2l0eSkqKi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsb2NhdGlvbiBBIHN0cmluZyBpZGVudGlmeWluZyB0aGUgdGVtcGxhdGUgKHVzZWQgZm9yIGVycm9yIHJlcG9ydGluZy9jYWNoaW5nLCBvZnRlbiBhIGZpbGUgcGF0aCkuXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFRoZSByYXcgdGVtcGxhdGUgc3RyaW5nIGNvbnRlbnQgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgdG8gYmUgdXNlZCBhcyBjb250ZXh0IHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGUobG9jYXRpb246IHN0cmluZywgdGVtcGxhdGU6IHN0cmluZywgcGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRFbmdpbmUoKS5nZW5lcmF0ZShsb2NhdGlvbiwgdGVtcGxhdGUsIHBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGEgdGVtcGxhdGUgZnJvbSB0aGUgcHVibGljIHJlZ2lzdHJ5LCBzZWxlY3RzIGFuIGFwcHJvcHJpYXRlIGVuZ2luZSwgYW5kIGdlbmVyYXRlcyBvdXRwdXQuXG4gICAgICogSXQgdXNlcyB0aGUgKipNdXN0YWNoZSBlbmdpbmUqKiBpZiB0aGUgZmlsZSBleHRlbnNpb24gaXMgYC5tdXN0YWNoZWAsIG90aGVyd2lzZSBpdCB1c2VzIHRoZSAqKmRlZmF1bHQgKFZlbG9jaXR5KSoqLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIFRoZSBwYXRoIHRvIHRoZSB0ZW1wbGF0ZSBmaWxlIHdpdGhpbiB0aGUgYC9yZWdpc3RyeS9wdWJsaWMvYCBkaXJlY3RvcnkgKGUuZy4sICd0ZW1wbGF0ZXMvZW1haWwubXVzdGFjaGUnKS5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgdG8gYmUgdXNlZCBhcyBjb250ZXh0IHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUZyb21GaWxlKGxvY2F0aW9uOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCByZXNvdXJjZSA9IFJlcG9zaXRvcnkuZ2V0UmVzb3VyY2UoUkVHSVNUUllfUFVCTElDICsgbG9jYXRpb24pO1xuICAgICAgICBpZiAocmVzb3VyY2UuZXhpc3RzKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTXVzdGFjaGVUZW1wbGF0ZSA9IGxvY2F0aW9uLmVuZHNXaXRoKE1VU1RBQ0hFX0ZJTEVfRVhURU5TSU9OKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZ2luZSA9IGlzTXVzdGFjaGVUZW1wbGF0ZSA/IHRoaXMuZ2V0TXVzdGFjaGVFbmdpbmUoKSA6IHRoaXMuZ2V0RGVmYXVsdEVuZ2luZSgpO1xuICAgICAgICAgICAgY29uc3QgdGVtcGxhdGUgPSByZXNvdXJjZS5nZXRUZXh0KCk7XG4gICAgICAgICAgICByZXR1cm4gZW5naW5lLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgcGFyYW1ldGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gVGVtcGxhdGVFbmdpbmVzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxrQkFBa0I7QUFFM0IsTUFBTSxrQkFBa0I7QUFDeEIsTUFBTSwwQkFBMEI7QUFFaEMsTUFBTSx3QkFBd0IsS0FBSyxLQUFLLHNFQUFzRTtBQU05RyxNQUFNLGVBQWU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWNqQixZQUFZLFFBQWEsTUFBYztBQUNuQyxTQUFLLFNBQVM7QUFFZCxTQUFLLEtBQUssU0FBUyxhQUFhLE9BQU87QUFDdkMsU0FBSyxLQUFLLFNBQVMsYUFBYSxPQUFPO0FBQUEsRUFDM0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdPLFNBQVMsVUFBa0IsVUFBa0IsWUFBNEM7QUFDNUYsV0FBTyxLQUFLLE9BQU8sU0FBUyxVQUFVLFVBQVUsS0FBSyxVQUFVLFVBQVUsR0FBRyxLQUFLLElBQUksS0FBSyxFQUFFO0FBQUEsRUFDaEc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxNQUFNLElBQVM7QUFDbEIsU0FBSyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLE1BQU0sSUFBUztBQUNsQixTQUFLLEtBQUs7QUFBQSxFQUNkO0FBQ0o7QUFPTyxNQUFNLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU96QixPQUFjLG1CQUFtQztBQUM3QyxXQUFPLEtBQUssa0JBQWtCO0FBQUEsRUFDbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsb0JBQW9DO0FBQzlDLFVBQU0sU0FBUyxzQkFBc0Isa0JBQWtCO0FBQ3ZELFdBQU8sSUFBSSxlQUFlLFFBQVEsVUFBVTtBQUFBLEVBQ2hEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLG9CQUFvQztBQUM5QyxVQUFNLFNBQVMsc0JBQXNCLGtCQUFrQjtBQUN2RCxXQUFPLElBQUksZUFBZSxRQUFRLFVBQVU7QUFBQSxFQUNoRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsc0JBQXNDO0FBQ2hELFVBQU0sU0FBUyxzQkFBc0Isb0JBQW9CO0FBQ3pELFdBQU8sSUFBSSxlQUFlLFFBQVEsWUFBWTtBQUFBLEVBQ2xEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVUEsT0FBYyxTQUFTLFVBQWtCLFVBQWtCLFlBQTRDO0FBQ25HLFdBQU8sS0FBSyxpQkFBaUIsRUFBRSxTQUFTLFVBQVUsVUFBVSxVQUFVO0FBQUEsRUFDMUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVQSxPQUFjLGlCQUFpQixVQUFrQixZQUF3RDtBQUNyRyxVQUFNLFdBQVcsV0FBVyxZQUFZLGtCQUFrQixRQUFRO0FBQ2xFLFFBQUksU0FBUyxPQUFPLEdBQUc7QUFDbkIsWUFBTSxxQkFBcUIsU0FBUyxTQUFTLHVCQUF1QjtBQUNwRSxZQUFNLFNBQVMscUJBQXFCLEtBQUssa0JBQWtCLElBQUksS0FBSyxpQkFBaUI7QUFDckYsWUFBTSxXQUFXLFNBQVMsUUFBUTtBQUNsQyxhQUFPLE9BQU8sU0FBUyxVQUFVLFVBQVUsVUFBVTtBQUFBLElBQ3pEO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFDSjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TemplateEngines } from "./engines";
|
|
2
|
+
export * from "./engines";
|
|
3
|
+
export {
|
|
4
|
+
TemplateEngines as engines
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyBUZW1wbGF0ZUVuZ2luZXMgYXMgZW5naW5lcyB9IGZyb20gXCIuL2VuZ2luZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VuZ2luZXNcIjsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUE0Qix1QkFBZTtBQUMzQyxjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
let LOWERCASEASCII = "abcdefghijklmnopqrstuvwxyz";
|
|
2
|
+
const UPPERCASEASCII = LOWERCASEASCII.toUpperCase();
|
|
3
|
+
const NUMBERS = "1234567890";
|
|
4
|
+
class Alphanumeric {
|
|
5
|
+
static toAlphanumeric(string) {
|
|
6
|
+
return string.replace(/[^A-Za-z0-9_]/g, "");
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Generates a random alphanumeric sequence with the specified length
|
|
10
|
+
* @param length {Integer} Defaults to 4
|
|
11
|
+
*/
|
|
12
|
+
static randomString(length, charset) {
|
|
13
|
+
let text = "";
|
|
14
|
+
if (length < 1)
|
|
15
|
+
length = 4;
|
|
16
|
+
for (var i = 0; i < length; i++)
|
|
17
|
+
text += charset.charAt(Math.floor(Math.random() * charset.length));
|
|
18
|
+
return text;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Generates a random alphanumeric sequence with the specified length
|
|
22
|
+
* @param length {Integer} Defaults to 4
|
|
23
|
+
* @param lowercase {Boolean} Defaults to true
|
|
24
|
+
*/
|
|
25
|
+
static alphanumeric(length, lowercase) {
|
|
26
|
+
let charset = LOWERCASEASCII + NUMBERS;
|
|
27
|
+
if (!lowercase) {
|
|
28
|
+
charset += UPPERCASEASCII;
|
|
29
|
+
}
|
|
30
|
+
return Alphanumeric.randomString(length, charset);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Generates a random ASCII sequence with the specified length
|
|
34
|
+
* @param length {Integer} Defaults to 4
|
|
35
|
+
* @param lowercase {Boolean} Defaults to true
|
|
36
|
+
*/
|
|
37
|
+
static alpha(length, lowercase) {
|
|
38
|
+
let charset = LOWERCASEASCII;
|
|
39
|
+
if (!lowercase) {
|
|
40
|
+
charset += UPPERCASEASCII;
|
|
41
|
+
}
|
|
42
|
+
return Alphanumeric.randomString(length, charset);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generates a random numeric value
|
|
46
|
+
* @param length {Integer} Defaults to 4
|
|
47
|
+
*/
|
|
48
|
+
static numeric(length) {
|
|
49
|
+
return Alphanumeric.randomString(length, NUMBERS);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Tests is the provided `str` argument is a valid numeric sequence.
|
|
53
|
+
* @param str {String} the string to test
|
|
54
|
+
*/
|
|
55
|
+
static isNumeric(str) {
|
|
56
|
+
let code, i, len;
|
|
57
|
+
for (i = 0, len = str.length; i < len; i++) {
|
|
58
|
+
code = str.charCodeAt(i);
|
|
59
|
+
if (!(code > 47 && code < 58)) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Tests is the provided `str` argument is a valid alphanumeric sequence.
|
|
67
|
+
* @param str {String} the string to test
|
|
68
|
+
*/
|
|
69
|
+
static isAlphanumeric(str) {
|
|
70
|
+
let code, i, len;
|
|
71
|
+
for (i = 0, len = str.length; i < len; i++) {
|
|
72
|
+
code = str.charCodeAt(i);
|
|
73
|
+
if (!(code > 47 && code < 58) && // numeric (0-9)
|
|
74
|
+
!(code > 64 && code < 91) && // upper alpha (A-Z)
|
|
75
|
+
!(code > 96 && code < 123)) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (typeof module !== "undefined") {
|
|
83
|
+
module.exports = Alphanumeric;
|
|
84
|
+
}
|
|
85
|
+
export {
|
|
86
|
+
Alphanumeric
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWxzL2FscGhhbnVtZXJpYy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBUcmFuc2Zvcm1zIGEgc3RyaW5nIHRvIGFuIGFscGhhbnVtZXJpYyBzZXF1ZW5jZSwgc3RyaXBwaW5nIG5vbi1jb25mb3JtYW50IGNoYXJhY3RlcnMgZm9yIGl0LlxuICogQHBhcmFtIHN0cmluZyB7U3RyaW5nfSB0aGUgc3RyaW5nIHRvIHRyYW5zZm9ybVxuICovXG5cbmxldCBMT1dFUkNBU0VBU0NJSSA9IFwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpcIjtcbmNvbnN0IFVQUEVSQ0FTRUFTQ0lJID0gTE9XRVJDQVNFQVNDSUkudG9VcHBlckNhc2UoKTtcbmNvbnN0IE5VTUJFUlMgPSBcIjEyMzQ1Njc4OTBcIjtcblxuZXhwb3J0IGNsYXNzIEFscGhhbnVtZXJpYyB7XG5cblx0cHVibGljIHN0YXRpYyB0b0FscGhhbnVtZXJpYyhzdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHN0cmluZy5yZXBsYWNlKC9bXkEtWmEtejAtOV9dL2csICcnKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSByYW5kb20gYWxwaGFudW1lcmljIHNlcXVlbmNlIHdpdGggdGhlIHNwZWNpZmllZCBsZW5ndGhcblx0ICogQHBhcmFtIGxlbmd0aCB7SW50ZWdlcn0gRGVmYXVsdHMgdG8gNFxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByYW5kb21TdHJpbmcobGVuZ3RoOiBudW1iZXIsIGNoYXJzZXQ6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0bGV0IHRleHQgPSBcIlwiO1xuXHRcdGlmIChsZW5ndGggPCAxKVxuXHRcdFx0bGVuZ3RoID0gNDtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKVxuXHRcdFx0dGV4dCArPSBjaGFyc2V0LmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyc2V0Lmxlbmd0aCkpO1xuXHRcdHJldHVybiB0ZXh0O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIHJhbmRvbSBhbHBoYW51bWVyaWMgc2VxdWVuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGxlbmd0aFxuXHQgKiBAcGFyYW0gbGVuZ3RoIHtJbnRlZ2VyfSBEZWZhdWx0cyB0byA0XG5cdCAqIEBwYXJhbSBsb3dlcmNhc2Uge0Jvb2xlYW59IERlZmF1bHRzIHRvIHRydWVcblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgYWxwaGFudW1lcmljKGxlbmd0aDogbnVtYmVyLCBsb3dlcmNhc2U6IGJvb2xlYW4pOiBzdHJpbmcge1xuXHRcdGxldCBjaGFyc2V0ID0gTE9XRVJDQVNFQVNDSUkgKyBOVU1CRVJTO1xuXHRcdGlmICghbG93ZXJjYXNlKSB7XG5cdFx0XHRjaGFyc2V0ICs9IFVQUEVSQ0FTRUFTQ0lJO1xuXHRcdH1cblx0XHRyZXR1cm4gQWxwaGFudW1lcmljLnJhbmRvbVN0cmluZyhsZW5ndGgsIGNoYXJzZXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIHJhbmRvbSBBU0NJSSBzZXF1ZW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgbGVuZ3RoXG5cdCAqIEBwYXJhbSBsZW5ndGgge0ludGVnZXJ9IERlZmF1bHRzIHRvIDRcblx0ICogQHBhcmFtIGxvd2VyY2FzZSB7Qm9vbGVhbn0gRGVmYXVsdHMgdG8gdHJ1ZVxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBhbHBoYShsZW5ndGg6IG51bWJlciwgbG93ZXJjYXNlOiBib29sZWFuKTogc3RyaW5nIHtcblx0XHRsZXQgY2hhcnNldCA9IExPV0VSQ0FTRUFTQ0lJO1xuXHRcdGlmICghbG93ZXJjYXNlKSB7XG5cdFx0XHRjaGFyc2V0ICs9IFVQUEVSQ0FTRUFTQ0lJO1xuXHRcdH1cblx0XHRyZXR1cm4gQWxwaGFudW1lcmljLnJhbmRvbVN0cmluZyhsZW5ndGgsIGNoYXJzZXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIHJhbmRvbSBudW1lcmljIHZhbHVlXG5cdCAqIEBwYXJhbSBsZW5ndGgge0ludGVnZXJ9IERlZmF1bHRzIHRvIDRcblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgbnVtZXJpYyhsZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG5cdFx0cmV0dXJuIEFscGhhbnVtZXJpYy5yYW5kb21TdHJpbmcobGVuZ3RoLCBOVU1CRVJTKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUZXN0cyBpcyB0aGUgcHJvdmlkZWQgYHN0cmAgYXJndW1lbnQgaXMgYSB2YWxpZCBudW1lcmljIHNlcXVlbmNlLlxuXHQgKiBAcGFyYW0gc3RyIHtTdHJpbmd9IHRoZSBzdHJpbmcgdG8gdGVzdFxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc051bWVyaWMoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHQvLyBhIGZhc3RlciBhbHRlcm5hdGl2ZSB0byBjaGVja2luZyB3aXRoICAvW15hLXpBLVowLTldLy50ZXN0KHN0cilcblx0XHQvLyBjb3B5IGZyb20gcHVibGljIGRvbWFpbiBhdDogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI1MzUyMzAwXG5cdFx0bGV0IGNvZGUsIGksIGxlbjtcblx0XHRmb3IgKGkgPSAwLCBsZW4gPSBzdHIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcblx0XHRcdGNvZGUgPSBzdHIuY2hhckNvZGVBdChpKTtcblx0XHRcdGlmICghKGNvZGUgPiA0NyAmJiBjb2RlIDwgNTgpKSB7IC8vIG51bWVyaWMgKDAtOSlcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUZXN0cyBpcyB0aGUgcHJvdmlkZWQgYHN0cmAgYXJndW1lbnQgaXMgYSB2YWxpZCBhbHBoYW51bWVyaWMgc2VxdWVuY2UuXG5cdCAqIEBwYXJhbSBzdHIge1N0cmluZ30gdGhlIHN0cmluZyB0byB0ZXN0XG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzQWxwaGFudW1lcmljKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0Ly8gYSBmYXN0ZXIgYWx0ZXJuYXRpdmUgdG8gY2hlY2tpbmcgd2l0aCAgL1teYS16QS1aMC05XS8udGVzdChzdHIpXG5cdFx0Ly8gY29weSBmcm9tIHB1YmxpYyBkb21haW4gYXQ6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNTM1MjMwMFxuXHRcdGxldCBjb2RlLCBpLCBsZW47XG5cdFx0Zm9yIChpID0gMCwgbGVuID0gc3RyLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG5cdFx0XHRpZiAoIShjb2RlID4gNDcgJiYgY29kZSA8IDU4KSAmJiAvLyBudW1lcmljICgwLTkpXG5cdFx0XHRcdCEoY29kZSA+IDY0ICYmIGNvZGUgPCA5MSkgJiYgLy8gdXBwZXIgYWxwaGEgKEEtWilcblx0XHRcdFx0IShjb2RlID4gOTYgJiYgY29kZSA8IDEyMykpIHsgLy8gbG93ZXIgYWxwaGEgKGEteilcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IEFscGhhbnVtZXJpYztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUtBLElBQUksaUJBQWlCO0FBQ3JCLE1BQU0saUJBQWlCLGVBQWUsWUFBWTtBQUNsRCxNQUFNLFVBQVU7QUFFVCxNQUFNLGFBQWE7QUFBQSxFQUV6QixPQUFjLGVBQWUsUUFBd0I7QUFDcEQsV0FBTyxPQUFPLFFBQVEsa0JBQWtCLEVBQUU7QUFBQSxFQUMzQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLGFBQWEsUUFBZ0IsU0FBeUI7QUFDbkUsUUFBSSxPQUFPO0FBQ1gsUUFBSSxTQUFTO0FBQ1osZUFBUztBQUNWLGFBQVMsSUFBSSxHQUFHLElBQUksUUFBUTtBQUMzQixjQUFRLFFBQVEsT0FBTyxLQUFLLE1BQU0sS0FBSyxPQUFPLElBQUksUUFBUSxNQUFNLENBQUM7QUFDbEUsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGFBQWEsUUFBZ0IsV0FBNEI7QUFDdEUsUUFBSSxVQUFVLGlCQUFpQjtBQUMvQixRQUFJLENBQUMsV0FBVztBQUNmLGlCQUFXO0FBQUEsSUFDWjtBQUNBLFdBQU8sYUFBYSxhQUFhLFFBQVEsT0FBTztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxNQUFNLFFBQWdCLFdBQTRCO0FBQy9ELFFBQUksVUFBVTtBQUNkLFFBQUksQ0FBQyxXQUFXO0FBQ2YsaUJBQVc7QUFBQSxJQUNaO0FBQ0EsV0FBTyxhQUFhLGFBQWEsUUFBUSxPQUFPO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxRQUFRLFFBQXdCO0FBQzdDLFdBQU8sYUFBYSxhQUFhLFFBQVEsT0FBTztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBVSxLQUFzQjtBQUc3QyxRQUFJLE1BQU0sR0FBRztBQUNiLFNBQUssSUFBSSxHQUFHLE1BQU0sSUFBSSxRQUFRLElBQUksS0FBSyxLQUFLO0FBQzNDLGFBQU8sSUFBSSxXQUFXLENBQUM7QUFDdkIsVUFBSSxFQUFFLE9BQU8sTUFBTSxPQUFPLEtBQUs7QUFDOUIsZUFBTztBQUFBLE1BQ1I7QUFBQSxJQUNEO0FBQ0EsV0FBTztBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxlQUFlLEtBQXNCO0FBR2xELFFBQUksTUFBTSxHQUFHO0FBQ2IsU0FBSyxJQUFJLEdBQUcsTUFBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDM0MsYUFBTyxJQUFJLFdBQVcsQ0FBQztBQUN2QixVQUFJLEVBQUUsT0FBTyxNQUFNLE9BQU87QUFBQSxNQUN6QixFQUFFLE9BQU8sTUFBTSxPQUFPO0FBQUEsTUFDdEIsRUFBRSxPQUFPLE1BQU0sT0FBTyxNQUFNO0FBQzVCLGVBQU87QUFBQSxNQUNSO0FBQUEsSUFDRDtBQUNBLFdBQU87QUFBQSxFQUNSO0FBQ0Q7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
|