@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,228 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var soap_exports = {};
|
|
19
|
+
__export(soap_exports, {
|
|
20
|
+
SOAP: () => SOAP
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(soap_exports);
|
|
23
|
+
var import_request = require("@aerokit/sdk/http/request");
|
|
24
|
+
var import_base64 = require("@aerokit/sdk/utils/base64");
|
|
25
|
+
var import_streams = require("@aerokit/sdk/io/streams");
|
|
26
|
+
const MessageFactory = Java.type("jakarta.xml.soap.MessageFactory");
|
|
27
|
+
const MimeHeadersInternal = Java.type("jakarta.xml.soap.MimeHeaders");
|
|
28
|
+
const SOAPConnectionFactory = Java.type("jakarta.xml.soap.SOAPConnectionFactory");
|
|
29
|
+
class SOAP {
|
|
30
|
+
/**
|
|
31
|
+
* Call a given SOAP endpoint with a given request message
|
|
32
|
+
* @param message The SOAP Message wrapper object.
|
|
33
|
+
* @param url The target SOAP endpoint URL.
|
|
34
|
+
*/
|
|
35
|
+
static call(message, url) {
|
|
36
|
+
const soapConnectionFactory = SOAPConnectionFactory.newInstance();
|
|
37
|
+
const internalConnection = soapConnectionFactory.createConnection();
|
|
38
|
+
const internalResponse = internalConnection.call(message.native, url);
|
|
39
|
+
return new Message(internalResponse);
|
|
40
|
+
}
|
|
41
|
+
static trustAll() {
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates a new, empty SOAP message.
|
|
45
|
+
*/
|
|
46
|
+
static createMessage() {
|
|
47
|
+
return new Message(MessageFactory.newInstance().createMessage());
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Parses a SOAP message from an InputStream and MimeHeaders.
|
|
51
|
+
* @param mimeHeaders The MimeHeaders wrapper object.
|
|
52
|
+
* @param inputStream The InputStream wrapper object.
|
|
53
|
+
*/
|
|
54
|
+
static parseMessage(mimeHeaders, inputStream) {
|
|
55
|
+
const internalFactory = MessageFactory.newInstance();
|
|
56
|
+
if (inputStream.native) {
|
|
57
|
+
try {
|
|
58
|
+
const internalMessage = internalFactory.createMessage(mimeHeaders.native, inputStream.native);
|
|
59
|
+
const internalPart = internalMessage.getSOAPPart();
|
|
60
|
+
internalPart.getEnvelope();
|
|
61
|
+
return new Message(internalMessage);
|
|
62
|
+
} catch (e) {
|
|
63
|
+
console.error(e);
|
|
64
|
+
throw new Error("Input provided is null or in a wrong format. HTTP method used must be POST. " + e.message);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
throw new Error("Input provided is null.");
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Parses a SOAP message from the current HTTP request input stream.
|
|
71
|
+
*/
|
|
72
|
+
static parseRequest() {
|
|
73
|
+
if (import_request.Request.getMethod().toUpperCase() !== "POST") {
|
|
74
|
+
throw new Error("HTTP method used must be POST.");
|
|
75
|
+
}
|
|
76
|
+
const inputStream = import_request.Request.getInputStream();
|
|
77
|
+
const mimeHeaders = this.createMimeHeaders();
|
|
78
|
+
return this.parseMessage(mimeHeaders, inputStream);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Creates a new, empty MimeHeaders object.
|
|
82
|
+
*/
|
|
83
|
+
static createMimeHeaders() {
|
|
84
|
+
const internalMimeHeaders = new MimeHeadersInternal();
|
|
85
|
+
return new MimeHeaders(internalMimeHeaders);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
class Message {
|
|
89
|
+
constructor(native) {
|
|
90
|
+
this.native = native;
|
|
91
|
+
}
|
|
92
|
+
getPart() {
|
|
93
|
+
return new Part(this.native.getSOAPPart());
|
|
94
|
+
}
|
|
95
|
+
getMimeHeaders() {
|
|
96
|
+
return new MimeHeaders(this.native.getMimeHeaders());
|
|
97
|
+
}
|
|
98
|
+
save() {
|
|
99
|
+
this.native.saveChanges();
|
|
100
|
+
}
|
|
101
|
+
getText() {
|
|
102
|
+
const outputStream = import_streams.Streams.createByteArrayOutputStream();
|
|
103
|
+
this.native.writeTo(outputStream.native);
|
|
104
|
+
return outputStream.getText();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
class Part {
|
|
108
|
+
constructor(native) {
|
|
109
|
+
this.native = native;
|
|
110
|
+
}
|
|
111
|
+
getEnvelope() {
|
|
112
|
+
return new Envelope(this.native.getEnvelope());
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
class MimeHeaders {
|
|
116
|
+
constructor(native) {
|
|
117
|
+
this.native = native;
|
|
118
|
+
}
|
|
119
|
+
addHeader(name, value) {
|
|
120
|
+
this.native.addHeader(name, value);
|
|
121
|
+
}
|
|
122
|
+
addBasicAuthenticationHeader(username, password) {
|
|
123
|
+
const userAndPassword = `${username}:${password}`;
|
|
124
|
+
const basicAuth = import_base64.Base64.encode(userAndPassword);
|
|
125
|
+
this.native.addHeader("Authorization", `Basic ${basicAuth}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
class Envelope {
|
|
129
|
+
constructor(native) {
|
|
130
|
+
this.native = native;
|
|
131
|
+
}
|
|
132
|
+
addNamespaceDeclaration(prefix, uri) {
|
|
133
|
+
this.native.addNamespaceDeclaration(prefix, uri);
|
|
134
|
+
}
|
|
135
|
+
getBody() {
|
|
136
|
+
return new Body(this.native.getBody());
|
|
137
|
+
}
|
|
138
|
+
getHeader() {
|
|
139
|
+
return new Header(this.native.getHeader());
|
|
140
|
+
}
|
|
141
|
+
createName(localName, prefix, uri) {
|
|
142
|
+
return new Name(this.native.createName(localName, prefix, uri));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
class Body {
|
|
146
|
+
constructor(native) {
|
|
147
|
+
this.native = native;
|
|
148
|
+
}
|
|
149
|
+
addChildElement(localName, prefix) {
|
|
150
|
+
return new Element(this.native.addChildElement(localName, prefix));
|
|
151
|
+
}
|
|
152
|
+
getChildElements() {
|
|
153
|
+
const childElements = [];
|
|
154
|
+
const internalElementsIterator = this.native.getChildElements();
|
|
155
|
+
while (internalElementsIterator.hasNext()) {
|
|
156
|
+
childElements.push(new Element(internalElementsIterator.next()));
|
|
157
|
+
}
|
|
158
|
+
return childElements;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
class Header {
|
|
162
|
+
constructor(native) {
|
|
163
|
+
this.native = native;
|
|
164
|
+
}
|
|
165
|
+
addHeaderElement(element) {
|
|
166
|
+
this.native.addHeaderElement(element.native);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
class Name {
|
|
170
|
+
constructor(native) {
|
|
171
|
+
this.native = native;
|
|
172
|
+
}
|
|
173
|
+
getNative() {
|
|
174
|
+
return this.native;
|
|
175
|
+
}
|
|
176
|
+
getLocalName() {
|
|
177
|
+
return this.native.getLocalName();
|
|
178
|
+
}
|
|
179
|
+
getPrefix() {
|
|
180
|
+
return this.native.getPrefix();
|
|
181
|
+
}
|
|
182
|
+
getQualifiedName() {
|
|
183
|
+
return this.native.getQualifiedName();
|
|
184
|
+
}
|
|
185
|
+
getURI() {
|
|
186
|
+
return this.native.getURI();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
class Element {
|
|
190
|
+
constructor(native) {
|
|
191
|
+
this.native = native;
|
|
192
|
+
}
|
|
193
|
+
addChildElement(localName, prefix) {
|
|
194
|
+
return new Element(this.native.addChildElement(localName, prefix));
|
|
195
|
+
}
|
|
196
|
+
addTextNode(text) {
|
|
197
|
+
return new Element(this.native.addTextNode(text));
|
|
198
|
+
}
|
|
199
|
+
addAttribute(name, value) {
|
|
200
|
+
return new Element(this.native.addAttribute(name.getNative(), value));
|
|
201
|
+
}
|
|
202
|
+
getChildElements() {
|
|
203
|
+
const childElements = [];
|
|
204
|
+
const internalElementsIterator = this.native.getChildElements();
|
|
205
|
+
while (internalElementsIterator.hasNext()) {
|
|
206
|
+
childElements.push(new Element(internalElementsIterator.next()));
|
|
207
|
+
}
|
|
208
|
+
return childElements;
|
|
209
|
+
}
|
|
210
|
+
getElementName() {
|
|
211
|
+
try {
|
|
212
|
+
const internalName = this.native.getElementName();
|
|
213
|
+
return new Name(internalName);
|
|
214
|
+
} catch (e) {
|
|
215
|
+
}
|
|
216
|
+
return void 0;
|
|
217
|
+
}
|
|
218
|
+
getValue() {
|
|
219
|
+
return this.native.getValue();
|
|
220
|
+
}
|
|
221
|
+
isSOAPElement() {
|
|
222
|
+
return this.getElementName() !== void 0;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (typeof module !== "undefined") {
|
|
226
|
+
module.exports = SOAP;
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25ldC9zb2FwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBSZXF1ZXN0IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9odHRwL3JlcXVlc3RcIjtcbmltcG9ydCB7IEJhc2U2NCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdXRpbHMvYmFzZTY0XCI7XG5pbXBvcnQgeyBTdHJlYW1zLCBJbnB1dFN0cmVhbSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvaW8vc3RyZWFtc1wiO1xuXG5jb25zdCBNZXNzYWdlRmFjdG9yeSA9IEphdmEudHlwZShcImpha2FydGEueG1sLnNvYXAuTWVzc2FnZUZhY3RvcnlcIik7XG5jb25zdCBNaW1lSGVhZGVyc0ludGVybmFsID0gSmF2YS50eXBlKFwiamFrYXJ0YS54bWwuc29hcC5NaW1lSGVhZGVyc1wiKTtcbmNvbnN0IFNPQVBDb25uZWN0aW9uRmFjdG9yeSA9IEphdmEudHlwZShcImpha2FydGEueG1sLnNvYXAuU09BUENvbm5lY3Rpb25GYWN0b3J5XCIpO1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIGNyZWF0aW5nLCBwYXJzaW5nLCBhbmQgY2FsbGluZyBTT0FQIG1lc3NhZ2VzLlxuICogSXQgd3JhcHMgdGhlIHVuZGVybHlpbmcgSmF2YSBqYXZheC54bWwuc29hcCBBUEkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTT0FQIHtcblxuXHQvKipcblx0ICogQ2FsbCBhIGdpdmVuIFNPQVAgZW5kcG9pbnQgd2l0aCBhIGdpdmVuIHJlcXVlc3QgbWVzc2FnZVxuXHQgKiBAcGFyYW0gbWVzc2FnZSBUaGUgU09BUCBNZXNzYWdlIHdyYXBwZXIgb2JqZWN0LlxuXHQgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgU09BUCBlbmRwb2ludCBVUkwuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNhbGwobWVzc2FnZTogTWVzc2FnZSwgdXJsOiBzdHJpbmcpIHtcblx0XHRjb25zdCBzb2FwQ29ubmVjdGlvbkZhY3RvcnkgPSBTT0FQQ29ubmVjdGlvbkZhY3RvcnkubmV3SW5zdGFuY2UoKTtcblx0XHRjb25zdCBpbnRlcm5hbENvbm5lY3Rpb24gPSBzb2FwQ29ubmVjdGlvbkZhY3RvcnkuY3JlYXRlQ29ubmVjdGlvbigpO1xuXHRcdC8vIEFjY2Vzc2luZyB0aGUgaW50ZXJuYWwgcHJvcGVydHkgbmF0aXZlIChyZW5hbWVkIGZyb20gJ25hdGl2ZScgZm9yIGJldHRlciBlbmNhcHN1bGF0aW9uKVxuXHRcdGNvbnN0IGludGVybmFsUmVzcG9uc2UgPSBpbnRlcm5hbENvbm5lY3Rpb24uY2FsbChtZXNzYWdlLm5hdGl2ZSwgdXJsKTtcblx0XHRyZXR1cm4gbmV3IE1lc3NhZ2UoaW50ZXJuYWxSZXNwb25zZSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIHRydXN0QWxsKCkge1xuXHRcdC8vIFRPRE86IEltcGxlbWVudCBsb2dpYyBmb3IgdHJ1c3RpbmcgYWxsIGNlcnRpZmljYXRlcyBpZiByZXF1aXJlZCBieSB0aGUgU0RLIGVudmlyb25tZW50XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldywgZW1wdHkgU09BUCBtZXNzYWdlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVNZXNzYWdlKCk6IE1lc3NhZ2Uge1xuXHRcdHJldHVybiBuZXcgTWVzc2FnZShNZXNzYWdlRmFjdG9yeS5uZXdJbnN0YW5jZSgpLmNyZWF0ZU1lc3NhZ2UoKSk7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU09BUCBtZXNzYWdlIGZyb20gYW4gSW5wdXRTdHJlYW0gYW5kIE1pbWVIZWFkZXJzLlxuXHQgKiBAcGFyYW0gbWltZUhlYWRlcnMgVGhlIE1pbWVIZWFkZXJzIHdyYXBwZXIgb2JqZWN0LlxuXHQgKiBAcGFyYW0gaW5wdXRTdHJlYW0gVGhlIElucHV0U3RyZWFtIHdyYXBwZXIgb2JqZWN0LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBwYXJzZU1lc3NhZ2UobWltZUhlYWRlcnM6IE1pbWVIZWFkZXJzLCBpbnB1dFN0cmVhbTogSW5wdXRTdHJlYW0pOiBNZXNzYWdlIHtcblx0XHRjb25zdCBpbnRlcm5hbEZhY3RvcnkgPSBNZXNzYWdlRmFjdG9yeS5uZXdJbnN0YW5jZSgpO1xuXHRcdC8vIFVzZSBuYXRpdmUgZm9yIGludGVybmFsIEphdmEgb2JqZWN0IGFjY2Vzc1xuXHRcdGlmIChpbnB1dFN0cmVhbS5uYXRpdmUpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdC8vIFVzZSBuYXRpdmUgZm9yIGludGVybmFsIEphdmEgb2JqZWN0IGFjY2Vzc1xuXHRcdFx0XHRjb25zdCBpbnRlcm5hbE1lc3NhZ2UgPSBpbnRlcm5hbEZhY3RvcnkuY3JlYXRlTWVzc2FnZShtaW1lSGVhZGVycy5uYXRpdmUsIGlucHV0U3RyZWFtLm5hdGl2ZSk7XG5cdFx0XHRcdGNvbnN0IGludGVybmFsUGFydCA9IGludGVybmFsTWVzc2FnZS5nZXRTT0FQUGFydCgpO1xuXHRcdFx0XHRpbnRlcm5hbFBhcnQuZ2V0RW52ZWxvcGUoKTtcblx0XHRcdFx0cmV0dXJuIG5ldyBNZXNzYWdlKGludGVybmFsTWVzc2FnZSk7XG5cdFx0XHR9IGNhdGNoIChlOiBhbnkpIHtcblx0XHRcdFx0Y29uc29sZS5lcnJvcihlKTtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcHJvdmlkZWQgaXMgbnVsbCBvciBpbiBhIHdyb25nIGZvcm1hdC4gSFRUUCBtZXRob2QgdXNlZCBtdXN0IGJlIFBPU1QuIFwiICsgZS5tZXNzYWdlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcHJvdmlkZWQgaXMgbnVsbC5cIik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU09BUCBtZXNzYWdlIGZyb20gdGhlIGN1cnJlbnQgSFRUUCByZXF1ZXN0IGlucHV0IHN0cmVhbS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcGFyc2VSZXF1ZXN0KCk6IE1lc3NhZ2Uge1xuXHRcdGlmIChSZXF1ZXN0LmdldE1ldGhvZCgpLnRvVXBwZXJDYXNlKCkgIT09IFwiUE9TVFwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJIVFRQIG1ldGhvZCB1c2VkIG11c3QgYmUgUE9TVC5cIik7XG5cdFx0fVxuXG5cdFx0Y29uc3QgaW5wdXRTdHJlYW0gPSBSZXF1ZXN0LmdldElucHV0U3RyZWFtKCk7XG5cdFx0Y29uc3QgbWltZUhlYWRlcnMgPSB0aGlzLmNyZWF0ZU1pbWVIZWFkZXJzKCk7XG5cblx0XHRyZXR1cm4gdGhpcy5wYXJzZU1lc3NhZ2UobWltZUhlYWRlcnMsIGlucHV0U3RyZWFtKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3LCBlbXB0eSBNaW1lSGVhZGVycyBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNyZWF0ZU1pbWVIZWFkZXJzKCk6IE1pbWVIZWFkZXJzIHtcblx0XHRjb25zdCBpbnRlcm5hbE1pbWVIZWFkZXJzID0gbmV3IE1pbWVIZWFkZXJzSW50ZXJuYWwoKTtcblx0XHRyZXR1cm4gbmV3IE1pbWVIZWFkZXJzKGludGVybmFsTWltZUhlYWRlcnMpO1xuXHR9XG59XG5cbi8qKlxuICogU09BUCBNZXNzYWdlIFdyYXBwZXJcbiAqL1xuY2xhc3MgTWVzc2FnZSB7XG5cblx0Ly8gUmVuYW1lZCB0byBuYXRpdmUgdG8gc2lnbmFsIGludGVybmFsLXVzZSBwcm9wZXJ0eSwgaW1wcm92aW5nIGVuY2Fwc3VsYXRpb25cblx0cHVibGljIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHRwdWJsaWMgZ2V0UGFydCgpOiBQYXJ0IHtcblx0XHRyZXR1cm4gbmV3IFBhcnQodGhpcy5uYXRpdmUuZ2V0U09BUFBhcnQoKSk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0TWltZUhlYWRlcnMoKTogTWltZUhlYWRlcnMge1xuXHRcdHJldHVybiBuZXcgTWltZUhlYWRlcnModGhpcy5uYXRpdmUuZ2V0TWltZUhlYWRlcnMoKSk7XG5cdH1cblxuXHRwdWJsaWMgc2F2ZSgpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5zYXZlQ2hhbmdlcygpO1xuXHR9XG5cblx0cHVibGljIGdldFRleHQoKTogc3RyaW5nIHtcblx0XHRjb25zdCBvdXRwdXRTdHJlYW0gPSBTdHJlYW1zLmNyZWF0ZUJ5dGVBcnJheU91dHB1dFN0cmVhbSgpO1xuXHRcdC8vIFVzZSBuYXRpdmUgZm9yIGludGVybmFsIEphdmEgb2JqZWN0IGFjY2Vzc1xuXHRcdHRoaXMubmF0aXZlLndyaXRlVG8ob3V0cHV0U3RyZWFtLm5hdGl2ZSk7XG5cdFx0cmV0dXJuIG91dHB1dFN0cmVhbS5nZXRUZXh0KCk7XG5cdH1cbn1cblxuLyoqXG4gKiBTT0FQIFBhcnQgV3JhcHBlclxuICovXG5jbGFzcyBQYXJ0IHtcblxuXHQvLyBSZW5hbWVkIHRvIG5hdGl2ZVxuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHRwdWJsaWMgZ2V0RW52ZWxvcGUoKTogRW52ZWxvcGUge1xuXHRcdHJldHVybiBuZXcgRW52ZWxvcGUodGhpcy5uYXRpdmUuZ2V0RW52ZWxvcGUoKSk7XG5cdH1cbn1cblxuLyoqXG4gKiBTT0FQIE1pbWUgSGVhZGVycyBXcmFwcGVyXG4gKi9cbmNsYXNzIE1pbWVIZWFkZXJzIHtcblxuXHQvLyBSZW5hbWVkIHRvIG5hdGl2ZVxuXHRwdWJsaWMgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdHB1YmxpYyBhZGRIZWFkZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuYWRkSGVhZGVyKG5hbWUsIHZhbHVlKTtcblx0fVxuXG5cdHB1YmxpYyBhZGRCYXNpY0F1dGhlbnRpY2F0aW9uSGVhZGVyKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCB1c2VyQW5kUGFzc3dvcmQgPSBgJHt1c2VybmFtZX06JHtwYXNzd29yZH1gO1xuXHRcdGNvbnN0IGJhc2ljQXV0aCA9IEJhc2U2NC5lbmNvZGUodXNlckFuZFBhc3N3b3JkKTtcblx0XHR0aGlzLm5hdGl2ZS5hZGRIZWFkZXIoXCJBdXRob3JpemF0aW9uXCIsIGBCYXNpYyAke2Jhc2ljQXV0aH1gKTtcblx0fVxufVxuXG4vKipcbiAqIFNPQVAgRW52ZWxvcGUgV3JhcHBlclxuICovXG5jbGFzcyBFbnZlbG9wZSB7XG5cdC8vIFJlbmFtZWQgdG8gbmF0aXZlXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdHB1YmxpYyBhZGROYW1lc3BhY2VEZWNsYXJhdGlvbihwcmVmaXg6IHN0cmluZywgdXJpOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5hZGROYW1lc3BhY2VEZWNsYXJhdGlvbihwcmVmaXgsIHVyaSk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0Qm9keSgpOiBCb2R5IHtcblx0XHRyZXR1cm4gbmV3IEJvZHkodGhpcy5uYXRpdmUuZ2V0Qm9keSgpKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRIZWFkZXIoKTogSGVhZGVyIHtcblx0XHRyZXR1cm4gbmV3IEhlYWRlcih0aGlzLm5hdGl2ZS5nZXRIZWFkZXIoKSk7XG5cdH1cblxuXHRwdWJsaWMgY3JlYXRlTmFtZShsb2NhbE5hbWU6IHN0cmluZywgcHJlZml4OiBzdHJpbmcsIHVyaTogc3RyaW5nKTogTmFtZSB7XG5cdFx0cmV0dXJuIG5ldyBOYW1lKHRoaXMubmF0aXZlLmNyZWF0ZU5hbWUobG9jYWxOYW1lLCBwcmVmaXgsIHVyaSkpO1xuXHR9XG59XG5cbi8qKlxuICogU09BUCBCb2R5IFdyYXBwZXJcbiAqL1xuY2xhc3MgQm9keSB7XG5cdC8vIFJlbmFtZWQgdG8gbmF0aXZlXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdHB1YmxpYyBhZGRDaGlsZEVsZW1lbnQobG9jYWxOYW1lOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nKTogRWxlbWVudCB7XG5cdFx0cmV0dXJuIG5ldyBFbGVtZW50KHRoaXMubmF0aXZlLmFkZENoaWxkRWxlbWVudChsb2NhbE5hbWUsIHByZWZpeCkpO1xuXHR9XG5cblx0cHVibGljIGdldENoaWxkRWxlbWVudHMoKTogRWxlbWVudFtdIHtcblx0XHRjb25zdCBjaGlsZEVsZW1lbnRzID0gW107XG5cdFx0Y29uc3QgaW50ZXJuYWxFbGVtZW50c0l0ZXJhdG9yID0gdGhpcy5uYXRpdmUuZ2V0Q2hpbGRFbGVtZW50cygpO1xuXHRcdHdoaWxlIChpbnRlcm5hbEVsZW1lbnRzSXRlcmF0b3IuaGFzTmV4dCgpKSB7XG5cdFx0XHRjaGlsZEVsZW1lbnRzLnB1c2gobmV3IEVsZW1lbnQoaW50ZXJuYWxFbGVtZW50c0l0ZXJhdG9yLm5leHQoKSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gY2hpbGRFbGVtZW50cztcblx0fVxufVxuXG4vKipcbiAqIFNPQVAgSGVhZGVyIFdyYXBwZXJcbiAqL1xuY2xhc3MgSGVhZGVyIHtcblx0Ly8gUmVuYW1lZCB0byBuYXRpdmVcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0cHVibGljIGFkZEhlYWRlckVsZW1lbnQoZWxlbWVudDogRWxlbWVudCk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmFkZEhlYWRlckVsZW1lbnQoZWxlbWVudC5uYXRpdmUpO1xuXHR9XG59XG5cbi8qKlxuICogU09BUCBOYW1lIFdyYXBwZXJcbiAqL1xuY2xhc3MgTmFtZSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXHRcblx0cHVibGljIGdldE5hdGl2ZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZTtcblx0fVxuXG5cdHB1YmxpYyBnZXRMb2NhbE5hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TG9jYWxOYW1lKCk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0UHJlZml4KCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFByZWZpeCgpO1xuXHR9XG5cblx0cHVibGljIGdldFF1YWxpZmllZE5hbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UXVhbGlmaWVkTmFtZSgpO1xuXHR9XG5cblx0cHVibGljIGdldFVSSSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRVUkkoKTtcblx0fVxufVxuXG4vKipcbiAqIFNPQVAgRWxlbWVudCBXcmFwcGVyXG4gKi9cbmNsYXNzIEVsZW1lbnQge1xuXHRwdWJsaWMgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdHB1YmxpYyBhZGRDaGlsZEVsZW1lbnQobG9jYWxOYW1lOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIG5ldyBFbGVtZW50KHRoaXMubmF0aXZlLmFkZENoaWxkRWxlbWVudChsb2NhbE5hbWUsIHByZWZpeCkpO1xuXHR9XG5cblx0cHVibGljIGFkZFRleHROb2RlKHRleHQ6IHN0cmluZyk6IEVsZW1lbnQge1xuXHRcdHJldHVybiBuZXcgRWxlbWVudCh0aGlzLm5hdGl2ZS5hZGRUZXh0Tm9kZSh0ZXh0KSk7XG5cdH1cblxuXHRwdWJsaWMgYWRkQXR0cmlidXRlKG5hbWU6IE5hbWUsIHZhbHVlOiBhbnkpOiBFbGVtZW50IHtcblx0XHQvLyBVc2UgbmFtZS5uYXRpdmUgZm9yIGludGVybmFsIEphdmEgb2JqZWN0IGFjY2Vzc1xuXHRcdHJldHVybiBuZXcgRWxlbWVudCh0aGlzLm5hdGl2ZS5hZGRBdHRyaWJ1dGUobmFtZS5nZXROYXRpdmUoKSwgdmFsdWUpKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRDaGlsZEVsZW1lbnRzKCk6IEVsZW1lbnRbXSB7XG5cdFx0Y29uc3QgY2hpbGRFbGVtZW50cyA9IFtdO1xuXHRcdGNvbnN0IGludGVybmFsRWxlbWVudHNJdGVyYXRvciA9IHRoaXMubmF0aXZlLmdldENoaWxkRWxlbWVudHMoKTtcblx0XHR3aGlsZSAoaW50ZXJuYWxFbGVtZW50c0l0ZXJhdG9yLmhhc05leHQoKSkge1xuXHRcdFx0Y2hpbGRFbGVtZW50cy5wdXNoKG5ldyBFbGVtZW50KGludGVybmFsRWxlbWVudHNJdGVyYXRvci5uZXh0KCkpKTtcblx0XHR9XG5cdFx0cmV0dXJuIGNoaWxkRWxlbWVudHM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0RWxlbWVudE5hbWUoKTogTmFtZSB8IHVuZGVmaW5lZCB7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IGludGVybmFsTmFtZSA9IHRoaXMubmF0aXZlLmdldEVsZW1lbnROYW1lKCk7XG5cdFx0XHRyZXR1cm4gbmV3IE5hbWUoaW50ZXJuYWxOYW1lKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBUaGlzIGNhdGNoIGhhbmRsZXMgY2FzZXMgd2hlcmUgdGhlIGVsZW1lbnQgbWlnaHQgbm90IGJlIGEgU09BUEVsZW1lbnRcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdHB1YmxpYyBnZXRWYWx1ZSgpOiBhbnkge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRWYWx1ZSgpO1xuXHR9XG5cblx0cHVibGljIGlzU09BUEVsZW1lbnQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0RWxlbWVudE5hbWUoKSAhPT0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gU09BUDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHFCQUF3QjtBQUN4QixvQkFBdUI7QUFDdkIscUJBQXFDO0FBRXJDLE1BQU0saUJBQWlCLEtBQUssS0FBSyxpQ0FBaUM7QUFDbEUsTUFBTSxzQkFBc0IsS0FBSyxLQUFLLDhCQUE4QjtBQUNwRSxNQUFNLHdCQUF3QixLQUFLLEtBQUssd0NBQXdDO0FBTXpFLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9qQixPQUFjLEtBQUssU0FBa0IsS0FBYTtBQUNqRCxVQUFNLHdCQUF3QixzQkFBc0IsWUFBWTtBQUNoRSxVQUFNLHFCQUFxQixzQkFBc0IsaUJBQWlCO0FBRWxFLFVBQU0sbUJBQW1CLG1CQUFtQixLQUFLLFFBQVEsUUFBUSxHQUFHO0FBQ3BFLFdBQU8sSUFBSSxRQUFRLGdCQUFnQjtBQUFBLEVBQ3BDO0FBQUEsRUFFQSxPQUFjLFdBQVc7QUFBQSxFQUV6QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsT0FBYyxnQkFBeUI7QUFDdEMsV0FBTyxJQUFJLFFBQVEsZUFBZSxZQUFZLEVBQUUsY0FBYyxDQUFDO0FBQUEsRUFDaEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLGFBQWEsYUFBMEIsYUFBbUM7QUFDdkYsVUFBTSxrQkFBa0IsZUFBZSxZQUFZO0FBRW5ELFFBQUksWUFBWSxRQUFRO0FBQ3ZCLFVBQUk7QUFFSCxjQUFNLGtCQUFrQixn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
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var websockets_exports = {};
|
|
19
|
+
__export(websockets_exports, {
|
|
20
|
+
Websockets: () => Websockets
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(websockets_exports);
|
|
23
|
+
const WebsocketsFacade = Java.type("org.eclipse.dirigible.components.api.websockets.WebsocketsFacade");
|
|
24
|
+
class Websockets {
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new WebSocket client connection to a specified URI, managed by a handler script.
|
|
27
|
+
*
|
|
28
|
+
* @param uri The target WebSocket URI (e.g., 'ws://example.com/socket').
|
|
29
|
+
* @param handler The identifier or path of the script handling the WebSocket events.
|
|
30
|
+
* @returns A wrapper object for the new WebSocket session.
|
|
31
|
+
*/
|
|
32
|
+
static createWebsocket(uri, handler) {
|
|
33
|
+
const session = WebsocketsFacade.createWebsocket(uri, handler);
|
|
34
|
+
return new WebsocketClient(session, uri, handler);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Retrieves a list of all active WebSocket clients.
|
|
38
|
+
*
|
|
39
|
+
* @returns An array of objects detailing the URI and handler of each client.
|
|
40
|
+
*/
|
|
41
|
+
static getClients() {
|
|
42
|
+
return JSON.parse(WebsocketsFacade.getClientsAsJson());
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Retrieves a specific WebSocket client wrapper by its session ID.
|
|
46
|
+
*
|
|
47
|
+
* @param id The session ID of the client.
|
|
48
|
+
* @returns The client wrapper or undefined if not found.
|
|
49
|
+
*/
|
|
50
|
+
static getClient(id) {
|
|
51
|
+
const native = WebsocketsFacade.getClient(id);
|
|
52
|
+
return native ? new WebsocketClient(native.getSession(), native.getSession().getRequestURI(), native.getHandler()) : void 0;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Retrieves a specific WebSocket client wrapper by its handler identifier.
|
|
56
|
+
*
|
|
57
|
+
* @param handler The handler identifier associated with the client.
|
|
58
|
+
* @returns The client wrapper or undefined if not found.
|
|
59
|
+
*/
|
|
60
|
+
static getClientByHandler(handler) {
|
|
61
|
+
const native = WebsocketsFacade.getClientByHandler(handler);
|
|
62
|
+
return native ? new WebsocketClient(native.getSession(), native.getSession().getRequestURI(), native.getHandler()) : void 0;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Retrieves the message payload from the current context, typically used inside an 'onmessage' handler.
|
|
66
|
+
*
|
|
67
|
+
* @returns The message content.
|
|
68
|
+
*/
|
|
69
|
+
static getMessage() {
|
|
70
|
+
return __context.get("message");
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Retrieves error details from the current context, typically used inside an 'onerror' handler.
|
|
74
|
+
*
|
|
75
|
+
* @returns The error object or string.
|
|
76
|
+
*/
|
|
77
|
+
static getError() {
|
|
78
|
+
return __context.get("error");
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Retrieves the event method name that triggered the current script execution (e.g., "onopen", "onmessage").
|
|
82
|
+
*
|
|
83
|
+
* @returns The name of the event method.
|
|
84
|
+
*/
|
|
85
|
+
static getMethod() {
|
|
86
|
+
return __context.get("method");
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Checks if the current event context is 'onopen'.
|
|
90
|
+
* @returns True if the method is 'onopen'.
|
|
91
|
+
*/
|
|
92
|
+
static isOnOpen() {
|
|
93
|
+
return this.getMethod() === "onopen";
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Checks if the current event context is 'onmessage'.
|
|
97
|
+
* @returns True if the method is 'onmessage'.
|
|
98
|
+
*/
|
|
99
|
+
static isOnMessage() {
|
|
100
|
+
return this.getMethod() === "onmessage";
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Checks if the current event context is 'onerror'.
|
|
104
|
+
* @returns True if the method is 'onerror'.
|
|
105
|
+
*/
|
|
106
|
+
static isOnError() {
|
|
107
|
+
return this.getMethod() === "onerror";
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Checks if the current event context is 'onclose'.
|
|
111
|
+
* @returns True if the method is 'onclose'.
|
|
112
|
+
*/
|
|
113
|
+
static isOnClose() {
|
|
114
|
+
return this.getMethod() === "onclose";
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
class WebsocketClient {
|
|
118
|
+
/**
|
|
119
|
+
* @param session The native Java session object.
|
|
120
|
+
* @param uri The connected URI.
|
|
121
|
+
* @param handler The handler identifier.
|
|
122
|
+
*/
|
|
123
|
+
constructor(session, uri, handler) {
|
|
124
|
+
this._session = session;
|
|
125
|
+
this.uri = uri;
|
|
126
|
+
this.handler = handler;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Sends a text message over the WebSocket connection.
|
|
130
|
+
* @param text The message to send.
|
|
131
|
+
*/
|
|
132
|
+
send(text) {
|
|
133
|
+
if (!this._session || this._session === null) {
|
|
134
|
+
console.error("Websocket Session is null. Message not sent.");
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
this._session.send(this.uri, text);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Closes the WebSocket connection.
|
|
141
|
+
*/
|
|
142
|
+
close() {
|
|
143
|
+
if (this._session) {
|
|
144
|
+
this._session.close();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (typeof module !== "undefined") {
|
|
149
|
+
module.exports = Websockets;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25ldC93ZWJzb2NrZXRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgaGlnaC1sZXZlbCBBUEkgZm9yIG1hbmFnaW5nIFdlYlNvY2tldCBjbGllbnRzIGFuZCBoYW5kbGluZ1xuICogbGlmZWN5Y2xlIGV2ZW50cyB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQuIEl0IHdyYXBzIHRoZSBpbnRlcm5hbCBKYXZhXG4gKiBXZWJzb2NrZXRzRmFjYWRlLlxuICovXG5jb25zdCBXZWJzb2NrZXRzRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLndlYnNvY2tldHMuV2Vic29ja2V0c0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBAY2xhc3MgV2Vic29ja2V0c1xuICogQGRlc2NyaXB0aW9uIFN0YXRpYyB1dGlsaXR5IGNsYXNzIGZvciBhY2Nlc3NpbmcgYW5kIG1hbmFnaW5nIFdlYlNvY2tldCBmdW5jdGlvbmFsaXR5LlxuICovXG5leHBvcnQgY2xhc3MgV2Vic29ja2V0cyB7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgV2ViU29ja2V0IGNsaWVudCBjb25uZWN0aW9uIHRvIGEgc3BlY2lmaWVkIFVSSSwgbWFuYWdlZCBieSBhIGhhbmRsZXIgc2NyaXB0LlxuXHQgKlxuXHQgKiBAcGFyYW0gdXJpIFRoZSB0YXJnZXQgV2ViU29ja2V0IFVSSSAoZS5nLiwgJ3dzOi8vZXhhbXBsZS5jb20vc29ja2V0JykuXG5cdCAqIEBwYXJhbSBoYW5kbGVyIFRoZSBpZGVudGlmaWVyIG9yIHBhdGggb2YgdGhlIHNjcmlwdCBoYW5kbGluZyB0aGUgV2ViU29ja2V0IGV2ZW50cy5cblx0ICogQHJldHVybnMgQSB3cmFwcGVyIG9iamVjdCBmb3IgdGhlIG5ldyBXZWJTb2NrZXQgc2Vzc2lvbi5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlV2Vic29ja2V0KHVyaTogc3RyaW5nLCBoYW5kbGVyOiBzdHJpbmcpOiBXZWJzb2NrZXRDbGllbnQge1xuXHRcdGNvbnN0IHNlc3Npb24gPSBXZWJzb2NrZXRzRmFjYWRlLmNyZWF0ZVdlYnNvY2tldCh1cmksIGhhbmRsZXIpO1xuXHRcdHJldHVybiBuZXcgV2Vic29ja2V0Q2xpZW50KHNlc3Npb24sIHVyaSwgaGFuZGxlcik7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgYWN0aXZlIFdlYlNvY2tldCBjbGllbnRzLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBvYmplY3RzIGRldGFpbGluZyB0aGUgVVJJIGFuZCBoYW5kbGVyIG9mIGVhY2ggY2xpZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRDbGllbnRzKCk6IHsgdXJpOiBzdHJpbmcsIGhhbmRsZXI6IHN0cmluZyB9W10ge1xuXHRcdHJldHVybiBKU09OLnBhcnNlKFdlYnNvY2tldHNGYWNhZGUuZ2V0Q2xpZW50c0FzSnNvbigpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBXZWJTb2NrZXQgY2xpZW50IHdyYXBwZXIgYnkgaXRzIHNlc3Npb24gSUQuXG5cdCAqXG5cdCAqIEBwYXJhbSBpZCBUaGUgc2Vzc2lvbiBJRCBvZiB0aGUgY2xpZW50LlxuXHQgKiBAcmV0dXJucyBUaGUgY2xpZW50IHdyYXBwZXIgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Q2xpZW50KGlkOiBzdHJpbmcpOiBXZWJzb2NrZXRDbGllbnQgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IFdlYnNvY2tldHNGYWNhZGUuZ2V0Q2xpZW50KGlkKTtcblx0XHRyZXR1cm4gbmF0aXZlID8gbmV3IFdlYnNvY2tldENsaWVudChuYXRpdmUuZ2V0U2Vzc2lvbigpLCBuYXRpdmUuZ2V0U2Vzc2lvbigpLmdldFJlcXVlc3RVUkkoKSwgbmF0aXZlLmdldEhhbmRsZXIoKSkgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgc3BlY2lmaWMgV2ViU29ja2V0IGNsaWVudCB3cmFwcGVyIGJ5IGl0cyBoYW5kbGVyIGlkZW50aWZpZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSBoYW5kbGVyIFRoZSBoYW5kbGVyIGlkZW50aWZpZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGllbnQuXG5cdCAqIEByZXR1cm5zIFRoZSBjbGllbnQgd3JhcHBlciBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRDbGllbnRCeUhhbmRsZXIoaGFuZGxlcjogc3RyaW5nKTogV2Vic29ja2V0Q2xpZW50IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBuYXRpdmUgPSBXZWJzb2NrZXRzRmFjYWRlLmdldENsaWVudEJ5SGFuZGxlcihoYW5kbGVyKTtcblx0XHRyZXR1cm4gbmF0aXZlID8gbmV3IFdlYnNvY2tldENsaWVudChuYXRpdmUuZ2V0U2Vzc2lvbigpLCBuYXRpdmUuZ2V0U2Vzc2lvbigpLmdldFJlcXVlc3RVUkkoKSwgbmF0aXZlLmdldEhhbmRsZXIoKSkgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBtZXNzYWdlIHBheWxvYWQgZnJvbSB0aGUgY3VycmVudCBjb250ZXh0LCB0eXBpY2FsbHkgdXNlZCBpbnNpZGUgYW4gJ29ubWVzc2FnZScgaGFuZGxlci5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIG1lc3NhZ2UgY29udGVudC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0TWVzc2FnZSgpOiBhbnkge1xuXHRcdHJldHVybiBfX2NvbnRleHQuZ2V0KCdtZXNzYWdlJyk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGVycm9yIGRldGFpbHMgZnJvbSB0aGUgY3VycmVudCBjb250ZXh0LCB0eXBpY2FsbHkgdXNlZCBpbnNpZGUgYW4gJ29uZXJyb3InIGhhbmRsZXIuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBlcnJvciBvYmplY3Qgb3Igc3RyaW5nLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRFcnJvcigpOiBhbnkge1xuXHRcdHJldHVybiBfX2NvbnRleHQuZ2V0KCdlcnJvcicpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgZXZlbnQgbWV0aG9kIG5hbWUgdGhhdCB0cmlnZ2VyZWQgdGhlIGN1cnJlbnQgc2NyaXB0IGV4ZWN1dGlvbiAoZS5nLiwgXCJvbm9wZW5cIiwgXCJvbm1lc3NhZ2VcIikuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBuYW1lIG9mIHRoZSBldmVudCBtZXRob2QuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldE1ldGhvZCgpOiBzdHJpbmcge1xuXHRcdC8vIEFzc3VtZXMgX19jb250ZXh0IGlzIGEgZ2xvYmFsIG1hcCBwcm92aWRlZCBieSB0aGUgZXhlY3V0aW9uIGVudmlyb25tZW50XG5cdFx0cmV0dXJuIF9fY29udGV4dC5nZXQoJ21ldGhvZCcpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBldmVudCBjb250ZXh0IGlzICdvbm9wZW4nLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBtZXRob2QgaXMgJ29ub3BlbicuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT25PcGVuKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldE1ldGhvZCgpID09PSBcIm9ub3BlblwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBldmVudCBjb250ZXh0IGlzICdvbm1lc3NhZ2UnLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBtZXRob2QgaXMgJ29ubWVzc2FnZScuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT25NZXNzYWdlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldE1ldGhvZCgpID09PSBcIm9ubWVzc2FnZVwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBldmVudCBjb250ZXh0IGlzICdvbmVycm9yJy5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgbWV0aG9kIGlzICdvbmVycm9yJy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPbkVycm9yKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmdldE1ldGhvZCgpID09PSBcIm9uZXJyb3JcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgZXZlbnQgY29udGV4dCBpcyAnb25jbG9zZScuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG1ldGhvZCBpcyAnb25jbG9zZScuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT25DbG9zZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRNZXRob2QoKSA9PT0gXCJvbmNsb3NlXCI7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgV2Vic29ja2V0Q2xpZW50XG4gKiBAZGVzY3JpcHRpb24gV3JhcHBlciBmb3IgYSBuYXRpdmUgV2ViU29ja2V0IHNlc3Npb24sIHByb3ZpZGluZyBtZXRob2RzIHRvIHNlbmQgYW5kIGNsb3NlIHRoZSBjb25uZWN0aW9uLlxuICovXG5jbGFzcyBXZWJzb2NrZXRDbGllbnQge1xuXHQvLyBSZW5hbWVkIHRvIF9zZXNzaW9uIGZvciBiZXR0ZXIgZW5jYXBzdWxhdGlvbiBvZiB0aGUgbmF0aXZlIEphdmEgb2JqZWN0XG5cdHByaXZhdGUgcmVhZG9ubHkgX3Nlc3Npb246IG51bGwgfCBhbnk7XG5cdHByaXZhdGUgcmVhZG9ubHkgdXJpOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcjogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBAcGFyYW0gc2Vzc2lvbiBUaGUgbmF0aXZlIEphdmEgc2Vzc2lvbiBvYmplY3QuXG5cdCAqIEBwYXJhbSB1cmkgVGhlIGNvbm5lY3RlZCBVUkkuXG5cdCAqIEBwYXJhbSBoYW5kbGVyIFRoZSBoYW5kbGVyIGlkZW50aWZpZXIuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihzZXNzaW9uOiBudWxsIHwgYW55LCB1cmk6IHN0cmluZywgaGFuZGxlcjogc3RyaW5nKSB7XG5cdFx0dGhpcy5fc2Vzc2lvbiA9IHNlc3Npb247XG5cdFx0dGhpcy51cmkgPSB1cmk7XG5cdFx0dGhpcy5oYW5kbGVyID0gaGFuZGxlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZW5kcyBhIHRleHQgbWVzc2FnZSBvdmVyIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbi5cblx0ICogQHBhcmFtIHRleHQgVGhlIG1lc3NhZ2UgdG8gc2VuZC5cblx0ICovXG5cdHB1YmxpYyBzZW5kKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5fc2Vzc2lvbiB8fCB0aGlzLl9zZXNzaW9uID09PSBudWxsKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKFwiV2Vic29ja2V0IFNlc3Npb24gaXMgbnVsbC4gTWVzc2FnZSBub3Qgc2VudC5cIik7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuX3Nlc3Npb24uc2VuZCh0aGlzLnVyaSwgdGV4dCk7XG5cdH07XG5cblx0LyoqXG5cdCAqIENsb3NlcyB0aGUgV2ViU29ja2V0IGNvbm5lY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX3Nlc3Npb24pIHtcblx0XHRcdHRoaXMuX3Nlc3Npb24uY2xvc2UoKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBXZWJzb2NrZXRzO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBLE1BQU0sbUJBQW1CLEtBQUss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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
dirigibleRequire(__context.get("handler")).onClose();
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL25ldC93cmFwcGVycy9vbkNsb3NlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJkaXJpZ2libGVSZXF1aXJlKF9fY29udGV4dC5nZXQoXCJoYW5kbGVyXCIpKS5vbkNsb3NlKCk7XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxpQkFBaUIsVUFBVSxJQUFJLFNBQVMsQ0FBQyxFQUFFLFFBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
dirigibleRequire(__context.get("handler")).onError(__context.get("error"));
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL25ldC93cmFwcGVycy9vbkVycm9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJkaXJpZ2libGVSZXF1aXJlKF9fY29udGV4dC5nZXQoXCJoYW5kbGVyXCIpKS5vbkVycm9yKF9fY29udGV4dC5nZXQoXCJlcnJvclwiKSk7XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxpQkFBaUIsVUFBVSxJQUFJLFNBQVMsQ0FBQyxFQUFFLFFBQVEsVUFBVSxJQUFJLE9BQU8sQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
dirigibleRequire(__context.get("handler")).onMessage(__context.get("message"), __context.get("from"));
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL25ldC93cmFwcGVycy9vbk1lc3NhZ2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImRpcmlnaWJsZVJlcXVpcmUoX19jb250ZXh0LmdldChcImhhbmRsZXJcIikpLm9uTWVzc2FnZShfX2NvbnRleHQuZ2V0KFwibWVzc2FnZVwiKSwgX19jb250ZXh0LmdldChcImZyb21cIikpO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsaUJBQWlCLFVBQVUsSUFBSSxTQUFTLENBQUMsRUFBRSxVQUFVLFVBQVUsSUFBSSxTQUFTLEdBQUcsVUFBVSxJQUFJLE1BQU0sQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
dirigibleRequire(__context.get("handler")).onOpen();
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL25ldC93cmFwcGVycy9vbk9wZW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImRpcmlnaWJsZVJlcXVpcmUoX19jb250ZXh0LmdldChcImhhbmRsZXJcIikpLm9uT3BlbigpO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsaUJBQWlCLFVBQVUsSUFBSSxTQUFTLENBQUMsRUFBRSxPQUFPOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var pdf_exports = {};
|
|
20
|
+
__export(pdf_exports, {
|
|
21
|
+
pdf: () => import_pdf.PDF
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(pdf_exports);
|
|
24
|
+
__reExport(pdf_exports, require("./pdf"), module.exports);
|
|
25
|
+
var import_pdf = require("./pdf");
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BkZi9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0ICogZnJvbSBcIi4vcGRmXCI7XG5leHBvcnQgeyBQREYgYXMgcGRmIH0gZnJvbSBcIi4vcGRmXCI7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsd0JBQWMsa0JBQWQ7QUFDQSxpQkFBMkI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var pdf_exports = {};
|
|
19
|
+
__export(pdf_exports, {
|
|
20
|
+
PDF: () => PDF
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(pdf_exports);
|
|
23
|
+
var import_registry = require("@aerokit/sdk/platform/registry");
|
|
24
|
+
var import_xml = require("@aerokit/sdk/utils/xml");
|
|
25
|
+
var import_template = require("@aerokit/sdk/template");
|
|
26
|
+
const PDFFacade = Java.type("org.eclipse.dirigible.components.api.pdf.PDFFacade");
|
|
27
|
+
const TEMPLATE_PATH_TABLE = "pdf/templates/table.xml";
|
|
28
|
+
class PDF {
|
|
29
|
+
/**
|
|
30
|
+
* Generates a PDF document containing a styled table based on the standard table template.
|
|
31
|
+
*
|
|
32
|
+
* @param {PDFTableData} data The structured data to populate the table.
|
|
33
|
+
* @param {PDFTableConfig} [config] Optional configuration for page size and alignment.
|
|
34
|
+
* @returns {any[]} The generated PDF content as a byte array (Array<number>).
|
|
35
|
+
*/
|
|
36
|
+
static generateTable(data, config) {
|
|
37
|
+
const defaultTemplateParameters = {
|
|
38
|
+
// Default A4 size in mm
|
|
39
|
+
pageWidth: "210",
|
|
40
|
+
pageHeight: "297",
|
|
41
|
+
alignColumns: "center",
|
|
42
|
+
alignRows: "center"
|
|
43
|
+
};
|
|
44
|
+
let templateParameters = {
|
|
45
|
+
...defaultTemplateParameters,
|
|
46
|
+
...data
|
|
47
|
+
};
|
|
48
|
+
PDF.setTemplateParameters(templateParameters, config);
|
|
49
|
+
const template = import_registry.Registry.getText(TEMPLATE_PATH_TABLE);
|
|
50
|
+
const pdfTemplate = import_template.TemplateEngines.generate(TEMPLATE_PATH_TABLE, template, templateParameters);
|
|
51
|
+
const xmlData = import_xml.XML.fromJson({
|
|
52
|
+
content: data
|
|
53
|
+
});
|
|
54
|
+
return PDFFacade.generate(pdfTemplate, xmlData);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Generates a PDF document using a custom template path and data payload.
|
|
58
|
+
*
|
|
59
|
+
* @param {string} templatePath The path to the custom template file (e.g., in the Registry).
|
|
60
|
+
* @param {PDFTableData} data The data to be injected into the template.
|
|
61
|
+
* @returns {any[]} The generated PDF content as a byte array (Array<number>).
|
|
62
|
+
*/
|
|
63
|
+
static generate(templatePath, data) {
|
|
64
|
+
const template = import_registry.Registry.getText(templatePath);
|
|
65
|
+
const xmlData = import_xml.XML.fromJson({
|
|
66
|
+
content: data
|
|
67
|
+
});
|
|
68
|
+
return PDFFacade.generate(template, xmlData);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Internal method to set template parameters based on optional configuration.
|
|
72
|
+
*
|
|
73
|
+
* @param {TemplateParameters} templateParameters The object containing parameters to be modified.
|
|
74
|
+
* @param {PDFTableConfig} [config] The optional configuration object.
|
|
75
|
+
*/
|
|
76
|
+
static setTemplateParameters(templateParameters, config) {
|
|
77
|
+
PDF.setDocumentSize(templateParameters, config);
|
|
78
|
+
PDF.setDocumentAlign(templateParameters, config);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Internal method to set column and row alignment parameters.
|
|
82
|
+
*
|
|
83
|
+
* @param {TemplateParameters} templateParameters The object containing parameters to be modified.
|
|
84
|
+
* @param {PDFTableConfig} [config] The optional configuration object.
|
|
85
|
+
*/
|
|
86
|
+
static setDocumentAlign(templateParameters, config) {
|
|
87
|
+
if (config?.alignColumns) {
|
|
88
|
+
templateParameters.alignColumns = config.alignColumns;
|
|
89
|
+
}
|
|
90
|
+
if (config?.alignRows) {
|
|
91
|
+
templateParameters.alignRows = config.alignRows;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Internal method to set the document size (width and height in mm) based on a standard 'size' or custom dimensions.
|
|
96
|
+
*
|
|
97
|
+
* @param {TemplateParameters} templateParameters The object containing parameters to be modified.
|
|
98
|
+
* @param {PDFTableConfig} [config] The optional configuration object.
|
|
99
|
+
*/
|
|
100
|
+
static setDocumentSize(templateParameters, config) {
|
|
101
|
+
if (config?.pageWidth !== void 0) {
|
|
102
|
+
templateParameters.pageWidth = String(config.pageWidth);
|
|
103
|
+
}
|
|
104
|
+
if (config?.pageHeight !== void 0) {
|
|
105
|
+
templateParameters.pageHeight = String(config.pageHeight);
|
|
106
|
+
}
|
|
107
|
+
if (config?.size) {
|
|
108
|
+
switch (config.size.toLowerCase()) {
|
|
109
|
+
case "a0":
|
|
110
|
+
templateParameters.pageWidth = "841";
|
|
111
|
+
templateParameters.pageHeight = "1189";
|
|
112
|
+
break;
|
|
113
|
+
case "a1":
|
|
114
|
+
templateParameters.pageWidth = "594";
|
|
115
|
+
templateParameters.pageHeight = "841";
|
|
116
|
+
break;
|
|
117
|
+
case "a2":
|
|
118
|
+
templateParameters.pageWidth = "420";
|
|
119
|
+
templateParameters.pageHeight = "594";
|
|
120
|
+
break;
|
|
121
|
+
case "a3":
|
|
122
|
+
templateParameters.pageWidth = "297";
|
|
123
|
+
templateParameters.pageHeight = "420";
|
|
124
|
+
break;
|
|
125
|
+
case "a4":
|
|
126
|
+
templateParameters.pageWidth = "210";
|
|
127
|
+
templateParameters.pageHeight = "297";
|
|
128
|
+
break;
|
|
129
|
+
case "a5":
|
|
130
|
+
templateParameters.pageWidth = "148";
|
|
131
|
+
templateParameters.pageHeight = "210";
|
|
132
|
+
break;
|
|
133
|
+
case "a6":
|
|
134
|
+
templateParameters.pageWidth = "105";
|
|
135
|
+
templateParameters.pageHeight = "148";
|
|
136
|
+
break;
|
|
137
|
+
case "a7":
|
|
138
|
+
templateParameters.pageWidth = "74";
|
|
139
|
+
templateParameters.pageHeight = "105";
|
|
140
|
+
break;
|
|
141
|
+
case "a8":
|
|
142
|
+
templateParameters.pageWidth = "52";
|
|
143
|
+
templateParameters.pageHeight = "74";
|
|
144
|
+
break;
|
|
145
|
+
case "a9":
|
|
146
|
+
templateParameters.pageWidth = "37";
|
|
147
|
+
templateParameters.pageHeight = "52";
|
|
148
|
+
break;
|
|
149
|
+
case "a10":
|
|
150
|
+
templateParameters.pageWidth = "26";
|
|
151
|
+
templateParameters.pageHeight = "37";
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (typeof module !== "undefined") {
|
|
158
|
+
module.exports = PDF;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BkZi9wZGYudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFJlZ2lzdHJ5IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9wbGF0Zm9ybS9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgWE1MIH0gZnJvbSBcIkBhZXJva2l0L3Nkay91dGlscy94bWxcIjtcbmltcG9ydCB7IFRlbXBsYXRlRW5naW5lcyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdGVtcGxhdGVcIjtcbmNvbnN0IFBERkZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5wZGYuUERGRmFjYWRlXCIpO1xuXG4vLyBQYXRoIHRvIHRoZSBkZWZhdWx0IHRhYmxlIHRlbXBsYXRlXG5jb25zdCBURU1QTEFURV9QQVRIX1RBQkxFID0gXCJwZGYvdGVtcGxhdGVzL3RhYmxlLnhtbFwiO1xuXG4vKipcbiAqIEludGVyZmFjZSBkZWZpbmluZyB0aGUgc3RydWN0dXJlZCBkYXRhIHJlcXVpcmVkIHRvIGdlbmVyYXRlIGEgdGFibGUgaW4gYSBQREYuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUERGVGFibGVEYXRhIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY29sdW1uczoge1xuICAgICAgICBuYW1lOiBzdHJpbmcgLy8gRGlzcGxheSBuYW1lIG9mIHRoZSBjb2x1bW5cbiAgICAgICAga2V5OiBzdHJpbmcgIC8vIERhdGEga2V5IHRvIGxvb2sgdXAgaW4gdGhlIHJvd3NcbiAgICB9W10sXG4gICAgcm93czogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdIC8vIEFycmF5IG9mIGRhdGEgb2JqZWN0cyBmb3IgZWFjaCByb3dcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgUERGIGRvY3VtZW50IGxheW91dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQREZUYWJsZUNvbmZpZyB7XG4gICAgLyoqIERvY3VtZW50IHdpZHRoIGluIG1tLiBPdmVycmlkZXMgc2l6ZSBpZiBwcmVzZW50LiAqL1xuICAgIHBhZ2VXaWR0aD86IG51bWJlcjtcbiAgICAvKiogRG9jdW1lbnQgaGVpZ2h0IGluIG1tLiBPdmVycmlkZXMgc2l6ZSBpZiBwcmVzZW50LiAqL1xuICAgIHBhZ2VIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgY29sdW1uIGFsaWdubWVudCAoYmFzZWQgb24gdGVtcGxhdGUgZGVmYXVsdCkuICovXG4gICAgYWxpZ25Db2x1bW5zPzogYm9vbGVhbjtcbiAgICAvKiogV2hldGhlciB0byBhcHBseSByb3cgYWxpZ25tZW50IChiYXNlZCBvbiB0ZW1wbGF0ZSBkZWZhdWx0KS4gKi9cbiAgICBhbGlnblJvd3M/OiBib29sZWFuO1xuICAgIC8qKiBTdGFuZGFyZCBJU08gMjE2IHBhcGVyIHNpemUgKEEwLUExMCkuIFNldHMgc3RhbmRhcmQgZGltZW5zaW9ucyBpZiBjdXN0b20gd2lkdGgvaGVpZ2h0IGFyZSBub3QgcHJvdmlkZWQuICovXG4gICAgc2l6ZT86IFwiYTBcIiB8IFwiYTFcIiB8IFwiYTJcIiB8IFwiYTNcIiB8IFwiYTRcIiB8IFwiYTVcIiB8IFwiYTZcIiB8IFwiYTdcIiB8IFwiYThcIiB8IFwiYTlcIiB8IFwiYTEwXCI7XG59XG5cbi8qKlxuICogSW50ZXJuYWwgaW50ZXJmYWNlIGZvciB0ZW1wbGF0ZSBwYXJhbWV0ZXJzLCBpbmNsdWRpbmcgZGF0YSBhbmQgY29uZmlndXJhdGlvbi5cbiAqL1xuaW50ZXJmYWNlIFRlbXBsYXRlUGFyYW1ldGVycyBleHRlbmRzIFBERlRhYmxlRGF0YSB7XG4gICAgcGFnZVdpZHRoOiBzdHJpbmc7XG4gICAgcGFnZUhlaWdodDogc3RyaW5nO1xuICAgIC8vIE5vdGU6IGFsaWduQ29sdW1ucy9Sb3dzIGFyZSB0eXBlZCBhcyBzdHJpbmcgaGVyZSB0byBtYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZSAoXCJjZW50ZXJcIilcbiAgICAvLyBidXQgbWF5IGJlIG92ZXJ3cml0dGVuIGJ5IGJvb2xlYW5zIGZyb20gY29uZmlnIGR1ZSB0byB0aGUgb3JpZ2luYWwgbG9naWMuXG4gICAgYWxpZ25Db2x1bW5zOiBzdHJpbmcgfCBib29sZWFuO1xuICAgIGFsaWduUm93czogc3RyaW5nIHwgYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAY2xhc3MgUERGXG4gKiBAZGVzY3JpcHRpb24gVXRpbGl0eSBjbGFzcyBmb3IgZ2VuZXJhdGluZyBQREYgZG9jdW1lbnRzIHVzaW5nIGEgdGVtcGxhdGUgZW5naW5lIGFuZCB0aGUgUERGRmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgUERGIHtcblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIFBERiBkb2N1bWVudCBjb250YWluaW5nIGEgc3R5bGVkIHRhYmxlIGJhc2VkIG9uIHRoZSBzdGFuZGFyZCB0YWJsZSB0ZW1wbGF0ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVEYXRhfSBkYXRhIFRoZSBzdHJ1Y3R1cmVkIGRhdGEgdG8gcG9wdWxhdGUgdGhlIHRhYmxlLlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVDb25maWd9IFtjb25maWddIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHBhZ2Ugc2l6ZSBhbmQgYWxpZ25tZW50LlxuICAgICAqIEByZXR1cm5zIHthbnlbXX0gVGhlIGdlbmVyYXRlZCBQREYgY29udGVudCBhcyBhIGJ5dGUgYXJyYXkgKEFycmF5PG51bWJlcj4pLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVUYWJsZShkYXRhOiBQREZUYWJsZURhdGEsIGNvbmZpZz86IFBERlRhYmxlQ29uZmlnKTogYW55W10ge1xuICAgICAgICBjb25zdCBkZWZhdWx0VGVtcGxhdGVQYXJhbWV0ZXJzOiBPbWl0PFRlbXBsYXRlUGFyYW1ldGVycywga2V5b2YgUERGVGFibGVEYXRhPiA9IHtcbiAgICAgICAgICAgIC8vIERlZmF1bHQgQTQgc2l6ZSBpbiBtbVxuICAgICAgICAgICAgcGFnZVdpZHRoOiBcIjIxMFwiLFxuICAgICAgICAgICAgcGFnZUhlaWdodDogXCIyOTdcIixcbiAgICAgICAgICAgIGFsaWduQ29sdW1uczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgIGFsaWduUm93czogXCJjZW50ZXJcIlxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCB0ZW1wbGF0ZVBhcmFtZXRlcnM6IFRlbXBsYXRlUGFyYW1ldGVycyA9IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRUZW1wbGF0ZVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAuLi5kYXRhXG4gICAgICAgIH0gYXMgVGVtcGxhdGVQYXJhbWV0ZXJzOyAvLyBDYXN0IG5lZWRlZCBkdWUgdG8gdGhlIG1lcmdpbmcgb2YgdHlwZXNcblxuICAgICAgICBQREYuc2V0VGVtcGxhdGVQYXJhbWV0ZXJzKHRlbXBsYXRlUGFyYW1ldGVycywgY29uZmlnKTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IFJlZ2lzdHJ5LmdldFRleHQoVEVNUExBVEVfUEFUSF9UQUJMRSk7XG4gICAgICAgIGNvbnN0IHBkZlRlbXBsYXRlID0gVGVtcGxhdGVFbmdpbmVzLmdlbmVyYXRlKFRFTVBMQVRFX1BBVEhfVEFCTEUsIHRlbXBsYXRlLCB0ZW1wbGF0ZVBhcmFtZXRlcnMpO1xuXG4gICAgICAgIC8vIENvbnZlcnQgZGF0YSBwYXlsb2FkIHRvIFhNTCBmb3JtYXQgZXhwZWN0ZWQgYnkgdGhlIHVuZGVybHlpbmcgSmF2YSBQREZGYWNhZGVcbiAgICAgICAgY29uc3QgeG1sRGF0YSA9IFhNTC5mcm9tSnNvbih7XG4gICAgICAgICAgICBjb250ZW50OiBkYXRhXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gUERGRmFjYWRlLmdlbmVyYXRlKHBkZlRlbXBsYXRlLCB4bWxEYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgYSBQREYgZG9jdW1lbnQgdXNpbmcgYSBjdXN0b20gdGVtcGxhdGUgcGF0aCBhbmQgZGF0YSBwYXlsb2FkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHRlbXBsYXRlUGF0aCBUaGUgcGF0aCB0byB0aGUgY3VzdG9tIHRlbXBsYXRlIGZpbGUgKGUuZy4sIGluIHRoZSBSZWdpc3RyeSkuXG4gICAgICogQHBhcmFtIHtQREZUYWJsZURhdGF9IGRhdGEgVGhlIGRhdGEgdG8gYmUgaW5qZWN0ZWQgaW50byB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMge2FueVtdfSBUaGUgZ2VuZXJhdGVkIFBERiBjb250ZW50IGFzIGEgYnl0ZSBhcnJheSAoQXJyYXk8bnVtYmVyPikuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZSh0ZW1wbGF0ZVBhdGg6IHN0cmluZywgZGF0YTogUERGVGFibGVEYXRhKTogYW55W10ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IFJlZ2lzdHJ5LmdldFRleHQodGVtcGxhdGVQYXRoKTtcblxuICAgICAgICAvLyBDb252ZXJ0IGRhdGEgcGF5bG9hZCB0byBYTUwgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSB1bmRlcmx5aW5nIEphdmEgUERGRmFjYWRlXG4gICAgICAgIGNvbnN0IHhtbERhdGEgPSBYTUwuZnJvbUpzb24oe1xuICAgICAgICAgICAgY29udGVudDogZGF0YVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFBERkZhY2FkZS5nZW5lcmF0ZSh0ZW1wbGF0ZSwgeG1sRGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgbWV0aG9kIHRvIHNldCB0ZW1wbGF0ZSBwYXJhbWV0ZXJzIGJhc2VkIG9uIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1RlbXBsYXRlUGFyYW1ldGVyc30gdGVtcGxhdGVQYXJhbWV0ZXJzIFRoZSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXJzIHRvIGJlIG1vZGlmaWVkLlxuICAgICAqIEBwYXJhbSB7UERGVGFibGVDb25maWd9IFtjb25maWddIFRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyBzZXRUZW1wbGF0ZVBhcmFtZXRlcnModGVtcGxhdGVQYXJhbWV0ZXJzOiBUZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZz86IFBERlRhYmxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIFBERi5zZXREb2N1bWVudFNpemUodGVtcGxhdGVQYXJhbWV0ZXJzLCBjb25maWcpO1xuICAgICAgICBQREYuc2V0RG9jdW1lbnRBbGlnbih0ZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgbWV0aG9kIHRvIHNldCBjb2x1bW4gYW5kIHJvdyBhbGlnbm1lbnQgcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7VGVtcGxhdGVQYXJhbWV0ZXJzfSB0ZW1wbGF0ZVBhcmFtZXRlcnMgVGhlIG9iamVjdCBjb250YWluaW5nIHBhcmFtZXRlcnMgdG8gYmUgbW9kaWZpZWQuXG4gICAgICogQHBhcmFtIHtQREZUYWJsZUNvbmZpZ30gW2NvbmZpZ10gVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIHNldERvY3VtZW50QWxpZ24odGVtcGxhdGVQYXJhbWV0ZXJzOiBUZW1wbGF0ZVBhcmFtZXRlcnMsIGNvbmZpZz86IFBERlRhYmxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIC8vIE9ubHkgb3ZlcnJpZGUgaWYgdGhlIGNvbmZpZyB2YWx1ZSBpcyBleHBsaWNpdGx5IHByZXNlbnQgYW5kIHRydXRoeSAobWFpbnRhaW5pbmcgb3JpZ2luYWwgYmVoYXZpb3IpXG4gICAgICAgIGlmIChjb25maWc/LmFsaWduQ29sdW1ucykge1xuICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLmFsaWduQ29sdW1ucyA9IGNvbmZpZy5hbGlnbkNvbHVtbnM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZz8uYWxpZ25Sb3dzKSB7XG4gICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMuYWxpZ25Sb3dzID0gY29uZmlnLmFsaWduUm93cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEludGVybmFsIG1ldGhvZCB0byBzZXQgdGhlIGRvY3VtZW50IHNpemUgKHdpZHRoIGFuZCBoZWlnaHQgaW4gbW0pIGJhc2VkIG9uIGEgc3RhbmRhcmQgJ3NpemUnIG9yIGN1c3RvbSBkaW1lbnNpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtUZW1wbGF0ZVBhcmFtZXRlcnN9IHRlbXBsYXRlUGFyYW1ldGVycyBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgcGFyYW1ldGVycyB0byBiZSBtb2RpZmllZC5cbiAgICAgKiBAcGFyYW0ge1BERlRhYmxlQ29uZmlnfSBbY29uZmlnXSBUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2V0RG9jdW1lbnRTaXplKHRlbXBsYXRlUGFyYW1ldGVyczogVGVtcGxhdGVQYXJhbWV0ZXJzLCBjb25maWc/OiBQREZUYWJsZUNvbmZpZyk6IHZvaWQge1xuICAgICAgICBpZiAoY29uZmlnPy5wYWdlV2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFN0cmluZyhjb25maWcucGFnZVdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnPy5wYWdlSGVpZ2h0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gU3RyaW5nKGNvbmZpZy5wYWdlSGVpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25maWc/LnNpemUpIHtcbiAgICAgICAgICAgIC8vIE1hcHBpbmcgSVNPIDIxNiBwYXBlciBzaXplcyAoaW4gbWlsbGltZXRlcnMpXG4gICAgICAgICAgICBzd2l0Y2ggKGNvbmZpZy5zaXplLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTBcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiODQxXCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCIxMTg5XCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhMVwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCI1OTRcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjg0MVwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTJcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiNDIwXCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCI1OTRcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImEzXCI6XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjI5N1wiO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZUhlaWdodCA9IFwiNDIwXCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhNFwiOiAvLyBEZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjIxMFwiO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZUhlaWdodCA9IFwiMjk3XCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhNVwiOlxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhcmFtZXRlcnMucGFnZVdpZHRoID0gXCIxNDhcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjIxMFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTZcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiMTA1XCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCIxNDhcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImE3XCI6XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjc0XCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCIxMDVcIjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImE4XCI6XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlV2lkdGggPSBcIjUyXCI7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlUGFyYW1ldGVycy5wYWdlSGVpZ2h0ID0gXCI3NFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiYTlcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiMzdcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjUyXCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJhMTBcIjpcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VXaWR0aCA9IFwiMjZcIjtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVQYXJhbWV0ZXJzLnBhZ2VIZWlnaHQgPSBcIjM3XCI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFBERjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHNCQUF5QjtBQUN6QixpQkFBb0I7QUFDcEIsc0JBQWdDO0FBQ2hDLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBR2hGLE1BQU0sc0JBQXNCO0FBK0NyQixNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2IsT0FBYyxjQUFjLE1BQW9CLFFBQWdDO0FBQzVFLFVBQU0sNEJBQTBFO0FBQUE7QUFBQSxNQUU1RSxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsTUFDWixjQUFjO0FBQUEsTUFDZCxXQUFXO0FBQUEsSUFDZjtBQUVBLFFBQUkscUJBQXlDO0FBQUEsTUFDekMsR0FBRztBQUFBLE1BQ0gsR0FBRztBQUFBLElBQ1A7QUFFQSxRQUFJLHNCQUFzQixvQkFBb0IsTUFBTTtBQUVwRCxVQUFNLFdBQVcseUJBQVMsUUFBUSxtQkFBbUI7QUFDckQsVUFB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
|