@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.
Files changed (399) hide show
  1. package/LICENSE +277 -0
  2. package/README.md +170 -0
  3. package/dist/cjs/bpm/deployer.js +57 -0
  4. package/dist/cjs/bpm/index.js +35 -0
  5. package/dist/cjs/bpm/process.js +636 -0
  6. package/dist/cjs/bpm/tasks.js +973 -0
  7. package/dist/cjs/bpm/values.js +82 -0
  8. package/dist/cjs/cache/cache.js +64 -0
  9. package/dist/cjs/cache/index.js +26 -0
  10. package/dist/cjs/cms/cmis.js +689 -0
  11. package/dist/cjs/cms/index.js +26 -0
  12. package/dist/cjs/component/decorators.js +126 -0
  13. package/dist/cjs/component/index.js +36 -0
  14. package/dist/cjs/core/configurations.js +110 -0
  15. package/dist/cjs/core/context.js +47 -0
  16. package/dist/cjs/core/env.js +45 -0
  17. package/dist/cjs/core/globals.js +54 -0
  18. package/dist/cjs/core/index.js +35 -0
  19. package/dist/cjs/db/dao.js +795 -0
  20. package/dist/cjs/db/database.js +904 -0
  21. package/dist/cjs/db/decorators.js +167 -0
  22. package/dist/cjs/db/index.js +72 -0
  23. package/dist/cjs/db/insert.js +51 -0
  24. package/dist/cjs/db/orm.js +245 -0
  25. package/dist/cjs/db/ormstatements.js +243 -0
  26. package/dist/cjs/db/procedure.js +112 -0
  27. package/dist/cjs/db/query.js +57 -0
  28. package/dist/cjs/db/repository.js +148 -0
  29. package/dist/cjs/db/sequence.js +59 -0
  30. package/dist/cjs/db/sql.js +516 -0
  31. package/dist/cjs/db/store.js +172 -0
  32. package/dist/cjs/db/translator.js +100 -0
  33. package/dist/cjs/db/update.js +43 -0
  34. package/dist/cjs/etcd/client.js +174 -0
  35. package/dist/cjs/etcd/index.js +26 -0
  36. package/dist/cjs/extensions/decorators.js +40 -0
  37. package/dist/cjs/extensions/extensions.js +108 -0
  38. package/dist/cjs/extensions/index.js +39 -0
  39. package/dist/cjs/git/client.js +277 -0
  40. package/dist/cjs/git/index.js +26 -0
  41. package/dist/cjs/http/client-async.js +224 -0
  42. package/dist/cjs/http/client.js +145 -0
  43. package/dist/cjs/http/decorators.js +76 -0
  44. package/dist/cjs/http/errors/ForbiddenError.js +41 -0
  45. package/dist/cjs/http/errors/ValidationError.js +41 -0
  46. package/dist/cjs/http/errors.js +26 -0
  47. package/dist/cjs/http/index.js +59 -0
  48. package/dist/cjs/http/request.js +281 -0
  49. package/dist/cjs/http/response.js +452 -0
  50. package/dist/cjs/http/rs/resource-common.js +32 -0
  51. package/dist/cjs/http/rs/resource-http-controller.js +306 -0
  52. package/dist/cjs/http/rs/resource-mappings.js +130 -0
  53. package/dist/cjs/http/rs/resource-method.js +218 -0
  54. package/dist/cjs/http/rs/resource.js +232 -0
  55. package/dist/cjs/http/rs.js +31 -0
  56. package/dist/cjs/http/session.js +124 -0
  57. package/dist/cjs/http/upload.js +144 -0
  58. package/dist/cjs/http/utils.js +106 -0
  59. package/dist/cjs/index.js +1 -0
  60. package/dist/cjs/indexing/index.js +29 -0
  61. package/dist/cjs/indexing/searcher.js +70 -0
  62. package/dist/cjs/indexing/writer.js +45 -0
  63. package/dist/cjs/integrations/index.js +26 -0
  64. package/dist/cjs/integrations/integrations.js +55 -0
  65. package/dist/cjs/io/bytes.js +101 -0
  66. package/dist/cjs/io/files.js +344 -0
  67. package/dist/cjs/io/image.js +43 -0
  68. package/dist/cjs/io/index.js +38 -0
  69. package/dist/cjs/io/streams.js +243 -0
  70. package/dist/cjs/io/zip.js +251 -0
  71. package/dist/cjs/job/decorators.js +40 -0
  72. package/dist/cjs/job/index.js +39 -0
  73. package/dist/cjs/job/scheduler.js +347 -0
  74. package/dist/cjs/junit/index.js +18 -0
  75. package/dist/cjs/junit/junit.js +67 -0
  76. package/dist/cjs/kafka/consumer.js +70 -0
  77. package/dist/cjs/kafka/index.js +29 -0
  78. package/dist/cjs/kafka/producer.js +70 -0
  79. package/dist/cjs/log/index.js +26 -0
  80. package/dist/cjs/log/logging.js +174 -0
  81. package/dist/cjs/mail/client.js +153 -0
  82. package/dist/cjs/mail/index.js +26 -0
  83. package/dist/cjs/messaging/consumer.js +83 -0
  84. package/dist/cjs/messaging/decorators.js +40 -0
  85. package/dist/cjs/messaging/index.js +42 -0
  86. package/dist/cjs/messaging/producer.js +81 -0
  87. package/dist/cjs/mongodb/client.js +627 -0
  88. package/dist/cjs/mongodb/dao.js +390 -0
  89. package/dist/cjs/mongodb/index.js +36 -0
  90. package/dist/cjs/net/decorators.js +40 -0
  91. package/dist/cjs/net/index.js +42 -0
  92. package/dist/cjs/net/soap.js +228 -0
  93. package/dist/cjs/net/websockets.js +151 -0
  94. package/dist/cjs/net/wrappers/onClose.js +2 -0
  95. package/dist/cjs/net/wrappers/onError.js +2 -0
  96. package/dist/cjs/net/wrappers/onMessage.js +2 -0
  97. package/dist/cjs/net/wrappers/onOpen.js +2 -0
  98. package/dist/cjs/pdf/index.js +26 -0
  99. package/dist/cjs/pdf/pdf.js +160 -0
  100. package/dist/cjs/platform/command.js +47 -0
  101. package/dist/cjs/platform/engines.js +70 -0
  102. package/dist/cjs/platform/index.js +47 -0
  103. package/dist/cjs/platform/lifecycle.js +49 -0
  104. package/dist/cjs/platform/os.js +51 -0
  105. package/dist/cjs/platform/problems.js +127 -0
  106. package/dist/cjs/platform/registry.js +319 -0
  107. package/dist/cjs/platform/repository.js +498 -0
  108. package/dist/cjs/platform/workspace.js +574 -0
  109. package/dist/cjs/qldb/index.js +26 -0
  110. package/dist/cjs/qldb/qldb.js +24 -0
  111. package/dist/cjs/rabbitmq/consumer.js +50 -0
  112. package/dist/cjs/rabbitmq/index.js +29 -0
  113. package/dist/cjs/rabbitmq/producer.js +38 -0
  114. package/dist/cjs/redis/client.js +190 -0
  115. package/dist/cjs/redis/index.js +26 -0
  116. package/dist/cjs/security/decorators.js +48 -0
  117. package/dist/cjs/security/index.js +40 -0
  118. package/dist/cjs/security/oauth.js +75 -0
  119. package/dist/cjs/security/user.js +88 -0
  120. package/dist/cjs/template/engines.js +139 -0
  121. package/dist/cjs/template/index.js +26 -0
  122. package/dist/cjs/utils/alphanumeric.js +107 -0
  123. package/dist/cjs/utils/base64.js +104 -0
  124. package/dist/cjs/utils/converter.js +78 -0
  125. package/dist/cjs/utils/digest.js +167 -0
  126. package/dist/cjs/utils/escape.js +160 -0
  127. package/dist/cjs/utils/hex.js +104 -0
  128. package/dist/cjs/utils/index.js +68 -0
  129. package/dist/cjs/utils/jsonpath.js +489 -0
  130. package/dist/cjs/utils/qrcode.js +41 -0
  131. package/dist/cjs/utils/url.js +82 -0
  132. package/dist/cjs/utils/utf8.js +61 -0
  133. package/dist/cjs/utils/uuid.js +48 -0
  134. package/dist/cjs/utils/xml.js +57 -0
  135. package/dist/dts/bpm/deployer.d.ts +29 -0
  136. package/dist/dts/bpm/index.d.ts +8 -0
  137. package/dist/dts/bpm/process.d.ts +433 -0
  138. package/dist/dts/bpm/tasks.d.ts +2022 -0
  139. package/dist/dts/bpm/values.d.ts +38 -0
  140. package/dist/dts/cache/cache.d.ts +30 -0
  141. package/dist/dts/cache/index.d.ts +2 -0
  142. package/dist/dts/cms/cmis.d.ts +413 -0
  143. package/dist/dts/cms/index.d.ts +2 -0
  144. package/dist/dts/component/decorators.d.ts +52 -0
  145. package/dist/dts/component/index.d.ts +2 -0
  146. package/dist/dts/core/configurations.d.ts +65 -0
  147. package/dist/dts/core/context.d.ts +19 -0
  148. package/dist/dts/core/env.d.ts +23 -0
  149. package/dist/dts/core/globals.d.ts +30 -0
  150. package/dist/dts/core/index.d.ts +8 -0
  151. package/dist/dts/db/dao.d.ts +8 -0
  152. package/dist/dts/db/database.d.ts +507 -0
  153. package/dist/dts/db/decorators.d.ts +89 -0
  154. package/dist/dts/db/index.d.ts +25 -0
  155. package/dist/dts/db/insert.d.ts +32 -0
  156. package/dist/dts/db/orm.d.ts +44 -0
  157. package/dist/dts/db/ormstatements.d.ts +4 -0
  158. package/dist/dts/db/procedure.d.ts +25 -0
  159. package/dist/dts/db/query.d.ts +48 -0
  160. package/dist/dts/db/repository.d.ts +64 -0
  161. package/dist/dts/db/sequence.d.ts +34 -0
  162. package/dist/dts/db/sql.d.ts +267 -0
  163. package/dist/dts/db/store.d.ts +138 -0
  164. package/dist/dts/db/translator.d.ts +26 -0
  165. package/dist/dts/db/update.d.ts +21 -0
  166. package/dist/dts/etcd/client.d.ts +92 -0
  167. package/dist/dts/etcd/index.d.ts +2 -0
  168. package/dist/dts/extensions/decorators.d.ts +11 -0
  169. package/dist/dts/extensions/extensions.d.ts +41 -0
  170. package/dist/dts/extensions/index.d.ts +4 -0
  171. package/dist/dts/git/client.d.ts +478 -0
  172. package/dist/dts/git/index.d.ts +2 -0
  173. package/dist/dts/http/client-async.d.ts +158 -0
  174. package/dist/dts/http/client.d.ts +180 -0
  175. package/dist/dts/http/decorators.d.ts +11 -0
  176. package/dist/dts/http/errors/ForbiddenError.d.ts +20 -0
  177. package/dist/dts/http/errors/ValidationError.d.ts +20 -0
  178. package/dist/dts/http/errors.d.ts +2 -0
  179. package/dist/dts/http/index.d.ts +16 -0
  180. package/dist/dts/http/request.d.ts +158 -0
  181. package/dist/dts/http/response.d.ts +281 -0
  182. package/dist/dts/http/rs/resource-common.d.ts +11 -0
  183. package/dist/dts/http/rs/resource-http-controller.d.ts +43 -0
  184. package/dist/dts/http/rs/resource-mappings.d.ts +70 -0
  185. package/dist/dts/http/rs/resource-method.d.ts +206 -0
  186. package/dist/dts/http/rs/resource.d.ts +126 -0
  187. package/dist/dts/http/rs.d.ts +4 -0
  188. package/dist/dts/http/session.d.ts +81 -0
  189. package/dist/dts/http/upload.d.ts +100 -0
  190. package/dist/dts/http/utils.d.ts +54 -0
  191. package/dist/dts/index.d.ts +0 -0
  192. package/dist/dts/indexing/index.d.ts +4 -0
  193. package/dist/dts/indexing/searcher.d.ts +47 -0
  194. package/dist/dts/indexing/writer.d.ts +22 -0
  195. package/dist/dts/integrations/index.d.ts +2 -0
  196. package/dist/dts/integrations/integrations.d.ts +118 -0
  197. package/dist/dts/io/bytes.d.ts +56 -0
  198. package/dist/dts/io/files.d.ts +261 -0
  199. package/dist/dts/io/image.d.ts +22 -0
  200. package/dist/dts/io/index.d.ts +10 -0
  201. package/dist/dts/io/streams.d.ts +172 -0
  202. package/dist/dts/io/zip.d.ts +178 -0
  203. package/dist/dts/job/decorators.d.ts +11 -0
  204. package/dist/dts/job/index.d.ts +4 -0
  205. package/dist/dts/job/scheduler.d.ts +250 -0
  206. package/dist/dts/junit/index.d.ts +1 -0
  207. package/dist/dts/junit/junit.d.ts +50 -0
  208. package/dist/dts/kafka/consumer.d.ts +48 -0
  209. package/dist/dts/kafka/index.d.ts +4 -0
  210. package/dist/dts/kafka/producer.d.ts +50 -0
  211. package/dist/dts/log/index.d.ts +2 -0
  212. package/dist/dts/log/logging.d.ts +102 -0
  213. package/dist/dts/mail/client.d.ts +90 -0
  214. package/dist/dts/mail/index.d.ts +2 -0
  215. package/dist/dts/messaging/consumer.d.ts +61 -0
  216. package/dist/dts/messaging/decorators.d.ts +11 -0
  217. package/dist/dts/messaging/index.d.ts +6 -0
  218. package/dist/dts/messaging/producer.d.ts +59 -0
  219. package/dist/dts/mongodb/client.d.ts +367 -0
  220. package/dist/dts/mongodb/dao.d.ts +24 -0
  221. package/dist/dts/mongodb/index.d.ts +2 -0
  222. package/dist/dts/net/decorators.d.ts +11 -0
  223. package/dist/dts/net/index.d.ts +6 -0
  224. package/dist/dts/net/soap.d.ts +115 -0
  225. package/dist/dts/net/websockets.d.ts +100 -0
  226. package/dist/dts/net/wrappers/onClose.d.ts +0 -0
  227. package/dist/dts/net/wrappers/onError.d.ts +0 -0
  228. package/dist/dts/net/wrappers/onMessage.d.ts +0 -0
  229. package/dist/dts/net/wrappers/onOpen.d.ts +0 -0
  230. package/dist/dts/pdf/index.d.ts +2 -0
  231. package/dist/dts/pdf/pdf.d.ts +72 -0
  232. package/dist/dts/platform/command.d.ts +41 -0
  233. package/dist/dts/platform/engines.d.ts +35 -0
  234. package/dist/dts/platform/index.d.ts +16 -0
  235. package/dist/dts/platform/lifecycle.d.ts +22 -0
  236. package/dist/dts/platform/os.d.ts +23 -0
  237. package/dist/dts/platform/problems.d.ts +114 -0
  238. package/dist/dts/platform/registry.d.ts +227 -0
  239. package/dist/dts/platform/repository.d.ts +354 -0
  240. package/dist/dts/platform/workspace.d.ts +421 -0
  241. package/dist/dts/qldb/index.d.ts +2 -0
  242. package/dist/dts/qldb/qldb.d.ts +1 -0
  243. package/dist/dts/rabbitmq/consumer.d.ts +25 -0
  244. package/dist/dts/rabbitmq/index.d.ts +4 -0
  245. package/dist/dts/rabbitmq/producer.d.ts +15 -0
  246. package/dist/dts/redis/client.d.ts +134 -0
  247. package/dist/dts/redis/index.d.ts +2 -0
  248. package/dist/dts/security/decorators.d.ts +4 -0
  249. package/dist/dts/security/index.d.ts +5 -0
  250. package/dist/dts/security/oauth.d.ts +39 -0
  251. package/dist/dts/security/user.d.ts +51 -0
  252. package/dist/dts/template/engines.d.ts +98 -0
  253. package/dist/dts/template/index.d.ts +2 -0
  254. package/dist/dts/utils/alphanumeric.d.ts +39 -0
  255. package/dist/dts/utils/base64.d.ts +48 -0
  256. package/dist/dts/utils/converter.d.ts +44 -0
  257. package/dist/dts/utils/digest.d.ts +50 -0
  258. package/dist/dts/utils/escape.d.ts +110 -0
  259. package/dist/dts/utils/hex.d.ts +48 -0
  260. package/dist/dts/utils/index.d.ts +23 -0
  261. package/dist/dts/utils/jsonpath.d.ts +22 -0
  262. package/dist/dts/utils/qrcode.d.ts +16 -0
  263. package/dist/dts/utils/url.d.ts +50 -0
  264. package/dist/dts/utils/utf8.d.ts +33 -0
  265. package/dist/dts/utils/uuid.d.ts +21 -0
  266. package/dist/dts/utils/xml.d.ts +22 -0
  267. package/dist/esm/bpm/deployer.mjs +38 -0
  268. package/dist/esm/bpm/index.mjs +15 -0
  269. package/dist/esm/bpm/process.mjs +617 -0
  270. package/dist/esm/bpm/tasks.mjs +954 -0
  271. package/dist/esm/bpm/values.mjs +63 -0
  272. package/dist/esm/cache/cache.mjs +45 -0
  273. package/dist/esm/cache/index.mjs +6 -0
  274. package/dist/esm/cms/cmis.mjs +660 -0
  275. package/dist/esm/cms/index.mjs +6 -0
  276. package/dist/esm/component/decorators.mjs +107 -0
  277. package/dist/esm/component/index.mjs +6 -0
  278. package/dist/esm/core/configurations.mjs +91 -0
  279. package/dist/esm/core/context.mjs +28 -0
  280. package/dist/esm/core/env.mjs +26 -0
  281. package/dist/esm/core/globals.mjs +35 -0
  282. package/dist/esm/core/index.mjs +15 -0
  283. package/dist/esm/db/dao.mjs +775 -0
  284. package/dist/esm/db/database.mjs +885 -0
  285. package/dist/esm/db/decorators.mjs +148 -0
  286. package/dist/esm/db/index.mjs +42 -0
  287. package/dist/esm/db/insert.mjs +32 -0
  288. package/dist/esm/db/orm.mjs +225 -0
  289. package/dist/esm/db/ormstatements.mjs +223 -0
  290. package/dist/esm/db/procedure.mjs +93 -0
  291. package/dist/esm/db/query.mjs +38 -0
  292. package/dist/esm/db/repository.mjs +129 -0
  293. package/dist/esm/db/sequence.mjs +40 -0
  294. package/dist/esm/db/sql.mjs +497 -0
  295. package/dist/esm/db/store.mjs +153 -0
  296. package/dist/esm/db/translator.mjs +81 -0
  297. package/dist/esm/db/update.mjs +24 -0
  298. package/dist/esm/etcd/client.mjs +155 -0
  299. package/dist/esm/etcd/index.mjs +6 -0
  300. package/dist/esm/extensions/decorators.mjs +21 -0
  301. package/dist/esm/extensions/extensions.mjs +89 -0
  302. package/dist/esm/extensions/index.mjs +9 -0
  303. package/dist/esm/git/client.mjs +258 -0
  304. package/dist/esm/git/index.mjs +6 -0
  305. package/dist/esm/http/client-async.mjs +205 -0
  306. package/dist/esm/http/client.mjs +126 -0
  307. package/dist/esm/http/decorators.mjs +47 -0
  308. package/dist/esm/http/errors/ForbiddenError.mjs +22 -0
  309. package/dist/esm/http/errors/ValidationError.mjs +22 -0
  310. package/dist/esm/http/errors.mjs +7 -0
  311. package/dist/esm/http/index.mjs +29 -0
  312. package/dist/esm/http/request.mjs +262 -0
  313. package/dist/esm/http/response.mjs +433 -0
  314. package/dist/esm/http/rs/resource-common.mjs +13 -0
  315. package/dist/esm/http/rs/resource-http-controller.mjs +287 -0
  316. package/dist/esm/http/rs/resource-mappings.mjs +111 -0
  317. package/dist/esm/http/rs/resource-method.mjs +199 -0
  318. package/dist/esm/http/rs/resource.mjs +213 -0
  319. package/dist/esm/http/rs.mjs +12 -0
  320. package/dist/esm/http/session.mjs +105 -0
  321. package/dist/esm/http/upload.mjs +125 -0
  322. package/dist/esm/http/utils.mjs +87 -0
  323. package/dist/esm/index.mjs +1 -0
  324. package/dist/esm/indexing/index.mjs +9 -0
  325. package/dist/esm/indexing/searcher.mjs +51 -0
  326. package/dist/esm/indexing/writer.mjs +26 -0
  327. package/dist/esm/integrations/index.mjs +6 -0
  328. package/dist/esm/integrations/integrations.mjs +36 -0
  329. package/dist/esm/io/bytes.mjs +82 -0
  330. package/dist/esm/io/files.mjs +325 -0
  331. package/dist/esm/io/image.mjs +24 -0
  332. package/dist/esm/io/index.mjs +18 -0
  333. package/dist/esm/io/streams.mjs +224 -0
  334. package/dist/esm/io/zip.mjs +232 -0
  335. package/dist/esm/job/decorators.mjs +21 -0
  336. package/dist/esm/job/index.mjs +9 -0
  337. package/dist/esm/job/scheduler.mjs +328 -0
  338. package/dist/esm/junit/index.mjs +2 -0
  339. package/dist/esm/junit/junit.mjs +48 -0
  340. package/dist/esm/kafka/consumer.mjs +51 -0
  341. package/dist/esm/kafka/index.mjs +9 -0
  342. package/dist/esm/kafka/producer.mjs +51 -0
  343. package/dist/esm/log/index.mjs +6 -0
  344. package/dist/esm/log/logging.mjs +155 -0
  345. package/dist/esm/mail/client.mjs +134 -0
  346. package/dist/esm/mail/index.mjs +6 -0
  347. package/dist/esm/messaging/consumer.mjs +64 -0
  348. package/dist/esm/messaging/decorators.mjs +21 -0
  349. package/dist/esm/messaging/index.mjs +12 -0
  350. package/dist/esm/messaging/producer.mjs +62 -0
  351. package/dist/esm/mongodb/client.mjs +608 -0
  352. package/dist/esm/mongodb/dao.mjs +360 -0
  353. package/dist/esm/mongodb/index.mjs +7 -0
  354. package/dist/esm/net/decorators.mjs +21 -0
  355. package/dist/esm/net/index.mjs +12 -0
  356. package/dist/esm/net/soap.mjs +209 -0
  357. package/dist/esm/net/websockets.mjs +132 -0
  358. package/dist/esm/net/wrappers/onClose.mjs +2 -0
  359. package/dist/esm/net/wrappers/onError.mjs +2 -0
  360. package/dist/esm/net/wrappers/onMessage.mjs +2 -0
  361. package/dist/esm/net/wrappers/onOpen.mjs +2 -0
  362. package/dist/esm/pdf/index.mjs +6 -0
  363. package/dist/esm/pdf/pdf.mjs +141 -0
  364. package/dist/esm/platform/command.mjs +28 -0
  365. package/dist/esm/platform/engines.mjs +51 -0
  366. package/dist/esm/platform/index.mjs +27 -0
  367. package/dist/esm/platform/lifecycle.mjs +30 -0
  368. package/dist/esm/platform/os.mjs +32 -0
  369. package/dist/esm/platform/problems.mjs +108 -0
  370. package/dist/esm/platform/registry.mjs +300 -0
  371. package/dist/esm/platform/repository.mjs +479 -0
  372. package/dist/esm/platform/workspace.mjs +555 -0
  373. package/dist/esm/qldb/index.mjs +6 -0
  374. package/dist/esm/qldb/qldb.mjs +5 -0
  375. package/dist/esm/rabbitmq/consumer.mjs +31 -0
  376. package/dist/esm/rabbitmq/index.mjs +9 -0
  377. package/dist/esm/rabbitmq/producer.mjs +19 -0
  378. package/dist/esm/redis/client.mjs +171 -0
  379. package/dist/esm/redis/index.mjs +6 -0
  380. package/dist/esm/security/decorators.mjs +29 -0
  381. package/dist/esm/security/index.mjs +10 -0
  382. package/dist/esm/security/oauth.mjs +56 -0
  383. package/dist/esm/security/user.mjs +69 -0
  384. package/dist/esm/template/engines.mjs +120 -0
  385. package/dist/esm/template/index.mjs +6 -0
  386. package/dist/esm/utils/alphanumeric.mjs +88 -0
  387. package/dist/esm/utils/base64.mjs +85 -0
  388. package/dist/esm/utils/converter.mjs +59 -0
  389. package/dist/esm/utils/digest.mjs +148 -0
  390. package/dist/esm/utils/escape.mjs +141 -0
  391. package/dist/esm/utils/hex.mjs +85 -0
  392. package/dist/esm/utils/index.mjs +38 -0
  393. package/dist/esm/utils/jsonpath.mjs +470 -0
  394. package/dist/esm/utils/qrcode.mjs +22 -0
  395. package/dist/esm/utils/url.mjs +63 -0
  396. package/dist/esm/utils/utf8.mjs +42 -0
  397. package/dist/esm/utils/uuid.mjs +29 -0
  398. package/dist/esm/utils/xml.mjs +38 -0
  399. 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/JylcbiAgICAgICAgICAgICAgICAgICAgLndoZXJlKCdJZCA9ID8nKVxuICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdFNldDogYW55W10gPSBxdWVyeS5leGVjdXRlKHNjcmlwdCwgW2xhbmd1YWdlLCBpZF0pO1xuXG5cdFx0XHRcdC8vIFNpbmNlIHdlIHF1ZXJ5IGJ5IElkIGFuZCBMYW5ndWFnZSwgd2UgZXhwZWN0IGF0IG1vc3Qgb25lIHJvdy5cbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0U2V0ICYmIHJlc3VsdFNldC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uUm93ID0gcmVzdWx0U2V0WzBdO1xuICAgICAgICAgICAgICAgICAgICBcblx0XHRcdFx0XHQvLyBJdGVyYXRlIHRocm91Z2ggdGhlIHByb3BlcnRpZXMgb2YgdGhlIHRyYW5zbGF0aW9uIHJvdyBhbmQgbWVyZ2UgdGhlbSBpbnRvIHRoZSBlbnRpdHkuXG5cdFx0XHRcdFx0Ly8gV2UgbXVzdCBhc3N1bWUgdGhhdCB0aGUgYmFzZSB0YWJsZSBjb2x1bW5zIChleGNlcHQgSUQgYW5kIExhbmd1YWdlIGtleXMpIGFsaWduIHdpdGggdGhlIHRyYW5zbGF0aW9uIHRhYmxlIGNvbHVtbnMuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRyYW5zbGF0aW9uUm93KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHJhbnNsYXRpb25Sb3cuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuXHRcdFx0XHRcdFx0XHQvLyBBdm9pZCBvdmVyd3JpdGluZyB0aGUgZW50aXR5J3MgSUQgYW5kIExhbmd1YWdlIGtleSBpZiB0aGV5IGV4aXN0LCBcblx0XHRcdFx0XHRcdFx0Ly8gYWx0aG91Z2ggdHlwaWNhbGx5IHRoZSBsYW5ndWFnZSBrZXkgaXMgbm90IHByZXNlbnQgaW4gdGhlIGJhc2UgZW50aXR5LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICdJZCcgJiYga2V5ICE9PSAnTGFuZ3VhZ2UnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eVtrZXldID0gdHJhbnNsYXRpb25Sb3dba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFbnRpdHkgaXMgbWFya2VkIGFzIGxhbmd1YWdlIGRlcGVuZGVudCwgYnV0IG5vIGxhbmd1YWdlIHRhYmxlIHByZXNlbnQgZm9yOiBcIiArIGJhc2V0VGFibGUsIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50aXR5O1xuICAgIH1cblx0XHRcbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBUcmFuc2xhdG9yO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLLGFBQWE7QUFPcEIsTUFBTSxXQUFXO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVXZC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
@@ -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