@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,319 @@
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 registry_exports = {};
19
+ __export(registry_exports, {
20
+ Artefact: () => Artefact,
21
+ ArtefactInformation: () => ArtefactInformation,
22
+ Directory: () => Directory,
23
+ Registry: () => Registry
24
+ });
25
+ module.exports = __toCommonJS(registry_exports);
26
+ var import_bytes = require("@aerokit/sdk/io/bytes");
27
+ var import_repository = require("@aerokit/sdk/platform/repository");
28
+ const RegistryFacade = Java.type("org.eclipse.dirigible.components.api.platform.RegistryFacade");
29
+ class Registry {
30
+ /**
31
+ * Retrieves the content of a registry resource at the given path, converting it into a
32
+ * JavaScript-friendly byte array format.
33
+ *
34
+ * @param {string} path The absolute path to the resource (e.g., "/registry/public/myFile.txt").
35
+ * @returns {any[]} The resource content as a JavaScript byte array.
36
+ */
37
+ static getContent(path) {
38
+ return import_bytes.Bytes.toJavaScriptBytes(RegistryFacade.getContent(path));
39
+ }
40
+ /**
41
+ * Retrieves the content of a registry resource at the given path in its native Java byte array format.
42
+ *
43
+ * @param {string} path The absolute path to the resource.
44
+ * @returns {any[]} The resource content as a native Java byte array.
45
+ */
46
+ static getContentNative(path) {
47
+ return RegistryFacade.getContent(path);
48
+ }
49
+ /**
50
+ * Retrieves the content of a registry resource at the given path as a string.
51
+ *
52
+ * @param {string} path The absolute path to the resource.
53
+ * @returns {string} The resource content as plain text.
54
+ */
55
+ static getText(path) {
56
+ return RegistryFacade.getText(path);
57
+ }
58
+ /**
59
+ * Searches the registry starting from a given path for resources matching a glob pattern.
60
+ *
61
+ * @param {string} path The starting path for the search.
62
+ * @param {string} pattern The glob pattern to match resource names against (e.g., "*.js").
63
+ * @returns {string[]} An array of registry paths (strings) that match the search criteria.
64
+ */
65
+ static find(path, pattern) {
66
+ return JSON.parse(RegistryFacade.find(path, pattern));
67
+ }
68
+ /**
69
+ * Gets the root directory object for the public registry space.
70
+ *
71
+ * @returns {Directory} A Directory instance representing the root public collection.
72
+ */
73
+ static getRoot() {
74
+ return new Directory(import_repository.Repository.getCollection("/registry/public"));
75
+ }
76
+ }
77
+ class Artefact {
78
+ /**
79
+ * @constructor
80
+ * @param {any} native The native Java object instance representing the repository resource.
81
+ */
82
+ constructor(native) {
83
+ this.native = native;
84
+ }
85
+ /**
86
+ * Gets the name of the artefact (file name).
87
+ * @returns {string} The name.
88
+ */
89
+ getName() {
90
+ return this.native.getName();
91
+ }
92
+ /**
93
+ * Gets the full registry path of the artefact.
94
+ * @returns {string} The registry path.
95
+ */
96
+ getPath() {
97
+ return RegistryFacade.toRegistryPath(this.native.getPath());
98
+ }
99
+ /**
100
+ * Gets the parent directory of this artefact.
101
+ * @returns {Directory} The parent Directory instance.
102
+ */
103
+ getParent() {
104
+ const collectionInstance = this.native.getParent();
105
+ return new Directory(collectionInstance);
106
+ }
107
+ /**
108
+ * Gets detailed metadata about the artefact.
109
+ * @returns {ArtefactInformation} The metadata object.
110
+ */
111
+ getInformation() {
112
+ const informationInstance = this.native.getInformation();
113
+ return new ArtefactInformation(informationInstance);
114
+ }
115
+ /**
116
+ * Checks if the artefact currently exists in the registry.
117
+ * @returns {boolean} True if the artefact exists, false otherwise.
118
+ */
119
+ exists() {
120
+ return this.native.exists();
121
+ }
122
+ /**
123
+ * Checks if the artefact (file) is empty (has zero size).
124
+ * @returns {boolean} True if the content is empty, false otherwise.
125
+ */
126
+ isEmpty() {
127
+ return this.native.isEmpty();
128
+ }
129
+ /**
130
+ * Gets the content of the artefact as a text string.
131
+ * @returns {string} The text content.
132
+ */
133
+ getText() {
134
+ return import_bytes.Bytes.byteArrayToText(this.getContent());
135
+ }
136
+ /**
137
+ * Gets the content of the artefact as a JavaScript-friendly byte array.
138
+ * @returns {any[]} The content bytes.
139
+ */
140
+ getContent() {
141
+ const nativeContent = this.native.getContent();
142
+ return import_bytes.Bytes.toJavaScriptBytes(nativeContent);
143
+ }
144
+ /**
145
+ * Gets the content of the artefact as its native Java byte array representation.
146
+ * @returns {any[]} The content bytes.
147
+ */
148
+ getContentNative() {
149
+ return this.native.getContent();
150
+ }
151
+ /**
152
+ * Checks if the artefact content is determined to be binary.
153
+ * @returns {boolean} True if binary, false if text.
154
+ */
155
+ isBinary() {
156
+ return this.native.isBinary();
157
+ }
158
+ /**
159
+ * Gets the content type (MIME type) of the artefact.
160
+ * @returns {string} The content type string.
161
+ */
162
+ getContentType() {
163
+ return this.native.getContentType();
164
+ }
165
+ }
166
+ class Directory {
167
+ /**
168
+ * @constructor
169
+ * @param {any} native The native Java object instance representing the repository collection.
170
+ */
171
+ constructor(native) {
172
+ this.native = native;
173
+ }
174
+ /**
175
+ * Gets the name of the directory (folder name).
176
+ * @returns {string} The name.
177
+ */
178
+ getName() {
179
+ return this.native.getName();
180
+ }
181
+ /**
182
+ * Gets the full registry path of the directory.
183
+ * @returns {string} The registry path.
184
+ */
185
+ getPath() {
186
+ return RegistryFacade.toRegistryPath(this.native.getPath());
187
+ }
188
+ /**
189
+ * Gets the parent directory.
190
+ * @returns {Directory} The parent Directory instance.
191
+ */
192
+ getParent() {
193
+ const collectionInstance = this.native.getParent();
194
+ return new Directory(collectionInstance);
195
+ }
196
+ /**
197
+ * Gets detailed metadata about the directory.
198
+ * @returns {ArtefactInformation} The metadata object.
199
+ */
200
+ getInformation() {
201
+ const informationInstance = this.native.getInformation();
202
+ return new ArtefactInformation(informationInstance);
203
+ }
204
+ /**
205
+ * Checks if the directory currently exists in the registry.
206
+ * @returns {boolean} True if the directory exists, false otherwise.
207
+ */
208
+ exists() {
209
+ return this.native.exists();
210
+ }
211
+ /**
212
+ * Checks if the directory is empty (contains no files or sub-directories).
213
+ * @returns {boolean} True if empty, false otherwise.
214
+ */
215
+ isEmpty() {
216
+ return this.native.isEmpty();
217
+ }
218
+ /**
219
+ * Gets the names of all sub-directories within this directory.
220
+ * @returns {string[]} An array of sub-directory names.
221
+ */
222
+ getDirectoriesNames() {
223
+ return this.native.getCollectionsNames();
224
+ }
225
+ /**
226
+ * Gets a specific sub-directory by name.
227
+ * @param {string} name The name of the sub-directory.
228
+ * @returns {Directory} The child Directory instance.
229
+ */
230
+ getDirectory(name) {
231
+ const collectionInstance = this.native.getCollection(RegistryFacade.toResourcePath(name));
232
+ return new Directory(collectionInstance);
233
+ }
234
+ /**
235
+ * Gets the names of all files (artefacts) within this directory.
236
+ * @returns {string[]} An array of artefact names.
237
+ */
238
+ getArtefactsNames() {
239
+ return this.native.getResourcesNames();
240
+ }
241
+ /**
242
+ * Gets a specific file (artefact) by name.
243
+ * @param {string} name The name of the artefact.
244
+ * @returns {Artefact} The child Artefact instance.
245
+ */
246
+ getArtefact(name) {
247
+ const resourceInstance = this.native.getResource(RegistryFacade.toResourcePath(name));
248
+ return new Artefact(resourceInstance);
249
+ }
250
+ }
251
+ class ArtefactInformation {
252
+ /**
253
+ * @constructor
254
+ * @param {any} native The native Java object instance holding the artefact information.
255
+ */
256
+ constructor(native) {
257
+ this.native = native;
258
+ }
259
+ /**
260
+ * Gets the name of the resource.
261
+ * @returns {string} The name.
262
+ */
263
+ getName() {
264
+ return this.native.getName();
265
+ }
266
+ /**
267
+ * Gets the full registry path of the resource.
268
+ * @returns {string} The registry path.
269
+ */
270
+ getPath() {
271
+ return RegistryFacade.toRegistryPath(this.native.getPath());
272
+ }
273
+ /**
274
+ * Gets the access permissions for the resource (typically an integer bitmask).
275
+ * @returns {number} The permissions value.
276
+ */
277
+ getPermissions() {
278
+ return this.native.getPermissions();
279
+ }
280
+ /**
281
+ * Gets the size of the resource content in bytes.
282
+ * @returns {number} The size in bytes.
283
+ */
284
+ getSize() {
285
+ return this.native.getSize();
286
+ }
287
+ /**
288
+ * Gets the user who created the resource.
289
+ * @returns {string} The creator's name.
290
+ */
291
+ getCreatedBy() {
292
+ return this.native.getCreatedBy();
293
+ }
294
+ /**
295
+ * Gets the creation timestamp.
296
+ * @returns {Date} The creation date and time.
297
+ */
298
+ getCreatedAt() {
299
+ return this.native.getCreatedAt();
300
+ }
301
+ /**
302
+ * Gets the user who last modified the resource.
303
+ * @returns {string} The modifier's name.
304
+ */
305
+ getModifiedBy() {
306
+ return this.native.getModifiedBy();
307
+ }
308
+ /**
309
+ * Gets the last modification timestamp.
310
+ * @returns {Date} The modification date and time.
311
+ */
312
+ getModifiedAt() {
313
+ return this.native.getModifiedAt();
314
+ }
315
+ }
316
+ if (typeof module !== "undefined") {
317
+ module.exports = Registry;
318
+ }
319
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3JlZ2lzdHJ5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIFByb3ZpZGVzIGEgc2V0IG9mIHV0aWxpdGllcyBhbmQgZGF0YSBzdHJ1Y3R1cmVzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBwbGF0Zm9ybSdzXG4gKiBSZWdpc3RyeS9SZXBvc2l0b3J5LCB3aGljaCBtYW5hZ2VzIGZpbGVzIGFuZCBkaXJlY3RvcmllcyAoQXJ0ZWZhY3RzIGFuZCBDb2xsZWN0aW9ucykuXG4gKi9cbmltcG9ydCB7IEJ5dGVzIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9pby9ieXRlc1wiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvcGxhdGZvcm0vcmVwb3NpdG9yeVwiO1xuY29uc3QgUmVnaXN0cnlGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uUmVnaXN0cnlGYWNhZGVcIik7XG5cbi8qKlxuICogQGNsYXNzIFJlZ2lzdHJ5XG4gKiBAZGVzY3JpcHRpb24gU3RhdGljIHV0aWxpdHkgY2xhc3MgcHJvdmlkaW5nIGhpZ2gtbGV2ZWwgYWNjZXNzIHRvIHRoZSBSZWdpc3RyeUZhY2FkZSBmb3JcbiAqIHJldHJpZXZpbmcgY29udGVudCBhbmQgbWV0YWRhdGEgYnkgcGF0aC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlZ2lzdHJ5IHtcblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBjb250ZW50IG9mIGEgcmVnaXN0cnkgcmVzb3VyY2UgYXQgdGhlIGdpdmVuIHBhdGgsIGNvbnZlcnRpbmcgaXQgaW50byBhXG5cdCAqIEphdmFTY3JpcHQtZnJpZW5kbHkgYnl0ZSBhcnJheSBmb3JtYXQuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSByZXNvdXJjZSAoZS5nLiwgXCIvcmVnaXN0cnkvcHVibGljL215RmlsZS50eHRcIikuXG5cdCAqIEByZXR1cm5zIHthbnlbXX0gVGhlIHJlc291cmNlIGNvbnRlbnQgYXMgYSBKYXZhU2NyaXB0IGJ5dGUgYXJyYXkuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldENvbnRlbnQocGF0aDogc3RyaW5nKTogYW55W10ge1xuXHRcdHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhSZWdpc3RyeUZhY2FkZS5nZXRDb250ZW50KHBhdGgpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbnRlbnQgb2YgYSByZWdpc3RyeSByZXNvdXJjZSBhdCB0aGUgZ2l2ZW4gcGF0aCBpbiBpdHMgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSBmb3JtYXQuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge2FueVtdfSBUaGUgcmVzb3VyY2UgY29udGVudCBhcyBhIG5hdGl2ZSBKYXZhIGJ5dGUgYXJyYXkuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldENvbnRlbnROYXRpdmUocGF0aDogc3RyaW5nKTogYW55W10ge1xuXHRcdHJldHVybiBSZWdpc3RyeUZhY2FkZS5nZXRDb250ZW50KHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29udGVudCBvZiBhIHJlZ2lzdHJ5IHJlc291cmNlIGF0IHRoZSBnaXZlbiBwYXRoIGFzIGEgc3RyaW5nLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcmVzb3VyY2UuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSByZXNvdXJjZSBjb250ZW50IGFzIHBsYWluIHRleHQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFRleHQocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gUmVnaXN0cnlGYWNhZGUuZ2V0VGV4dChwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZWFyY2hlcyB0aGUgcmVnaXN0cnkgc3RhcnRpbmcgZnJvbSBhIGdpdmVuIHBhdGggZm9yIHJlc291cmNlcyBtYXRjaGluZyBhIGdsb2IgcGF0dGVybi5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHN0YXJ0aW5nIHBhdGggZm9yIHRoZSBzZWFyY2guXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXR0ZXJuIFRoZSBnbG9iIHBhdHRlcm4gdG8gbWF0Y2ggcmVzb3VyY2UgbmFtZXMgYWdhaW5zdCAoZS5nLiwgXCIqLmpzXCIpLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nW119IEFuIGFycmF5IG9mIHJlZ2lzdHJ5IHBhdGhzIChzdHJpbmdzKSB0aGF0IG1hdGNoIHRoZSBzZWFyY2ggY3JpdGVyaWEuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGZpbmQocGF0aDogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIEpTT04ucGFyc2UoUmVnaXN0cnlGYWNhZGUuZmluZChwYXRoLCBwYXR0ZXJuKSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcm9vdCBkaXJlY3Rvcnkgb2JqZWN0IGZvciB0aGUgcHVibGljIHJlZ2lzdHJ5IHNwYWNlLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7RGlyZWN0b3J5fSBBIERpcmVjdG9yeSBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHJvb3QgcHVibGljIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFJvb3QoKTogRGlyZWN0b3J5IHtcblx0XHRyZXR1cm4gbmV3IERpcmVjdG9yeShSZXBvc2l0b3J5LmdldENvbGxlY3Rpb24oXCIvcmVnaXN0cnkvcHVibGljXCIpKTtcblx0fVxufVxuXG4vKipcbiAqIEBjbGFzcyBBcnRlZmFjdFxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBmaWxlIG9yIHJlc291cmNlIChub24tY29sbGVjdGlvbikgd2l0aGluIHRoZSBSZWdpc3RyeS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFydGVmYWN0IHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHJlcG9zaXRvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIGFydGVmYWN0IChmaWxlIG5hbWUpLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHJlZ2lzdHJ5IHBhdGggb2YgdGhlIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVnaXN0cnkgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJ5RmFjYWRlLnRvUmVnaXN0cnlQYXRoKHRoaXMubmF0aXZlLmdldFBhdGgoKSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcGFyZW50IGRpcmVjdG9yeSBvZiB0aGlzIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7RGlyZWN0b3J5fSBUaGUgcGFyZW50IERpcmVjdG9yeSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXJlbnQoKTogRGlyZWN0b3J5IHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRQYXJlbnQoKTtcblx0XHRyZXR1cm4gbmV3IERpcmVjdG9yeShjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgZGV0YWlsZWQgbWV0YWRhdGEgYWJvdXQgdGhlIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7QXJ0ZWZhY3RJbmZvcm1hdGlvbn0gVGhlIG1ldGFkYXRhIG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBnZXRJbmZvcm1hdGlvbigpOiBBcnRlZmFjdEluZm9ybWF0aW9uIHtcblx0XHRjb25zdCBpbmZvcm1hdGlvbkluc3RhbmNlID0gdGhpcy5uYXRpdmUuZ2V0SW5mb3JtYXRpb24oKTtcblx0XHRyZXR1cm4gbmV3IEFydGVmYWN0SW5mb3JtYXRpb24oaW5mb3JtYXRpb25JbnN0YW5jZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBhcnRlZmFjdCBjdXJyZW50bHkgZXhpc3RzIGluIHRoZSByZWdpc3RyeS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGFydGVmYWN0IGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBhcnRlZmFjdCAoZmlsZSkgaXMgZW1wdHkgKGhhcyB6ZXJvIHNpemUpLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgY29udGVudCBpcyBlbXB0eSwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmlzRW1wdHkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBhcnRlZmFjdCBhcyBhIHRleHQgc3RyaW5nLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdGV4dCBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIGdldFRleHQoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gQnl0ZXMuYnl0ZUFycmF5VG9UZXh0KHRoaXMuZ2V0Q29udGVudCgpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBhcnRlZmFjdCBhcyBhIEphdmFTY3JpcHQtZnJpZW5kbHkgYnl0ZSBhcnJheS5cblx0ICogQHJldHVybnMge2FueVtdfSBUaGUgY29udGVudCBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBnZXRDb250ZW50KCk6IGFueVtdIHtcblx0XHRjb25zdCBuYXRpdmVDb250ZW50ID0gdGhpcy5uYXRpdmUuZ2V0Q29udGVudCgpO1xuXHRcdHJldHVybiBCeXRlcy50b0phdmFTY3JpcHRCeXRlcyhuYXRpdmVDb250ZW50KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBhcnRlZmFjdCBhcyBpdHMgbmF0aXZlIEphdmEgYnl0ZSBhcnJheSByZXByZXNlbnRhdGlvbi5cblx0ICogQHJldHVybnMge2FueVtdfSBUaGUgY29udGVudCBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBnZXRDb250ZW50TmF0aXZlKCk6IGFueVtdIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q29udGVudCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgYXJ0ZWZhY3QgY29udGVudCBpcyBkZXRlcm1pbmVkIHRvIGJlIGJpbmFyeS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgYmluYXJ5LCBmYWxzZSBpZiB0ZXh0LlxuXHQgKi9cblx0cHVibGljIGlzQmluYXJ5KCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5pc0JpbmFyeSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNvbnRlbnQgdHlwZSAoTUlNRSB0eXBlKSBvZiB0aGUgYXJ0ZWZhY3QuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjb250ZW50IHR5cGUgc3RyaW5nLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnRUeXBlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbnRlbnRUeXBlKCk7XG5cdH1cbn1cblxuLyoqXG4gKiBAY2xhc3MgRGlyZWN0b3J5XG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb3IgZm9sZGVyIHdpdGhpbiB0aGUgUmVnaXN0cnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBEaXJlY3Rvcnkge1xuXHRwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICogQHBhcmFtIHthbnl9IG5hdGl2ZSBUaGUgbmF0aXZlIEphdmEgb2JqZWN0IGluc3RhbmNlIHJlcHJlc2VudGluZyB0aGUgcmVwb3NpdG9yeSBjb2xsZWN0aW9uLlxuXHQgKi9cblx0Y29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgKGZvbGRlciBuYW1lKS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXROYW1lKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCByZWdpc3RyeSBwYXRoIG9mIHRoZSBkaXJlY3RvcnkuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSByZWdpc3RyeSBwYXRoLlxuXHQgKi9cblx0cHVibGljIGdldFBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gUmVnaXN0cnlGYWNhZGUudG9SZWdpc3RyeVBhdGgodGhpcy5uYXRpdmUuZ2V0UGF0aCgpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXJlbnQgZGlyZWN0b3J5LlxuXHQgKiBAcmV0dXJucyB7RGlyZWN0b3J5fSBUaGUgcGFyZW50IERpcmVjdG9yeSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXJlbnQoKTogRGlyZWN0b3J5IHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRQYXJlbnQoKTtcblx0XHRyZXR1cm4gbmV3IERpcmVjdG9yeShjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgZGV0YWlsZWQgbWV0YWRhdGEgYWJvdXQgdGhlIGRpcmVjdG9yeS5cblx0ICogQHJldHVybnMge0FydGVmYWN0SW5mb3JtYXRpb259IFRoZSBtZXRhZGF0YSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0SW5mb3JtYXRpb24oKTogQXJ0ZWZhY3RJbmZvcm1hdGlvbiB7XG5cdFx0Y29uc3QgaW5mb3JtYXRpb25JbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldEluZm9ybWF0aW9uKCk7XG5cdFx0cmV0dXJuIG5ldyBBcnRlZmFjdEluZm9ybWF0aW9uKGluZm9ybWF0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgZGlyZWN0b3J5IGN1cnJlbnRseSBleGlzdHMgaW4gdGhlIHJlZ2lzdHJ5LlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZGlyZWN0b3J5IGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBkaXJlY3RvcnkgaXMgZW1wdHkgKGNvbnRhaW5zIG5vIGZpbGVzIG9yIHN1Yi1kaXJlY3RvcmllcykuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGVtcHR5LCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNFbXB0eSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWVzIG9mIGFsbCBzdWItZGlyZWN0b3JpZXMgd2l0aGluIHRoaXMgZGlyZWN0b3J5LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nW119IEFuIGFycmF5IG9mIHN1Yi1kaXJlY3RvcnkgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RGlyZWN0b3JpZXNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbGxlY3Rpb25zTmFtZXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgc3BlY2lmaWMgc3ViLWRpcmVjdG9yeSBieSBuYW1lLlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgc3ViLWRpcmVjdG9yeS5cblx0ICogQHJldHVybnMge0RpcmVjdG9yeX0gVGhlIGNoaWxkIERpcmVjdG9yeSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXREaXJlY3RvcnkobmFtZTogc3RyaW5nKTogRGlyZWN0b3J5IHtcblx0XHRjb25zdCBjb2xsZWN0aW9uSW5zdGFuY2UgPSB0aGlzLm5hdGl2ZS5nZXRDb2xsZWN0aW9uKFJlZ2lzdHJ5RmFjYWRlLnRvUmVzb3VyY2VQYXRoKG5hbWUpKTtcblx0XHRyZXR1cm4gbmV3IERpcmVjdG9yeShjb2xsZWN0aW9uSW5zdGFuY2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWVzIG9mIGFsbCBmaWxlcyAoYXJ0ZWZhY3RzKSB3aXRoaW4gdGhpcyBkaXJlY3RvcnkuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQW4gYXJyYXkgb2YgYXJ0ZWZhY3QgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0QXJ0ZWZhY3RzTmFtZXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRSZXNvdXJjZXNOYW1lcygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgYSBzcGVjaWZpYyBmaWxlIChhcnRlZmFjdCkgYnkgbmFtZS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGFydGVmYWN0LlxuXHQgKiBAcmV0dXJucyB7QXJ0ZWZhY3R9IFRoZSBjaGlsZCBBcnRlZmFjdCBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRBcnRlZmFjdChuYW1lOiBzdHJpbmcpOiBBcnRlZmFjdCB7XG5cdFx0Y29uc3QgcmVzb3VyY2VJbnN0YW5jZSA9IHRoaXMubmF0aXZlLmdldFJlc291cmNlKFJlZ2lzdHJ5RmFjYWRlLnRvUmVzb3VyY2VQYXRoKG5hbWUpKTtcblx0XHRyZXR1cm4gbmV3IEFydGVmYWN0KHJlc291cmNlSW5zdGFuY2UpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgQXJ0ZWZhY3RJbmZvcm1hdGlvblxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgZGV0YWlsZWQgbWV0YWRhdGEgKGNyZWF0aW9uIGRhdGUsIHNpemUsIHBlcm1pc3Npb25zLCBldGMuKSBmb3IgYVxuICogRGlyZWN0b3J5IG9yIEFydGVmYWN0LlxuICovXG5leHBvcnQgY2xhc3MgQXJ0ZWZhY3RJbmZvcm1hdGlvbiB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgaG9sZGluZyB0aGUgYXJ0ZWZhY3QgaW5mb3JtYXRpb24uXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHJlZ2lzdHJ5IHBhdGggb2YgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcmVnaXN0cnkgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJ5RmFjYWRlLnRvUmVnaXN0cnlQYXRoKHRoaXMubmF0aXZlLmdldFBhdGgoKSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIGZvciB0aGUgcmVzb3VyY2UgKHR5cGljYWxseSBhbiBpbnRlZ2VyIGJpdG1hc2spLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgcGVybWlzc2lvbnMgdmFsdWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGVybWlzc2lvbnMoKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UGVybWlzc2lvbnMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBzaXplIG9mIHRoZSByZXNvdXJjZSBjb250ZW50IGluIGJ5dGVzLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgc2l6ZSBpbiBieXRlcy5cblx0ICovXG5cdHB1YmxpYyBnZXRTaXplKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldFNpemUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1c2VyIHdobyBjcmVhdGVkIHRoZSByZXNvdXJjZS5cblx0ICogQHJldHVybnMge3N0cmluZ30gVGhlIGNyZWF0b3IncyBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldENyZWF0ZWRCeSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDcmVhdGVkQnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjcmVhdGlvbiB0aW1lc3RhbXAuXG5cdCAqIEByZXR1cm5zIHtEYXRlfSBUaGUgY3JlYXRpb24gZGF0ZSBhbmQgdGltZS5cblx0ICovXG5cdHB1YmxpYyBnZXRDcmVhdGVkQXQoKTogRGF0ZSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENyZWF0ZWRBdCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVzZXIgd2hvIGxhc3QgbW9kaWZpZWQgdGhlIHJlc291cmNlLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbW9kaWZpZXIncyBuYW1lLlxuXHQgKi9cblx0cHVibGljIGdldE1vZGlmaWVkQnkoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TW9kaWZpZWRCeSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxhc3QgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcC5cblx0ICogQHJldHVybnMge0RhdGV9IFRoZSBtb2RpZmljYXRpb24gZGF0ZSBhbmQgdGltZS5cblx0ICovXG5cdHB1YmxpYyBnZXRNb2RpZmllZEF0KCk6IERhdGUge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5nZXRNb2RpZmllZEF0KCk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBSZWdpc3RyeTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLG1CQUFzQjtBQUN0Qix3QkFBMkI7QUFDM0IsTUFBTSxpQkFBaUIsS0FBSyxLQUFLLDhEQUE4RDtBQU94RixNQUFNLFNBQVM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU3JCLE9BQWMsV0FBVyxNQUFxQjtBQUM3QyxXQUFPLG1CQUFNLGtCQUFrQixlQUFlLFdBQVcsSUFBSSxDQUFDO0FBQUEsRUFDL0Q7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