@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,153 @@
|
|
|
1
|
+
const DataStoreFacade = Java.type("org.eclipse.dirigible.components.api.db.DataStoreFacade");
|
|
2
|
+
var Operator = /* @__PURE__ */ ((Operator2) => {
|
|
3
|
+
Operator2["EQ"] = "=";
|
|
4
|
+
Operator2["NE"] = "<>";
|
|
5
|
+
Operator2["GT"] = ">";
|
|
6
|
+
Operator2["LT"] = "<";
|
|
7
|
+
Operator2["GE"] = ">=";
|
|
8
|
+
Operator2["LE"] = "<=";
|
|
9
|
+
Operator2["LIKE"] = "LIKE";
|
|
10
|
+
Operator2["BETWEEN"] = "BETWEEN";
|
|
11
|
+
Operator2["IN"] = "IN";
|
|
12
|
+
return Operator2;
|
|
13
|
+
})(Operator || {});
|
|
14
|
+
var Direction = /* @__PURE__ */ ((Direction2) => {
|
|
15
|
+
Direction2["ASC"] = "ASC";
|
|
16
|
+
Direction2["DESC"] = "DESC";
|
|
17
|
+
return Direction2;
|
|
18
|
+
})(Direction || {});
|
|
19
|
+
class Store {
|
|
20
|
+
/**
|
|
21
|
+
* Saves a new entry to the data store.
|
|
22
|
+
* @param name The entity/table name.
|
|
23
|
+
* @param entry The JavaScript object to save.
|
|
24
|
+
* @returns The ID of the newly created entry (string or number).
|
|
25
|
+
*/
|
|
26
|
+
static save(name, entry) {
|
|
27
|
+
return DataStoreFacade.save(name, JSON.stringify(entry));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Inserts a new entry or updates an existing one if the ID is present.
|
|
31
|
+
* @param name The entity/table name.
|
|
32
|
+
* @param entry The JavaScript object to insert/update.
|
|
33
|
+
*/
|
|
34
|
+
static upsert(name, entry) {
|
|
35
|
+
DataStoreFacade.upsert(name, JSON.stringify(entry));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Updates an existing entry.
|
|
39
|
+
* @param name The entity/table name.
|
|
40
|
+
* @param entry The JavaScript object with the ID and updated data.
|
|
41
|
+
*/
|
|
42
|
+
static update(name, entry) {
|
|
43
|
+
DataStoreFacade.update(name, JSON.stringify(entry));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Lists entries based on optional filtering, sorting, and pagination options.
|
|
47
|
+
* @param name The entity/table name.
|
|
48
|
+
* @param options Optional {@link Options} for query execution.
|
|
49
|
+
* @returns An array of JavaScript objects.
|
|
50
|
+
*/
|
|
51
|
+
static list(name, options) {
|
|
52
|
+
const result = DataStoreFacade.list(name, options ? JSON.stringify(options) : null);
|
|
53
|
+
return JSON.parse(result);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Counts the number of entries based on optional filtering options.
|
|
57
|
+
* @param name The entity/table name.
|
|
58
|
+
* @param options Optional {@link Options} for query execution.
|
|
59
|
+
* @returns The count of matching entries.
|
|
60
|
+
*/
|
|
61
|
+
static count(name, options) {
|
|
62
|
+
const optionsString = options ? JSON.stringify(options) : null;
|
|
63
|
+
const result = DataStoreFacade.count(name, optionsString);
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves a single entry by its ID.
|
|
68
|
+
* @param name The entity/table name.
|
|
69
|
+
* @param id The ID of the entry.
|
|
70
|
+
* @returns The entry object, or undefined if not found.
|
|
71
|
+
*/
|
|
72
|
+
static get(name, id) {
|
|
73
|
+
const result = DataStoreFacade.get(name, id);
|
|
74
|
+
if (result === null || result === void 0 || result === "") {
|
|
75
|
+
return void 0;
|
|
76
|
+
}
|
|
77
|
+
return JSON.parse(result);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Deletes an entry by its ID.
|
|
81
|
+
* @param name The entity/table name.
|
|
82
|
+
* @param id The ID of the entry to remove.
|
|
83
|
+
*/
|
|
84
|
+
static remove(name, id) {
|
|
85
|
+
DataStoreFacade.deleteEntry(name, id);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Finds entries matching an example object (query-by-example).
|
|
89
|
+
* @param name The entity/table name.
|
|
90
|
+
* @param example An object containing properties to match.
|
|
91
|
+
* @param limit Maximum number of results to return.
|
|
92
|
+
* @param offset Number of results to skip.
|
|
93
|
+
* @returns An array of matching JavaScript objects.
|
|
94
|
+
*/
|
|
95
|
+
static find(name, example, limit = 100, offset = 0) {
|
|
96
|
+
const result = DataStoreFacade.find(name, JSON.stringify(example), limit, offset);
|
|
97
|
+
return JSON.parse(result);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Queries all entries for a given entity name with pagination.
|
|
101
|
+
* @param name The entity/table name.
|
|
102
|
+
* @param limit Maximum number of results to return.
|
|
103
|
+
* @param offset Number of results to skip.
|
|
104
|
+
* @returns An array of JavaScript objects.
|
|
105
|
+
*/
|
|
106
|
+
static query(name, limit = 100, offset = 0) {
|
|
107
|
+
const result = DataStoreFacade.query(name, limit, offset);
|
|
108
|
+
return JSON.parse(result);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Queries all entries for a given entity name without pagination.
|
|
112
|
+
* @param name The entity/table name.
|
|
113
|
+
* @returns An array of all JavaScript objects.
|
|
114
|
+
*/
|
|
115
|
+
static queryNative(name) {
|
|
116
|
+
const result = DataStoreFacade.queryNative(name);
|
|
117
|
+
return JSON.parse(result);
|
|
118
|
+
}
|
|
119
|
+
// --- Metadata Getters ---
|
|
120
|
+
/**
|
|
121
|
+
* Gets the name of the entity associated with the store name.
|
|
122
|
+
*/
|
|
123
|
+
static getEntityName(name) {
|
|
124
|
+
return DataStoreFacade.getEntityName(name);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Gets the underlying database table name for the entity.
|
|
128
|
+
*/
|
|
129
|
+
static getTableName(name) {
|
|
130
|
+
return DataStoreFacade.getTableName(name);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Gets the property name used as the ID field in the entity object.
|
|
134
|
+
*/
|
|
135
|
+
static getIdName(name) {
|
|
136
|
+
return DataStoreFacade.getIdName(name);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Gets the underlying database column name used for the ID field.
|
|
140
|
+
*/
|
|
141
|
+
static getIdColumn(name) {
|
|
142
|
+
return DataStoreFacade.getIdColumn(name);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (typeof module !== "undefined") {
|
|
146
|
+
module.exports = Store;
|
|
147
|
+
}
|
|
148
|
+
export {
|
|
149
|
+
Direction,
|
|
150
|
+
Operator,
|
|
151
|
+
Store
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3N0b3JlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBEYXRhU3RvcmVGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuZGIuRGF0YVN0b3JlRmFjYWRlXCIpO1xuXG4vKipcbiAqIERlZmluZXMgdGhlIGF2YWlsYWJsZSBjb21wYXJpc29uIG9wZXJhdG9ycyBmb3IgcXVlcnkgY29uZGl0aW9ucy5cbiAqL1xuZXhwb3J0IGVudW0gT3BlcmF0b3Ige1xuXHRFUSA9IFwiPVwiLCAvLyBFcXVhbHNcblx0TkUgPSBcIjw+XCIsIC8vIE5vdCBFcXVhbHNcblx0R1QgPSBcIj5cIiwgLy8gR3JlYXRlciBUaGFuXG5cdExUID0gXCI8XCIsIC8vIExlc3MgVGhhblxuXHRHRSA9IFwiPj1cIiwgLy8gR3JlYXRlciBUaGFuIG9yIEVxdWFsc1xuXHRMRSA9IFwiPD1cIiwgLy8gTGVzcyBUaGFuIG9yIEVxdWFsc1xuXHRMSUtFID0gXCJMSUtFXCIsIC8vIFNRTCBMSUtFIG9wZXJhdG9yXG5cdEJFVFdFRU4gPSBcIkJFVFdFRU5cIiwgLy8gU1FMIEJFVFdFRU4gb3BlcmF0b3IgKHJlcXVpcmVzIHR3byB2YWx1ZXMpXG5cdElOID0gXCJJTlwiIC8vIFNRTCBJTiBvcGVyYXRvciAocmVxdWlyZXMgYSBMaXN0IG9yIEFycmF5IG9mIHZhbHVlcylcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBkaXJlY3Rpb24gZm9yIHNvcnRpbmcuXG4gKi9cbmV4cG9ydCBlbnVtIERpcmVjdGlvbiB7XG5cdEFTQyA9IFwiQVNDXCIsIC8vIEFzY2VuZGluZ1xuXHRERVNDID0gXCJERVNDXCIgLy8gRGVzY2VuZGluZ1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgY29uZGl0aW9uIGZvciBmaWx0ZXJpbmcgZGF0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb24ge1xuXHRwcm9wZXJ0eU5hbWU6IHN0cmluZyxcblx0b3BlcmF0b3I6IE9wZXJhdG9yLFxuXHR2YWx1ZTogYW55IHwgYW55W11cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIHNvcnRpbmcgaW5zdHJ1Y3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XG5cdHByb3BlcnR5TmFtZTogc3RyaW5nLFxuXHRkaXJlY3Rpb246IERpcmVjdGlvblxufVxuXG4vKipcbiAqIERlZmluZXMgb3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgbGlzdCBhbmQgY291bnQgb3BlcmF0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcblx0Y29uZGl0aW9ucz86IENvbmRpdGlvbltdLFxuXHRzb3J0cz86IFNvcnRbXSxcblx0bGltaXQ/OiBudW1iZXIsXG5cdG9mZnNldD86IG51bWJlcixcblx0bGFuZ3VhZ2U/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBGYWNhZGUgY2xhc3MgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuXG4gKiBBbGwgbWV0aG9kcyBzZXJpYWxpemUvZGVzZXJpYWxpemUgSmF2YVNjcmlwdCBvYmplY3RzIHRvL2Zyb20gSlNPTiBzdHJpbmdzXG4gKiBiZWZvcmUgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgZmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuXG5cdC8qKlxuXHQgKiBTYXZlcyBhIG5ldyBlbnRyeSB0byB0aGUgZGF0YSBzdG9yZS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZW50cnkgVGhlIEphdmFTY3JpcHQgb2JqZWN0IHRvIHNhdmUuXG5cdCAqIEByZXR1cm5zIFRoZSBJRCBvZiB0aGUgbmV3bHkgY3JlYXRlZCBlbnRyeSAoc3RyaW5nIG9yIG51bWJlcikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNhdmUobmFtZTogc3RyaW5nLCBlbnRyeTogYW55KTogc3RyaW5nIHwgbnVtYmVyIHtcblx0XHRyZXR1cm4gRGF0YVN0b3JlRmFjYWRlLnNhdmUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEluc2VydHMgYSBuZXcgZW50cnkgb3IgdXBkYXRlcyBhbiBleGlzdGluZyBvbmUgaWYgdGhlIElEIGlzIHByZXNlbnQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGVudHJ5IFRoZSBKYXZhU2NyaXB0IG9iamVjdCB0byBpbnNlcnQvdXBkYXRlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyB1cHNlcnQobmFtZTogc3RyaW5nLCBlbnRyeTogYW55KTogdm9pZCB7XG5cdFx0RGF0YVN0b3JlRmFjYWRlLnVwc2VydChuYW1lLCBKU09OLnN0cmluZ2lmeShlbnRyeSkpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogVXBkYXRlcyBhbiBleGlzdGluZyBlbnRyeS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZW50cnkgVGhlIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggdGhlIElEIGFuZCB1cGRhdGVkIGRhdGEuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHVwZGF0ZShuYW1lOiBzdHJpbmcsIGVudHJ5OiBhbnkpOiB2b2lkIHtcblx0XHREYXRhU3RvcmVGYWNhZGUudXBkYXRlKG5hbWUsIEpTT04uc3RyaW5naWZ5KGVudHJ5KSk7XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBMaXN0cyBlbnRyaWVzIGJhc2VkIG9uIG9wdGlvbmFsIGZpbHRlcmluZywgc29ydGluZywgYW5kIHBhZ2luYXRpb24gb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsaXN0KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmxpc3QobmFtZSwgb3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogbnVsbCk7XG5cdFx0cmV0dXJuIEpTT04ucGFyc2UocmVzdWx0KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIENvdW50cyB0aGUgbnVtYmVyIG9mIGVudHJpZXMgYmFzZWQgb24gb3B0aW9uYWwgZmlsdGVyaW5nIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwge0BsaW5rIE9wdGlvbnN9IGZvciBxdWVyeSBleGVjdXRpb24uXG5cdCAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBtYXRjaGluZyBlbnRyaWVzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjb3VudChuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBPcHRpb25zKTogbnVtYmVyIHtcblx0XHRjb25zdCBvcHRpb25zU3RyaW5nID0gb3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogbnVsbDtcblx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUuY291bnQobmFtZSwgb3B0aW9uc1N0cmluZyk7XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBzaW5nbGUgZW50cnkgYnkgaXRzIElELlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBpZCBUaGUgSUQgb2YgdGhlIGVudHJ5LlxuXHQgKiBAcmV0dXJucyBUaGUgZW50cnkgb2JqZWN0LCBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXQobmFtZTogc3RyaW5nLCBpZDogYW55KTogYW55IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUuZ2V0KG5hbWUsIGlkKTtcblx0XHQvLyBBc3N1bWluZyB0aGUgbmF0aXZlIEFQSSByZXR1cm5zIG51bGwvdW5kZWZpbmVkIG9yIGFuIGVtcHR5IEpTT04gc3RyaW5nIGlmIG5vdCBmb3VuZCwgXG5cdFx0Ly8gb3RoZXJ3aXNlIEpTT04ucGFyc2UgaGFuZGxlcyB0aGUgY29udmVyc2lvbi5cblx0XHRpZiAocmVzdWx0ID09PSBudWxsIHx8IHJlc3VsdCA9PT0gdW5kZWZpbmVkIHx8IHJlc3VsdCA9PT0gXCJcIikge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0cmV0dXJuIEpTT04ucGFyc2UocmVzdWx0KTtcblx0fTtcblxuXHQvKipcblx0ICogRGVsZXRlcyBhbiBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkgdG8gcmVtb3ZlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByZW1vdmUobmFtZTogc3RyaW5nLCBpZDogYW55KTogdm9pZCB7XG5cdFx0RGF0YVN0b3JlRmFjYWRlLmRlbGV0ZUVudHJ5KG5hbWUsIGlkKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEZpbmRzIGVudHJpZXMgbWF0Y2hpbmcgYW4gZXhhbXBsZSBvYmplY3QgKHF1ZXJ5LWJ5LWV4YW1wbGUpLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBleGFtcGxlIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgdG8gbWF0Y2guXG5cdCAqIEBwYXJhbSBsaW1pdCBNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi5cblx0ICogQHBhcmFtIG9mZnNldCBOdW1iZXIgb2YgcmVzdWx0cyB0byBza2lwLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBtYXRjaGluZyBKYXZhU2NyaXB0IG9iamVjdHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGZpbmQobmFtZTogc3RyaW5nLCBleGFtcGxlOiBhbnksIGxpbWl0OiBudW1iZXIgPSAxMDAsIG9mZnNldDogbnVtYmVyID0gMCk6IGFueVtdIHtcblx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUuZmluZChuYW1lLCBKU09OLnN0cmluZ2lmeShleGFtcGxlKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0cmV0dXJuIEpTT04ucGFyc2UocmVzdWx0KTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIFF1ZXJpZXMgYWxsIGVudHJpZXMgZm9yIGEgZ2l2ZW4gZW50aXR5IG5hbWUgd2l0aCBwYWdpbmF0aW9uLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBsaW1pdCBNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi5cblx0ICogQHBhcmFtIG9mZnNldCBOdW1iZXIgb2YgcmVzdWx0cyB0byBza2lwLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBKYXZhU2NyaXB0IG9iamVjdHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHF1ZXJ5KG5hbWU6IHN0cmluZywgbGltaXQ6IG51bWJlciA9IDEwMCwgb2Zmc2V0OiBudW1iZXIgPSAwKTogYW55W10ge1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeShuYW1lLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShyZXN1bHQpO1xuXHR9XG5cdFxuXHQvKipcblx0ICogUXVlcmllcyBhbGwgZW50cmllcyBmb3IgYSBnaXZlbiBlbnRpdHkgbmFtZSB3aXRob3V0IHBhZ2luYXRpb24uXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgYWxsIEphdmFTY3JpcHQgb2JqZWN0cy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcXVlcnlOYXRpdmUobmFtZTogc3RyaW5nKTogYW55W10ge1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZShuYW1lKTtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShyZXN1bHQpO1xuXHR9XG5cdFxuXHQvLyAtLS0gTWV0YWRhdGEgR2V0dGVycyAtLS1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZW50aXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RvcmUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0RW50aXR5TmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0RW50aXR5TmFtZShuYW1lKTtcblx0fVxuXHRcblx0LyoqXG5cdCAqIEdldHMgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UgdGFibGUgbmFtZSBmb3IgdGhlIGVudGl0eS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0VGFibGVOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRUYWJsZU5hbWUobmFtZSk7XG5cdH1cblx0XHRcblx0LyoqXG5cdCAqIEdldHMgdGhlIHByb3BlcnR5IG5hbWUgdXNlZCBhcyB0aGUgSUQgZmllbGQgaW4gdGhlIGVudGl0eSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldElkTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0SWROYW1lKG5hbWUpO1xuXHR9XG5cdFx0XHRcblx0LyoqXG5cdCAqIEdldHMgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UgY29sdW1uIG5hbWUgdXNlZCBmb3IgdGhlIElEIGZpZWxkLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRJZENvbHVtbihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0SWRDb2x1bW4obmFtZSk7XG5cdH1cblxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFN0b3JlO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE1BQU0sa0JBQWtCLEtBQUssS0FBSyx5REFBeUQ7QUFLcEYsSUFBSyxXQUFMLGtCQUFLQSxjQUFMO0FBQ04sRUFBQUEsVUFBQSxRQUFLO0FBQ0wsRUFBQUEsVUFBQSxRQUFLO0FBQ0wsRUFBQUEsVUFBQSxRQUFLO0FBQ0wsRUFBQUEsVUFBQSxRQUFLO0FBQ0wsRUFBQUEsVUFBQSxRQUFLO0FBQ0wsRUFBQUEsVUFBQSxRQUFLO0FBQ0wsRUFBQUEsVUFBQSxVQUFPO0FBQ1AsRUFBQUEsVUFBQSxhQUFVO0FBQ1YsRUFBQUEsVUFBQSxRQUFLO0FBVE0sU0FBQUE7QUFBQSxHQUFBO0FBZUwsSUFBSyxZQUFMLGtCQUFLQyxlQUFMO0FBQ04sRUFBQUEsV0FBQSxTQUFNO0FBQ04sRUFBQUEsV0FBQSxVQUFPO0FBRkksU0FBQUE7QUFBQSxHQUFBO0FBc0NMLE1BQU0sTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWxCLE9BQWMsS0FBSyxNQUFjLE9BQTZCO0FBQzdELFdBQU8sZ0JBQWdCLEtBQUssTUFBTSxLQUFLLFVBQVUsS0FBSyxDQUFDO0FBQUEsRUFDeEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLE9BQU8sTUFBYyxPQUFrQjtBQUNwRCxvQkFBZ0IsT0FBTyxNQUFNLEtBQUssVUFBVSxLQUFLLENBQUM7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxF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
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { sql, query } from "@aerokit/sdk/db";
|
|
2
|
+
class Translator {
|
|
3
|
+
/**
|
|
4
|
+
* Translates properties for a list of entities by querying the corresponding language table.
|
|
5
|
+
*
|
|
6
|
+
* @param list The array of entities to be translated.
|
|
7
|
+
* @param language The target language code (e.g., 'en', 'de'). If undefined, no translation occurs.
|
|
8
|
+
* @param basetTable The name of the base entity table (used to derive the language table name).
|
|
9
|
+
* @returns The translated array of entities.
|
|
10
|
+
*/
|
|
11
|
+
static translateList(list, language, basetTable) {
|
|
12
|
+
if (list && language) {
|
|
13
|
+
try {
|
|
14
|
+
const script = sql.getDialect().select().column("*").from('"' + basetTable + '_LANG"').where("Language = ?").build();
|
|
15
|
+
const resultSet = query.execute(script, [language]);
|
|
16
|
+
if (resultSet && resultSet.length > 0) {
|
|
17
|
+
const translatedProperties = Object.getOwnPropertyNames(resultSet[0]);
|
|
18
|
+
const ID_PROPERTY_NAME = translatedProperties[0];
|
|
19
|
+
const NUM_TRANSLATED_PROPERTIES = translatedProperties.length - 2;
|
|
20
|
+
const translationMaps = Array(NUM_TRANSLATED_PROPERTIES).fill(null).map(() => ({}));
|
|
21
|
+
resultSet.forEach((r) => {
|
|
22
|
+
const idValue = r[ID_PROPERTY_NAME];
|
|
23
|
+
for (let i = 0; i < NUM_TRANSLATED_PROPERTIES; i++) {
|
|
24
|
+
translationMaps[i][idValue] = r[translatedProperties[i + 1]];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
list.forEach((r) => {
|
|
28
|
+
const idValue = r[ID_PROPERTY_NAME];
|
|
29
|
+
for (let i = 0; i < NUM_TRANSLATED_PROPERTIES; i++) {
|
|
30
|
+
const translatedKey = translatedProperties[i + 1];
|
|
31
|
+
const translatedValue = translationMaps[i][idValue];
|
|
32
|
+
if (translatedValue !== void 0 && translatedValue !== null) {
|
|
33
|
+
r[translatedKey] = translatedValue;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
} catch (error) {
|
|
39
|
+
console.error("Entity is marked as language dependent, but no language table present for: " + basetTable, error);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return list;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Translates properties for a single entity by querying the corresponding language table.
|
|
46
|
+
*
|
|
47
|
+
* @param entity The entity object to be translated.
|
|
48
|
+
* @param id The ID of the entity.
|
|
49
|
+
* @param language The target language code (e.g., 'en', 'de'). If undefined, no translation occurs.
|
|
50
|
+
* @param basetTable The name of the base entity table.
|
|
51
|
+
* @returns The translated entity object.
|
|
52
|
+
*/
|
|
53
|
+
static translateEntity(entity, id, language, basetTable) {
|
|
54
|
+
if (entity && language) {
|
|
55
|
+
try {
|
|
56
|
+
const script = sql.getDialect().select().column("*").from('"' + basetTable + '_LANG"').where("Language = ?").where("Id = ?").build();
|
|
57
|
+
const resultSet = query.execute(script, [language, id]);
|
|
58
|
+
if (resultSet && resultSet.length > 0) {
|
|
59
|
+
const translationRow = resultSet[0];
|
|
60
|
+
for (const key in translationRow) {
|
|
61
|
+
if (translationRow.hasOwnProperty(key)) {
|
|
62
|
+
if (key !== "Id" && key !== "Language") {
|
|
63
|
+
entity[key] = translationRow[key];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
} catch (error) {
|
|
69
|
+
console.error("Entity is marked as language dependent, but no language table present for: " + basetTable, error);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return entity;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (typeof module !== "undefined") {
|
|
76
|
+
module.exports = Translator;
|
|
77
|
+
}
|
|
78
|
+
export {
|
|
79
|
+
Translator
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3RyYW5zbGF0b3IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHNxbCwgcXVlcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2RiXCI7XG5cbi8qKlxuICogUHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgZm9yIHRyYW5zbGF0aW5nIGVudGl0eSBwcm9wZXJ0aWVzIGJhc2VkIG9uIGEgZGVkaWNhdGVkIGxhbmd1YWdlIHRhYmxlLlxuICogVHJhbnNsYXRpb24gaXMgYWNoaWV2ZWQgYnkgcXVlcnlpbmcgYSBzZXBhcmF0ZSB0YWJsZSAoZS5nLiwgJ0JBU0VfVEFCTEVfTEFORycpIGFuZCBtZXJnaW5nXG4gKiB0aGUgdHJhbnNsYXRlZCBmaWVsZHMgYmFjayBpbnRvIHRoZSBvcmlnaW5hbCBkYXRhLlxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRvciB7XG5cblx0LyoqXG5cdCAqIFRyYW5zbGF0ZXMgcHJvcGVydGllcyBmb3IgYSBsaXN0IG9mIGVudGl0aWVzIGJ5IHF1ZXJ5aW5nIHRoZSBjb3JyZXNwb25kaW5nIGxhbmd1YWdlIHRhYmxlLlxuXHQgKlxuXHQgKiBAcGFyYW0gbGlzdCBUaGUgYXJyYXkgb2YgZW50aXRpZXMgdG8gYmUgdHJhbnNsYXRlZC5cblx0ICogQHBhcmFtIGxhbmd1YWdlIFRoZSB0YXJnZXQgbGFuZ3VhZ2UgY29kZSAoZS5nLiwgJ2VuJywgJ2RlJykuIElmIHVuZGVmaW5lZCwgbm8gdHJhbnNsYXRpb24gb2NjdXJzLlxuXHQgKiBAcGFyYW0gYmFzZXRUYWJsZSBUaGUgbmFtZSBvZiB0aGUgYmFzZSBlbnRpdHkgdGFibGUgKHVzZWQgdG8gZGVyaXZlIHRoZSBsYW5ndWFnZSB0YWJsZSBuYW1lKS5cblx0ICogQHJldHVybnMgVGhlIHRyYW5zbGF0ZWQgYXJyYXkgb2YgZW50aXRpZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHRyYW5zbGF0ZUxpc3QobGlzdDogYW55W10sIGxhbmd1YWdlOiBzdHJpbmcgfCB1bmRlZmluZWQsIGJhc2V0VGFibGU6IHN0cmluZyk6IGFueVtdIHtcbiAgICAgICAgaWYgKGxpc3QgJiYgbGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIHRyeSB7XG5cdFx0XHRcdC8vIENvbnN0cnVjdCB0aGUgcXVlcnkgZm9yIGFsbCB0cmFuc2xhdGVkIGNvbHVtbnMgaW4gdGhlIHRhcmdldCBsYW5ndWFnZS5cblx0XHRcdFx0Ly8gQXNzdW1lcyB0aGUgbGFuZ3VhZ2UgdGFibGUgaXMgbmFtZWQgJ0JBU0VfVEFCTEVfTEFORycuXG4gICAgICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gc3FsLmdldERpYWxlY3QoKVxuICAgICAgICAgICAgICAgICAgICAuc2VsZWN0KClcbiAgICAgICAgICAgICAgICAgICAgLmNvbHVtbihcIipcIilcbiAgICAgICAgICAgICAgICAgICAgLmZyb20oJ1wiJyArIGJhc2V0VGFibGUgKyAnX0xBTkdcIicpXG4gICAgICAgICAgICAgICAgICAgIC53aGVyZSgnTGFuZ3VhZ2UgPSA/JylcbiAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHRTZXQ6IGFueVtdID0gcXVlcnkuZXhlY3V0ZShzY3JpcHQsIFtsYW5ndWFnZV0pO1xuXG5cdFx0XHRcdC8vIENoZWNrIGlmIGFueSB0cmFuc2xhdGlvbnMgd2VyZSBmb3VuZFxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHRTZXQgJiYgcmVzdWx0U2V0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZFByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhyZXN1bHRTZXRbMF0pO1xuICAgICAgICAgICAgICAgICAgICBcblx0XHRcdFx0XHQvLyBBc3N1bXB0aW9uOiB0cmFuc2xhdGVkUHJvcGVydGllc1swXSBpcyB0aGUgZW50aXR5IElEIHByb3BlcnR5IG5hbWUuXG5cdFx0XHRcdFx0Ly8gQXNzdW1wdGlvbjogVGhlIGxhc3QgdHdvIHByb3BlcnRpZXMgYXJlIHRoZSBJRCBwcm9wZXJ0eSBhbmQgdGhlIExhbmd1YWdlIHByb3BlcnR5LCBsZWF2aW5nIE4tMiBmb3IgdHJhbnNsYXRlZCBkYXRhLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBJRF9QUk9QRVJUWV9OQU1FID0gdHJhbnNsYXRlZFByb3BlcnRpZXNbMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IE5VTV9UUkFOU0xBVEVEX1BST1BFUlRJRVMgPSB0cmFuc2xhdGVkUHJvcGVydGllcy5sZW5ndGggLSAyO1xuICAgICAgICAgICAgICAgICAgICBcblx0XHRcdFx0XHQvLyBDcmVhdGUgYW4gYXJyYXkgb2YgbWFwcywgb25lIG1hcCBwZXIgdHJhbnNsYXRlZCBwcm9wZXJ0eSBuYW1lOiB7IElEX3ZhbHVlIC0+IHRyYW5zbGF0ZWRfdmFsdWUgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbk1hcHM6IFJlY29yZDxhbnksIGFueT5bXSA9IEFycmF5KE5VTV9UUkFOU0xBVEVEX1BST1BFUlRJRVMpLmZpbGwobnVsbCkubWFwKCgpID0+ICh7fSkpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLy8gUG9wdWxhdGUgdGhlIHRyYW5zbGF0aW9uIG1hcHMgZnJvbSB0aGUgcmVzdWx0IHNldFxuICAgICAgICAgICAgICAgICAgICByZXN1bHRTZXQuZm9yRWFjaCgocikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaWRWYWx1ZSA9IHJbSURfUFJPUEVSVFlfTkFNRV07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE5VTV9UUkFOU0xBVEVEX1BST1BFUlRJRVM7IGkrKykge1xuXHRcdFx0XHRcdFx0XHQvLyB0cmFuc2xhdGVkUHJvcGVydGllc1tpICsgMV0gaG9sZHMgdGhlIGFjdHVhbCB0cmFuc2xhdGVkIGZpZWxkIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk1hcHNbaV1baWRWYWx1ZV0gPSByW3RyYW5zbGF0ZWRQcm9wZXJ0aWVzW2kgKyAxXV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG5cdFx0XHRcdFx0Ly8gQXBwbHkgdGhlIHRyYW5zbGF0aW9ucyB0byB0aGUgb3JpZ2luYWwgbGlzdFxuICAgICAgICAgICAgICAgICAgICBsaXN0LmZvckVhY2goKHIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlkVmFsdWUgPSByW0lEX1BST1BFUlRZX05BTUVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOVU1fVFJBTlNMQVRFRF9QUk9QRVJUSUVTOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2xhdGVkS2V5ID0gdHJhbnNsYXRlZFByb3BlcnRpZXNbaSArIDFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRWYWx1ZSA9IHRyYW5zbGF0aW9uTWFwc1tpXVtpZFZhbHVlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNsYXRlZFZhbHVlICE9PSB1bmRlZmluZWQgJiYgdHJhbnNsYXRlZFZhbHVlICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gT3ZlcndyaXRlIHRoZSBiYXNlIHByb3BlcnR5IHdpdGggdGhlIHRyYW5zbGF0ZWQgdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgclt0cmFuc2xhdGVkS2V5XSA9IHRyYW5zbGF0ZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVudGl0eSBpcyBtYXJrZWQgYXMgbGFuZ3VhZ2UgZGVwZW5kZW50LCBidXQgbm8gbGFuZ3VhZ2UgdGFibGUgcHJlc2VudCBmb3I6IFwiICsgYmFzZXRUYWJsZSwgZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgIH1cblx0XG5cdC8qKlxuXHQgKiBUcmFuc2xhdGVzIHByb3BlcnRpZXMgZm9yIGEgc2luZ2xlIGVudGl0eSBieSBxdWVyeWluZyB0aGUgY29ycmVzcG9uZGluZyBsYW5ndWFnZSB0YWJsZS5cblx0ICpcblx0ICogQHBhcmFtIGVudGl0eSBUaGUgZW50aXR5IG9iamVjdCB0byBiZSB0cmFuc2xhdGVkLlxuXHQgKiBAcGFyYW0gaWQgVGhlIElEIG9mIHRoZSBlbnRpdHkuXG5cdCAqIEBwYXJhbSBsYW5ndWFnZSBUaGUgdGFyZ2V0IGxhbmd1YWdlIGNvZGUgKGUuZy4sICdlbicsICdkZScpLiBJZiB1bmRlZmluZWQsIG5vIHRyYW5zbGF0aW9uIG9jY3Vycy5cblx0ICogQHBhcmFtIGJhc2V0VGFibGUgVGhlIG5hbWUgb2YgdGhlIGJhc2UgZW50aXR5IHRhYmxlLlxuXHQgKiBAcmV0dXJucyBUaGUgdHJhbnNsYXRlZCBlbnRpdHkgb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyB0cmFuc2xhdGVFbnRpdHkoZW50aXR5OiBhbnksIGlkOiBzdHJpbmcgfCBudW1iZXIsIGxhbmd1YWdlOiBzdHJpbmcgfCB1bmRlZmluZWQsIGJhc2V0VGFibGU6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmIChlbnRpdHkgJiYgbGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIHRyeSB7XG5cdFx0XHRcdC8vIENvbnN0cnVjdCB0aGUgcXVlcnkgZm9yIGEgc3BlY2lmaWMgSUQgYW5kIExhbmd1YWdlXG4gICAgICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gc3FsLmdldERpYWxlY3QoKVxuICAgICAgICAgICAgICAgICAgICAuc2VsZWN0KClcbiAgICAgICAgICAgICAgICAgICAgLmNvbHVtbihcIipcIilcbiAgICAgICAgICAgICAgICAgICAgLmZyb20oJ1wiJyArIGJhc2V0VGFibGUgKyAnX0xBTkdcIicpXG4gICAgICAgICAgICAgICAgICAgIC53aGVyZSgnTGFuZ3VhZ2UgPSA/JylcbiAgICAgICAgICAgICAgICAgICAgLndoZXJlKCdJZCA9ID8nKVxuICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdFNldDogYW55W10gPSBxdWVyeS5leGVjdXRlKHNjcmlwdCwgW2xhbmd1YWdlLCBpZF0pO1xuXG5cdFx0XHRcdC8vIFNpbmNlIHdlIHF1ZXJ5IGJ5IElkIGFuZCBMYW5ndWFnZSwgd2UgZXhwZWN0IGF0IG1vc3Qgb25lIHJvdy5cbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0U2V0ICYmIHJlc3VsdFNldC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uUm93ID0gcmVzdWx0U2V0WzBdO1xuICAgICAgICAgICAgICAgICAgICBcblx0XHRcdFx0XHQvLyBJdGVyYXRlIHRocm91Z2ggdGhlIHByb3BlcnRpZXMgb2YgdGhlIHRyYW5zbGF0aW9uIHJvdyBhbmQgbWVyZ2UgdGhlbSBpbnRvIHRoZSBlbnRpdHkuXG5cdFx0XHRcdFx0Ly8gV2UgbXVzdCBhc3N1bWUgdGhhdCB0aGUgYmFzZSB0YWJsZSBjb2x1bW5zIChleGNlcHQgSUQgYW5kIExhbmd1YWdlIGtleXMpIGFsaWduIHdpdGggdGhlIHRyYW5zbGF0aW9uIHRhYmxlIGNvbHVtbnMuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRyYW5zbGF0aW9uUm93KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNsYXRpb25Sb3cuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuXHRcdFx0XHRcdFx0XHQvLyBBdm9pZCBvdmVyd3JpdGluZyB0aGUgZW50aXR5J3MgSUQgYW5kIExhbmd1YWdlIGtleSBpZiB0aGV5IGV4aXN0LCBcblx0XHRcdFx0XHRcdFx0Ly8gYWx0aG91Z2ggdHlwaWNhbGx5IHRoZSBsYW5ndWFnZSBrZXkgaXMgbm90IHByZXNlbnQgaW4gdGhlIGJhc2UgZW50aXR5LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICdJZCcgJiYga2V5ICE9PSAnTGFuZ3VhZ2UnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVtrZXldID0gdHJhbnNsYXRpb25Sb3dba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFbnRpdHkgaXMgbWFya2VkIGFzIGxhbmd1YWdlIGRlcGVuZGVudCwgYnV0IG5vIGxhbmd1YWdlIHRhYmxlIHByZXNlbnQgZm9yOiBcIiArIGJhc2V0VGFibGUsIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50aXR5O1xuICAgIH1cblx0XHRcbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBUcmFuc2xhdG9yO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLLGFBQWE7QUFPcEIsTUFBTSxXQUFXO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVXZCLE9BQWMsY0FBYyxNQUFhLFVBQThCLFlBQTJCO0FBQzNGLFFBQUksUUFBUSxVQUFVO0FBQ2xCLFVBQUk7QUFHQSxjQUFNLFNBQVMsSUFBSSxXQUFXLEVBQ3pCLE9BQU8sRUFDUCxPQUFPLEdBQUcsRUFDVixLQUFLLE1BQU0sYUFBYSxRQUFRLEVBQ2hDLE1BQU0sY0FBYyxFQUNwQixNQUFNO0FBRVgsY0FBTSxZQUFtQixNQUFNLFFBQVEsUUFBUSxDQUFDLFFBQVEsQ0FBQztBQUd6RCxZQUFJLGFBQWEsVUFBVSxTQUFTLEdBQUc7QUFDbkMsZ0JBQU0sdUJBQXVCLE9BQU8sb0JBQW9CLFVBQVUsQ0FBQyxDQUFDO0FBSXBFLGdCQUFNLG1CQUFtQixxQkFBcUIsQ0FBQztBQUMvQyxnQkFBTSw0QkFBNEIscUJBQXFCLFNBQVM7QUFHaEUsZ0JBQU0sa0JBQXNDLE1BQU0seUJBQXlCLEVBQUUsS0FBSyxJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsRUFBRTtBQUd0RyxvQkFBVSxRQUFRLENBQUMsTUFBTTtBQUNyQixrQkFBTSxVQUFVLEVBQUUsZ0JBQWdCO0FBQ2xDLHFCQUFTLElBQUksR0FBRyxJQUFJLDJCQUEyQixLQUFLO0FBRWhELDhCQUFnQixDQUFDLEVBQUUsT0FBTyxJQUFJLEVBQUUscUJBQXFCLElBQUksQ0FBQyxDQUFDO0FBQUEsWUFDL0Q7QUFBQSxVQUNKLENBQUM7QUFHRCxlQUFLLFFBQVEsQ0FBQyxNQUFNO0FBQ2hCLGtCQUFNLFVBQVUsRUFBRSxnQkFBZ0I7QUFDbEMscUJBQVMsSUFBSSxHQUFHLElBQUksMkJBQTJCLEtBQUs7QUFDaEQsb0JBQU0sZ0JBQWdCLHFCQUFxQixJQUFJLENBQUM7QUFDaEQsb0JBQU0sa0JBQWtCLGdCQUFnQixDQUFDLEVBQUUsT0FBTztBQUVsRCxrQkFBSSxvQkFBb0IsVUFBYSxvQkFBb0IsTUFBTTtBQUUzRCxrQkFBRSxhQUFhLElBQUk7QUFBQSxjQUN2QjtBQUFBLFlBQ0o7QUFBQSxVQUNKLENBQUM7QUFBQSxRQUNMO0FBQUEsTUFDSixTQUFTLE9BQU87QUFDWixnQkFBUSxNQUFNLGdGQUFnRixZQUFZLEtBQUs7QUFBQSxNQUNuSDtBQUFBLElBQ0o7QUFDQSxXQUFPO0FBQUEsRUFDWDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV0gsT0FBYyxnQkFBZ0IsUUFBYSxJQUFxQixVQUE4QixZQUF5QjtBQUNoSCxRQUFJLFVBQVUsVUFBVTtBQUNwQixVQUFJO0FBRUEsY0FBTSxTQUFTLElBQUksV0FBVyxFQUN6QixPQUFPLEVBQ1AsT0FBTyxHQUFHLEVBQ1YsS0FBSyxNQUFNLGFBQWEsUUFBUSxFQUNoQyxNQUFNLGNBQWMsRUFDcEIsTUFBTSxRQUFRLEVBQ2QsTUFBTTtBQUVYLGNBQU0sWUFBbUIsTUFBTSxRQUFRLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUc3RCxZQUFJLGFBQWEsVUFBVSxTQUFTLEdBQUc7QUFDbkMsZ0JBQU0saUJBQWlCLFVBQVUsQ0FBQztBQUlsQyxxQkFBVyxPQUFPLGdCQUFnQjtBQUM5QixnQkFBSSxlQUFlLGVBQWUsR0FBRyxHQUFHO0FBR3BDLGtCQUFJLFFBQVEsUUFBUSxRQUFRLFlBQVk7QUFDcEMsdUJBQU8sR0FBRyxJQUFJLGVBQWUsR0FBRztBQUFBLGNBQ3BDO0FBQUEsWUFDSjtBQUFBLFVBQ0o7QUFBQSxRQUNKO0FBQUEsTUFDSixTQUFTLE9BQU87QUFDWixnQkFBUSxNQUFNLGdGQUFnRixZQUFZLEtBQUs7QUFBQSxNQUNuSDtBQUFBLElBQ0o7QUFDQSxXQUFPO0FBQUEsRUFDWDtBQUVKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const DatabaseFacade = Java.type("org.eclipse.dirigible.components.api.db.DatabaseFacade");
|
|
2
|
+
class Update {
|
|
3
|
+
/**
|
|
4
|
+
* Executes a parameterized SQL update statement (INSERT, UPDATE, or DELETE).
|
|
5
|
+
*
|
|
6
|
+
* @param sql The SQL statement to execute.
|
|
7
|
+
* @param parameters Optional array of parameters to bind to the SQL statement (replaces '?').
|
|
8
|
+
* These are serialized to JSON before being passed to the native API.
|
|
9
|
+
* @param datasourceName Optional name of the data source to use. Defaults to the primary data source.
|
|
10
|
+
* @returns The number of rows affected by the statement.
|
|
11
|
+
*/
|
|
12
|
+
static execute(sql, parameters, datasourceName) {
|
|
13
|
+
const parametersJson = parameters ? JSON.stringify(parameters) : void 0;
|
|
14
|
+
const result = DatabaseFacade.update(sql, parametersJson, datasourceName);
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (typeof module !== "undefined") {
|
|
19
|
+
module.exports = Update;
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
Update
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3VwZGF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgRGF0YWJhc2VGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuZGIuRGF0YWJhc2VGYWNhZGVcIik7XG5cbi8qKlxuICogSW50ZXJmYWNlIHVzZWQgZm9yIGNvbXBsZXggcGFyYW1ldGVyIHR5cGVzIGlmIG5lZWRlZCwgb3RoZXJ3aXNlIHByaW1pdGl2ZSB0eXBlcyBhcmUgdXNlZCBkaXJlY3RseS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQYXJhbWV0ZXIge1xuXHRyZWFkb25seSB2YWx1ZTogYW55O1xufVxuXG4vKipcbiAqIEZhY2FkZSBjbGFzcyBmb3IgZXhlY3V0aW5nIFNRTCBVUERBVEUsIElOU0VSVCwgYW5kIERFTEVURSBzdGF0ZW1lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgVXBkYXRlIHtcblxuXHQvKipcblx0ICogRXhlY3V0ZXMgYSBwYXJhbWV0ZXJpemVkIFNRTCB1cGRhdGUgc3RhdGVtZW50IChJTlNFUlQsIFVQREFURSwgb3IgREVMRVRFKS5cblx0ICpcblx0ICogQHBhcmFtIHNxbCBUaGUgU1FMIHN0YXRlbWVudCB0byBleGVjdXRlLlxuXHQgKiBAcGFyYW0gcGFyYW1ldGVycyBPcHRpb25hbCBhcnJheSBvZiBwYXJhbWV0ZXJzIHRvIGJpbmQgdG8gdGhlIFNRTCBzdGF0ZW1lbnQgKHJlcGxhY2VzICc/JykuXG5cdCAqIFRoZXNlIGFyZSBzZXJpYWxpemVkIHRvIEpTT04gYmVmb3JlIGJlaW5nIHBhc3NlZCB0byB0aGUgbmF0aXZlIEFQSS5cblx0ICogQHBhcmFtIGRhdGFzb3VyY2VOYW1lIE9wdGlvbmFsIG5hbWUgb2YgdGhlIGRhdGEgc291cmNlIHRvIHVzZS4gRGVmYXVsdHMgdG8gdGhlIHByaW1hcnkgZGF0YSBzb3VyY2UuXG5cdCAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygcm93cyBhZmZlY3RlZCBieSB0aGUgc3RhdGVtZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBleGVjdXRlKHNxbDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlIHwgVXBkYXRlUGFyYW1ldGVyKVtdLCBkYXRhc291cmNlTmFtZT86IHN0cmluZyk6IG51bWJlciB7XG5cdFx0Ly8gU2VyaWFsaXplIHBhcmFtZXRlcnMgdG8gYSBKU09OIHN0cmluZyBpZiB0aGV5IGV4aXN0LCBvdGhlcndpc2UgcGFzcyB1bmRlZmluZWQuXG5cdFx0Y29uc3QgcGFyYW1ldGVyc0pzb24gPSBwYXJhbWV0ZXJzID8gSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykgOiB1bmRlZmluZWQ7XG5cdFx0XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YWJhc2VGYWNhZGUudXBkYXRlKHNxbCwgcGFyYW1ldGVyc0pzb24sIGRhdGFzb3VyY2VOYW1lKTtcblx0XHRcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gVXBkYXRlO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE1BQU0saUJBQWlCLEtBQUssS0FBSyx3REFBd0Q7QUFZbEYsTUFBTSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbkIsT0FBYyxRQUFRLEtBQWEsWUFBcUUsZ0JBQWlDO0FBRXhJLFVBQU0saUJBQWlCLGFBQWEsS0FBSyxVQUFVLFVBQVUsSUFBSTtBQUVqRSxVQUFNLFNBQVMsZUFBZSxPQUFPLEtBQUssZ0JBQWdCLGNBQWM7QUFFeEUsV0FBTztBQUFBLEVBQ1I7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
const EtcdFacade = Java.type("org.eclipse.dirigible.components.api.etcd.EtcdFacade");
|
|
2
|
+
function StringToByteSequence(str) {
|
|
3
|
+
return EtcdFacade.stringToByteSequence(str);
|
|
4
|
+
}
|
|
5
|
+
function ByteArrayToByteSequence(arr) {
|
|
6
|
+
return EtcdFacade.byteArrayToByteSequence(arr);
|
|
7
|
+
}
|
|
8
|
+
function ByteSequenceToString(value) {
|
|
9
|
+
return EtcdFacade.byteSequenceToString(value);
|
|
10
|
+
}
|
|
11
|
+
function BytesToArray(value) {
|
|
12
|
+
const array = value.getBytes();
|
|
13
|
+
const result = new Int8Array(array.length);
|
|
14
|
+
for (let i = 0; i < array.length; i++) {
|
|
15
|
+
result[i] = parseInt(array[i], 10);
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
function KeyValueObject(kvsList, func) {
|
|
20
|
+
const kvObject = {};
|
|
21
|
+
kvsList.forEach((kvs) => {
|
|
22
|
+
const key = ByteSequenceToString(kvs.getKey());
|
|
23
|
+
const value = func(kvs.getValue());
|
|
24
|
+
kvObject[key] = value;
|
|
25
|
+
});
|
|
26
|
+
return kvObject;
|
|
27
|
+
}
|
|
28
|
+
function KeyValueObjectString(kvsList) {
|
|
29
|
+
return KeyValueObject(kvsList, ByteSequenceToString);
|
|
30
|
+
}
|
|
31
|
+
function KeyValueObjectByteArray(kvsList) {
|
|
32
|
+
return KeyValueObject(kvsList, BytesToArray);
|
|
33
|
+
}
|
|
34
|
+
class Header {
|
|
35
|
+
constructor(native) {
|
|
36
|
+
this.native = native;
|
|
37
|
+
}
|
|
38
|
+
/** The revision of the key-value store when the request was processed. */
|
|
39
|
+
getRevision() {
|
|
40
|
+
return this.native.getRevision();
|
|
41
|
+
}
|
|
42
|
+
/** The ID of the cluster which the request was sent to. */
|
|
43
|
+
getClusterId() {
|
|
44
|
+
return this.native.getClusterId();
|
|
45
|
+
}
|
|
46
|
+
/** The ID of the member which the request was handled by. */
|
|
47
|
+
getMemberId() {
|
|
48
|
+
return this.native.getMemberId();
|
|
49
|
+
}
|
|
50
|
+
/** The Raft term. */
|
|
51
|
+
getRaftTerm() {
|
|
52
|
+
return this.native.getRaftTerm();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
class GetResponse {
|
|
56
|
+
constructor(native) {
|
|
57
|
+
this.native = native;
|
|
58
|
+
}
|
|
59
|
+
/** Retrieves the response header containing cluster metadata. */
|
|
60
|
+
getHeader() {
|
|
61
|
+
const nativeHeader = this.native.getHeader();
|
|
62
|
+
return new Header(nativeHeader);
|
|
63
|
+
}
|
|
64
|
+
/** Retrieves the Key-Value pairs with values converted to strings. */
|
|
65
|
+
getKvsString() {
|
|
66
|
+
return KeyValueObjectString(this.native.getKvs());
|
|
67
|
+
}
|
|
68
|
+
/** Retrieves the Key-Value pairs with values converted to Int8Array (byte arrays). */
|
|
69
|
+
getKvsByteArray() {
|
|
70
|
+
return KeyValueObjectByteArray(this.native.getKvs());
|
|
71
|
+
}
|
|
72
|
+
/** Retrieves the number of Key-Value pairs returned. */
|
|
73
|
+
getCount() {
|
|
74
|
+
return this.native.getCount();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
class Client {
|
|
78
|
+
constructor() {
|
|
79
|
+
this.native = EtcdFacade.getClient();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Executes a blocking GET request on the specified key.
|
|
83
|
+
* @param key The key to retrieve.
|
|
84
|
+
* @returns The processed GetResponse object.
|
|
85
|
+
*/
|
|
86
|
+
get(key) {
|
|
87
|
+
const etcdCompletableFuture = this.native.get(StringToByteSequence(key));
|
|
88
|
+
const nativeResponse = etcdCompletableFuture.get();
|
|
89
|
+
return new GetResponse(nativeResponse);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Puts (writes) a string value to the specified key.
|
|
93
|
+
* @param key The key to write to.
|
|
94
|
+
* @param value The string value.
|
|
95
|
+
*/
|
|
96
|
+
putStringValue(key, value) {
|
|
97
|
+
this.native.put(StringToByteSequence(key), StringToByteSequence(value));
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Puts (writes) a byte array value to the specified key.
|
|
101
|
+
* @param key The key to write to.
|
|
102
|
+
* @param value The Int8Array (byte array) value.
|
|
103
|
+
*/
|
|
104
|
+
putByteArrayValue(key, value) {
|
|
105
|
+
this.native.put(StringToByteSequence(key), ByteArrayToByteSequence(value));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Retrieves the response header metadata for a key.
|
|
109
|
+
* @param key The key to query.
|
|
110
|
+
* @returns The {@link Header} object.
|
|
111
|
+
*/
|
|
112
|
+
getHeader(key) {
|
|
113
|
+
return this.get(key).getHeader();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Retrieves the Key-Value pairs as a JavaScript object with string values.
|
|
117
|
+
* @param key The key (or key prefix) to query.
|
|
118
|
+
* @returns An object mapping keys to string values.
|
|
119
|
+
*/
|
|
120
|
+
getKvsStringValue(key) {
|
|
121
|
+
return this.get(key).getKvsString();
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Retrieves the Key-Value pairs as a JavaScript object with Int8Array values.
|
|
125
|
+
* @param key The key (or key prefix) to query.
|
|
126
|
+
* @returns An object mapping keys to Int8Array values.
|
|
127
|
+
*/
|
|
128
|
+
getKvsByteArrayValue(key) {
|
|
129
|
+
return this.get(key).getKvsByteArray();
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Retrieves the count of Key-Value pairs matching the key (or key prefix).
|
|
133
|
+
* @param key The key (or key prefix) to query.
|
|
134
|
+
* @returns The count of matching entries.
|
|
135
|
+
*/
|
|
136
|
+
getCount(key) {
|
|
137
|
+
return this.get(key).getCount();
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Deletes the specified key.
|
|
141
|
+
* @param key The key to delete.
|
|
142
|
+
*/
|
|
143
|
+
delete(key) {
|
|
144
|
+
this.native.delete(StringToByteSequence(key));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (typeof module !== "undefined") {
|
|
148
|
+
module.exports = Client;
|
|
149
|
+
}
|
|
150
|
+
export {
|
|
151
|
+
Client,
|
|
152
|
+
GetResponse,
|
|
153
|
+
Header
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBFdGNkRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmV0Y2QuRXRjZEZhY2FkZVwiKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVUSUxJVFkgRlVOQ1RJT05TXG4vLyBUaGVzZSBmdW5jdGlvbnMgaGFuZGxlIHRoZSBjb252ZXJzaW9uIGJldHdlZW4gSmF2YVNjcmlwdC9UeXBlU2NyaXB0IHR5cGVzIChzdHJpbmcsIEludDhBcnJheSlcbi8vIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyAoQnl0ZVNlcXVlbmNlLCBuYXRpdmUgYnl0ZSBhcnJheXMpLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcGFyYW0gc3RyIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBuYXRpdmUgQnl0ZVNlcXVlbmNlIG9iamVjdCAoSmF2YSB0eXBlKS5cbiAqL1xuZnVuY3Rpb24gU3RyaW5nVG9CeXRlU2VxdWVuY2Uoc3RyOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLnN0cmluZ1RvQnl0ZVNlcXVlbmNlKHN0cik7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBKYXZhU2NyaXB0IEludDhBcnJheSAoYnl0ZSBhcnJheSkgdG8gYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHBhcmFtIGFyciBUaGUgSW50OEFycmF5IHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgKEphdmEgdHlwZSkuXG4gKi9cbmZ1bmN0aW9uIEJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKGFycjogSW50OEFycmF5KTogYW55IHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5ieXRlQXJyYXlUb0J5dGVTZXF1ZW5jZShhcnIpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdCBiYWNrIHRvIGEgc3RyaW5nLlxuICogQHBhcmFtIHZhbHVlIFRoZSBuYXRpdmUgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEByZXR1cm5zIFRoZSBkZWNvZGVkIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gQnl0ZVNlcXVlbmNlVG9TdHJpbmcodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuYnl0ZVNlcXVlbmNlVG9TdHJpbmcodmFsdWUpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbmF0aXZlIEphdmEgYXJyYXkgb2YgYnl0ZXMgaW50byBhIEphdmFTY3JpcHQgSW50OEFycmF5LlxuICogQHBhcmFtIHZhbHVlIFRoZSBuYXRpdmUgQnl0ZVNlcXVlbmNlIG9iamVjdCBjb250YWluaW5nIHRoZSBieXRlcy5cbiAqIEByZXR1cm5zIEEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkuXG4gKi9cbmZ1bmN0aW9uIEJ5dGVzVG9BcnJheSh2YWx1ZTogYW55KTogSW50OEFycmF5IHtcbiAgICBjb25zdCBhcnJheSA9IHZhbHVlLmdldEJ5dGVzKCk7IC8vIEdldCB0aGUgbmF0aXZlIGJ5dGUgYXJyYXlcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgSW50OEFycmF5KGFycmF5Lmxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBDb252ZXJzaW9uIGZyb20gSmF2YSBieXRlIHRvIEphdmFTY3JpcHQgSW50OCB2YWx1ZVxuICAgICAgICByZXN1bHRbaV0gPSBwYXJzZUludChhcnJheVtpXSwgMTApOyBcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBIZWxwZXIgdG8gcHJvY2VzcyBhIGxpc3Qgb2YgS2V5LVZhbHVlIChLVikgb2JqZWN0cyBpbnRvIGEgc3RhbmRhcmQgSmF2YVNjcmlwdCBvYmplY3QuXG4gKiBAcGFyYW0ga3ZzTGlzdCBUaGUgbmF0aXZlIGxpc3Qgb2YgS1Ygb2JqZWN0cy5cbiAqIEBwYXJhbSBmdW5jIFRoZSBjb252ZXJzaW9uIGZ1bmN0aW9uIGZvciB0aGUgdmFsdWUgKGUuZy4sIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nIG9yIEJ5dGVzVG9BcnJheSkuXG4gKiBAcmV0dXJucyBBIHN0YW5kYXJkIEphdmFTY3JpcHQgb2JqZWN0IG1hcHBpbmcgc3RyaW5nIGtleXMgdG8gc3BlY2lmaWVkIHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gS2V5VmFsdWVPYmplY3Q8VD4oa3ZzTGlzdDogYW55W10sIGZ1bmM6ICh2YWx1ZTogYW55KSA9PiBUKTogeyBba2V5OiBzdHJpbmddOiBUIH0ge1xuICAgIGNvbnN0IGt2T2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IFQgfSA9IHt9O1xuICAgIGt2c0xpc3QuZm9yRWFjaCgoa3ZzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3Qga2V5OiBzdHJpbmcgPSBCeXRlU2VxdWVuY2VUb1N0cmluZyhrdnMuZ2V0S2V5KCkpO1xuICAgICAgICBjb25zdCB2YWx1ZTogVCA9IGZ1bmMoa3ZzLmdldFZhbHVlKCkpO1xuICAgICAgICBrdk9iamVjdFtrZXldID0gdmFsdWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ga3ZPYmplY3Q7XG59XG5cbi8qKlxuICogUHJvY2Vzc2VzIG5hdGl2ZSBLVlMgbGlzdCB0byBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggc3RyaW5nIHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gS2V5VmFsdWVPYmplY3RTdHJpbmcoa3ZzTGlzdDogYW55W10pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gS2V5VmFsdWVPYmplY3Qoa3ZzTGlzdCwgQnl0ZVNlcXVlbmNlVG9TdHJpbmcpO1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBuYXRpdmUgS1ZTIGxpc3QgdG8gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIEludDhBcnJheSB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0Qnl0ZUFycmF5KGt2c0xpc3Q6IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBJbnQ4QXJyYXkgfSB7XG4gICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0KGt2c0xpc3QsIEJ5dGVzVG9BcnJheSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFVENEIFJFU1BPTlNFIENMQVNTRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgaGVhZGVyIG1ldGFkYXRhIG9mIGFuIEV0Y2QgcmVzcG9uc2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBIZWFkZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcbiAgICB9XG5cbiAgICAvKiogVGhlIHJldmlzaW9uIG9mIHRoZSBrZXktdmFsdWUgc3RvcmUgd2hlbiB0aGUgcmVxdWVzdCB3YXMgcHJvY2Vzc2VkLiAqL1xuICAgIHB1YmxpYyBnZXRSZXZpc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UmV2aXNpb24oKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIElEIG9mIHRoZSBjbHVzdGVyIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBzZW50IHRvLiAqL1xuICAgIHB1YmxpYyBnZXRDbHVzdGVySWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldENsdXN0ZXJJZCgpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgSUQgb2YgdGhlIG1lbWJlciB3aGljaCB0aGUgcmVxdWVzdCB3YXMgaGFuZGxlZCBieS4gKi9cbiAgICBwdWJsaWMgZ2V0TWVtYmVySWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldE1lbWJlcklkKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBSYWZ0IHRlcm0uICovXG4gICAgcHVibGljIGdldFJhZnRUZXJtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRSYWZ0VGVybSgpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSByZXNwb25zZSBvYmplY3QgZm9yIGEgR2V0IG9wZXJhdGlvbiBmcm9tIEV0Y2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBHZXRSZXNwb25zZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIHJlc3BvbnNlIGhlYWRlciBjb250YWluaW5nIGNsdXN0ZXIgbWV0YWRhdGEuICovXG4gICAgcHVibGljIGdldEhlYWRlcigpOiBIZWFkZXIge1xuICAgICAgICBjb25zdCBuYXRpdmVIZWFkZXIgPSB0aGlzLm5hdGl2ZS5nZXRIZWFkZXIoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBIZWFkZXIobmF0aXZlSGVhZGVyKTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgd2l0aCB2YWx1ZXMgY29udmVydGVkIHRvIHN0cmluZ3MuICovXG4gICAgcHVibGljIGdldEt2c1N0cmluZygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0U3RyaW5nKHRoaXMubmF0aXZlLmdldEt2cygpKTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgd2l0aCB2YWx1ZXMgY29udmVydGVkIHRvIEludDhBcnJheSAoYnl0ZSBhcnJheXMpLiAqL1xuICAgIHB1YmxpYyBnZXRLdnNCeXRlQXJyYXkoKTogeyBba2V5OiBzdHJpbmddOiBJbnQ4QXJyYXkgfSB7XG4gICAgICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdEJ5dGVBcnJheSh0aGlzLm5hdGl2ZS5nZXRLdnMoKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgbnVtYmVyIG9mIEtleS1WYWx1ZSBwYWlycyByZXR1cm5lZC4gKi9cbiAgICBwdWJsaWMgZ2V0Q291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldENvdW50KCk7XG4gICAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFVENEIENMSUVOVCBGQUNBREVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ2xpZW50IGZhY2FkZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgRXRjZCBrZXktdmFsdWUgc3RvcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGllbnQge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IEV0Y2RGYWNhZGUuZ2V0Q2xpZW50KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBibG9ja2luZyBHRVQgcmVxdWVzdCBvbiB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBHZXRSZXNwb25zZSBvYmplY3QuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQoa2V5OiBzdHJpbmcpOiBHZXRSZXNwb25zZSB7XG4gICAgICAgIC8vIEV0Y2QgY2xpZW50IHJldHVybnMgYSBDb21wbGV0YWJsZUZ1dHVyZSB3aGljaCBpcyBibG9ja2VkIGhlcmUgdXNpbmcgLmdldCgpXG4gICAgICAgIGNvbnN0IGV0Y2RDb21wbGV0YWJsZUZ1dHVyZSA9IHRoaXMubmF0aXZlLmdldChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpKTtcbiAgICAgICAgY29uc3QgbmF0aXZlUmVzcG9uc2UgPSBldGNkQ29tcGxldGFibGVGdXR1cmUuZ2V0KCk7XG4gICAgICAgIHJldHVybiBuZXcgR2V0UmVzcG9uc2UobmF0aXZlUmVzcG9uc2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1dHMgKHdyaXRlcykgYSBzdHJpbmcgdmFsdWUgdG8gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHdyaXRlIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RyaW5nIHZhbHVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBwdXRTdHJpbmdWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZS5wdXQoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSwgU3RyaW5nVG9CeXRlU2VxdWVuY2UodmFsdWUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdXRzICh3cml0ZXMpIGEgYnl0ZSBhcnJheSB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gd3JpdGUgdG8uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXkpIHZhbHVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBwdXRCeXRlQXJyYXlWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IEludDhBcnJheSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZS5wdXQoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSwgQnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UodmFsdWUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHJlc3BvbnNlIGhlYWRlciBtZXRhZGF0YSBmb3IgYSBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgSGVhZGVyfSBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGdldEhlYWRlcihrZXk6IHN0cmluZyk6IEhlYWRlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEhlYWRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIGFzIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IG1hcHBpbmcga2V5cyB0byBzdHJpbmcgdmFsdWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRLdnNTdHJpbmdWYWx1ZShrZXk6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRLdnNTdHJpbmcoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyBhcyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggSW50OEFycmF5IHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCBtYXBwaW5nIGtleXMgdG8gSW50OEFycmF5IHZhbHVlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0S3ZzQnl0ZUFycmF5VmFsdWUoa2V5OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0S3ZzQnl0ZUFycmF5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjb3VudCBvZiBLZXktVmFsdWUgcGFpcnMgbWF0Y2hpbmcgdGhlIGtleSAob3Iga2V5IHByZWZpeCkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY291bnQgb2YgbWF0Y2hpbmcgZW50cmllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q291bnQoa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRDb3VudCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIGRlbGV0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLmRlbGV0ZShTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpKTtcbiAgICB9XG59XG5cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8v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
|
|
@@ -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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCAqIGZyb20gXCIuL2NsaWVudFwiO1xuZXhwb3J0IHsgQ2xpZW50IGFzIGNsaWVudCB9IGZyb20gXCIuL2NsaWVudFwiO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsY0FBYztBQUNkLFNBQW1CLGNBQWM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const EXTENSION_METADATA_KEY = Symbol("extension:metadata");
|
|
2
|
+
function Extension(options) {
|
|
3
|
+
return function(target, context) {
|
|
4
|
+
if (context.kind !== "class") {
|
|
5
|
+
throw new Error(`@Extension can only be used on classes.`);
|
|
6
|
+
}
|
|
7
|
+
Object.defineProperty(target, EXTENSION_METADATA_KEY, {
|
|
8
|
+
value: {
|
|
9
|
+
name: options.name,
|
|
10
|
+
to: options.to
|
|
11
|
+
},
|
|
12
|
+
writable: false,
|
|
13
|
+
configurable: false,
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
Extension
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V4dGVuc2lvbnMvZGVjb3JhdG9ycy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgRVhURU5TSU9OX01FVEFEQVRBX0tFWSA9IFN5bWJvbChcImV4dGVuc2lvbjptZXRhZGF0YVwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25PcHRpb25zIHtcbiAgICBuYW1lOiBzdHJpbmc7IC8vIGUuZy4sIFwiTXlFeHRlbnNpb25cIlxuICAgIHRvOiBzdHJpbmc7ICAgICAgLy8gZS5nLiwgXCJteS1leHRlbnNpb24tcG9pbnRcIlxufVxuXG4vKipcbiAqIEBFeHRlbnNpb24gZGVjb3JhdG9yXG4gKiBNYXJrcyBhbiBlbnRpcmUgY2xhc3MgYXMgYSBleHRlbnNpb25cbiAqXG4gKiBpbnRyb2R1Y2VkIGluIFR5cGVTY3JpcHQgNS4wLCB3aGljaCBleHBlY3RzIGEgQ2xhc3NEZWNvcmF0b3JDb250ZXh0IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEV4dGVuc2lvbihvcHRpb25zOiBFeHRlbnNpb25PcHRpb25zKSB7XG4gICAgXG4gICAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgYWJzdHJhY3QgbmV3ICguLi5hcmdzOiBhbnkpID0+IGFueT4odGFyZ2V0OiBULCBjb250ZXh0OiBDbGFzc0RlY29yYXRvckNvbnRleHQ8VD4pIHtcbiAgICAgICAgXG4gICAgICAgIGlmIChjb250ZXh0LmtpbmQgIT09ICdjbGFzcycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQEV4dGVuc2lvbiBjYW4gb25seSBiZSB1c2VkIG9uIGNsYXNzZXMuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBFWFRFTlNJT05fTUVUQURBVEFfS0VZLCB7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgICAgICAgICB0bzogb3B0aW9ucy50b1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxNQUFNLHlCQUF5QixPQUFPLG9CQUFvQjtBQWFuRCxTQUFTLFVBQVUsU0FBMkI7QUFFakQsU0FBTyxTQUF3RCxRQUFXLFNBQW1DO0FBRXpHLFFBQUksUUFBUSxTQUFTLFNBQVM7QUFDMUIsWUFBTSxJQUFJLE1BQU0seUNBQXlDO0FBQUEsSUFDN0Q7QUFFQSxXQUFPLGVBQWUsUUFBUSx3QkFBd0I7QUFBQSxNQUNsRCxPQUFPO0FBQUEsUUFDSCxNQUFNLFFBQVE7QUFBQSxRQUNkLElBQUksUUFBUTtBQUFBLE1BQ2hCO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixjQUFjO0FBQUEsTUFDZCxZQUFZO0FBQUEsSUFDaEIsQ0FBQztBQUFBLEVBQ0w7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
const ExtensionsFacade = Java.type("org.eclipse.dirigible.components.api.extensions.ExtensionsFacade");
|
|
2
|
+
class Extensions {
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the list of extension module paths registered for a specific extension point.
|
|
5
|
+
*
|
|
6
|
+
* @param extensionPoint The unique identifier of the extension point (e.g., "my.extension.point").
|
|
7
|
+
* @returns An array of string paths (modules) registered for the given extension point.
|
|
8
|
+
*/
|
|
9
|
+
static getExtensions(extensionPoint) {
|
|
10
|
+
const extensions = ExtensionsFacade.getExtensions(extensionPoint);
|
|
11
|
+
return JSON.parse(JSON.stringify(extensions));
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Retrieves all available extension point identifiers.
|
|
15
|
+
*
|
|
16
|
+
* @returns An array of strings representing all registered extension point IDs.
|
|
17
|
+
*/
|
|
18
|
+
static getExtensionPoints() {
|
|
19
|
+
const extensionPoints = ExtensionsFacade.getExtensionPoints();
|
|
20
|
+
return JSON.parse(JSON.stringify(extensionPoints));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Loads extension modules registered for a specific extension point.
|
|
24
|
+
* It handles both synchronous (require) and asynchronous (import) loading.
|
|
25
|
+
*
|
|
26
|
+
* @param extensionPoint The unique identifier of the extension point.
|
|
27
|
+
* @param requiredFunctions An optional list of function names that the extension module must export to be included.
|
|
28
|
+
* @param throwError If true, throws an error on failure; otherwise, logs the error and continues.
|
|
29
|
+
* @returns A Promise that resolves to an array of successfully loaded and validated extension modules (exports).
|
|
30
|
+
*/
|
|
31
|
+
static async loadExtensionModules(extensionPoint, requiredFunctions = [], throwError = false) {
|
|
32
|
+
const extensionModules = [];
|
|
33
|
+
const extensions = this.getExtensions(extensionPoint);
|
|
34
|
+
for (let i = 0; i < extensions?.length; i++) {
|
|
35
|
+
const module2 = extensions[i];
|
|
36
|
+
try {
|
|
37
|
+
let extensionModule;
|
|
38
|
+
try {
|
|
39
|
+
extensionModule = dirigibleRequire(module2);
|
|
40
|
+
} catch (e) {
|
|
41
|
+
extensionModule = await import(`../../../../${module2}`);
|
|
42
|
+
}
|
|
43
|
+
if (!extensionModule || Object.keys(extensionModule).length === 0) {
|
|
44
|
+
const errorMessage = `Extension '${module2}' for extension point '${extensionPoint}' doesn't provide any function(s) or was not properly loaded, consider publishing it.`;
|
|
45
|
+
this.logError(throwError, errorMessage);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
let requiredFunctionsFound = true;
|
|
49
|
+
requiredFunctions.forEach((f) => {
|
|
50
|
+
requiredFunctionsFound &&= typeof extensionModule[f] === "function";
|
|
51
|
+
});
|
|
52
|
+
if (!requiredFunctionsFound) {
|
|
53
|
+
const errorMessage = `Extension '${module2}' for extension point '${extensionPoint}', doesn't provide the following required function(s): [
|
|
54
|
+
${requiredFunctions.join("(),\n ")}()
|
|
55
|
+
]`;
|
|
56
|
+
this.logError(throwError, errorMessage);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
extensionModules.push(extensionModule);
|
|
60
|
+
} catch (e) {
|
|
61
|
+
const errorMessage = `Error occurred while importing extension '${module2}' for extension point '${extensionPoint}'.`;
|
|
62
|
+
this.logError(throwError, errorMessage, e);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return extensionModules;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Logs an error to the console and optionally throws an exception.
|
|
69
|
+
* @param throwError If true, an exception is thrown.
|
|
70
|
+
* @param errorData The data/message to log and/or use for the error message.
|
|
71
|
+
*/
|
|
72
|
+
static logError(throwError, ...errorData) {
|
|
73
|
+
console.error(errorData);
|
|
74
|
+
if (throwError) {
|
|
75
|
+
throw new Error(errorData[0]);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/** Alias for loadExtensionModules */
|
|
79
|
+
static async load(extensionPoint, requiredFunctions = [], throwError = false) {
|
|
80
|
+
return Extensions.loadExtensionModules(extensionPoint, requiredFunctions, throwError);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (typeof module !== "undefined") {
|
|
84
|
+
module.exports = Extensions;
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
Extensions
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBBUEkgRXh0ZW5zaW9uc1xuICpcbiAqL1xuXG5jb25zdCBFeHRlbnNpb25zRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmV4dGVuc2lvbnMuRXh0ZW5zaW9uc0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBQcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBkaXNjb3ZlcmluZyBhbmQgbG9hZGluZyBleHRlbnNpb25zIGRlZmluZWRcbiAqIGFnYWluc3QgdGhlIERpcmlnaWJsZSBleHRlbnNpb24gbW9kZWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBFeHRlbnNpb25zIHtcblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGV4dGVuc2lvbiBtb2R1bGUgcGF0aHMgcmVnaXN0ZXJlZCBmb3IgYSBzcGVjaWZpYyBleHRlbnNpb24gcG9pbnQuXG5cdCAqXG5cdCAqIEBwYXJhbSBleHRlbnNpb25Qb2ludCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGV4dGVuc2lvbiBwb2ludCAoZS5nLiwgXCJteS5leHRlbnNpb24ucG9pbnRcIikuXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHN0cmluZyBwYXRocyAobW9kdWxlcykgcmVnaXN0ZXJlZCBmb3IgdGhlIGdpdmVuIGV4dGVuc2lvbiBwb2ludC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0RXh0ZW5zaW9ucyhleHRlbnNpb25Qb2ludDogc3RyaW5nKTogc3RyaW5nW10ge1xuXHRcdGNvbnN0IGV4dGVuc2lvbnMgPSBFeHRlbnNpb25zRmFjYWRlLmdldEV4dGVuc2lvbnMoZXh0ZW5zaW9uUG9pbnQpO1xuXHRcdC8vIFRoZSBuYXRpdmUgZmFjYWRlIHJldHVybnMgYSBKYXZhIExpc3QsIHdoaWNoIGlzIGNvbnZlcnRlZCB0byBKU09OIHN0cmluZyBcblx0XHQvLyBhbmQgdGhlbiBwYXJzZWQgdG8gYSBKYXZhU2NyaXB0IGFycmF5LlxuXHRcdHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGV4dGVuc2lvbnMpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYWxsIGF2YWlsYWJsZSBleHRlbnNpb24gcG9pbnQgaWRlbnRpZmllcnMuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHN0cmluZ3MgcmVwcmVzZW50aW5nIGFsbCByZWdpc3RlcmVkIGV4dGVuc2lvbiBwb2ludCBJRHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldEV4dGVuc2lvblBvaW50cygpOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3QgZXh0ZW5zaW9uUG9pbnRzID0gRXh0ZW5zaW9uc0ZhY2FkZS5nZXRFeHRlbnNpb25Qb2ludHMoKTtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShleHRlbnNpb25Qb2ludHMpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2FkcyBleHRlbnNpb24gbW9kdWxlcyByZWdpc3RlcmVkIGZvciBhIHNwZWNpZmljIGV4dGVuc2lvbiBwb2ludC5cblx0ICogSXQgaGFuZGxlcyBib3RoIHN5bmNocm9ub3VzIChyZXF1aXJlKSBhbmQgYXN5bmNocm9ub3VzIChpbXBvcnQpIGxvYWRpbmcuXG5cdCAqXG5cdCAqIEBwYXJhbSBleHRlbnNpb25Qb2ludCBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGV4dGVuc2lvbiBwb2ludC5cblx0ICogQHBhcmFtIHJlcXVpcmVkRnVuY3Rpb25zIEFuIG9wdGlvbmFsIGxpc3Qgb2YgZnVuY3Rpb24gbmFtZXMgdGhhdCB0aGUgZXh0ZW5zaW9uIG1vZHVsZSBtdXN0IGV4cG9ydCB0byBiZSBpbmNsdWRlZC5cblx0ICogQHBhcmFtIHRocm93RXJyb3IgSWYgdHJ1ZSwgdGhyb3dzIGFuIGVycm9yIG9uIGZhaWx1cmU7IG90aGVyd2lzZSwgbG9ncyB0aGUgZXJyb3IgYW5kIGNvbnRpbnVlcy5cblx0ICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2Ygc3VjY2Vzc2Z1bGx5IGxvYWRlZCBhbmQgdmFsaWRhdGVkIGV4dGVuc2lvbiBtb2R1bGVzIChleHBvcnRzKS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgbG9hZEV4dGVuc2lvbk1vZHVsZXMoZXh0ZW5zaW9uUG9pbnQ6IHN0cmluZywgcmVxdWlyZWRGdW5jdGlvbnM6IHN0cmluZ1tdID0gW10sIHRocm93RXJyb3I6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8YW55W10+IHtcblx0XHRjb25zdCBleHRlbnNpb25Nb2R1bGVzID0gW107XG5cdFx0Y29uc3QgZXh0ZW5zaW9uczogc3RyaW5nW10gPSB0aGlzLmdldEV4dGVuc2lvbnMoZXh0ZW5zaW9uUG9pbnQpO1xuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBleHRlbnNpb25zPy5sZW5ndGg7IGkrKykge1xuXHRcdFx0Y29uc3QgbW9kdWxlOiBzdHJpbmcgPSBleHRlbnNpb25zW2ldO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0bGV0IGV4dGVuc2lvbk1vZHVsZTogYW55O1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8vIEZhbGxiYWNrIHRvIG5hdGl2ZSByZXF1aXJlKCkgKERpcmlnaWJsZS1zcGVjaWZpYylcblx0XHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdFx0ZXh0ZW5zaW9uTW9kdWxlID0gZGlyaWdpYmxlUmVxdWlyZShtb2R1bGUpO1xuXHRcdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdFx0Ly8gRmFsbGJhY2sgdG8gZHluYW1pYyBpbXBvcnQgKGZvciBlbnZpcm9ubWVudHMgc3VwcG9ydGluZyBFU00vQXN5bmMpXG5cdFx0XHRcdFx0ZXh0ZW5zaW9uTW9kdWxlID0gYXdhaXQgaW1wb3J0KGAuLi8uLi8uLi8uLi8ke21vZHVsZX1gKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICghZXh0ZW5zaW9uTW9kdWxlIHx8IE9iamVjdC5rZXlzKGV4dGVuc2lvbk1vZHVsZSkubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdFx0Y29uc3QgZXJyb3JNZXNzYWdlID0gYEV4dGVuc2lvbiAnJHttb2R1bGV9JyBmb3IgZXh0ZW5zaW9uIHBvaW50ICcke2V4dGVuc2lvblBvaW50fScgZG9lc24ndCBwcm92aWRlIGFueSBmdW5jdGlvbihzKSBvciB3YXMgbm90IHByb3Blcmx5IGxvYWRlZCwgY29uc2lkZXIgcHVibGlzaGluZyBpdC5gO1xuXHRcdFx0XHRcdHRoaXMubG9nRXJyb3IodGhyb3dFcnJvciwgZXJyb3JNZXNzYWdlKTtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxldCByZXF1aXJlZEZ1bmN0aW9uc0ZvdW5kID0gdHJ1ZTtcblx0XHRcdFx0cmVxdWlyZWRGdW5jdGlvbnMuZm9yRWFjaChmID0+IHtcblx0XHRcdFx0XHRyZXF1aXJlZEZ1bmN0aW9uc0ZvdW5kICYmPSB0eXBlb2YgZXh0ZW5zaW9uTW9kdWxlW2ZdID09PSBcImZ1bmN0aW9uXCI7XG5cdFx0XHRcdH0pO1xuXG5cdFx0XHRcdGlmICghcmVxdWlyZWRGdW5jdGlvbnNGb3VuZCkge1xuXHRcdFx0XHRcdGNvbnN0IGVycm9yTWVzc2FnZSA9IGBFeHRlbnNpb24gJyR7bW9kdWxlfScgZm9yIGV4dGVuc2lvbiBwb2ludCAnJHtleHRlbnNpb25Qb2ludH0nLCBkb2Vzbid0IHByb3ZpZGUgdGhlIGZvbGxvd2luZyByZXF1aXJlZCBmdW5jdGlvbihzKTogW1xcblxcdCR7cmVxdWlyZWRGdW5jdGlvbnMuam9pbihcIigpLFxcblxcdFwiKX0oKVxcbl1gO1xuXHRcdFx0XHRcdHRoaXMubG9nRXJyb3IodGhyb3dFcnJvciwgZXJyb3JNZXNzYWdlKTtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGV4dGVuc2lvbk1vZHVsZXMucHVzaChleHRlbnNpb25Nb2R1bGUpO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRjb25zdCBlcnJvck1lc3NhZ2UgPSBgRXJyb3Igb2NjdXJyZWQgd2hpbGUgaW1wb3J0aW5nIGV4dGVuc2lvbiAnJHttb2R1bGV9JyBmb3IgZXh0ZW5zaW9uIHBvaW50ICcke2V4dGVuc2lvblBvaW50fScuYDtcblx0XHRcdFx0dGhpcy5sb2dFcnJvcih0aHJvd0Vycm9yLCBlcnJvck1lc3NhZ2UsIGUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBleHRlbnNpb25Nb2R1bGVzO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ3MgYW4gZXJyb3IgdG8gdGhlIGNvbnNvbGUgYW5kIG9wdGlvbmFsbHkgdGhyb3dzIGFuIGV4Y2VwdGlvbi5cblx0ICogQHBhcmFtIHRocm93RXJyb3IgSWYgdHJ1ZSwgYW4gZXhjZXB0aW9uIGlzIHRocm93bi5cblx0ICogQHBhcmFtIGVycm9yRGF0YSBUaGUgZGF0YS9tZXNzYWdlIHRvIGxvZyBhbmQvb3IgdXNlIGZvciB0aGUgZXJyb3IgbWVzc2FnZS5cblx0ICovXG5cdHByaXZhdGUgc3RhdGljIGxvZ0Vycm9yKHRocm93RXJyb3I6IGJvb2xlYW4sIC4uLmVycm9yRGF0YTogYW55W10pOiB2b2lkIHtcblx0XHRjb25zb2xlLmVycm9yKGVycm9yRGF0YSk7XG5cdFx0aWYgKHRocm93RXJyb3IpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihlcnJvckRhdGFbMF0pO1xuXHRcdH1cblx0fVxuXHRcblx0LyoqIEFsaWFzIGZvciBsb2FkRXh0ZW5zaW9uTW9kdWxlcyAqL1xuXHRwdWJsaWMgc3RhdGljIGFzeW5jIGxvYWQoZXh0ZW5zaW9uUG9pbnQ6IHN0cmluZywgcmVxdWlyZWRGdW5jdGlvbnM6IHN0cmluZ1tdID0gW10sIHRocm93RXJyb3I6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8YW55W10+IHtcblx0XHRyZXR1cm4gRXh0ZW5zaW9ucy5sb2FkRXh0ZW5zaW9uTW9kdWxlcyhleHRlbnNpb25Qb2ludCwgcmVxdWlyZWRGdW5jdGlvbnMsIHRocm93RXJyb3IpO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gRXh0ZW5zaW9ucztcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFLQSxNQUFNLG1CQUFtQixLQUFLLEtBQUssa0VBQWtFO0FBTTlGLE1BQU0sV0FBVztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXZCLE9BQWMsY0FBYyxnQkFBa0M7QUFDN0QsVUFBTSxhQUFhLGlCQUFpQixjQUFjLGNBQWM7QUFHaEUsV0FBTyxLQUFLLE1BQU0sS0FBSyxVQUFVLFVBQVUsQ0FBQztBQUFBLEVBQzdDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxxQkFBK0I7QUFDNUMsVUFBTSxrQkFBa0IsaUJBQWlCLG1CQUFtQjtBQUM1RCxXQUFPLEtBQUssTUFBTSxLQUFLLFVBQVUsZUFBZSxDQUFDO0FBQUEsRUFDbEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVdBLGFBQW9CLHFCQUFxQixnQkFBd0Isb0JBQThCLENBQUMsR0FBRyxhQUFzQixPQUF1QjtBQUMvSSxVQUFNLG1CQUFtQixDQUFDO0FBQzFCLFVBQU0sYUFBdUIsS0FBSyxjQUFjLGNBQWM7QUFFOUQsYUFBUyxJQUFJLEdBQUcsSUFBSSxZQUFZLFFBQVEsS0FBSztBQUM1QyxZQUFNQSxVQUFpQixXQUFXLENBQUM7QUFDbkMsVUFBSTtBQUNILFlBQUk7QUFDSixZQUFJO0FBR0gsNEJBQWtCLGlCQUFpQkEsT0FBTTtBQUFBLFFBQzFDLFNBQVMsR0FBRztBQUVYLDRCQUFrQixNQUFNLE9BQU8sZUFBZUEsT0FBTTtBQUFBLFFBQ3JEO0FBRUEsWUFBSSxDQUFDLG1CQUFtQixPQUFPLEtBQUssZUFBZSxFQUFFLFdBQVcsR0FBRztBQUNsRSxnQkFBTSxlQUFlLGNBQWNBLE9BQU0sMEJBQTBCLGNBQWM7QUFDakYsZUFBSyxTQUFTLFlBQVksWUFBWTtBQUN0QztBQUFBLFFBQ0Q7QUFFQSxZQUFJLHlCQUF5QjtBQUM3QiwwQkFBa0IsUUFBUSxPQUFLO0FBQzlCLHFDQUEyQixPQUFPLGdCQUFnQixDQUFDLE1BQU07QUFBQSxRQUMxRCxDQUFDO0FBRUQsWUFBSSxDQUFDLHdCQUF3QjtBQUM1QixnQkFBTSxlQUFlLGNBQWNBLE9BQU0sMEJBQTBCLGNBQWM7QUFBQSxHQUErRCxrQkFBa0IsS0FBSyxRQUFTLENBQUM7QUFBQTtBQUNqTCxlQUFLLFNBQVMsWUFBWSxZQUFZO0FBQ3RDO0FBQUEsUUFDRDtBQUVBLHlCQUFpQixLQUFLLGVBQWU7QUFBQSxNQUN0QyxTQUFTLEdBQUc7QUFDWCxjQUFNLGVBQWUsNkNBQTZDQSxPQUFNLDBCQUEwQixjQUFjO0FBQ2hILGFBQUssU0FBUyxZQUFZLGNBQWMsQ0FBQztBQUFBLE1BQzFDO0FBQUEsSUFDRDtBQUVBLFdBQU87QUFBQSxFQUNSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBZSxTQUFTLGVBQXdCLFdBQXdCO0FBQ3ZFLFlBQVEsTUFBTSxTQUFTO0FBQ3ZCLFFBQUksWUFBWTtBQUNmLFlBQU0sSUFBSSxNQUFNLFVBQVUsQ0FBQyxDQUFDO0FBQUEsSUFDN0I7QUFBQSxFQUNEO0FBQUE7QUFBQSxFQUdBLGFBQW9CLEtBQUssZ0JBQXdCLG9CQUE4QixDQUFDLEdBQUcsYUFBc0IsT0FBdUI7QUFDL0gsV0FBTyxXQUFXLHFCQUFxQixnQkFBZ0IsbUJBQW1CLFVBQVU7QUFBQSxFQUNyRjtBQUNEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbIm1vZHVsZSJdCn0K
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./extensions";
|
|
2
|
+
import { Extensions } from "./extensions";
|
|
3
|
+
import * as decorators from "./decorators";
|
|
4
|
+
export * from "./decorators";
|
|
5
|
+
export {
|
|
6
|
+
decorators,
|
|
7
|
+
Extensions as extensions
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V4dGVuc2lvbnMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCAqIGZyb20gXCIuL2V4dGVuc2lvbnNcIjtcbmV4cG9ydCB7IEV4dGVuc2lvbnMgYXMgZXh0ZW5zaW9ucyB9IGZyb20gXCIuL2V4dGVuc2lvbnNcIjtcbmV4cG9ydCAqIGFzIGRlY29yYXRvcnMgZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiOyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLGNBQWM7QUFDZCxTQUF1QixrQkFBa0I7QUFDekMsWUFBWSxnQkFBZ0I7QUFDNUIsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K
|