@jigx/core-sdk 1.0.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 (902) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +87 -0
  3. package/dist/PACKAGE.d.ts +4 -0
  4. package/dist/PACKAGE.d.ts.map +1 -0
  5. package/dist/PACKAGE.js +5 -0
  6. package/dist/abstract/app-info.d.ts +8 -0
  7. package/dist/abstract/app-info.d.ts.map +1 -0
  8. package/dist/abstract/app-info.js +8 -0
  9. package/dist/abstract/app-name.d.ts +15 -0
  10. package/dist/abstract/app-name.d.ts.map +1 -0
  11. package/dist/abstract/app-name.js +28 -0
  12. package/dist/abstract/base-builder.d.ts +4 -0
  13. package/dist/abstract/base-builder.d.ts.map +1 -0
  14. package/dist/abstract/base-builder.js +3 -0
  15. package/dist/abstract/element-base-builder.d.ts +7 -0
  16. package/dist/abstract/element-base-builder.d.ts.map +1 -0
  17. package/dist/abstract/element-base-builder.js +11 -0
  18. package/dist/abstract/generic.d.ts +31 -0
  19. package/dist/abstract/generic.d.ts.map +1 -0
  20. package/dist/abstract/generic.js +2 -0
  21. package/dist/abstract/index.d.ts +12 -0
  22. package/dist/abstract/index.d.ts.map +1 -0
  23. package/dist/abstract/index.js +11 -0
  24. package/dist/abstract/register.d.ts +31 -0
  25. package/dist/abstract/register.d.ts.map +1 -0
  26. package/dist/abstract/register.js +48 -0
  27. package/dist/abstract/sdk.expression.d.ts +43 -0
  28. package/dist/abstract/sdk.expression.d.ts.map +1 -0
  29. package/dist/abstract/sdk.expression.js +175 -0
  30. package/dist/abstract/sdk.text.d.ts +23 -0
  31. package/dist/abstract/sdk.text.d.ts.map +1 -0
  32. package/dist/abstract/sdk.text.js +110 -0
  33. package/dist/abstract/sdk.types.d.ts +16 -0
  34. package/dist/abstract/sdk.types.d.ts.map +1 -0
  35. package/dist/abstract/sdk.types.js +88 -0
  36. package/dist/abstract/zod.strata.d.ts +17 -0
  37. package/dist/abstract/zod.strata.d.ts.map +1 -0
  38. package/dist/abstract/zod.strata.js +11 -0
  39. package/dist/abstract/zod.types.d.ts +1937 -0
  40. package/dist/abstract/zod.types.d.ts.map +1 -0
  41. package/dist/abstract/zod.types.js +848 -0
  42. package/dist/action/action-definition.builder.d.ts +16 -0
  43. package/dist/action/action-definition.builder.d.ts.map +1 -0
  44. package/dist/action/action-definition.builder.js +35 -0
  45. package/dist/action/action.descriptor.d.ts +8 -0
  46. package/dist/action/action.descriptor.d.ts.map +1 -0
  47. package/dist/action/action.descriptor.js +2 -0
  48. package/dist/action/index.d.ts +57 -0
  49. package/dist/action/index.d.ts.map +1 -0
  50. package/dist/action/index.js +48 -0
  51. package/dist/action/ja.abstract.d.ts +33 -0
  52. package/dist/action/ja.abstract.d.ts.map +1 -0
  53. package/dist/action/ja.abstract.js +58 -0
  54. package/dist/action/ja.action-definition.d.ts +11 -0
  55. package/dist/action/ja.action-definition.d.ts.map +1 -0
  56. package/dist/action/ja.action-definition.js +12 -0
  57. package/dist/action/ja.action-list.d.ts +9 -0
  58. package/dist/action/ja.action-list.d.ts.map +1 -0
  59. package/dist/action/ja.action-list.js +15 -0
  60. package/dist/action/ja.clear-queue.d.ts +9 -0
  61. package/dist/action/ja.clear-queue.d.ts.map +1 -0
  62. package/dist/action/ja.clear-queue.js +9 -0
  63. package/dist/action/ja.color.d.ts +3 -0
  64. package/dist/action/ja.color.d.ts.map +1 -0
  65. package/dist/action/ja.color.js +2 -0
  66. package/dist/action/ja.confirm.abstract.d.ts +16 -0
  67. package/dist/action/ja.confirm.abstract.d.ts.map +1 -0
  68. package/dist/action/ja.confirm.abstract.js +25 -0
  69. package/dist/action/ja.confirm.d.ts +23 -0
  70. package/dist/action/ja.confirm.d.ts.map +1 -0
  71. package/dist/action/ja.confirm.js +28 -0
  72. package/dist/action/ja.delete-queue-command.d.ts +9 -0
  73. package/dist/action/ja.delete-queue-command.d.ts.map +1 -0
  74. package/dist/action/ja.delete-queue-command.js +9 -0
  75. package/dist/action/ja.delete-sync-scope.d.ts +10 -0
  76. package/dist/action/ja.delete-sync-scope.d.ts.map +1 -0
  77. package/dist/action/ja.delete-sync-scope.js +14 -0
  78. package/dist/action/ja.delete-sync-status.d.ts +9 -0
  79. package/dist/action/ja.delete-sync-status.d.ts.map +1 -0
  80. package/dist/action/ja.delete-sync-status.js +9 -0
  81. package/dist/action/ja.evaluate.d.ts +12 -0
  82. package/dist/action/ja.evaluate.d.ts.map +1 -0
  83. package/dist/action/ja.evaluate.js +9 -0
  84. package/dist/action/ja.execute-action.d.ts +11 -0
  85. package/dist/action/ja.execute-action.d.ts.map +1 -0
  86. package/dist/action/ja.execute-action.js +15 -0
  87. package/dist/action/ja.execute-entities.d.ts +7 -0
  88. package/dist/action/ja.execute-entities.d.ts.map +1 -0
  89. package/dist/action/ja.execute-entities.js +8 -0
  90. package/dist/action/ja.execute-entity.abstract.d.ts +41 -0
  91. package/dist/action/ja.execute-entity.abstract.d.ts.map +1 -0
  92. package/dist/action/ja.execute-entity.abstract.js +104 -0
  93. package/dist/action/ja.execute-entity.d.ts +6 -0
  94. package/dist/action/ja.execute-entity.d.ts.map +1 -0
  95. package/dist/action/ja.execute-entity.dynamic-data.d.ts +6 -0
  96. package/dist/action/ja.execute-entity.dynamic-data.d.ts.map +1 -0
  97. package/dist/action/ja.execute-entity.dynamic-data.js +2 -0
  98. package/dist/action/ja.execute-entity.generic.d.ts +11 -0
  99. package/dist/action/ja.execute-entity.generic.d.ts.map +1 -0
  100. package/dist/action/ja.execute-entity.generic.js +2 -0
  101. package/dist/action/ja.execute-entity.js +8 -0
  102. package/dist/action/ja.execute-entity.sql.d.ts +12 -0
  103. package/dist/action/ja.execute-entity.sql.d.ts.map +1 -0
  104. package/dist/action/ja.execute-entity.sql.js +2 -0
  105. package/dist/action/ja.execute-sql.abstract.d.ts +6 -0
  106. package/dist/action/ja.execute-sql.abstract.d.ts.map +1 -0
  107. package/dist/action/ja.execute-sql.abstract.js +2 -0
  108. package/dist/action/ja.execute-sql.d.ts +16 -0
  109. package/dist/action/ja.execute-sql.d.ts.map +1 -0
  110. package/dist/action/ja.execute-sql.js +64 -0
  111. package/dist/action/ja.find-replace.d.ts +12 -0
  112. package/dist/action/ja.find-replace.d.ts.map +1 -0
  113. package/dist/action/ja.find-replace.js +22 -0
  114. package/dist/action/ja.generate-file.d.ts +11 -0
  115. package/dist/action/ja.generate-file.d.ts.map +1 -0
  116. package/dist/action/ja.generate-file.js +19 -0
  117. package/dist/action/ja.generate-pdf.d.ts +10 -0
  118. package/dist/action/ja.generate-pdf.d.ts.map +1 -0
  119. package/dist/action/ja.generate-pdf.js +10 -0
  120. package/dist/action/ja.go-back.d.ts +9 -0
  121. package/dist/action/ja.go-back.d.ts.map +1 -0
  122. package/dist/action/ja.go-back.js +11 -0
  123. package/dist/action/ja.go-to.d.ts +18 -0
  124. package/dist/action/ja.go-to.d.ts.map +1 -0
  125. package/dist/action/ja.go-to.js +41 -0
  126. package/dist/action/ja.in-background.d.ts +95 -0
  127. package/dist/action/ja.in-background.d.ts.map +1 -0
  128. package/dist/action/ja.in-background.factory.d.ts +88 -0
  129. package/dist/action/ja.in-background.factory.d.ts.map +1 -0
  130. package/dist/action/ja.in-background.factory.js +98 -0
  131. package/dist/action/ja.in-background.js +247 -0
  132. package/dist/action/ja.info-modal.d.ts +37 -0
  133. package/dist/action/ja.info-modal.d.ts.map +1 -0
  134. package/dist/action/ja.info-modal.js +61 -0
  135. package/dist/action/ja.jig-actions.d.ts +16 -0
  136. package/dist/action/ja.jig-actions.d.ts.map +1 -0
  137. package/dist/action/ja.jig-actions.js +35 -0
  138. package/dist/action/ja.on-button.factory.d.ts +89 -0
  139. package/dist/action/ja.on-button.factory.d.ts.map +1 -0
  140. package/dist/action/ja.on-button.factory.js +86 -0
  141. package/dist/action/ja.open-app-settings.d.ts +6 -0
  142. package/dist/action/ja.open-app-settings.d.ts.map +1 -0
  143. package/dist/action/ja.open-app-settings.js +8 -0
  144. package/dist/action/ja.open-map.abstract.d.ts +6 -0
  145. package/dist/action/ja.open-map.abstract.d.ts.map +1 -0
  146. package/dist/action/ja.open-map.abstract.js +2 -0
  147. package/dist/action/ja.open-map.d.ts +11 -0
  148. package/dist/action/ja.open-map.d.ts.map +1 -0
  149. package/dist/action/ja.open-map.js +25 -0
  150. package/dist/action/ja.open-media-picker.abstract.d.ts +8 -0
  151. package/dist/action/ja.open-media-picker.abstract.d.ts.map +1 -0
  152. package/dist/action/ja.open-media-picker.abstract.js +2 -0
  153. package/dist/action/ja.open-media-picker.d.ts +18 -0
  154. package/dist/action/ja.open-media-picker.d.ts.map +1 -0
  155. package/dist/action/ja.open-media-picker.js +46 -0
  156. package/dist/action/ja.open-scanner.d.ts +14 -0
  157. package/dist/action/ja.open-scanner.d.ts.map +1 -0
  158. package/dist/action/ja.open-scanner.js +23 -0
  159. package/dist/action/ja.open-url.d.ts +10 -0
  160. package/dist/action/ja.open-url.d.ts.map +1 -0
  161. package/dist/action/ja.open-url.js +13 -0
  162. package/dist/action/ja.print.d.ts +10 -0
  163. package/dist/action/ja.print.d.ts.map +1 -0
  164. package/dist/action/ja.print.js +17 -0
  165. package/dist/action/ja.reset-application-state.d.ts +9 -0
  166. package/dist/action/ja.reset-application-state.d.ts.map +1 -0
  167. package/dist/action/ja.reset-application-state.js +12 -0
  168. package/dist/action/ja.reset-component-state.d.ts +9 -0
  169. package/dist/action/ja.reset-component-state.d.ts.map +1 -0
  170. package/dist/action/ja.reset-component-state.js +13 -0
  171. package/dist/action/ja.reset-screen-state.d.ts +9 -0
  172. package/dist/action/ja.reset-screen-state.d.ts.map +1 -0
  173. package/dist/action/ja.reset-screen-state.js +12 -0
  174. package/dist/action/ja.reset-state.d.ts +9 -0
  175. package/dist/action/ja.reset-state.d.ts.map +1 -0
  176. package/dist/action/ja.reset-state.js +13 -0
  177. package/dist/action/ja.retry-queue-command.d.ts +9 -0
  178. package/dist/action/ja.retry-queue-command.d.ts.map +1 -0
  179. package/dist/action/ja.retry-queue-command.js +9 -0
  180. package/dist/action/ja.sdk.d.ts +4 -0
  181. package/dist/action/ja.sdk.d.ts.map +1 -0
  182. package/dist/action/ja.sdk.js +2 -0
  183. package/dist/action/ja.set-active-tab.d.ts +13 -0
  184. package/dist/action/ja.set-active-tab.d.ts.map +1 -0
  185. package/dist/action/ja.set-active-tab.js +29 -0
  186. package/dist/action/ja.set-application-state.d.ts +9 -0
  187. package/dist/action/ja.set-application-state.d.ts.map +1 -0
  188. package/dist/action/ja.set-application-state.js +17 -0
  189. package/dist/action/ja.set-screen-state.d.ts +9 -0
  190. package/dist/action/ja.set-screen-state.d.ts.map +1 -0
  191. package/dist/action/ja.set-screen-state.js +12 -0
  192. package/dist/action/ja.share.d.ts +12 -0
  193. package/dist/action/ja.share.d.ts.map +1 -0
  194. package/dist/action/ja.share.js +23 -0
  195. package/dist/action/ja.show-alert.d.ts +33 -0
  196. package/dist/action/ja.show-alert.d.ts.map +1 -0
  197. package/dist/action/ja.show-alert.js +61 -0
  198. package/dist/action/ja.start-location-sharing.abstract.d.ts +6 -0
  199. package/dist/action/ja.start-location-sharing.abstract.d.ts.map +1 -0
  200. package/dist/action/ja.start-location-sharing.abstract.js +2 -0
  201. package/dist/action/ja.start-location-sharing.d.ts +18 -0
  202. package/dist/action/ja.start-location-sharing.d.ts.map +1 -0
  203. package/dist/action/ja.start-location-sharing.js +33 -0
  204. package/dist/action/ja.start-sync-scope.d.ts +9 -0
  205. package/dist/action/ja.start-sync-scope.d.ts.map +1 -0
  206. package/dist/action/ja.start-sync-scope.js +18 -0
  207. package/dist/action/ja.stop-location-sharing.d.ts +6 -0
  208. package/dist/action/ja.stop-location-sharing.d.ts.map +1 -0
  209. package/dist/action/ja.stop-location-sharing.js +8 -0
  210. package/dist/action/ja.submit-form.abstract.d.ts +11 -0
  211. package/dist/action/ja.submit-form.abstract.d.ts.map +1 -0
  212. package/dist/action/ja.submit-form.abstract.js +2 -0
  213. package/dist/action/ja.submit-form.d.ts +31 -0
  214. package/dist/action/ja.submit-form.d.ts.map +1 -0
  215. package/dist/action/ja.submit-form.js +124 -0
  216. package/dist/action/ja.swipeable-action.d.ts +19 -0
  217. package/dist/action/ja.swipeable-action.d.ts.map +1 -0
  218. package/dist/action/ja.swipeable-action.js +25 -0
  219. package/dist/action/ja.sync-entities.abstract.d.ts +25 -0
  220. package/dist/action/ja.sync-entities.abstract.d.ts.map +1 -0
  221. package/dist/action/ja.sync-entities.abstract.js +2 -0
  222. package/dist/action/ja.sync-entities.d.ts +32 -0
  223. package/dist/action/ja.sync-entities.d.ts.map +1 -0
  224. package/dist/action/ja.sync-entities.js +142 -0
  225. package/dist/action/ja.update-profile.d.ts +12 -0
  226. package/dist/action/ja.update-profile.d.ts.map +1 -0
  227. package/dist/action/ja.update-profile.js +20 -0
  228. package/dist/application/application.sdk.d.ts +84 -0
  229. package/dist/application/application.sdk.d.ts.map +1 -0
  230. package/dist/application/application.sdk.js +217 -0
  231. package/dist/application/application.tab.d.ts +20 -0
  232. package/dist/application/application.tab.d.ts.map +1 -0
  233. package/dist/application/application.tab.js +45 -0
  234. package/dist/application/context.sdk.d.ts +48 -0
  235. package/dist/application/context.sdk.d.ts.map +1 -0
  236. package/dist/application/context.sdk.js +116 -0
  237. package/dist/application/index.d.ts +4 -0
  238. package/dist/application/index.d.ts.map +1 -0
  239. package/dist/application/index.js +4 -0
  240. package/dist/assets/example-extraction-cache.json +9 -0
  241. package/dist/assets/extracted-core-sdk-examples.yaml +44440 -0
  242. package/dist/assets/extracted-core-sdk-types.yaml +12100 -0
  243. package/dist/assets/stream-line-icons.csv +19281 -0
  244. package/dist/assets/type-extraction-cache.json +9 -0
  245. package/dist/builder/application-analyzer/application-analyzer.d.ts +42 -0
  246. package/dist/builder/application-analyzer/application-analyzer.d.ts.map +1 -0
  247. package/dist/builder/application-analyzer/application-analyzer.js +150 -0
  248. package/dist/builder/application-analyzer/create-application-analyzer.d.ts +17 -0
  249. package/dist/builder/application-analyzer/create-application-analyzer.d.ts.map +1 -0
  250. package/dist/builder/application-analyzer/create-application-analyzer.js +121 -0
  251. package/dist/builder/application-analyzer/index.d.ts +5 -0
  252. package/dist/builder/application-analyzer/index.d.ts.map +1 -0
  253. package/dist/builder/application-analyzer/index.js +5 -0
  254. package/dist/builder/application-analyzer/select-component-nodes.d.ts +7 -0
  255. package/dist/builder/application-analyzer/select-component-nodes.d.ts.map +1 -0
  256. package/dist/builder/application-analyzer/select-component-nodes.js +15 -0
  257. package/dist/builder/application-analyzer/select-datasource-node-by-id.d.ts +8 -0
  258. package/dist/builder/application-analyzer/select-datasource-node-by-id.d.ts.map +1 -0
  259. package/dist/builder/application-analyzer/select-datasource-node-by-id.js +20 -0
  260. package/dist/builder/application-analyzer/types.d.ts +60 -0
  261. package/dist/builder/application-analyzer/types.d.ts.map +1 -0
  262. package/dist/builder/application-analyzer/types.js +16 -0
  263. package/dist/builder/application-analyzer/utils.d.ts +3 -0
  264. package/dist/builder/application-analyzer/utils.d.ts.map +1 -0
  265. package/dist/builder/application-analyzer/utils.js +8 -0
  266. package/dist/builder/builder.d.ts +8 -0
  267. package/dist/builder/builder.d.ts.map +1 -0
  268. package/dist/builder/builder.js +54 -0
  269. package/dist/builder/index.d.ts +5 -0
  270. package/dist/builder/index.d.ts.map +1 -0
  271. package/dist/builder/index.js +4 -0
  272. package/dist/builder/transform-summary.d.ts +3 -0
  273. package/dist/builder/transform-summary.d.ts.map +1 -0
  274. package/dist/builder/transform-summary.js +39 -0
  275. package/dist/builder/types.d.ts +8 -0
  276. package/dist/builder/types.d.ts.map +1 -0
  277. package/dist/builder/types.js +2 -0
  278. package/dist/builder/validate-datasource-ids.d.ts +17 -0
  279. package/dist/builder/validate-datasource-ids.d.ts.map +1 -0
  280. package/dist/builder/validate-datasource-ids.js +51 -0
  281. package/dist/component/common/index.d.ts +22 -0
  282. package/dist/component/common/index.d.ts.map +1 -0
  283. package/dist/component/common/index.js +16 -0
  284. package/dist/component/common/jc.avatar-field.types.d.ts +9 -0
  285. package/dist/component/common/jc.avatar-field.types.d.ts.map +1 -0
  286. package/dist/component/common/jc.avatar-field.types.js +11 -0
  287. package/dist/component/common/jc.chart.common.abstract.d.ts +85 -0
  288. package/dist/component/common/jc.chart.common.abstract.d.ts.map +1 -0
  289. package/dist/component/common/jc.chart.common.abstract.js +2 -0
  290. package/dist/component/common/jc.chart.common.builders.d.ts +37 -0
  291. package/dist/component/common/jc.chart.common.builders.d.ts.map +1 -0
  292. package/dist/component/common/jc.chart.common.builders.js +81 -0
  293. package/dist/component/common/jc.component.types.d.ts +101 -0
  294. package/dist/component/common/jc.component.types.d.ts.map +1 -0
  295. package/dist/component/common/jc.component.types.js +144 -0
  296. package/dist/component/common/jc.context.d.ts +7 -0
  297. package/dist/component/common/jc.context.d.ts.map +1 -0
  298. package/dist/component/common/jc.context.js +2 -0
  299. package/dist/component/common/jc.element.types.d.ts +14 -0
  300. package/dist/component/common/jc.element.types.d.ts.map +1 -0
  301. package/dist/component/common/jc.element.types.js +13 -0
  302. package/dist/component/common/jc.field-base.builder.d.ts +21 -0
  303. package/dist/component/common/jc.field-base.builder.d.ts.map +1 -0
  304. package/dist/component/common/jc.field-base.builder.js +101 -0
  305. package/dist/component/common/jc.field-base.types.d.ts +28 -0
  306. package/dist/component/common/jc.field-base.types.d.ts.map +1 -0
  307. package/dist/component/common/jc.field-base.types.js +2 -0
  308. package/dist/component/common/jc.left-right.element.avatar.d.ts +11 -0
  309. package/dist/component/common/jc.left-right.element.avatar.d.ts.map +1 -0
  310. package/dist/component/common/jc.left-right.element.avatar.js +18 -0
  311. package/dist/component/common/jc.left-right.element.badge.d.ts +11 -0
  312. package/dist/component/common/jc.left-right.element.badge.d.ts.map +1 -0
  313. package/dist/component/common/jc.left-right.element.badge.js +17 -0
  314. package/dist/component/common/jc.left-right.element.button.d.ts +11 -0
  315. package/dist/component/common/jc.left-right.element.button.d.ts.map +1 -0
  316. package/dist/component/common/jc.left-right.element.button.js +14 -0
  317. package/dist/component/common/jc.left-right.element.checkbox.d.ts +13 -0
  318. package/dist/component/common/jc.left-right.element.checkbox.d.ts.map +1 -0
  319. package/dist/component/common/jc.left-right.element.checkbox.js +21 -0
  320. package/dist/component/common/jc.left-right.element.d.ts +31 -0
  321. package/dist/component/common/jc.left-right.element.d.ts.map +1 -0
  322. package/dist/component/common/jc.left-right.element.icon.d.ts +18 -0
  323. package/dist/component/common/jc.left-right.element.icon.d.ts.map +1 -0
  324. package/dist/component/common/jc.left-right.element.icon.js +32 -0
  325. package/dist/component/common/jc.left-right.element.image.d.ts +16 -0
  326. package/dist/component/common/jc.left-right.element.image.d.ts.map +1 -0
  327. package/dist/component/common/jc.left-right.element.image.js +29 -0
  328. package/dist/component/common/jc.left-right.element.js +2 -0
  329. package/dist/component/common/jc.left-right.element.progress.d.ts +11 -0
  330. package/dist/component/common/jc.left-right.element.progress.d.ts.map +1 -0
  331. package/dist/component/common/jc.left-right.element.progress.js +17 -0
  332. package/dist/component/common/jc.left-right.element.switch.d.ts +13 -0
  333. package/dist/component/common/jc.left-right.element.switch.d.ts.map +1 -0
  334. package/dist/component/common/jc.left-right.element.switch.js +21 -0
  335. package/dist/component/common/jc.left-right.element.value.d.ts +10 -0
  336. package/dist/component/common/jc.left-right.element.value.d.ts.map +1 -0
  337. package/dist/component/common/jc.left-right.element.value.js +12 -0
  338. package/dist/component/common/jc.picker-field-options.types.d.ts +13 -0
  339. package/dist/component/common/jc.picker-field-options.types.d.ts.map +1 -0
  340. package/dist/component/common/jc.picker-field-options.types.js +2 -0
  341. package/dist/component/common/jc.text.types.d.ts +6 -0
  342. package/dist/component/common/jc.text.types.d.ts.map +1 -0
  343. package/dist/component/common/jc.text.types.js +2 -0
  344. package/dist/component/common/jc.validation.d.ts +9 -0
  345. package/dist/component/common/jc.validation.d.ts.map +1 -0
  346. package/dist/component/common/jc.validation.js +48 -0
  347. package/dist/component/index.d.ts +86 -0
  348. package/dist/component/index.d.ts.map +1 -0
  349. package/dist/component/index.js +83 -0
  350. package/dist/component/jc.abstract.d.ts +32 -0
  351. package/dist/component/jc.abstract.d.ts.map +1 -0
  352. package/dist/component/jc.abstract.factory.d.ts +488 -0
  353. package/dist/component/jc.abstract.factory.d.ts.map +1 -0
  354. package/dist/component/jc.abstract.factory.js +757 -0
  355. package/dist/component/jc.abstract.js +53 -0
  356. package/dist/component/jc.abstract.utils.d.ts +3 -0
  357. package/dist/component/jc.abstract.utils.d.ts.map +1 -0
  358. package/dist/component/jc.abstract.utils.js +26 -0
  359. package/dist/component/jc.amount-control.d.ts +16 -0
  360. package/dist/component/jc.amount-control.d.ts.map +1 -0
  361. package/dist/component/jc.amount-control.js +36 -0
  362. package/dist/component/jc.avatar-field.d.ts +11 -0
  363. package/dist/component/jc.avatar-field.d.ts.map +1 -0
  364. package/dist/component/jc.avatar-field.js +27 -0
  365. package/dist/component/jc.avatar.d.ts +14 -0
  366. package/dist/component/jc.avatar.d.ts.map +1 -0
  367. package/dist/component/jc.avatar.js +26 -0
  368. package/dist/component/jc.banner.d.ts +81 -0
  369. package/dist/component/jc.banner.d.ts.map +1 -0
  370. package/dist/component/jc.banner.js +49 -0
  371. package/dist/component/jc.bar-chart.d.ts +23 -0
  372. package/dist/component/jc.bar-chart.d.ts.map +1 -0
  373. package/dist/component/jc.bar-chart.js +45 -0
  374. package/dist/component/jc.button.d.ts +20 -0
  375. package/dist/component/jc.button.d.ts.map +1 -0
  376. package/dist/component/jc.button.js +39 -0
  377. package/dist/component/jc.card.abstract.d.ts +14 -0
  378. package/dist/component/jc.card.abstract.d.ts.map +1 -0
  379. package/dist/component/jc.card.abstract.js +31 -0
  380. package/dist/component/jc.card.on-default.d.ts +91 -0
  381. package/dist/component/jc.card.on-default.d.ts.map +1 -0
  382. package/dist/component/jc.card.on-default.js +96 -0
  383. package/dist/component/jc.carousel.d.ts +31 -0
  384. package/dist/component/jc.carousel.d.ts.map +1 -0
  385. package/dist/component/jc.carousel.js +58 -0
  386. package/dist/component/jc.chat-message.d.ts +17 -0
  387. package/dist/component/jc.chat-message.d.ts.map +1 -0
  388. package/dist/component/jc.chat-message.js +32 -0
  389. package/dist/component/jc.chat.d.ts +23 -0
  390. package/dist/component/jc.chat.d.ts.map +1 -0
  391. package/dist/component/jc.chat.js +68 -0
  392. package/dist/component/jc.checkbox.d.ts +15 -0
  393. package/dist/component/jc.checkbox.d.ts.map +1 -0
  394. package/dist/component/jc.checkbox.js +38 -0
  395. package/dist/component/jc.choice-field-item.d.ts +15 -0
  396. package/dist/component/jc.choice-field-item.d.ts.map +1 -0
  397. package/dist/component/jc.choice-field-item.js +41 -0
  398. package/dist/component/jc.choice-field.d.ts +21 -0
  399. package/dist/component/jc.choice-field.d.ts.map +1 -0
  400. package/dist/component/jc.choice-field.js +34 -0
  401. package/dist/component/jc.count-down.d.ts +18 -0
  402. package/dist/component/jc.count-down.d.ts.map +1 -0
  403. package/dist/component/jc.count-down.js +55 -0
  404. package/dist/component/jc.count-up.d.ts +15 -0
  405. package/dist/component/jc.count-up.d.ts.map +1 -0
  406. package/dist/component/jc.count-up.js +42 -0
  407. package/dist/component/jc.custom-component.interop.d.ts +58 -0
  408. package/dist/component/jc.custom-component.interop.d.ts.map +1 -0
  409. package/dist/component/jc.custom-component.interop.js +115 -0
  410. package/dist/component/jc.date-picker.d.ts +15 -0
  411. package/dist/component/jc.date-picker.d.ts.map +1 -0
  412. package/dist/component/jc.date-picker.js +31 -0
  413. package/dist/component/jc.divider.d.ts +7 -0
  414. package/dist/component/jc.divider.d.ts.map +1 -0
  415. package/dist/component/jc.divider.js +8 -0
  416. package/dist/component/jc.dropdown.d.ts +20 -0
  417. package/dist/component/jc.dropdown.d.ts.map +1 -0
  418. package/dist/component/jc.dropdown.item.d.ts +22 -0
  419. package/dist/component/jc.dropdown.item.d.ts.map +1 -0
  420. package/dist/component/jc.dropdown.item.js +85 -0
  421. package/dist/component/jc.dropdown.js +33 -0
  422. package/dist/component/jc.duration-picker.d.ts +18 -0
  423. package/dist/component/jc.duration-picker.d.ts.map +1 -0
  424. package/dist/component/jc.duration-picker.js +35 -0
  425. package/dist/component/jc.email-field.d.ts +11 -0
  426. package/dist/component/jc.email-field.d.ts.map +1 -0
  427. package/dist/component/jc.email-field.js +19 -0
  428. package/dist/component/jc.entity-field.d.ts +23 -0
  429. package/dist/component/jc.entity-field.d.ts.map +1 -0
  430. package/dist/component/jc.entity-field.js +71 -0
  431. package/dist/component/jc.entity.d.ts +15 -0
  432. package/dist/component/jc.entity.d.ts.map +1 -0
  433. package/dist/component/jc.entity.js +27 -0
  434. package/dist/component/jc.event.d.ts +22 -0
  435. package/dist/component/jc.event.d.ts.map +1 -0
  436. package/dist/component/jc.event.js +68 -0
  437. package/dist/component/jc.expander.d.ts +49 -0
  438. package/dist/component/jc.expander.d.ts.map +1 -0
  439. package/dist/component/jc.expander.header.d.ts +25 -0
  440. package/dist/component/jc.expander.header.d.ts.map +1 -0
  441. package/dist/component/jc.expander.header.js +39 -0
  442. package/dist/component/jc.expander.js +53 -0
  443. package/dist/component/jc.field-row.d.ts +34 -0
  444. package/dist/component/jc.field-row.d.ts.map +1 -0
  445. package/dist/component/jc.field-row.entity.d.ts +12 -0
  446. package/dist/component/jc.field-row.entity.d.ts.map +1 -0
  447. package/dist/component/jc.field-row.entity.js +35 -0
  448. package/dist/component/jc.field-row.js +37 -0
  449. package/dist/component/jc.form.d.ts +98 -0
  450. package/dist/component/jc.form.d.ts.map +1 -0
  451. package/dist/component/jc.form.js +127 -0
  452. package/dist/component/jc.gallery-item.d.ts +12 -0
  453. package/dist/component/jc.gallery-item.d.ts.map +1 -0
  454. package/dist/component/jc.gallery-item.js +24 -0
  455. package/dist/component/jc.grid-item.d.ts +15 -0
  456. package/dist/component/jc.grid-item.d.ts.map +1 -0
  457. package/dist/component/jc.grid-item.js +31 -0
  458. package/dist/component/jc.grid.d.ts +16 -0
  459. package/dist/component/jc.grid.d.ts.map +1 -0
  460. package/dist/component/jc.grid.js +64 -0
  461. package/dist/component/jc.guards.d.ts +17 -0
  462. package/dist/component/jc.guards.d.ts.map +1 -0
  463. package/dist/component/jc.guards.js +14 -0
  464. package/dist/component/jc.icon.d.ts +19 -0
  465. package/dist/component/jc.icon.d.ts.map +1 -0
  466. package/dist/component/jc.icon.js +41 -0
  467. package/dist/component/jc.image.abstract.d.ts +28 -0
  468. package/dist/component/jc.image.abstract.d.ts.map +1 -0
  469. package/dist/component/jc.image.abstract.js +52 -0
  470. package/dist/component/jc.image.d.ts +5 -0
  471. package/dist/component/jc.image.d.ts.map +1 -0
  472. package/dist/component/jc.image.js +2 -0
  473. package/dist/component/jc.image.on-carousel.d.ts +23 -0
  474. package/dist/component/jc.image.on-carousel.d.ts.map +1 -0
  475. package/dist/component/jc.image.on-carousel.js +19 -0
  476. package/dist/component/jc.image.on-default.d.ts +25 -0
  477. package/dist/component/jc.image.on-default.d.ts.map +1 -0
  478. package/dist/component/jc.image.on-default.js +22 -0
  479. package/dist/component/jc.interactive-image.d.ts +41 -0
  480. package/dist/component/jc.interactive-image.d.ts.map +1 -0
  481. package/dist/component/jc.interactive-image.item.d.ts +24 -0
  482. package/dist/component/jc.interactive-image.item.d.ts.map +1 -0
  483. package/dist/component/jc.interactive-image.item.js +78 -0
  484. package/dist/component/jc.interactive-image.js +78 -0
  485. package/dist/component/jc.jig-header.d.ts +19 -0
  486. package/dist/component/jc.jig-header.d.ts.map +1 -0
  487. package/dist/component/jc.jig-header.js +42 -0
  488. package/dist/component/jc.jig-widget.d.ts +15 -0
  489. package/dist/component/jc.jig-widget.d.ts.map +1 -0
  490. package/dist/component/jc.jig-widget.js +41 -0
  491. package/dist/component/jc.jig.d.ts +11 -0
  492. package/dist/component/jc.jig.d.ts.map +1 -0
  493. package/dist/component/jc.jig.js +24 -0
  494. package/dist/component/jc.line-chart.d.ts +28 -0
  495. package/dist/component/jc.line-chart.d.ts.map +1 -0
  496. package/dist/component/jc.line-chart.js +45 -0
  497. package/dist/component/jc.list-item.d.ts +106 -0
  498. package/dist/component/jc.list-item.d.ts.map +1 -0
  499. package/dist/component/jc.list-item.js +274 -0
  500. package/dist/component/jc.list-item.standalone.d.ts +13 -0
  501. package/dist/component/jc.list-item.standalone.d.ts.map +1 -0
  502. package/dist/component/jc.list-item.standalone.js +10 -0
  503. package/dist/component/jc.list.abstract.d.ts +36 -0
  504. package/dist/component/jc.list.abstract.d.ts.map +1 -0
  505. package/dist/component/jc.list.abstract.js +2 -0
  506. package/dist/component/jc.list.d.ts +39 -0
  507. package/dist/component/jc.list.d.ts.map +1 -0
  508. package/dist/component/jc.list.js +95 -0
  509. package/dist/component/jc.location.d.ts +41 -0
  510. package/dist/component/jc.location.d.ts.map +1 -0
  511. package/dist/component/jc.location.js +63 -0
  512. package/dist/component/jc.marker-item.d.ts +29 -0
  513. package/dist/component/jc.marker-item.d.ts.map +1 -0
  514. package/dist/component/jc.marker-item.js +48 -0
  515. package/dist/component/jc.media-field.d.ts +13 -0
  516. package/dist/component/jc.media-field.d.ts.map +1 -0
  517. package/dist/component/jc.media-field.js +37 -0
  518. package/dist/component/jc.menu-item.d.ts +89 -0
  519. package/dist/component/jc.menu-item.d.ts.map +1 -0
  520. package/dist/component/jc.menu-item.js +65 -0
  521. package/dist/component/jc.number-field.d.ts +21 -0
  522. package/dist/component/jc.number-field.d.ts.map +1 -0
  523. package/dist/component/jc.number-field.js +33 -0
  524. package/dist/component/jc.pie-chart.d.ts +26 -0
  525. package/dist/component/jc.pie-chart.d.ts.map +1 -0
  526. package/dist/component/jc.pie-chart.js +45 -0
  527. package/dist/component/jc.product-item.amount.d.ts +17 -0
  528. package/dist/component/jc.product-item.amount.d.ts.map +1 -0
  529. package/dist/component/jc.product-item.amount.js +31 -0
  530. package/dist/component/jc.product-item.d.ts +30 -0
  531. package/dist/component/jc.product-item.d.ts.map +1 -0
  532. package/dist/component/jc.product-item.js +68 -0
  533. package/dist/component/jc.progress-bar.d.ts +45 -0
  534. package/dist/component/jc.progress-bar.d.ts.map +1 -0
  535. package/dist/component/jc.progress-bar.js +58 -0
  536. package/dist/component/jc.rating.d.ts +17 -0
  537. package/dist/component/jc.rating.d.ts.map +1 -0
  538. package/dist/component/jc.rating.js +38 -0
  539. package/dist/component/jc.section.abstract.d.ts +87 -0
  540. package/dist/component/jc.section.abstract.d.ts.map +1 -0
  541. package/dist/component/jc.section.abstract.js +33 -0
  542. package/dist/component/jc.section.on-default.d.ts +85 -0
  543. package/dist/component/jc.section.on-default.d.ts.map +1 -0
  544. package/dist/component/jc.section.on-default.js +85 -0
  545. package/dist/component/jc.section.on-entity.d.ts +11 -0
  546. package/dist/component/jc.section.on-entity.d.ts.map +1 -0
  547. package/dist/component/jc.section.on-entity.js +11 -0
  548. package/dist/component/jc.segmented-control.d.ts +23 -0
  549. package/dist/component/jc.segmented-control.d.ts.map +1 -0
  550. package/dist/component/jc.segmented-control.js +66 -0
  551. package/dist/component/jc.signature-field.d.ts +11 -0
  552. package/dist/component/jc.signature-field.d.ts.map +1 -0
  553. package/dist/component/jc.signature-field.js +18 -0
  554. package/dist/component/jc.slider.d.ts +36 -0
  555. package/dist/component/jc.slider.d.ts.map +1 -0
  556. package/dist/component/jc.slider.js +53 -0
  557. package/dist/component/jc.stage.d.ts +23 -0
  558. package/dist/component/jc.stage.d.ts.map +1 -0
  559. package/dist/component/jc.stage.js +31 -0
  560. package/dist/component/jc.step.d.ts +30 -0
  561. package/dist/component/jc.step.d.ts.map +1 -0
  562. package/dist/component/jc.step.js +35 -0
  563. package/dist/component/jc.stepper.d.ts +34 -0
  564. package/dist/component/jc.stepper.d.ts.map +1 -0
  565. package/dist/component/jc.stepper.js +59 -0
  566. package/dist/component/jc.story-group.d.ts +18 -0
  567. package/dist/component/jc.story-group.d.ts.map +1 -0
  568. package/dist/component/jc.story-group.js +27 -0
  569. package/dist/component/jc.summary.abstract.d.ts +15 -0
  570. package/dist/component/jc.summary.abstract.d.ts.map +1 -0
  571. package/dist/component/jc.summary.abstract.js +29 -0
  572. package/dist/component/jc.summary.card.d.ts +14 -0
  573. package/dist/component/jc.summary.card.d.ts.map +1 -0
  574. package/dist/component/jc.summary.card.js +36 -0
  575. package/dist/component/jc.summary.counter.d.ts +12 -0
  576. package/dist/component/jc.summary.counter.d.ts.map +1 -0
  577. package/dist/component/jc.summary.counter.js +28 -0
  578. package/dist/component/jc.summary.default.d.ts +16 -0
  579. package/dist/component/jc.summary.default.d.ts.map +1 -0
  580. package/dist/component/jc.summary.default.js +34 -0
  581. package/dist/component/jc.summary.progress.d.ts +46 -0
  582. package/dist/component/jc.summary.progress.d.ts.map +1 -0
  583. package/dist/component/jc.summary.progress.js +35 -0
  584. package/dist/component/jc.tab-button.d.ts +18 -0
  585. package/dist/component/jc.tab-button.d.ts.map +1 -0
  586. package/dist/component/jc.tab-button.js +43 -0
  587. package/dist/component/jc.text-field.d.ts +20 -0
  588. package/dist/component/jc.text-field.d.ts.map +1 -0
  589. package/dist/component/jc.text-field.js +49 -0
  590. package/dist/component/jc.text.d.ts +24 -0
  591. package/dist/component/jc.text.d.ts.map +1 -0
  592. package/dist/component/jc.text.js +44 -0
  593. package/dist/component/jc.titles.d.ts +19 -0
  594. package/dist/component/jc.titles.d.ts.map +1 -0
  595. package/dist/component/jc.titles.js +34 -0
  596. package/dist/component/jc.trend.d.ts +18 -0
  597. package/dist/component/jc.trend.d.ts.map +1 -0
  598. package/dist/component/jc.trend.js +31 -0
  599. package/dist/component/jc.types.d.ts +75 -0
  600. package/dist/component/jc.types.d.ts.map +1 -0
  601. package/dist/component/jc.types.js +74 -0
  602. package/dist/component/jc.video-player.abstract.d.ts +28 -0
  603. package/dist/component/jc.video-player.abstract.d.ts.map +1 -0
  604. package/dist/component/jc.video-player.abstract.js +38 -0
  605. package/dist/component/jc.video-player.d.ts +4 -0
  606. package/dist/component/jc.video-player.d.ts.map +1 -0
  607. package/dist/component/jc.video-player.js +2 -0
  608. package/dist/component/jc.video-player.on-jig.d.ts +25 -0
  609. package/dist/component/jc.video-player.on-jig.d.ts.map +1 -0
  610. package/dist/component/jc.video-player.on-jig.js +31 -0
  611. package/dist/component/jc.view.d.ts +158 -0
  612. package/dist/component/jc.view.d.ts.map +1 -0
  613. package/dist/component/jc.view.js +85 -0
  614. package/dist/component/jc.web-view.abstract.d.ts +15 -0
  615. package/dist/component/jc.web-view.abstract.d.ts.map +1 -0
  616. package/dist/component/jc.web-view.abstract.js +33 -0
  617. package/dist/component/jc.web-view.on-default.d.ts +5 -0
  618. package/dist/component/jc.web-view.on-default.d.ts.map +1 -0
  619. package/dist/component/jc.web-view.on-default.js +4 -0
  620. package/dist/component/jc.web-view.on-full.d.ts +10 -0
  621. package/dist/component/jc.web-view.on-full.d.ts.map +1 -0
  622. package/dist/component/jc.web-view.on-full.js +14 -0
  623. package/dist/database/database.abstract.d.ts +39 -0
  624. package/dist/database/database.abstract.d.ts.map +1 -0
  625. package/dist/database/database.abstract.js +42 -0
  626. package/dist/database/index.d.ts +2 -0
  627. package/dist/database/index.d.ts.map +1 -0
  628. package/dist/database/index.js +2 -0
  629. package/dist/datasource/datasource.abstract.d.ts +39 -0
  630. package/dist/datasource/datasource.abstract.d.ts.map +1 -0
  631. package/dist/datasource/datasource.abstract.js +47 -0
  632. package/dist/datasource/datasource.descriptor.d.ts +11 -0
  633. package/dist/datasource/datasource.descriptor.d.ts.map +1 -0
  634. package/dist/datasource/datasource.descriptor.js +2 -0
  635. package/dist/datasource/datasource.reference.d.ts +33 -0
  636. package/dist/datasource/datasource.reference.d.ts.map +1 -0
  637. package/dist/datasource/datasource.reference.js +66 -0
  638. package/dist/datasource/datasource.sdk.d.ts +7 -0
  639. package/dist/datasource/datasource.sdk.d.ts.map +1 -0
  640. package/dist/datasource/datasource.sdk.js +5 -0
  641. package/dist/datasource/datasource.sqlite.d.ts +88 -0
  642. package/dist/datasource/datasource.sqlite.d.ts.map +1 -0
  643. package/dist/datasource/datasource.sqlite.js +286 -0
  644. package/dist/datasource/datasource.static.d.ts +21 -0
  645. package/dist/datasource/datasource.static.d.ts.map +1 -0
  646. package/dist/datasource/datasource.static.js +30 -0
  647. package/dist/datasource/datasource.system.d.ts +18 -0
  648. package/dist/datasource/datasource.system.d.ts.map +1 -0
  649. package/dist/datasource/datasource.system.js +10 -0
  650. package/dist/datasource/entity.descriptor.d.ts +9 -0
  651. package/dist/datasource/entity.descriptor.d.ts.map +1 -0
  652. package/dist/datasource/entity.descriptor.js +2 -0
  653. package/dist/datasource/index.d.ts +11 -0
  654. package/dist/datasource/index.d.ts.map +1 -0
  655. package/dist/datasource/index.js +9 -0
  656. package/dist/datasource/sqlite-normalizer.d.ts +3 -0
  657. package/dist/datasource/sqlite-normalizer.d.ts.map +1 -0
  658. package/dist/datasource/sqlite-normalizer.js +194 -0
  659. package/dist/datasource/sqlite-validator.d.ts +28 -0
  660. package/dist/datasource/sqlite-validator.d.ts.map +1 -0
  661. package/dist/datasource/sqlite-validator.js +218 -0
  662. package/dist/function/function.abstract.d.ts +538 -0
  663. package/dist/function/function.abstract.d.ts.map +1 -0
  664. package/dist/function/function.abstract.js +271 -0
  665. package/dist/function/function.guard.d.ts +17 -0
  666. package/dist/function/function.guard.d.ts.map +1 -0
  667. package/dist/function/function.guard.js +62 -0
  668. package/dist/function/function.operation.d.ts +26 -0
  669. package/dist/function/function.operation.d.ts.map +1 -0
  670. package/dist/function/function.operation.js +118 -0
  671. package/dist/function/function.rest.continuation.d.ts +12 -0
  672. package/dist/function/function.rest.continuation.d.ts.map +1 -0
  673. package/dist/function/function.rest.continuation.js +24 -0
  674. package/dist/function/function.rest.d.ts +31 -0
  675. package/dist/function/function.rest.d.ts.map +1 -0
  676. package/dist/function/function.rest.error-builder.d.ts +38 -0
  677. package/dist/function/function.rest.error-builder.d.ts.map +1 -0
  678. package/dist/function/function.rest.error-builder.js +161 -0
  679. package/dist/function/function.rest.js +72 -0
  680. package/dist/function/function.rest.parameter-builder.d.ts +33 -0
  681. package/dist/function/function.rest.parameter-builder.d.ts.map +1 -0
  682. package/dist/function/function.rest.parameter-builder.js +81 -0
  683. package/dist/function/function.rest.types.d.ts +28 -0
  684. package/dist/function/function.rest.types.d.ts.map +1 -0
  685. package/dist/function/function.rest.types.js +2 -0
  686. package/dist/function/function.sdk.d.ts +10 -0
  687. package/dist/function/function.sdk.d.ts.map +1 -0
  688. package/dist/function/function.sdk.js +12 -0
  689. package/dist/function/function.soap.d.ts +19 -0
  690. package/dist/function/function.soap.d.ts.map +1 -0
  691. package/dist/function/function.soap.js +36 -0
  692. package/dist/function/function.soap.parameter-builder.d.ts +25 -0
  693. package/dist/function/function.soap.parameter-builder.d.ts.map +1 -0
  694. package/dist/function/function.soap.parameter-builder.js +41 -0
  695. package/dist/function/function.soap.types.d.ts +17 -0
  696. package/dist/function/function.soap.types.d.ts.map +1 -0
  697. package/dist/function/function.soap.types.js +2 -0
  698. package/dist/function/function.sql.d.ts +20 -0
  699. package/dist/function/function.sql.d.ts.map +1 -0
  700. package/dist/function/function.sql.js +53 -0
  701. package/dist/function/function.sql.parameter-builder.d.ts +24 -0
  702. package/dist/function/function.sql.parameter-builder.d.ts.map +1 -0
  703. package/dist/function/function.sql.parameter-builder.js +44 -0
  704. package/dist/function/function.sql.types.d.ts +20 -0
  705. package/dist/function/function.sql.types.d.ts.map +1 -0
  706. package/dist/function/function.sql.types.js +2 -0
  707. package/dist/function/function.types.d.ts +7 -0
  708. package/dist/function/function.types.d.ts.map +1 -0
  709. package/dist/function/function.types.js +2 -0
  710. package/dist/function/index.d.ts +17 -0
  711. package/dist/function/index.d.ts.map +1 -0
  712. package/dist/function/index.js +13 -0
  713. package/dist/icon/index.d.ts +3 -0
  714. package/dist/icon/index.d.ts.map +1 -0
  715. package/dist/icon/index.js +3 -0
  716. package/dist/icon/sdk.icon.d.ts +10 -0
  717. package/dist/icon/sdk.icon.d.ts.map +1 -0
  718. package/dist/icon/sdk.icon.data.d.ts +7 -0
  719. package/dist/icon/sdk.icon.data.d.ts.map +1 -0
  720. package/dist/icon/sdk.icon.data.js +19283 -0
  721. package/dist/icon/sdk.icon.js +27 -0
  722. package/dist/icon/sdk.icon.loader.d.ts +7 -0
  723. package/dist/icon/sdk.icon.loader.d.ts.map +1 -0
  724. package/dist/icon/sdk.icon.loader.js +15 -0
  725. package/dist/icon/sdk.icon.name.d.ts +7 -0
  726. package/dist/icon/sdk.icon.name.d.ts.map +1 -0
  727. package/dist/icon/sdk.icon.name.js +19305 -0
  728. package/dist/index.d.ts +14 -0
  729. package/dist/index.d.ts.map +1 -0
  730. package/dist/index.js +14 -0
  731. package/dist/jsonata/ast.d.ts +15 -0
  732. package/dist/jsonata/ast.d.ts.map +1 -0
  733. package/dist/jsonata/ast.js +118 -0
  734. package/dist/jsonata/base.d.ts +7 -0
  735. package/dist/jsonata/base.d.ts.map +1 -0
  736. package/dist/jsonata/base.js +43 -0
  737. package/dist/jsonata/builder.d.ts +28 -0
  738. package/dist/jsonata/builder.d.ts.map +1 -0
  739. package/dist/jsonata/builder.js +140 -0
  740. package/dist/jsonata/context.d.ts +10 -0
  741. package/dist/jsonata/context.d.ts.map +1 -0
  742. package/dist/jsonata/context.js +349 -0
  743. package/dist/jsonata/expression.d.ts +35 -0
  744. package/dist/jsonata/expression.d.ts.map +1 -0
  745. package/dist/jsonata/expression.js +498 -0
  746. package/dist/jsonata/index.d.ts +6 -0
  747. package/dist/jsonata/index.d.ts.map +1 -0
  748. package/dist/jsonata/index.js +6 -0
  749. package/dist/logger/index.d.ts +2 -0
  750. package/dist/logger/index.d.ts.map +1 -0
  751. package/dist/logger/index.js +2 -0
  752. package/dist/logger/logger.d.ts +14 -0
  753. package/dist/logger/logger.d.ts.map +1 -0
  754. package/dist/logger/logger.js +40 -0
  755. package/dist/runtime/auth.d.ts +19 -0
  756. package/dist/runtime/auth.d.ts.map +1 -0
  757. package/dist/runtime/auth.js +11 -0
  758. package/dist/runtime/index.d.ts +5 -0
  759. package/dist/runtime/index.d.ts.map +1 -0
  760. package/dist/runtime/index.js +3 -0
  761. package/dist/runtime/system.d.ts +27 -0
  762. package/dist/runtime/system.d.ts.map +1 -0
  763. package/dist/runtime/system.js +26 -0
  764. package/dist/screen/common/index.d.ts +9 -0
  765. package/dist/screen/common/index.d.ts.map +1 -0
  766. package/dist/screen/common/index.js +7 -0
  767. package/dist/screen/common/screen.badge.d.ts +8 -0
  768. package/dist/screen/common/screen.badge.d.ts.map +1 -0
  769. package/dist/screen/common/screen.badge.js +2 -0
  770. package/dist/screen/common/screen.bottom-sheet.d.ts +62 -0
  771. package/dist/screen/common/screen.bottom-sheet.d.ts.map +1 -0
  772. package/dist/screen/common/screen.bottom-sheet.js +31 -0
  773. package/dist/screen/common/screen.callback-actions.d.ts +7 -0
  774. package/dist/screen/common/screen.callback-actions.d.ts.map +1 -0
  775. package/dist/screen/common/screen.callback-actions.js +19 -0
  776. package/dist/screen/common/screen.input-definition.d.ts +108 -0
  777. package/dist/screen/common/screen.input-definition.d.ts.map +1 -0
  778. package/dist/screen/common/screen.input-definition.js +109 -0
  779. package/dist/screen/common/screen.placeholder.d.ts +20 -0
  780. package/dist/screen/common/screen.placeholder.d.ts.map +1 -0
  781. package/dist/screen/common/screen.placeholder.js +54 -0
  782. package/dist/screen/common/screen.preview.actions.d.ts +47 -0
  783. package/dist/screen/common/screen.preview.actions.d.ts.map +1 -0
  784. package/dist/screen/common/screen.preview.actions.js +122 -0
  785. package/dist/screen/common/screen.preview.d.ts +40 -0
  786. package/dist/screen/common/screen.preview.d.ts.map +1 -0
  787. package/dist/screen/common/screen.preview.js +87 -0
  788. package/dist/screen/common/screen.state.d.ts +7 -0
  789. package/dist/screen/common/screen.state.d.ts.map +1 -0
  790. package/dist/screen/common/screen.state.js +2 -0
  791. package/dist/screen/common/screen.summary.d.ts +14 -0
  792. package/dist/screen/common/screen.summary.d.ts.map +1 -0
  793. package/dist/screen/common/screen.summary.js +22 -0
  794. package/dist/screen/index.d.ts +16 -0
  795. package/dist/screen/index.d.ts.map +1 -0
  796. package/dist/screen/index.js +16 -0
  797. package/dist/screen/screen.abstract.d.ts +105 -0
  798. package/dist/screen/screen.abstract.d.ts.map +1 -0
  799. package/dist/screen/screen.abstract.js +175 -0
  800. package/dist/screen/screen.calendar.d.ts +22 -0
  801. package/dist/screen/screen.calendar.d.ts.map +1 -0
  802. package/dist/screen/screen.calendar.js +32 -0
  803. package/dist/screen/screen.default.d.ts +65 -0
  804. package/dist/screen/screen.default.d.ts.map +1 -0
  805. package/dist/screen/screen.default.js +68 -0
  806. package/dist/screen/screen.document.d.ts +58 -0
  807. package/dist/screen/screen.document.d.ts.map +1 -0
  808. package/dist/screen/screen.document.js +72 -0
  809. package/dist/screen/screen.full-screen.d.ts +23 -0
  810. package/dist/screen/screen.full-screen.d.ts.map +1 -0
  811. package/dist/screen/screen.full-screen.js +18 -0
  812. package/dist/screen/screen.gallery.d.ts +15 -0
  813. package/dist/screen/screen.gallery.d.ts.map +1 -0
  814. package/dist/screen/screen.gallery.js +14 -0
  815. package/dist/screen/screen.grid.base.d.ts +18 -0
  816. package/dist/screen/screen.grid.base.d.ts.map +1 -0
  817. package/dist/screen/screen.grid.base.js +17 -0
  818. package/dist/screen/screen.grid.dynamic.d.ts +18 -0
  819. package/dist/screen/screen.grid.dynamic.d.ts.map +1 -0
  820. package/dist/screen/screen.grid.dynamic.js +26 -0
  821. package/dist/screen/screen.grid.static.d.ts +14 -0
  822. package/dist/screen/screen.grid.static.d.ts.map +1 -0
  823. package/dist/screen/screen.grid.static.js +12 -0
  824. package/dist/screen/screen.guards.d.ts +41 -0
  825. package/dist/screen/screen.guards.d.ts.map +1 -0
  826. package/dist/screen/screen.guards.js +35 -0
  827. package/dist/screen/screen.list.d.ts +79 -0
  828. package/dist/screen/screen.list.d.ts.map +1 -0
  829. package/dist/screen/screen.list.js +123 -0
  830. package/dist/screen/screen.sdk.d.ts +13 -0
  831. package/dist/screen/screen.sdk.d.ts.map +1 -0
  832. package/dist/screen/screen.sdk.js +9 -0
  833. package/dist/screen/screen.tabs.d.ts +27 -0
  834. package/dist/screen/screen.tabs.d.ts.map +1 -0
  835. package/dist/screen/screen.tabs.instance.d.ts +34 -0
  836. package/dist/screen/screen.tabs.instance.d.ts.map +1 -0
  837. package/dist/screen/screen.tabs.instance.js +79 -0
  838. package/dist/screen/screen.tabs.js +35 -0
  839. package/dist/screen/screen.wizard.d.ts +12 -0
  840. package/dist/screen/screen.wizard.d.ts.map +1 -0
  841. package/dist/screen/screen.wizard.instance.d.ts +20 -0
  842. package/dist/screen/screen.wizard.instance.d.ts.map +1 -0
  843. package/dist/screen/screen.wizard.instance.js +40 -0
  844. package/dist/screen/screen.wizard.js +23 -0
  845. package/dist/utils/check.d.ts +3 -0
  846. package/dist/utils/check.d.ts.map +1 -0
  847. package/dist/utils/check.js +7 -0
  848. package/dist/utils/convert.d.ts +2 -0
  849. package/dist/utils/convert.d.ts.map +1 -0
  850. package/dist/utils/convert.js +8 -0
  851. package/dist/utils/dedent.d.ts +2 -0
  852. package/dist/utils/dedent.d.ts.map +1 -0
  853. package/dist/utils/dedent.js +28 -0
  854. package/dist/utils/index.d.ts +6 -0
  855. package/dist/utils/index.d.ts.map +1 -0
  856. package/dist/utils/index.js +5 -0
  857. package/dist/utils/types.d.ts +2 -0
  858. package/dist/utils/types.d.ts.map +1 -0
  859. package/dist/utils/types.js +2 -0
  860. package/dist/utils/utils.d.ts +9 -0
  861. package/dist/utils/utils.d.ts.map +1 -0
  862. package/dist/utils/utils.js +49 -0
  863. package/dist/widget/index.d.ts +12 -0
  864. package/dist/widget/index.d.ts.map +1 -0
  865. package/dist/widget/index.js +12 -0
  866. package/dist/widget/jw.abstract.d.ts +27 -0
  867. package/dist/widget/jw.abstract.d.ts.map +1 -0
  868. package/dist/widget/jw.abstract.js +36 -0
  869. package/dist/widget/jw.actions.d.ts +17 -0
  870. package/dist/widget/jw.actions.d.ts.map +1 -0
  871. package/dist/widget/jw.actions.js +30 -0
  872. package/dist/widget/jw.avatar.d.ts +19 -0
  873. package/dist/widget/jw.avatar.d.ts.map +1 -0
  874. package/dist/widget/jw.avatar.js +23 -0
  875. package/dist/widget/jw.chart.d.ts +18 -0
  876. package/dist/widget/jw.chart.d.ts.map +1 -0
  877. package/dist/widget/jw.chart.js +23 -0
  878. package/dist/widget/jw.group.d.ts +28 -0
  879. package/dist/widget/jw.group.d.ts.map +1 -0
  880. package/dist/widget/jw.group.js +35 -0
  881. package/dist/widget/jw.image.d.ts +27 -0
  882. package/dist/widget/jw.image.d.ts.map +1 -0
  883. package/dist/widget/jw.image.js +54 -0
  884. package/dist/widget/jw.list.d.ts +44 -0
  885. package/dist/widget/jw.list.d.ts.map +1 -0
  886. package/dist/widget/jw.list.js +44 -0
  887. package/dist/widget/jw.location.d.ts +41 -0
  888. package/dist/widget/jw.location.d.ts.map +1 -0
  889. package/dist/widget/jw.location.js +54 -0
  890. package/dist/widget/jw.sdk.d.ts +2 -0
  891. package/dist/widget/jw.sdk.d.ts.map +1 -0
  892. package/dist/widget/jw.sdk.js +2 -0
  893. package/dist/widget/jw.status.condition.d.ts +20 -0
  894. package/dist/widget/jw.status.condition.d.ts.map +1 -0
  895. package/dist/widget/jw.status.condition.js +27 -0
  896. package/dist/widget/jw.status.d.ts +8 -0
  897. package/dist/widget/jw.status.d.ts.map +1 -0
  898. package/dist/widget/jw.status.js +11 -0
  899. package/dist/widget/jw.value.d.ts +24 -0
  900. package/dist/widget/jw.value.d.ts.map +1 -0
  901. package/dist/widget/jw.value.js +51 -0
  902. package/package.json +94 -0
@@ -0,0 +1,118 @@
1
+ import { toExpression, } from '../abstract/index.js';
2
+ export class OperationBuilder {
3
+ _operation;
4
+ constructor(operation) {
5
+ this._operation = operation;
6
+ }
7
+ type(operationType) {
8
+ this._operation.type = operationType;
9
+ return this;
10
+ }
11
+ when(condition) {
12
+ this._operation.when = condition;
13
+ return this;
14
+ }
15
+ table(table) {
16
+ this._operation.table =
17
+ typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table;
18
+ return this;
19
+ }
20
+ tables(tables) {
21
+ this._operation.tables = tables;
22
+ return this;
23
+ }
24
+ statement(sql, parameters) {
25
+ if (!this._operation.statements) {
26
+ this._operation.statements = [];
27
+ }
28
+ this._operation.statements.push({
29
+ statement: sql,
30
+ ...(parameters && { parameters }),
31
+ });
32
+ return this;
33
+ }
34
+ executeSql(tables, ...statements) {
35
+ this._operation.type = 'operation.execute-sql';
36
+ this._operation.tables = tables;
37
+ if (!this._operation.statements) {
38
+ this._operation.statements = [];
39
+ }
40
+ for (const stmt of statements) {
41
+ if (typeof stmt === 'string') {
42
+ this._operation.statements.push({ statement: stmt });
43
+ }
44
+ else {
45
+ this._operation.statements.push(stmt);
46
+ }
47
+ }
48
+ return this;
49
+ }
50
+ upsertMerge(table, records) {
51
+ this._operation.type = 'operation.upsert-merge';
52
+ this.table(table);
53
+ this._operation.records = records;
54
+ return this;
55
+ }
56
+ deleteInsert(table, records) {
57
+ this._operation.type = 'operation.delete-insert';
58
+ this.table(table);
59
+ this._operation.records = records;
60
+ return this;
61
+ }
62
+ upsertReplace(table, records) {
63
+ this._operation.type = 'operation.upsert-replace';
64
+ this.table(table);
65
+ this._operation.records = records;
66
+ return this;
67
+ }
68
+ findReplace(find, replace, tables, includeCommandQueue) {
69
+ this._operation.type = 'operation.find-replace';
70
+ this._operation.find =
71
+ typeof find === 'string' && find.startsWith('=') ? toExpression(find) : find;
72
+ this._operation.replace =
73
+ typeof replace === 'string' && replace.startsWith('=') ? toExpression(replace) : replace;
74
+ this._operation.tables = tables;
75
+ if (includeCommandQueue !== undefined) {
76
+ this._operation.includeCommandQueue =
77
+ typeof includeCommandQueue === 'string' && !includeCommandQueue.startsWith('=')
78
+ ? `=${includeCommandQueue}`
79
+ : includeCommandQueue;
80
+ }
81
+ return this;
82
+ }
83
+ primaryKey(key) {
84
+ this._operation.primaryKey =
85
+ typeof key === 'string' && key.startsWith('=') ? toExpression(key) : key;
86
+ return this;
87
+ }
88
+ timestamp(ts) {
89
+ this._operation.timestamp = typeof ts === 'string' && ts.startsWith('=') ? toExpression(ts) : ts;
90
+ return this;
91
+ }
92
+ conversions(conversions) {
93
+ this._operation.conversions = conversions;
94
+ return this;
95
+ }
96
+ forRowsWithValues(column, value) {
97
+ if (!this._operation.forRowsWithValues) {
98
+ this._operation.forRowsWithValues = {};
99
+ }
100
+ this._operation.forRowsWithValues[column] =
101
+ typeof value === 'string' && value.startsWith('=') ? toExpression(value) : value;
102
+ return this;
103
+ }
104
+ forRowsInRange(column, from, to) {
105
+ if (!this._operation.forRowsInRange) {
106
+ this._operation.forRowsInRange = {};
107
+ }
108
+ this._operation.forRowsInRange[column] = {
109
+ from: typeof from === 'string' && from.startsWith('=') ? toExpression(from) : from,
110
+ to: typeof to === 'string' && to.startsWith('=') ? toExpression(to) : to,
111
+ };
112
+ return this;
113
+ }
114
+ build() {
115
+ return this._operation;
116
+ }
117
+ }
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24ub3BlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Z1bmN0aW9uL2Z1bmN0aW9uLm9wZXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBTUwsWUFBWSxHQUNiLE1BQU0sc0JBQXNCLENBQUE7QUFNN0IsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLFVBQVUsQ0FBcUI7SUFPaEQsWUFBWSxTQUE4QixFQUFFO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO0lBQUEsQ0FDNUI7SUFRRCxJQUFJLENBQUMsYUFBNEIsRUFBUTtRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUE7UUFDcEMsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBUUQsSUFBSSxDQUFDLFNBQXFCLEVBQVE7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFBO1FBQ2hDLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVFELEtBQUssQ0FBQyxLQUF5QixFQUFRO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztZQUNuQixPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDbEYsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBUUQsTUFBTSxDQUFDLE1BQW1CLEVBQVE7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQy9CLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVNELFNBQVMsQ0FBQyxHQUFXLEVBQUUsVUFBK0MsRUFBUTtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxJ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aUJBQWlCLEdBQUcsRUFBRSxDQUFBO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUN2QyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDbEYsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBVUQsY0FBYyxDQUFDLE1BQWMsRUFBRSxJQUF3QixFQUFFLEVBQXNCLEVBQVE7UUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFBO1FBQ3JDLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRztZQUN2QyxJQUFJLEVBQUUsT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNsRixFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN6RSxDQUFBO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBT0QsS0FBSyxHQUE0QjtRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFBQSxDQUN2QjtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCb29sZWFuT3JFeHByZXNzaW9uLFxuICB0eXBlIENvbnZlcnNpb25EZWZpbml0aW9uLFxuICB0eXBlIEV4cHJlc3Npb24sXG4gIHR5cGUgU3RyaW5nT3JFeHByZXNzaW9uLFxuICB0eXBlIFRhYmxlTmFtZSxcbiAgdG9FeHByZXNzaW9uLFxufSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgT3BlcmF0aW9uRGVmaW5pdGlvbiwgT3BlcmF0aW9uVHlwZSB9IGZyb20gJy4vZnVuY3Rpb24uYWJzdHJhY3QuanMnXG5cbi8qKlxuICogQnVpbGQgb3BlcmF0aW9uIGRlZmluaXRpb25zIGZvciBndWFyZHMgYW5kIHJvb3QtbGV2ZWwgb3BlcmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9wZXJhdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcGVyYXRpb246IE9wZXJhdGlvbkRlZmluaXRpb25cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBvcGVyYXRpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHBhcmFtIG9wZXJhdGlvbiAtIFRoZSBvcGVyYXRpb24gY29uZmlndXJhdGlvbiB0byBidWlsZFxuICAgKi9cbiAgY29uc3RydWN0b3Iob3BlcmF0aW9uOiBPcGVyYXRpb25EZWZpbml0aW9uKSB7XG4gICAgdGhpcy5fb3BlcmF0aW9uID0gb3BlcmF0aW9uXG4gIH1cblxuICAvKipcbiAgICogU2V0IG9wZXJhdGlvbiB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gb3BlcmF0aW9uVHlwZSAtIE9wZXJhdGlvbiB0eXBlIChlLmcuLCAnb3BlcmF0aW9uLnVwc2VydC1tZXJnZScsICdvcGVyYXRpb24uZXhlY3V0ZS1zcWwnLCAnb3BlcmF0aW9uLmRlbGV0ZS1pbnNlcnQnKVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB0eXBlKG9wZXJhdGlvblR5cGU6IE9wZXJhdGlvblR5cGUpOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udHlwZSA9IG9wZXJhdGlvblR5cGVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBjb25kaXRpb24gZm9yIHdoZW4gb3BlcmF0aW9uIHNob3VsZCBleGVjdXRlLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZGl0aW9uIC0gSlNPTkFUQSBleHByZXNzaW9uIHJldHVybmluZyBib29sZWFuXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHdoZW4oY29uZGl0aW9uOiBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLndoZW4gPSBjb25kaXRpb25cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0YXJnZXQgdGFibGUgdG8gc3RvcmUgb3BlcmF0aW9uIHJlc3VsdHMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhYmxlIG5hbWUgb3IgZXhwcmVzc2lvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB0YWJsZSh0YWJsZTogU3RyaW5nT3JFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLnRhYmxlID1cbiAgICAgIHR5cGVvZiB0YWJsZSA9PT0gJ3N0cmluZycgJiYgdGFibGUuc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHRhYmxlKSA6IHRhYmxlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGFibGVzIGZvciBleGVjdXRlLXNxbCBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGVzIC0gQXJyYXkgb2YgdGFibGUgbmFtZXNcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGFibGVzKHRhYmxlczogVGFibGVOYW1lW10pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGVzID0gdGFibGVzXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgU1FMIHN0YXRlbWVudCBmb3IgZXhlY3V0ZS1zcWwgb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHNxbCAtIFNRTCBzdGF0ZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgc3RhdGVtZW50XG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHN0YXRlbWVudChzcWw6IHN0cmluZywgcGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIFN0cmluZ09yRXhwcmVzc2lvbj4pOiB0aGlzIHtcbiAgICBpZiAoIXRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzKSB7XG4gICAgICB0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cyA9IFtdXG4gICAgfVxuICAgIHRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzLnB1c2goe1xuICAgICAgc3RhdGVtZW50OiBzcWwsXG4gICAgICAuLi4ocGFyYW1ldGVycyAmJiB7IHBhcmFtZXRlcnMgfSksXG4gICAgfSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgZXhlY3V0ZS1zcWwgb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHRhYmxlcyAtIFRhYmxlcyBhZmZlY3RlZCBieSBTUUwgc3RhdGVtZW50c1xuICAgKiBAcGFyYW0gc3RhdGVtZW50cyAtIFNRTCBzdGF0ZW1lbnRzIHdpdGggb3B0aW9uYWwgcGFyYW1ldGVyc1xuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBleGVjdXRlU3FsKFxuICAgIHRhYmxlczogVGFibGVOYW1lW10sXG4gICAgLi4uc3RhdGVtZW50czogQXJyYXk8XG4gICAgICBzdHJpbmcgfCB7IHN0YXRlbWVudDogc3RyaW5nOyBwYXJhbWV0ZXJzPzogUmVjb3JkPHN0cmluZywgU3RyaW5nT3JFeHByZXNzaW9uPiB9XG4gICAgPlxuICApOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udHlwZSA9ICdvcGVyYXRpb24uZXhlY3V0ZS1zcWwnXG4gICAgdGhpcy5fb3BlcmF0aW9uLnRhYmxlcyA9IHRhYmxlc1xuXG4gICAgaWYgKCF0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cykge1xuICAgICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMgPSBbXVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3RtdCBvZiBzdGF0ZW1lbnRzKSB7XG4gICAgICBpZiAodHlwZW9mIHN0bXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzLnB1c2goeyBzdGF0ZW1lbnQ6IHN0bXQgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzLnB1c2goc3RtdClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgdXBzZXJ0LW1lcmdlIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhcmdldCB0YWJsZVxuICAgKiBAcGFyYW0gcmVjb3JkcyAtIEpTT05BVEEgZXhwcmVzc2lvbiBmb3IgcmVjb3JkcyB0byBtZXJnZVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB1cHNlcnRNZXJnZSh0YWJsZTogU3RyaW5nT3JFeHByZXNzaW9uLCByZWNvcmRzOiBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLnR5cGUgPSAnb3BlcmF0aW9uLnVwc2VydC1tZXJnZSdcbiAgICB0aGlzLnRhYmxlKHRhYmxlKVxuICAgIHRoaXMuX29wZXJhdGlvbi5yZWNvcmRzID0gcmVjb3Jkc1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBkZWxldGUtaW5zZXJ0IG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhcmdldCB0YWJsZVxuICAgKiBAcGFyYW0gcmVjb3JkcyAtIEpTT05BVEEgZXhwcmVzc2lvbiBmb3IgcmVjb3Jkc1xuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBkZWxldGVJbnNlcnQodGFibGU6IFN0cmluZ09yRXhwcmVzc2lvbiwgcmVjb3JkczogRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi5kZWxldGUtaW5zZXJ0J1xuICAgIHRoaXMudGFibGUodGFibGUpXG4gICAgdGhpcy5fb3BlcmF0aW9uLnJlY29yZHMgPSByZWNvcmRzXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIHVwc2VydC1yZXBsYWNlIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhcmdldCB0YWJsZVxuICAgKiBAcGFyYW0gcmVjb3JkcyAtIEpTT05BVEEgZXhwcmVzc2lvbiBmb3IgcmVjb3Jkc1xuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB1cHNlcnRSZXBsYWNlKHRhYmxlOiBTdHJpbmdPckV4cHJlc3Npb24sIHJlY29yZHM6IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udHlwZSA9ICdvcGVyYXRpb24udXBzZXJ0LXJlcGxhY2UnXG4gICAgdGhpcy50YWJsZSh0YWJsZSlcbiAgICB0aGlzLl9vcGVyYXRpb24ucmVjb3JkcyA9IHJlY29yZHNcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgZmluZC1yZXBsYWNlIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBmaW5kIC0gRXhwcmVzc2lvbiB0byBmaW5kXG4gICAqIEBwYXJhbSByZXBsYWNlIC0gRXhwcmVzc2lvbiB0byByZXBsYWNlIHdpdGhcbiAgICogQHBhcmFtIHRhYmxlcyAtIFRhYmxlcyB0byBzZWFyY2hcbiAgICogQHBhcmFtIGluY2x1ZGVDb21tYW5kUXVldWUgLSBJbmNsdWRlIGNvbW1hbmQgcXVldWUgaW4gc2VhcmNoXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGZpbmRSZXBsYWNlKFxuICAgIGZpbmQ6IFN0cmluZ09yRXhwcmVzc2lvbixcbiAgICByZXBsYWNlOiBTdHJpbmdPckV4cHJlc3Npb24sXG4gICAgdGFibGVzOiBUYWJsZU5hbWVbXSxcbiAgICBpbmNsdWRlQ29tbWFuZFF1ZXVlPzogQm9vbGVhbk9yRXhwcmVzc2lvbixcbiAgKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLnR5cGUgPSAnb3BlcmF0aW9uLmZpbmQtcmVwbGFjZSdcbiAgICB0aGlzLl9vcGVyYXRpb24uZmluZCA9XG4gICAgICB0eXBlb2YgZmluZCA9PT0gJ3N0cmluZycgJiYgZmluZC5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24oZmluZCkgOiBmaW5kXG4gICAgdGhpcy5fb3BlcmF0aW9uLnJlcGxhY2UgPVxuICAgICAgdHlwZW9mIHJlcGxhY2UgPT09ICdzdHJpbmcnICYmIHJlcGxhY2Uuc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHJlcGxhY2UpIDogcmVwbGFjZVxuICAgIHRoaXMuX29wZXJhdGlvbi50YWJsZXMgPSB0YWJsZXNcbiAgICBpZiAoaW5jbHVkZUNvbW1hbmRRdWV1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9vcGVyYXRpb24uaW5jbHVkZUNvbW1hbmRRdWV1ZSA9XG4gICAgICAgIHR5cGVvZiBpbmNsdWRlQ29tbWFuZFF1ZXVlID09PSAnc3RyaW5nJyAmJiAhaW5jbHVkZUNvbW1hbmRRdWV1ZS5zdGFydHNXaXRoKCc9JylcbiAgICAgICAgICA/IGA9JHtpbmNsdWRlQ29tbWFuZFF1ZXVlfWBcbiAgICAgICAgICA6IGluY2x1ZGVDb21tYW5kUXVldWVcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgcHJpbWFyeSBrZXkgZm9yIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFByaW1hcnkga2V5IGNvbHVtbiBuYW1lIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHJpbWFyeUtleShrZXk6IFN0cmluZ09yRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi5wcmltYXJ5S2V5ID1cbiAgICAgIHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIGtleS5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24oa2V5KSA6IGtleVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRpbWVzdGFtcCBjb2x1bW4gZm9yIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHRzIC0gVGltZXN0YW1wIGNvbHVtbiBuYW1lIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGltZXN0YW1wKHRzOiBTdHJpbmdPckV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udGltZXN0YW1wID0gdHlwZW9mIHRzID09PSAnc3RyaW5nJyAmJiB0cy5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24odHMpIDogdHNcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBkYXRhIGNvbnZlcnNpb25zIGZvciBvcGVyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjb252ZXJzaW9ucyAtIEFycmF5IG9mIGNvbnZlcnNpb24gZGVmaW5pdGlvbnNcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgY29udmVyc2lvbnMoY29udmVyc2lvbnM6IENvbnZlcnNpb25EZWZpbml0aW9uW10pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24uY29udmVyc2lvbnMgPSBjb252ZXJzaW9uc1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogUmVzdHJpY3Qgb3BlcmF0aW9uIHRvIHJvd3MgbWF0Y2hpbmcgY29sdW1uL3ZhbHVlIHBhaXJzIChkZWxldGUtaW5zZXJ0IG9ubHkpLlxuICAgKlxuICAgKiBAcGFyYW0gY29sdW1uIC0gQ29sdW1uIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIC0gUGFyYW1ldGVyIHZhbHVlIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZm9yUm93c1dpdGhWYWx1ZXMoY29sdW1uOiBzdHJpbmcsIHZhbHVlOiBTdHJpbmdPckV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICBpZiAoIXRoaXMuX29wZXJhdGlvbi5mb3JSb3dzV2l0aFZhbHVlcykge1xuICAgICAgdGhpcy5fb3BlcmF0aW9uLmZvclJvd3NXaXRoVmFsdWVzID0ge31cbiAgICB9XG4gICAgdGhpcy5fb3BlcmF0aW9uLmZvclJvd3NXaXRoVmFsdWVzW2NvbHVtbl0gPVxuICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24odmFsdWUpIDogdmFsdWVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RyaWN0IG9wZXJhdGlvbiB0byByb3dzIGluIGEgcmFuZ2UgKGRlbGV0ZS1pbnNlcnQgb25seSkuXG4gICAqXG4gICAqIEBwYXJhbSBjb2x1bW4gLSBDb2x1bW4gbmFtZVxuICAgKiBAcGFyYW0gZnJvbSAtIFJhbmdlIHN0YXJ0ICh2YWx1ZSBvciBleHByZXNzaW9uKVxuICAgKiBAcGFyYW0gdG8gLSBSYW5nZSBlbmQgKHZhbHVlIG9yIGV4cHJlc3Npb24pXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGZvclJvd3NJblJhbmdlKGNvbHVtbjogc3RyaW5nLCBmcm9tOiBTdHJpbmdPckV4cHJlc3Npb24sIHRvOiBTdHJpbmdPckV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICBpZiAoIXRoaXMuX29wZXJhdGlvbi5mb3JSb3dzSW5SYW5nZSkge1xuICAgICAgdGhpcy5fb3BlcmF0aW9uLmZvclJvd3NJblJhbmdlID0ge31cbiAgICB9XG4gICAgdGhpcy5fb3BlcmF0aW9uLmZvclJvd3NJblJhbmdlW2NvbHVtbl0gPSB7XG4gICAgICBmcm9tOiB0eXBlb2YgZnJvbSA9PT0gJ3N0cmluZycgJiYgZnJvbS5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24oZnJvbSkgOiBmcm9tLFxuICAgICAgdG86IHR5cGVvZiB0byA9PT0gJ3N0cmluZycgJiYgdG8uc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHRvKSA6IHRvLFxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIG9wZXJhdGlvbiBkZWZpbml0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBDb21wbGV0ZSBvcGVyYXRpb24gZGVmaW5pdGlvbiBvYmplY3RcbiAgICovXG4gIGJ1aWxkKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fb3BlcmF0aW9uXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { type Expression } from '../abstract/index.js';
2
+ import { RestParameterBuilder } from './function.rest.parameter-builder.js';
3
+ export declare class RestContinuationBuilder {
4
+ private _when;
5
+ private _url?;
6
+ readonly parameters: RestParameterBuilder;
7
+ constructor();
8
+ when(condition: string | Expression): this;
9
+ url(url: string | URL | Expression): this;
10
+ build(): Record<string, unknown>;
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24ucmVzdC5jb250aW51YXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdW5jdGlvbi9mdW5jdGlvbi5yZXN0LmNvbnRpbnVhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQWdCLE1BQU0sc0JBQXNCLENBQUE7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFLM0UscUJBQWEsdUJBQXVCO0lBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQXFDO0lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBUTtJQUtyQixRQUFRLENBQUMsVUFBVSx1QkFBNkI7SUFFaEQsY0FBZ0I7SUFRaEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FHekM7SUFRRCxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxHQUFHLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FHeEM7SUFPRCxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FNL0I7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRXhwcmVzc2lvbiwgdG9FeHByZXNzaW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvaW5kZXguanMnXG5pbXBvcnQgeyBSZXN0UGFyYW1ldGVyQnVpbGRlciB9IGZyb20gJy4vZnVuY3Rpb24ucmVzdC5wYXJhbWV0ZXItYnVpbGRlci5qcydcblxuLyoqXG4gKiBCdWlsZCBSRVNUIGZ1bmN0aW9uIGNvbnRpbnVhdGlvbi9wYWdpbmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgUmVzdENvbnRpbnVhdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF93aGVuOiBFeHByZXNzaW9uID0gdG9FeHByZXNzaW9uKCc9ZmFsc2UnKVxuICBwcml2YXRlIF91cmw/OiBzdHJpbmdcblxuICAvKipcbiAgICogUGFyYW1ldGVyIGJ1aWxkZXIgZm9yIGNvbnRpbnVhdGlvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnMgPSBuZXcgUmVzdFBhcmFtZXRlckJ1aWxkZXIoKVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogU2V0IGNvbmRpdGlvbiB0byBjaGVjayBpZiBtb3JlIHBhZ2VzIGV4aXN0LlxuICAgKlxuICAgKiBAcGFyYW0gY29uZGl0aW9uIC0gSlNPTkFUQSBleHByZXNzaW9uIHJldHVybmluZyBib29sZWFuXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHdoZW4oY29uZGl0aW9uOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fd2hlbiA9IHRvRXhwcmVzc2lvbihjb25kaXRpb24pXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgVVJMIGZvciBuZXh0IHBhZ2UgcmVxdWVzdC5cbiAgICpcbiAgICogQHBhcmFtIHVybCAtIE5leHQgcGFnZSBVUkwgKHN0YXRpYywgZXhwcmVzc2lvbiwgb3IgVVJMIG9iamVjdClcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdXJsKHVybDogc3RyaW5nIHwgVVJMIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX3VybCA9IHVybCBpbnN0YW5jZW9mIFVSTCA/IHVybC50b1N0cmluZygpIDogdXJsXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBjb250aW51YXRpb24gZGVmaW5pdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgQ29tcGxldGUgY29udGludWF0aW9uIGRlZmluaXRpb24gb2JqZWN0XG4gICAqL1xuICBidWlsZCgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdoZW46IHRoaXMuX3doZW4sXG4gICAgICAuLi4odGhpcy5fdXJsICE9PSB1bmRlZmluZWQgJiYgeyB1cmw6IHRoaXMuX3VybCB9KSxcbiAgICAgIHBhcmFtZXRlcnM6IHRoaXMucGFyYW1ldGVycy5idWlsZCgpLFxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.rest.continuation.d.ts","sourceRoot":"","sources":["../../src/function/function.rest.continuation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAK3E,qBAAa,uBAAuB;IAClC,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAQ;IAKrB,QAAQ,CAAC,UAAU,uBAA6B;IAEhD,cAAgB;IAQhB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGzC;IAQD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,IAAI,CAGxC;IAOD,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM/B;CACF","sourcesContent":["import { type Expression, toExpression } from '../abstract/index.js'\nimport { RestParameterBuilder } from './function.rest.parameter-builder.js'\n\n/**\n * Build REST function continuation/pagination.\n */\nexport class RestContinuationBuilder {\n private _when: Expression = toExpression('=false')\n private _url?: string\n\n /**\n * Parameter builder for continuation requests.\n */\n readonly parameters = new RestParameterBuilder()\n\n constructor() {}\n\n /**\n * Set condition to check if more pages exist.\n *\n * @param condition - JSONATA expression returning boolean\n * @returns This builder for chaining\n */\n when(condition: string | Expression): this {\n this._when = toExpression(condition)\n return this\n }\n\n /**\n * Set URL for next page request.\n *\n * @param url - Next page URL (static, expression, or URL object)\n * @returns This builder for chaining\n */\n url(url: string | URL | Expression): this {\n this._url = url instanceof URL ? url.toString() : url\n return this\n }\n\n /**\n * Build continuation definition.\n *\n * @returns Complete continuation definition object\n */\n build(): Record<string, unknown> {\n return {\n when: this._when,\n ...(this._url !== undefined && { url: this._url }),\n parameters: this.parameters.build(),\n }\n }\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { toExpression } from '../abstract/index.js';
2
+ import { RestParameterBuilder } from './function.rest.parameter-builder.js';
3
+ export class RestContinuationBuilder {
4
+ _when = toExpression('=false');
5
+ _url;
6
+ parameters = new RestParameterBuilder();
7
+ constructor() { }
8
+ when(condition) {
9
+ this._when = toExpression(condition);
10
+ return this;
11
+ }
12
+ url(url) {
13
+ this._url = url instanceof URL ? url.toString() : url;
14
+ return this;
15
+ }
16
+ build() {
17
+ return {
18
+ when: this._when,
19
+ ...(this._url !== undefined && { url: this._url }),
20
+ parameters: this.parameters.build(),
21
+ };
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24ucmVzdC5jb250aW51YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnVuY3Rpb24vZnVuY3Rpb24ucmVzdC5jb250aW51YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUszRSxNQUFNLE9BQU8sdUJBQXVCO0lBQzFCLEtBQUssR0FBZSxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsSUFBSSxDQUFTO0lBS1osVUFBVSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQTtJQUVoRCxjQUFjLEVBQUMsQ0FBQztJQVFoQixJQUFJLENBQUMsU0FBOEIsRUFBUTtRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNwQyxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFRRCxHQUFHLENBQUMsR0FBOEIsRUFBUTtRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFBO1FBQ3JELE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQU9ELEtBQUssR0FBNEI7UUFDL0IsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRTtTQUNwQyxDQUFBO0lBQUEsQ0FDRjtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBFeHByZXNzaW9uLCB0b0V4cHJlc3Npb24gfSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IFJlc3RQYXJhbWV0ZXJCdWlsZGVyIH0gZnJvbSAnLi9mdW5jdGlvbi5yZXN0LnBhcmFtZXRlci1idWlsZGVyLmpzJ1xuXG4vKipcbiAqIEJ1aWxkIFJFU1QgZnVuY3Rpb24gY29udGludWF0aW9uL3BhZ2luYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXN0Q29udGludWF0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3doZW46IEV4cHJlc3Npb24gPSB0b0V4cHJlc3Npb24oJz1mYWxzZScpXG4gIHByaXZhdGUgX3VybD86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBQYXJhbWV0ZXIgYnVpbGRlciBmb3IgY29udGludWF0aW9uIHJlcXVlc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVycyA9IG5ldyBSZXN0UGFyYW1ldGVyQnVpbGRlcigpXG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBTZXQgY29uZGl0aW9uIHRvIGNoZWNrIGlmIG1vcmUgcGFnZXMgZXhpc3QuXG4gICAqXG4gICAqIEBwYXJhbSBjb25kaXRpb24gLSBKU09OQVRBIGV4cHJlc3Npb24gcmV0dXJuaW5nIGJvb2xlYW5cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgd2hlbihjb25kaXRpb246IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl93aGVuID0gdG9FeHByZXNzaW9uKGNvbmRpdGlvbilcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBVUkwgZm9yIG5leHQgcGFnZSByZXF1ZXN0LlxuICAgKlxuICAgKiBAcGFyYW0gdXJsIC0gTmV4dCBwYWdlIFVSTCAoc3RhdGljLCBleHByZXNzaW9uLCBvciBVUkwgb2JqZWN0KVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB1cmwodXJsOiBzdHJpbmcgfCBVUkwgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fdXJsID0gdXJsIGluc3RhbmNlb2YgVVJMID8gdXJsLnRvU3RyaW5nKCkgOiB1cmxcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGNvbnRpbnVhdGlvbiBkZWZpbml0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBDb21wbGV0ZSBjb250aW51YXRpb24gZGVmaW5pdGlvbiBvYmplY3RcbiAgICovXG4gIGJ1aWxkKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4ge1xuICAgICAgd2hlbjogdGhpcy5fd2hlbixcbiAgICAgIC4uLih0aGlzLl91cmwgIT09IHVuZGVmaW5lZCAmJiB7IHVybDogdGhpcy5fdXJsIH0pLFxuICAgICAgcGFyYW1ldGVyczogdGhpcy5wYXJhbWV0ZXJzLmJ1aWxkKCksXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { type Expression, type FunctionId } from '../abstract/index.js';
2
+ import { FunctionBaseBuilder } from './function.abstract.js';
3
+ import { type HttpMethod } from './function.rest.types.js';
4
+ import { RestContinuationBuilder } from './function.rest.continuation.js';
5
+ import { RestParameterBuilder } from './function.rest.parameter-builder.js';
6
+ export interface RestFunctionInput {
7
+ readonly functionId: FunctionId | string;
8
+ readonly method: HttpMethod;
9
+ readonly url: string | URL;
10
+ readonly useLocalCall?: boolean;
11
+ }
12
+ export declare class RestFunctionBuilder extends FunctionBaseBuilder {
13
+ readonly params: RestParameterBuilder;
14
+ private _continuation?;
15
+ constructor(options: RestFunctionInput);
16
+ get continuation(): RestContinuationBuilder;
17
+ format(format: string): this;
18
+ inputTransform(transform: string | Expression): this;
19
+ inputTransform(prefix: string, transform: Record<string, unknown>): this;
20
+ records(jsonata: string | Expression): this;
21
+ bearerToken(token: string): this;
22
+ disableTokenRefresh(value?: boolean): this;
23
+ useLocalCall(value?: boolean): this;
24
+ json(): this;
25
+ xml(): this;
26
+ form(): this;
27
+ base64ToUri(property: string, filename?: string): this;
28
+ base64ToLocalUri(property: string, filename?: string): this;
29
+ uriToBase64(property: string): this;
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24ucmVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Z1bmN0aW9uL2Z1bmN0aW9uLnJlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLEtBQUssVUFBVSxFQUNmLEtBQUssVUFBVSxFQUloQixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzVELE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBSzNFLE1BQU0sV0FBVyxpQkFBaUI7SUFFaEMsUUFBUSxDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBRXhDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFBO0lBRTNCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLEdBQUcsQ0FBQTtJQUUxQixRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQ2hDO0FBWUQscUJBQWEsbUJBQW9CLFNBQVEsbUJBQW1CO0lBQzFELFFBQVEsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUE7SUFFckMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUF5QjtJQU8vQyxZQUFZLE9BQU8sRUFBRSxpQkFBaUIsRUFTckM7SUFPRCxJQUFJLFlBQVksSUFBSSx1QkFBdUIsQ0FJMUM7SUFRRCxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBRzNCO0lBUUQsY0FBYyxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQTtJQUNwRCxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUE7SUFnQnhFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBRzFDO0lBUUQsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUcvQjtJQVFELG1CQUFtQixDQUFDLEtBQUssVUFBTyxHQUFHLElBQUksQ0FHdEM7SUFRRCxZQUFZLENBQUMsS0FBSyxVQUFPLEdBQUcsSUFBSSxDQUcvQjtJQU9ELElBQUksSUFBSSxJQUFJLENBRVg7SUFPRCxHQUFHLElBQUksSUFBSSxDQUVWO0lBT0QsSUFBSSxJQUFJLElBQUksQ0FFWDtJQVNELFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBS3JEO0lBU0QsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUUxRDtJQVFELFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFbEM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERBVEFfUFJPVklERVIsXG4gIHR5cGUgRXhwcmVzc2lvbixcbiAgdHlwZSBGdW5jdGlvbklkLFxuICB0b0V4cHJlc3Npb24sXG4gIHRvRnVuY3Rpb25JZCxcbiAgdG9Ob25FeHByZXNzaW9uLFxufSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IEZ1bmN0aW9uQmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Z1bmN0aW9uLmFic3RyYWN0LmpzJ1xuaW1wb3J0IHsgdHlwZSBIdHRwTWV0aG9kIH0gZnJvbSAnLi9mdW5jdGlvbi5yZXN0LnR5cGVzLmpzJ1xuaW1wb3J0IHsgUmVzdENvbnRpbnVhdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2Z1bmN0aW9uLnJlc3QuY29udGludWF0aW9uLmpzJ1xuaW1wb3J0IHsgUmVzdFBhcmFtZXRlckJ1aWxkZXIgfSBmcm9tICcuL2Z1bmN0aW9uLnJlc3QucGFyYW1ldGVyLWJ1aWxkZXIuanMnXG5cbi8qKlxuICogUkVTVCBmdW5jdGlvbiBidWlsZGVyIGlucHV0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3RGdW5jdGlvbklucHV0IHtcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uSWQ6IEZ1bmN0aW9uSWQgfCBzdHJpbmdcbiAgLyoqIEhUVFAgbWV0aG9kIChHRVQsIFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSkgKi9cbiAgcmVhZG9ubHkgbWV0aG9kOiBIdHRwTWV0aG9kXG4gIC8qKiBBUEkgZW5kcG9pbnQgVVJMIChzdXBwb3J0cyB7cGFyYW19IHBsYWNlaG9sZGVycykgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmcgfCBVUkxcbiAgLyoqIFVzZSBsb2NhbCBkZXZpY2UgY2FsbHMgaW5zdGVhZCBvZiBiYWNrZW5kIHByb3h5ICovXG4gIHJlYWRvbmx5IHVzZUxvY2FsQ2FsbD86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBDb25uZWN0IHRvIFJFU1QgQVBJcy5cbiAqXG4gKiBIVFRQIG9wZXJhdGlvbnMgd2l0aCBhdXRoLCB0cmFuc2Zvcm1zLCBwYWdpbmF0aW9uLlxuICogU3VwcG9ydHMgT0F1dGgsIEFQSSBLZXksIEJhc2ljIEF1dGguXG4gKiBUcmFuc2Zvcm0gd2l0aCBKU09OYXRhLiBIYW5kbGUgcGFnaW5hdGlvbi5cbiAqIENvbnZlcnQgZmlsZSBmb3JtYXRzLlxuICpcbiAqIEBhbGlhcyBEQVRBX1BST1ZJREVSX1JFU1RcbiAqL1xuZXhwb3J0IGNsYXNzIFJlc3RGdW5jdGlvbkJ1aWxkZXIgZXh0ZW5kcyBGdW5jdGlvbkJhc2VCdWlsZGVyIHtcbiAgcmVhZG9ubHkgcGFyYW1zOiBSZXN0UGFyYW1ldGVyQnVpbGRlclxuXG4gIHByaXZhdGUgX2NvbnRpbnVhdGlvbj86IFJlc3RDb250aW51YXRpb25CdWlsZGVyXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBSRVNUIGZ1bmN0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gUkVTVCBmdW5jdGlvbiBjb25maWd1cmF0aW9uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBSZXN0RnVuY3Rpb25JbnB1dCkge1xuICAgIGNvbnN0IHsgZnVuY3Rpb25JZCwgbWV0aG9kLCB1cmwsIHVzZUxvY2FsQ2FsbCB9ID0gb3B0aW9uc1xuICAgIHN1cGVyKHRvRnVuY3Rpb25JZChmdW5jdGlvbklkKSwgREFUQV9QUk9WSURFUi5SRVNUKVxuICAgIHRoaXMuX2NvbmZpZy5tZXRob2QgPSBtZXRob2RcbiAgICB0aGlzLl9jb25maWcudXJsID0gdG9Ob25FeHByZXNzaW9uKHVybCBpbnN0YW5jZW9mIFVSTCA/IHVybC50b1N0cmluZygpIDogdXJsKVxuICAgIGlmICh1c2VMb2NhbENhbGwgIT09IHVuZGVmaW5lZCkgdGhpcy5fY29uZmlnLnVzZUxvY2FsQ2FsbCA9IHVzZUxvY2FsQ2FsbFxuXG4gICAgdGhpcy5wYXJhbXMgPSBuZXcgUmVzdFBhcmFtZXRlckJ1aWxkZXIoKVxuICAgIHRoaXMuX2NvbmZpZy5wYXJhbWV0ZXJzID0gdGhpcy5wYXJhbXNcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29udGludWF0aW9uIGJ1aWxkZXIgZm9yIHBhZ2luYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIFJlc3RDb250aW51YXRpb25CdWlsZGVyIGZvciBmbHVlbnQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgZ2V0IGNvbnRpbnVhdGlvbigpOiBSZXN0Q29udGludWF0aW9uQnVpbGRlciB7XG4gICAgdGhpcy5fY29udGludWF0aW9uID8/PSBuZXcgUmVzdENvbnRpbnVhdGlvbkJ1aWxkZXIoKVxuICAgIHRoaXMuX2NvbmZpZy5jb250aW51YXRpb24gPSB0aGlzLl9jb250aW51YXRpb25cbiAgICByZXR1cm4gdGhpcy5fY29udGludWF0aW9uXG4gIH1cblxuICAvKipcbiAgICogU2V0IHJlc3BvbnNlIGZvcm1hdC5cbiAgICpcbiAgICogQHBhcmFtIGZvcm1hdCAtIFJlc3BvbnNlIGZvcm1hdFxuICAgKiBAcmV0dXJucyBCdWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZm9ybWF0KGZvcm1hdDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fY29uZmlnLmZvcm1hdCA9IGZvcm1hdFxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHJlcXVlc3QgZGF0YSB3aXRoIEpTT05hdGEuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm0gLSBKU09OQVRBIGV4cHJlc3Npb24gdG8gdHJhbnNmb3JtIHJlcXVlc3QgYm9keVxuICAgKiBAcmV0dXJucyBCdWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgaW5wdXRUcmFuc2Zvcm0odHJhbnNmb3JtOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpc1xuICBpbnB1dFRyYW5zZm9ybShwcmVmaXg6IHN0cmluZywgdHJhbnNmb3JtOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHRoaXNcbiAgaW5wdXRUcmFuc2Zvcm0odHhPclB4OiBzdHJpbmcgfCBFeHByZXNzaW9uLCB0cmFuc2Zvcm0/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHRoaXMge1xuICAgIGxldCB0eDogc3RyaW5nID0gdHhPclB4LnRyaW1TdGFydCgpXG4gICAgLy8gaWYgKHR4LnN0YXJ0c1dpdGgoJz0nKSkgdHggPSB0eC5zbGljZSgxKS50cmltU3RhcnQoKVxuICAgIGlmICh0cmFuc2Zvcm0pIHR4ICs9IEpTT04uc3RyaW5naWZ5KHRyYW5zZm9ybSlcblxuICAgIHRoaXMuX2NvbmZpZy5pbnB1dFRyYW5zZm9ybSA9IHR4XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWN0IHNwZWNpZmljIHJlY29yZHMgZnJvbSByZXNwb25zZS5cbiAgICpcbiAgICogQHBhcmFtIGpzb25hdGEgLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgcmVjb3JkcyAoc3RhcnRzIHdpdGggPSlcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcmVjb3Jkcyhqc29uYXRhOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fY29uZmlnLnJlY29yZHMgPSB0b0V4cHJlc3Npb24oanNvbmF0YSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBBdXRob3JpemF0aW9uIGhlYWRlciB3aXRoIEJlYXJlciB0b2tlbi5cbiAgICpcbiAgICogQHBhcmFtIHRva2VuIC0gQmVhcmVyIHRva2VuIHZhbHVlIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgYmVhcmVyVG9rZW4odG9rZW46IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucGFyYW1zLmJlYXJlcih0b2tlbilcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgYXV0b21hdGljIDQwMSB0b2tlbiByZWZyZXNoLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBXaGV0aGVyIHRvIGRpc2FibGUgKGRlZmF1bHQ6IHRydWUpXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGRpc2FibGVUb2tlblJlZnJlc2godmFsdWUgPSB0cnVlKTogdGhpcyB7XG4gICAgdGhpcy5fY29uZmlnLmRpc2FibGVUb2tlblJlZnJlc2ggPSB2YWx1ZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVXNlIGxvY2FsIGRldmljZSBjYWxscyBpbnN0ZWFkIG9mIGJhY2tlbmQgcHJveHkuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFdoZXRoZXIgdG8gdXNlIGxvY2FsIGNhbGxzIChkZWZhdWx0OiB0cnVlKVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB1c2VMb2NhbENhbGwodmFsdWUgPSB0cnVlKTogdGhpcyB7XG4gICAgdGhpcy5fY29uZmlnLnVzZUxvY2FsQ2FsbCA9IHZhbHVlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG9ydGN1dCBmb3IgSlNPTiBmb3JtYXQgKG1vc3QgY29tbW9uKS5cbiAgICpcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAganNvbigpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQoJ2pzb24nKVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3J0Y3V0IGZvciBYTUwgZm9ybWF0LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB4bWwoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0KCd4bWwnKVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3J0Y3V0IGZvciBmb3JtLWVuY29kZWQgZm9ybWF0LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBmb3JtKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdCgnZm9ybScpXG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBiYXNlNjQtZW5jb2RlZCBkYXRhIHRvIFVSSSBmb3JtYXQuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSAtIFByb3BlcnR5IHBhdGggY29udGFpbmluZyBiYXNlNjQgZGF0YVxuICAgKiBAcGFyYW0gZmlsZW5hbWUgLSBPcHRpb25hbCBmaWxlbmFtZSBmb3IgbG9jYWwgc3RvcmFnZSAodXNlcyBsb2NhbC11cmkgaWYgcHJvdmlkZWQsIGRhdGEtdXJpIG90aGVyd2lzZSlcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgYmFzZTY0VG9VcmkocHJvcGVydHk6IHN0cmluZywgZmlsZW5hbWU/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoZmlsZW5hbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnZlcnNpb24ocHJvcGVydHksICdiYXNlNjQnLCAnbG9jYWwtdXJpJywgZmlsZW5hbWUpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnZlcnNpb24ocHJvcGVydHksICdiYXNlNjQnLCAnZGF0YS11cmknKVxuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYmFzZTY0LWVuY29kZWQgZGF0YSB0byBsb2NhbC11cmkgZm9ybWF0LlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBQcm9wZXJ0eSBwYXRoIGNvbnRhaW5pbmcgYmFzZTY0IGRhdGFcbiAgICogQHBhcmFtIGZpbGVuYW1lIC0gT3B0aW9uYWwgZmlsZW5hbWUgZm9yIGxvY2FsIHN0b3JhZ2VcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgYmFzZTY0VG9Mb2NhbFVyaShwcm9wZXJ0eTogc3RyaW5nLCBmaWxlbmFtZT86IHN0cmluZyk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNvbnZlcnNpb24ocHJvcGVydHksICdiYXNlNjQnLCAnbG9jYWwtdXJpJywgZmlsZW5hbWUpXG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBVUkkgKGxvY2FsIGZpbGUpIHRvIGJhc2U2NCBlbmNvZGluZy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BlcnR5IC0gUHJvcGVydHkgcGF0aCBjb250YWluaW5nIFVSSVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB1cmlUb0Jhc2U2NChwcm9wZXJ0eTogc3RyaW5nKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY29udmVyc2lvbihwcm9wZXJ0eSwgJ2xvY2FsLXVyaScsICdiYXNlNjQnKVxuICB9XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.rest.d.ts","sourceRoot":"","sources":["../../src/function/function.rest.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,UAAU,EAIhB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAK3E,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAExC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAE3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;IAE1B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAChC;AAYD,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IAErC,OAAO,CAAC,aAAa,CAAC,CAAyB;IAO/C,YAAY,OAAO,EAAE,iBAAiB,EASrC;IAOD,IAAI,YAAY,IAAI,uBAAuB,CAI1C;IAQD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG3B;IAQD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;IACpD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAgBxE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAG1C;IAQD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG/B;IAQD,mBAAmB,CAAC,KAAK,UAAO,GAAG,IAAI,CAGtC;IAQD,YAAY,CAAC,KAAK,UAAO,GAAG,IAAI,CAG/B;IAOD,IAAI,IAAI,IAAI,CAEX;IAOD,GAAG,IAAI,IAAI,CAEV;IAOD,IAAI,IAAI,IAAI,CAEX;IASD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAKrD;IASD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1D;IAQD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAElC;CACF","sourcesContent":["import {\n DATA_PROVIDER,\n type Expression,\n type FunctionId,\n toExpression,\n toFunctionId,\n toNonExpression,\n} from '../abstract/index.js'\nimport { FunctionBaseBuilder } from './function.abstract.js'\nimport { type HttpMethod } from './function.rest.types.js'\nimport { RestContinuationBuilder } from './function.rest.continuation.js'\nimport { RestParameterBuilder } from './function.rest.parameter-builder.js'\n\n/**\n * REST function builder input.\n */\nexport interface RestFunctionInput {\n /** Unique identifier */\n readonly functionId: FunctionId | string\n /** HTTP method (GET, POST, PUT, PATCH, DELETE) */\n readonly method: HttpMethod\n /** API endpoint URL (supports {param} placeholders) */\n readonly url: string | URL\n /** Use local device calls instead of backend proxy */\n readonly useLocalCall?: boolean\n}\n\n/**\n * Connect to REST APIs.\n *\n * HTTP operations with auth, transforms, pagination.\n * Supports OAuth, API Key, Basic Auth.\n * Transform with JSONata. Handle pagination.\n * Convert file formats.\n *\n * @alias DATA_PROVIDER_REST\n */\nexport class RestFunctionBuilder extends FunctionBaseBuilder {\n readonly params: RestParameterBuilder\n\n private _continuation?: RestContinuationBuilder\n\n /**\n * Create REST function builder.\n *\n * @param options - REST function configuration\n */\n constructor(options: RestFunctionInput) {\n const { functionId, method, url, useLocalCall } = options\n super(toFunctionId(functionId), DATA_PROVIDER.REST)\n this._config.method = method\n this._config.url = toNonExpression(url instanceof URL ? url.toString() : url)\n if (useLocalCall !== undefined) this._config.useLocalCall = useLocalCall\n\n this.params = new RestParameterBuilder()\n this._config.parameters = this.params\n }\n\n /**\n * Get continuation builder for pagination.\n *\n * @returns RestContinuationBuilder for fluent configuration\n */\n get continuation(): RestContinuationBuilder {\n this._continuation ??= new RestContinuationBuilder()\n this._config.continuation = this._continuation\n return this._continuation\n }\n\n /**\n * Set response format.\n *\n * @param format - Response format\n * @returns Builder for chaining\n */\n format(format: string): this {\n this._config.format = format\n return this\n }\n\n /**\n * Transform request data with JSONata.\n *\n * @param transform - JSONATA expression to transform request body\n * @returns Builder for chaining\n */\n inputTransform(transform: string | Expression): this\n inputTransform(prefix: string, transform: Record<string, unknown>): this\n inputTransform(txOrPx: string | Expression, transform?: Record<string, unknown>): this {\n let tx: string = txOrPx.trimStart()\n // if (tx.startsWith('=')) tx = tx.slice(1).trimStart()\n if (transform) tx += JSON.stringify(transform)\n\n this._config.inputTransform = tx\n return this\n }\n\n /**\n * Extract specific records from response.\n *\n * @param jsonata - Expression to extract records (starts with =)\n * @returns This builder for chaining\n */\n records(jsonata: string | Expression): this {\n this._config.records = toExpression(jsonata)\n return this\n }\n\n /**\n * Set Authorization header with Bearer token.\n *\n * @param token - Bearer token value or expression\n * @returns This builder for chaining\n */\n bearerToken(token: string): this {\n this.params.bearer(token)\n return this\n }\n\n /**\n * Disable automatic 401 token refresh.\n *\n * @param value - Whether to disable (default: true)\n * @returns This builder for chaining\n */\n disableTokenRefresh(value = true): this {\n this._config.disableTokenRefresh = value\n return this\n }\n\n /**\n * Use local device calls instead of backend proxy.\n *\n * @param value - Whether to use local calls (default: true)\n * @returns This builder for chaining\n */\n useLocalCall(value = true): this {\n this._config.useLocalCall = value\n return this\n }\n\n /**\n * Shortcut for JSON format (most common).\n *\n * @returns This builder for chaining\n */\n json(): this {\n return this.format('json')\n }\n\n /**\n * Shortcut for XML format.\n *\n * @returns This builder for chaining\n */\n xml(): this {\n return this.format('xml')\n }\n\n /**\n * Shortcut for form-encoded format.\n *\n * @returns This builder for chaining\n */\n form(): this {\n return this.format('form')\n }\n\n /**\n * Convert base64-encoded data to URI format.\n *\n * @param property - Property path containing base64 data\n * @param filename - Optional filename for local storage (uses local-uri if provided, data-uri otherwise)\n * @returns This builder for chaining\n */\n base64ToUri(property: string, filename?: string): this {\n if (filename) {\n return this.conversion(property, 'base64', 'local-uri', filename)\n }\n return this.conversion(property, 'base64', 'data-uri')\n }\n\n /**\n * Convert base64-encoded data to local-uri format.\n *\n * @param property - Property path containing base64 data\n * @param filename - Optional filename for local storage\n * @returns This builder for chaining\n */\n base64ToLocalUri(property: string, filename?: string): this {\n return this.conversion(property, 'base64', 'local-uri', filename)\n }\n\n /**\n * Convert URI (local file) to base64 encoding.\n *\n * @param property - Property path containing URI\n * @returns This builder for chaining\n */\n uriToBase64(property: string): this {\n return this.conversion(property, 'local-uri', 'base64')\n }\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import { type Expression, type TextValue, TextValueBuilder } from '../abstract/index.js';
2
+ import { type IconName } from '../icon/index.js';
3
+ import type { FunctionErrorHandlerAlert, FunctionErrorHandlerOperation, FunctionErrorHandlerRetry, OperationType } from './function.abstract.js';
4
+ export declare class ErrorOperationBuilder {
5
+ private readonly _operation;
6
+ constructor(operation: FunctionErrorHandlerOperation);
7
+ when(condition: string | Expression): this;
8
+ table(table: string | Expression): this;
9
+ type(operationType: OperationType): this;
10
+ tables(tables: string[]): this;
11
+ statement(sql: string, parameters?: Record<string, string | Expression>): this;
12
+ executeSql(tables: string[], ...statements: Array<string | {
13
+ statement: string;
14
+ parameters?: Record<string, string | Expression>;
15
+ }>): this;
16
+ upsertMerge(table: string | Expression): this;
17
+ upsertReplace(table: string | Expression): this;
18
+ deleteInsert(table: string | Expression): this;
19
+ build(): Record<string, unknown>;
20
+ }
21
+ export declare class FunctionErrorBuilder {
22
+ private readonly _error;
23
+ constructor(when: boolean | string | Expression);
24
+ title(title: string | Expression | TextValue | TextValueBuilder): this;
25
+ description(description: string | TextValue | TextValueBuilder): this;
26
+ details(details: string | Expression | TextValue | TextValueBuilder): this;
27
+ icon(icon: IconName | Expression): this;
28
+ notification(show: boolean | Expression, title?: string | Expression | TextValue | TextValueBuilder, description?: string | Expression | TextValue | TextValueBuilder): this;
29
+ transform(jsonata: string | Expression): this;
30
+ transform(prefix: string, transform: Record<string, unknown>): this;
31
+ table(table: string | Expression): this;
32
+ operation(records?: string | Expression): ErrorOperationBuilder;
33
+ retry(config: FunctionErrorHandlerRetry): this;
34
+ when(condition: boolean | string | Expression): this;
35
+ alert(options: FunctionErrorHandlerAlert): this;
36
+ build(): Record<string, unknown>;
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24ucmVzdC5lcnJvci1idWlsZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnVuY3Rpb24vZnVuY3Rpb24ucmVzdC5lcnJvci1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLFVBQVUsRUFDZixLQUFLLFNBQVMsRUFDZCxnQkFBZ0IsRUFFakIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQTBCLE1BQU0sa0JBQWtCLENBQUE7QUFDeEUsT0FBTyxLQUFLLEVBQ1YseUJBQXlCLEVBRXpCLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIsYUFBYSxFQUNkLE1BQU0sd0JBQXdCLENBQUE7QUFLL0IscUJBQWEscUJBQXFCO0lBQ2hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUErQjtJQU8xRCxZQUFZLFNBQVMsRUFBRSw2QkFBNkIsRUFFbkQ7SUFRRCxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUd6QztJQVFELEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBSXRDO0lBUUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLEdBQUcsSUFBSSxDQUd2QztJQVFELE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUc3QjtJQVNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FTN0U7SUFTRCxVQUFVLENBQ1IsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUNoQixHQUFHLFVBQVUsRUFBRSxLQUFLLENBQ2xCLE1BQU0sR0FBRztRQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQTtLQUFFLENBQ2pGLEdBQ0EsSUFBSSxDQWlCTjtJQVFELFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBSzVDO0lBUUQsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FLOUM7SUFRRCxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUs3QztJQU9ELEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUUvQjtDQUNGO0FBS0QscUJBQWEsb0JBQW9CO0lBQy9CLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFnQztJQU92RCxZQUFZLElBQUksRUFBRSxPQUFPLEdBQUcsTUFBTSxHQUFHLFVBQVUsRUFNOUM7SUFTRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxVQUFVLEdBQUcsU0FBUyxHQUFHLGdCQUFnQixHQUFHLElBQUksQ0FRckU7SUFRRCxXQUFXLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUdwRTtJQVFELE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLFVBQVUsR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQU96RTtJQVFELElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBR3RDO0lBV0QsWUFBWSxDQUNWLElBQUksRUFBRSxPQUFPLEdBQUcsVUFBVSxFQUMxQixLQUFLLENBQUMsRUFBRSxNQUFNLEdBQUcsVUFBVSxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsRUFDMUQsV0FBVyxDQUFDLEVBQUUsTUFBTSxHQUFHLFVBQVUsR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLEdBQy9ELElBQUksQ0FLTjtJQVFELFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUE7SUFDN0MsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBZ0JuRSxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUl0QztJQVFELFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEdBQUcsVUFBVSxHQUFHLHFCQUFxQixDQVc5RDtJQVFELEtBQUssQ0FBQyxNQUFNLEVBQUUseUJBQXlCLEdBQUcsSUFBSSxDQVM3QztJQVFELElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxHQUFHLE1BQU0sR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUluRDtJQVFELEtBQUssQ0FBQyxPQUFPLEVBQUUseUJBQXlCLEdBQUcsSUFBSSxDQUc5QztJQU9ELEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUUvQjtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBFeHByZXNzaW9uLFxuICB0eXBlIFRleHRWYWx1ZSxcbiAgVGV4dFZhbHVlQnVpbGRlcixcbiAgdG9FeHByZXNzaW9uLFxufSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgSWNvbk5hbWUsIHRvSWNvbk5hbWVPckV4cHJlc3Npb24gfSBmcm9tICcuLi9pY29uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUge1xuICBGdW5jdGlvbkVycm9ySGFuZGxlckFsZXJ0LFxuICBGdW5jdGlvbkVycm9ySGFuZGxlckRlZmluaXRpb24sXG4gIEZ1bmN0aW9uRXJyb3JIYW5kbGVyT3BlcmF0aW9uLFxuICBGdW5jdGlvbkVycm9ySGFuZGxlclJldHJ5LFxuICBPcGVyYXRpb25UeXBlLFxufSBmcm9tICcuL2Z1bmN0aW9uLmFic3RyYWN0LmpzJ1xuXG4vKipcbiAqIEJ1aWxkIGVycm9yIGhhbmRsZXIgb3BlcmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVycm9yT3BlcmF0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29wZXJhdGlvbjogRnVuY3Rpb25FcnJvckhhbmRsZXJPcGVyYXRpb25cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBlcnJvciBvcGVyYXRpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHBhcmFtIG9wZXJhdGlvbiAtIFRoZSBvcGVyYXRpb24gY29uZmlndXJhdGlvbiB0byBidWlsZFxuICAgKi9cbiAgY29uc3RydWN0b3Iob3BlcmF0aW9uOiBGdW5jdGlvbkVycm9ySGFuZGxlck9wZXJhdGlvbikge1xuICAgIHRoaXMuX29wZXJhdGlvbiA9IG9wZXJhdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBjb25kaXRpb24gZm9yIHdoZW4gb3BlcmF0aW9uIHNob3VsZCBleGVjdXRlLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZGl0aW9uIC0gSlNPTkFUQSBleHByZXNzaW9uIHJldHVybmluZyBib29sZWFuXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHdoZW4oY29uZGl0aW9uOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLndoZW4gPSB0b0V4cHJlc3Npb24oY29uZGl0aW9uKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRhcmdldCB0YWJsZSB0byBzdG9yZSBvcGVyYXRpb24gcmVzdWx0cy5cbiAgICpcbiAgICogQHBhcmFtIHRhYmxlIC0gVGFibGUgbmFtZSBvciBleHByZXNzaW9uXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHRhYmxlKHRhYmxlOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLnRhYmxlID1cbiAgICAgIHR5cGVvZiB0YWJsZSA9PT0gJ3N0cmluZycgJiYgdGFibGUuc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHRhYmxlKSA6IHRhYmxlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgb3BlcmF0aW9uIHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSBvcGVyYXRpb25UeXBlIC0gT3BlcmF0aW9uIHR5cGUgKGUuZy4sICdvcGVyYXRpb24udXBzZXJ0LW1lcmdlJywgJ29wZXJhdGlvbi5leGVjdXRlLXNxbCcpXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHR5cGUob3BlcmF0aW9uVHlwZTogT3BlcmF0aW9uVHlwZSk6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gb3BlcmF0aW9uVHlwZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRhYmxlcyBmb3IgZXhlY3V0ZS1zcWwgb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHRhYmxlcyAtIEFycmF5IG9mIHRhYmxlIG5hbWVzXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHRhYmxlcyh0YWJsZXM6IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLnRhYmxlcyA9IHRhYmxlc1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQWRkIFNRTCBzdGF0ZW1lbnQgZm9yIGV4ZWN1dGUtc3FsIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBzcWwgLSBTUUwgc3RhdGVtZW50XG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIC0gT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIHN0YXRlbWVudFxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBzdGF0ZW1lbnQoc3FsOiBzdHJpbmcsIHBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBFeHByZXNzaW9uPik6IHRoaXMge1xuICAgIGlmICghdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMpIHtcbiAgICAgIHRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzID0gW11cbiAgICB9XG4gICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMucHVzaCh7XG4gICAgICBzdGF0ZW1lbnQ6IHNxbCxcbiAgICAgIC4uLihwYXJhbWV0ZXJzICYmIHsgcGFyYW1ldGVycyB9KSxcbiAgICB9KVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBleGVjdXRlLXNxbCBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGVzIC0gVGFibGVzIGFmZmVjdGVkIGJ5IFNRTCBzdGF0ZW1lbnRzXG4gICAqIEBwYXJhbSBzdGF0ZW1lbnRzIC0gU1FMIHN0YXRlbWVudHMgd2l0aCBvcHRpb25hbCBwYXJhbWV0ZXJzXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGV4ZWN1dGVTcWwoXG4gICAgdGFibGVzOiBzdHJpbmdbXSxcbiAgICAuLi5zdGF0ZW1lbnRzOiBBcnJheTxcbiAgICAgIHN0cmluZyB8IHsgc3RhdGVtZW50OiBzdHJpbmc7IHBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBFeHByZXNzaW9uPiB9XG4gICAgPlxuICApOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udHlwZSA9ICdvcGVyYXRpb24uZXhlY3V0ZS1zcWwnXG4gICAgdGhpcy5fb3BlcmF0aW9uLnRhYmxlcyA9IHRhYmxlc1xuXG4gICAgaWYgKCF0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cykge1xuICAgICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMgPSBbXVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3RtdCBvZiBzdGF0ZW1lbnRzKSB7XG4gICAgICBpZiAodHlwZW9mIHN0bXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzLnB1c2goeyBzdGF0ZW1lbnQ6IHN0bXQgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzLnB1c2goc3RtdClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgdXBzZXJ0LW1lcmdlIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhcmdldCB0YWJsZSBuYW1lIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdXBzZXJ0TWVyZ2UodGFibGU6IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udHlwZSA9ICdvcGVyYXRpb24udXBzZXJ0LW1lcmdlJ1xuICAgIHRoaXMuX29wZXJhdGlvbi50YWJsZSA9XG4gICAgICB0eXBlb2YgdGFibGUgPT09ICdzdHJpbmcnICYmIHRhYmxlLnN0YXJ0c1dpdGgoJz0nKSA/IHRvRXhwcmVzc2lvbih0YWJsZSkgOiB0YWJsZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciB1cHNlcnQtcmVwbGFjZSBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGUgLSBUYXJnZXQgdGFibGUgbmFtZSBvciBleHByZXNzaW9uXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHVwc2VydFJlcGxhY2UodGFibGU6IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udHlwZSA9ICdvcGVyYXRpb24udXBzZXJ0LXJlcGxhY2UnXG4gICAgdGhpcy5fb3BlcmF0aW9uLnRhYmxlID1cbiAgICAgIHR5cGVvZiB0YWJsZSA9PT0gJ3N0cmluZycgJiYgdGFibGUuc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHRhYmxlKSA6IHRhYmxlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGRlbGV0ZS1pbnNlcnQgb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHRhYmxlIC0gVGFyZ2V0IHRhYmxlIG5hbWUgb3IgZXhwcmVzc2lvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBkZWxldGVJbnNlcnQodGFibGU6IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udHlwZSA9ICdvcGVyYXRpb24uZGVsZXRlLWluc2VydCdcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGUgPVxuICAgICAgdHlwZW9mIHRhYmxlID09PSAnc3RyaW5nJyAmJiB0YWJsZS5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24odGFibGUpIDogdGFibGVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGVycm9yIG9wZXJhdGlvbiBkZWZpbml0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBDb21wbGV0ZSBlcnJvciBvcGVyYXRpb24gZGVmaW5pdGlvbiBvYmplY3RcbiAgICovXG4gIGJ1aWxkKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fb3BlcmF0aW9uXG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZCBmdW5jdGlvbiBlcnJvciBoYW5kbGVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uRXJyb3JCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZXJyb3I6IEZ1bmN0aW9uRXJyb3JIYW5kbGVyRGVmaW5pdGlvblxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVycm9yIGhhbmRsZXIgYnVpbGRlci5cbiAgICpcbiAgICogQHBhcmFtIHdoZW4gLSBSZXF1aXJlZCBjb25kaXRpb24gKGJvb2xlYW4gb3IgZXhwcmVzc2lvbikuIEJvb2xlYW4gdHJ1ZS9mYWxzZSBjb252ZXJ0cyB0byAnPXRydWUnLyc9ZmFsc2UnXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih3aGVuOiBib29sZWFuIHwgc3RyaW5nIHwgRXhwcmVzc2lvbikge1xuICAgIC8vIENvbnZlcnQgYm9vbGVhbiB0byBleHByZXNzaW9uXG4gICAgY29uc3Qgd2hlbkV4cHIgPSB0eXBlb2Ygd2hlbiA9PT0gJ2Jvb2xlYW4nID8gYD0ke1N0cmluZyh3aGVuKX1gIDogd2hlblxuICAgIHRoaXMuX2Vycm9yID0ge1xuICAgICAgd2hlbjogdG9FeHByZXNzaW9uKHdoZW5FeHByKSxcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IGVycm9yIHRpdGxlIHNob3duIGluIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0aXRsZSAtIFN0YXRpYyB0ZXh0LCBleHByZXNzaW9uICg9Li4uKSwgb3IgVGV4dFZhbHVlXG4gICAqIEBkZWZhdWx0IHRpdGxlIGlzIHRoZSBzYW1lIGFzIGRlc2NyaXB0aW9uIGlmIG5vdCBzZXQuXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHRpdGxlKHRpdGxlOiBzdHJpbmcgfCBFeHByZXNzaW9uIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlcik6IHRoaXMge1xuICAgIGlmICh0eXBlb2YgdGl0bGUgPT09ICdzdHJpbmcnICYmIHRpdGxlLnN0YXJ0c1dpdGgoJz0nKSkge1xuICAgICAgdGhpcy5fZXJyb3IudGl0bGUgPSB0b0V4cHJlc3Npb24odGl0bGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2Vycm9yLnRpdGxlID0gVGV4dFZhbHVlQnVpbGRlci5mcm9tKHRpdGxlKVxuICAgIH1cbiAgICB0aGlzLl9lcnJvci5kZXNjcmlwdGlvbiB8fD0gdGhpcy5fZXJyb3IudGl0bGVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBlcnJvciBkZXNjcmlwdGlvbiBmb3IgdXNlci1mYWNpbmcgbm90aWZpY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIC0gRGVzY3JpcHRpdmUgdGV4dCBvciBUZXh0VmFsdWVcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyB8IFRleHRWYWx1ZSB8IFRleHRWYWx1ZUJ1aWxkZXIpOiB0aGlzIHtcbiAgICB0aGlzLl9lcnJvci5kZXNjcmlwdGlvbiA9IFRleHRWYWx1ZUJ1aWxkZXIuZnJvbShkZXNjcmlwdGlvbilcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhZGRpdGlvbmFsIGVycm9yIGRldGFpbHMuXG4gICAqXG4gICAqIEBwYXJhbSBkZXRhaWxzIC0gU3RhdGljIHRleHQsIGV4cHJlc3Npb24sIG9yIFRleHRWYWx1ZVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBkZXRhaWxzKGRldGFpbHM6IHN0cmluZyB8IEV4cHJlc3Npb24gfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyKTogdGhpcyB7XG4gICAgaWYgKHR5cGVvZiBkZXRhaWxzID09PSAnc3RyaW5nJyAmJiBkZXRhaWxzLnN0YXJ0c1dpdGgoJz0nKSkge1xuICAgICAgdGhpcy5fZXJyb3IuZGV0YWlscyA9IHRvRXhwcmVzc2lvbihkZXRhaWxzKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lcnJvci5kZXRhaWxzID0gVGV4dFZhbHVlQnVpbGRlci5mcm9tKGRldGFpbHMpXG4gICAgfVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IGljb24gZm9yIGVycm9yIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBpY29uIC0gSWNvbiBuYW1lLCBleHByZXNzaW9uLCBvciBJY29uTmFtZSB0eXBlXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGljb24oaWNvbjogSWNvbk5hbWUgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fZXJyb3IuaWNvbiA9IHRvSWNvbk5hbWVPckV4cHJlc3Npb24oaWNvbilcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRyb2wgd2hldGhlciB0byBzaG93IGVycm9yIG5vdGlmaWNhdGlvbiB0byB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gc2hvdyAtIEJvb2xlYW4gb3IgZXhwcmVzc2lvblxuICAgKiBAcGFyYW0gdGl0bGVcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgbm90aWZpY2F0aW9uKFxuICAgIHNob3c6IGJvb2xlYW4gfCBFeHByZXNzaW9uLFxuICAgIHRpdGxlPzogc3RyaW5nIHwgRXhwcmVzc2lvbiB8IFRleHRWYWx1ZSB8IFRleHRWYWx1ZUJ1aWxkZXIsXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBFeHByZXNzaW9uIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlcixcbiAgKTogdGhpcyB7XG4gICAgaWYgKHRpdGxlKSB0aGlzLnRpdGxlKHRpdGxlKVxuICAgIGlmIChkZXNjcmlwdGlvbikgdGhpcy5kZXNjcmlwdGlvbihkZXNjcmlwdGlvbilcbiAgICB0aGlzLl9lcnJvci5ub3RpZmljYXRpb24gPSB0eXBlb2Ygc2hvdyA9PT0gJ2Jvb2xlYW4nID8gc2hvdyA6IHRvRXhwcmVzc2lvbihzaG93IGFzIHN0cmluZylcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBlcnJvciBkYXRhIGJlZm9yZSBzdG9yYWdlL2Rpc3BsYXkuXG4gICAqXG4gICAqIEBwYXJhbSBqc29uYXRhIC0gSlNPTkFUQSBleHByZXNzaW9uIHN0cmluZ1xuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB0cmFuc2Zvcm0oanNvbmF0YTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXNcbiAgdHJhbnNmb3JtKHByZWZpeDogc3RyaW5nLCB0cmFuc2Zvcm06IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdGhpc1xuICB0cmFuc2Zvcm0odHhPclB4OiBzdHJpbmcgfCBFeHByZXNzaW9uLCB0cmFuc2Zvcm0/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHRoaXMge1xuICAgIGxldCB0eDogc3RyaW5nID0gdHhPclB4LnRyaW1TdGFydCgpXG4gICAgLy8gaWYgKHR4LnN0YXJ0c1dpdGgoJz0nKSkgdHggPSB0eC5zbGljZSgxKS50cmltU3RhcnQoKVxuICAgIGlmICh0cmFuc2Zvcm0pIHR4ICs9IEpTT04uc3RyaW5naWZ5KHRyYW5zZm9ybSlcblxuICAgIHRoaXMuX2Vycm9yLnRyYW5zZm9ybSA9IHR4IC8vIHRvRXhwcmVzc2lvbih0eClcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3JlIGVycm9yIGRhdGEgaW4gc3BlY2lmaWVkIHRhYmxlLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGUgLSBUYWJsZSBuYW1lIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGFibGUodGFibGU6IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9lcnJvci50YWJsZSA9XG4gICAgICB0eXBlb2YgdGFibGUgPT09ICdzdHJpbmcnICYmIHRhYmxlLnN0YXJ0c1dpdGgoJz0nKSA/IHRvRXhwcmVzc2lvbih0YWJsZSkgOiB0YWJsZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQWRkIG9wZXJhdGlvbiB0byBwZXJmb3JtIHdoZW4gZXJyb3Igb2NjdXJzLlxuICAgKlxuICAgKiBAcGFyYW0gcmVjb3JkcyAtIEpTT05BVEEgZXhwcmVzc2lvbiBmb3Igb3BlcmF0aW9uIGRhdGEgKG9wdGlvbmFsIGZvciBleGVjdXRlLXNxbCBvcGVyYXRpb25zKVxuICAgKiBAcmV0dXJucyBFcnJvck9wZXJhdGlvbkJ1aWxkZXIgZm9yIGZ1cnRoZXIgY29uZmlndXJhdGlvblxuICAgKi9cbiAgb3BlcmF0aW9uKHJlY29yZHM/OiBzdHJpbmcgfCBFeHByZXNzaW9uKTogRXJyb3JPcGVyYXRpb25CdWlsZGVyIHtcbiAgICBpZiAoIXRoaXMuX2Vycm9yLm9wZXJhdGlvbnMpIHtcbiAgICAgIHRoaXMuX2Vycm9yLm9wZXJhdGlvbnMgPSBbXVxuICAgIH1cblxuICAgIGNvbnN0IG9wZXJhdGlvbjogRnVuY3Rpb25FcnJvckhhbmRsZXJPcGVyYXRpb24gPSB7XG4gICAgICAuLi4ocmVjb3JkcyAhPT0gdW5kZWZpbmVkICYmIHsgcmVjb3JkczogdG9FeHByZXNzaW9uKHJlY29yZHMpIH0pLFxuICAgIH1cbiAgICB0aGlzLl9lcnJvci5vcGVyYXRpb25zLnB1c2gob3BlcmF0aW9uKVxuXG4gICAgcmV0dXJuIG5ldyBFcnJvck9wZXJhdGlvbkJ1aWxkZXIob3BlcmF0aW9uKVxuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBhdXRvbWF0aWMgcmV0cnkgYmVoYXZpb3IgZm9yIGVycm9ycy5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyAtIFJldHJ5IGNvbmZpZ3VyYXRpb24gd2l0aCB3aGVuLCBkZWxheSwgbWF4UmV0cmllc1xuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICByZXRyeShjb25maWc6IEZ1bmN0aW9uRXJyb3JIYW5kbGVyUmV0cnkpOiB0aGlzIHtcbiAgICB0aGlzLl9lcnJvci5yZXRyeSA9IHtcbiAgICAgIC4uLihjb25maWcud2hlbiAmJiB7IHdoZW46IHRvRXhwcmVzc2lvbihjb25maWcud2hlbikgfSksXG4gICAgICAuLi4oY29uZmlnLmRlbGF5ICE9PSB1bmRlZmluZWQgJiYge1xuICAgICAgICBkZWxheTogdHlwZW9mIGNvbmZpZy5kZWxheSA9PT0gJ251bWJlcicgPyBjb25maWcuZGVsYXkgOiB0b0V4cHJlc3Npb24oY29uZmlnLmRlbGF5KSxcbiAgICAgIH0pLFxuICAgICAgLi4uKGNvbmZpZy5tYXhSZXRyaWVzICE9PSB1bmRlZmluZWQgJiYgeyBtYXhSZXRyaWVzOiBjb25maWcubWF4UmV0cmllcyB9KSxcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB3aGVuIGNvbmRpdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGNvbmRpdGlvbiAtIEJvb2xlYW4gb3IgSlNPTkFUQSBleHByZXNzaW9uXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHdoZW4oY29uZGl0aW9uOiBib29sZWFuIHwgc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIGNvbnN0IHdoZW5FeHByID0gdHlwZW9mIGNvbmRpdGlvbiA9PT0gJ2Jvb2xlYW4nID8gYD0ke1N0cmluZyhjb25kaXRpb24pfWAgOiBjb25kaXRpb25cbiAgICB0aGlzLl9lcnJvci53aGVuID0gdG9FeHByZXNzaW9uKHdoZW5FeHByKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIGFsZXJ0IG5vdGlmaWNhdGlvbiBmb3IgdGhpcyBlcnJvciBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIEFsZXJ0IGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgYWxlcnQob3B0aW9uczogRnVuY3Rpb25FcnJvckhhbmRsZXJBbGVydCk6IHRoaXMge1xuICAgIHRoaXMuX2Vycm9yLmFsZXJ0ID0gb3B0aW9uc1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgZXJyb3IgaGFuZGxlciBkZWZpbml0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBDb21wbGV0ZSBlcnJvciBoYW5kbGVyIGRlZmluaXRpb24gb2JqZWN0XG4gICAqL1xuICBidWlsZCgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.rest.error-builder.d.ts","sourceRoot":"","sources":["../../src/function/function.rest.error-builder.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type Expression,\n type TextValue,\n TextValueBuilder,\n toExpression,\n} from '../abstract/index.js'\nimport { type IconName, toIconNameOrExpression } from '../icon/index.js'\nimport type {\n FunctionErrorHandlerAlert,\n FunctionErrorHandlerDefinition,\n FunctionErrorHandlerOperation,\n FunctionErrorHandlerRetry,\n OperationType,\n} from './function.abstract.js'\n\n/**\n * Build error handler operations.\n */\nexport class ErrorOperationBuilder {\n private readonly _operation: FunctionErrorHandlerOperation\n\n /**\n * Creates a new error operation builder.\n *\n * @param operation - The operation configuration to build\n */\n constructor(operation: FunctionErrorHandlerOperation) {\n this._operation = operation\n }\n\n /**\n * Set condition for when operation should execute.\n *\n * @param condition - JSONATA expression returning boolean\n * @returns This builder for chaining\n */\n when(condition: string | Expression): this {\n this._operation.when = toExpression(condition)\n return this\n }\n\n /**\n * Set target table to store operation results.\n *\n * @param table - Table name or expression\n * @returns This builder for chaining\n */\n table(table: string | Expression): this {\n this._operation.table =\n typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table\n return this\n }\n\n /**\n * Set operation type.\n *\n * @param operationType - Operation type (e.g., 'operation.upsert-merge', 'operation.execute-sql')\n * @returns This builder for chaining\n */\n type(operationType: OperationType): this {\n this._operation.type = operationType\n return this\n }\n\n /**\n * Set tables for execute-sql operations.\n *\n * @param tables - Array of table names\n * @returns This builder for chaining\n */\n tables(tables: string[]): this {\n this._operation.tables = tables\n return this\n }\n\n /**\n * Add SQL statement for execute-sql operations.\n *\n * @param sql - SQL statement\n * @param parameters - Optional parameters for the statement\n * @returns This builder for chaining\n */\n statement(sql: string, parameters?: Record<string, string | Expression>): this {\n if (!this._operation.statements) {\n this._operation.statements = []\n }\n this._operation.statements.push({\n statement: sql,\n ...(parameters && { parameters }),\n })\n return this\n }\n\n /**\n * Convenience method for execute-sql operations.\n *\n * @param tables - Tables affected by SQL statements\n * @param statements - SQL statements with optional parameters\n * @returns This builder for chaining\n */\n executeSql(\n tables: string[],\n ...statements: Array<\n string | { statement: string; parameters?: Record<string, string | Expression> }\n >\n ): this {\n this._operation.type = 'operation.execute-sql'\n this._operation.tables = tables\n\n if (!this._operation.statements) {\n this._operation.statements = []\n }\n\n for (const stmt of statements) {\n if (typeof stmt === 'string') {\n this._operation.statements.push({ statement: stmt })\n } else {\n this._operation.statements.push(stmt)\n }\n }\n\n return this\n }\n\n /**\n * Convenience method for upsert-merge operations.\n *\n * @param table - Target table name or expression\n * @returns This builder for chaining\n */\n upsertMerge(table: string | Expression): this {\n this._operation.type = 'operation.upsert-merge'\n this._operation.table =\n typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table\n return this\n }\n\n /**\n * Convenience method for upsert-replace operations.\n *\n * @param table - Target table name or expression\n * @returns This builder for chaining\n */\n upsertReplace(table: string | Expression): this {\n this._operation.type = 'operation.upsert-replace'\n this._operation.table =\n typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table\n return this\n }\n\n /**\n * Convenience method for delete-insert operations.\n *\n * @param table - Target table name or expression\n * @returns This builder for chaining\n */\n deleteInsert(table: string | Expression): this {\n this._operation.type = 'operation.delete-insert'\n this._operation.table =\n typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table\n return this\n }\n\n /**\n * Build error operation definition.\n *\n * @returns Complete error operation definition object\n */\n build(): Record<string, unknown> {\n return this._operation\n }\n}\n\n/**\n * Build function error handlers.\n */\nexport class FunctionErrorBuilder {\n private readonly _error: FunctionErrorHandlerDefinition\n\n /**\n * Creates a new error handler builder.\n *\n * @param when - Required condition (boolean or expression). Boolean true/false converts to '=true'/'=false'\n */\n constructor(when: boolean | string | Expression) {\n // Convert boolean to expression\n const whenExpr = typeof when === 'boolean' ? `=${String(when)}` : when\n this._error = {\n when: toExpression(whenExpr),\n }\n }\n\n /**\n * Set error title shown in notifications.\n *\n * @param title - Static text, expression (=...), or TextValue\n * @default title is the same as description if not set.\n * @returns This builder for chaining\n */\n title(title: string | Expression | TextValue | TextValueBuilder): this {\n if (typeof title === 'string' && title.startsWith('=')) {\n this._error.title = toExpression(title)\n } else {\n this._error.title = TextValueBuilder.from(title)\n }\n this._error.description ||= this._error.title\n return this\n }\n\n /**\n * Set error description for user-facing notifications.\n *\n * @param description - Descriptive text or TextValue\n * @returns This builder for chaining\n */\n description(description: string | TextValue | TextValueBuilder): this {\n this._error.description = TextValueBuilder.from(description)\n return this\n }\n\n /**\n * Set additional error details.\n *\n * @param details - Static text, expression, or TextValue\n * @returns This builder for chaining\n */\n details(details: string | Expression | TextValue | TextValueBuilder): this {\n if (typeof details === 'string' && details.startsWith('=')) {\n this._error.details = toExpression(details)\n } else {\n this._error.details = TextValueBuilder.from(details)\n }\n return this\n }\n\n /**\n * Set icon for error notifications.\n *\n * @param icon - Icon name, expression, or IconName type\n * @returns This builder for chaining\n */\n icon(icon: IconName | Expression): this {\n this._error.icon = toIconNameOrExpression(icon)\n return this\n }\n\n /**\n * Control whether to show error notification to user.\n *\n * @param show - Boolean or expression\n * @param title\n * @param description\n * @default true\n * @returns This builder for chaining\n */\n notification(\n show: boolean | Expression,\n title?: string | Expression | TextValue | TextValueBuilder,\n description?: string | Expression | TextValue | TextValueBuilder,\n ): this {\n if (title) this.title(title)\n if (description) this.description(description)\n this._error.notification = typeof show === 'boolean' ? show : toExpression(show as string)\n return this\n }\n\n /**\n * Transform error data before storage/display.\n *\n * @param jsonata - JSONATA expression string\n * @returns This builder for chaining\n */\n transform(jsonata: string | Expression): this\n transform(prefix: string, transform: Record<string, unknown>): this\n transform(txOrPx: string | Expression, transform?: Record<string, unknown>): this {\n let tx: string = txOrPx.trimStart()\n // if (tx.startsWith('=')) tx = tx.slice(1).trimStart()\n if (transform) tx += JSON.stringify(transform)\n\n this._error.transform = tx // toExpression(tx)\n return this\n }\n\n /**\n * Store error data in specified table.\n *\n * @param table - Table name or expression\n * @returns This builder for chaining\n */\n table(table: string | Expression): this {\n this._error.table =\n typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table\n return this\n }\n\n /**\n * Add operation to perform when error occurs.\n *\n * @param records - JSONATA expression for operation data (optional for execute-sql operations)\n * @returns ErrorOperationBuilder for further configuration\n */\n operation(records?: string | Expression): ErrorOperationBuilder {\n if (!this._error.operations) {\n this._error.operations = []\n }\n\n const operation: FunctionErrorHandlerOperation = {\n ...(records !== undefined && { records: toExpression(records) }),\n }\n this._error.operations.push(operation)\n\n return new ErrorOperationBuilder(operation)\n }\n\n /**\n * Configure automatic retry behavior for errors.\n *\n * @param config - Retry configuration with when, delay, maxRetries\n * @returns This builder for chaining\n */\n retry(config: FunctionErrorHandlerRetry): this {\n this._error.retry = {\n ...(config.when && { when: toExpression(config.when) }),\n ...(config.delay !== undefined && {\n delay: typeof config.delay === 'number' ? config.delay : toExpression(config.delay),\n }),\n ...(config.maxRetries !== undefined && { maxRetries: config.maxRetries }),\n }\n return this\n }\n\n /**\n * Override when condition.\n *\n * @param condition - Boolean or JSONATA expression\n * @returns This builder for chaining\n */\n when(condition: boolean | string | Expression): this {\n const whenExpr = typeof condition === 'boolean' ? `=${String(condition)}` : condition\n this._error.when = toExpression(whenExpr)\n return this\n }\n\n /**\n * Configure alert notification for this error handler.\n *\n * @param options - Alert configuration\n * @returns This builder for chaining\n */\n alert(options: FunctionErrorHandlerAlert): this {\n this._error.alert = options\n return this\n }\n\n /**\n * Build error handler definition.\n *\n * @returns Complete error handler definition object\n */\n build(): Record<string, unknown> {\n return this._error\n }\n}\n"]}
@@ -0,0 +1,161 @@
1
+ import { TextValueBuilder, toExpression, } from '../abstract/index.js';
2
+ import { toIconNameOrExpression } from '../icon/index.js';
3
+ export class ErrorOperationBuilder {
4
+ _operation;
5
+ constructor(operation) {
6
+ this._operation = operation;
7
+ }
8
+ when(condition) {
9
+ this._operation.when = toExpression(condition);
10
+ return this;
11
+ }
12
+ table(table) {
13
+ this._operation.table =
14
+ typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table;
15
+ return this;
16
+ }
17
+ type(operationType) {
18
+ this._operation.type = operationType;
19
+ return this;
20
+ }
21
+ tables(tables) {
22
+ this._operation.tables = tables;
23
+ return this;
24
+ }
25
+ statement(sql, parameters) {
26
+ if (!this._operation.statements) {
27
+ this._operation.statements = [];
28
+ }
29
+ this._operation.statements.push({
30
+ statement: sql,
31
+ ...(parameters && { parameters }),
32
+ });
33
+ return this;
34
+ }
35
+ executeSql(tables, ...statements) {
36
+ this._operation.type = 'operation.execute-sql';
37
+ this._operation.tables = tables;
38
+ if (!this._operation.statements) {
39
+ this._operation.statements = [];
40
+ }
41
+ for (const stmt of statements) {
42
+ if (typeof stmt === 'string') {
43
+ this._operation.statements.push({ statement: stmt });
44
+ }
45
+ else {
46
+ this._operation.statements.push(stmt);
47
+ }
48
+ }
49
+ return this;
50
+ }
51
+ upsertMerge(table) {
52
+ this._operation.type = 'operation.upsert-merge';
53
+ this._operation.table =
54
+ typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table;
55
+ return this;
56
+ }
57
+ upsertReplace(table) {
58
+ this._operation.type = 'operation.upsert-replace';
59
+ this._operation.table =
60
+ typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table;
61
+ return this;
62
+ }
63
+ deleteInsert(table) {
64
+ this._operation.type = 'operation.delete-insert';
65
+ this._operation.table =
66
+ typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table;
67
+ return this;
68
+ }
69
+ build() {
70
+ return this._operation;
71
+ }
72
+ }
73
+ export class FunctionErrorBuilder {
74
+ _error;
75
+ constructor(when) {
76
+ const whenExpr = typeof when === 'boolean' ? `=${String(when)}` : when;
77
+ this._error = {
78
+ when: toExpression(whenExpr),
79
+ };
80
+ }
81
+ title(title) {
82
+ if (typeof title === 'string' && title.startsWith('=')) {
83
+ this._error.title = toExpression(title);
84
+ }
85
+ else {
86
+ this._error.title = TextValueBuilder.from(title);
87
+ }
88
+ this._error.description ||= this._error.title;
89
+ return this;
90
+ }
91
+ description(description) {
92
+ this._error.description = TextValueBuilder.from(description);
93
+ return this;
94
+ }
95
+ details(details) {
96
+ if (typeof details === 'string' && details.startsWith('=')) {
97
+ this._error.details = toExpression(details);
98
+ }
99
+ else {
100
+ this._error.details = TextValueBuilder.from(details);
101
+ }
102
+ return this;
103
+ }
104
+ icon(icon) {
105
+ this._error.icon = toIconNameOrExpression(icon);
106
+ return this;
107
+ }
108
+ notification(show, title, description) {
109
+ if (title)
110
+ this.title(title);
111
+ if (description)
112
+ this.description(description);
113
+ this._error.notification = typeof show === 'boolean' ? show : toExpression(show);
114
+ return this;
115
+ }
116
+ transform(txOrPx, transform) {
117
+ let tx = txOrPx.trimStart();
118
+ if (transform)
119
+ tx += JSON.stringify(transform);
120
+ this._error.transform = tx;
121
+ return this;
122
+ }
123
+ table(table) {
124
+ this._error.table =
125
+ typeof table === 'string' && table.startsWith('=') ? toExpression(table) : table;
126
+ return this;
127
+ }
128
+ operation(records) {
129
+ if (!this._error.operations) {
130
+ this._error.operations = [];
131
+ }
132
+ const operation = {
133
+ ...(records !== undefined && { records: toExpression(records) }),
134
+ };
135
+ this._error.operations.push(operation);
136
+ return new ErrorOperationBuilder(operation);
137
+ }
138
+ retry(config) {
139
+ this._error.retry = {
140
+ ...(config.when && { when: toExpression(config.when) }),
141
+ ...(config.delay !== undefined && {
142
+ delay: typeof config.delay === 'number' ? config.delay : toExpression(config.delay),
143
+ }),
144
+ ...(config.maxRetries !== undefined && { maxRetries: config.maxRetries }),
145
+ };
146
+ return this;
147
+ }
148
+ when(condition) {
149
+ const whenExpr = typeof condition === 'boolean' ? `=${String(condition)}` : condition;
150
+ this._error.when = toExpression(whenExpr);
151
+ return this;
152
+ }
153
+ alert(options) {
154
+ this._error.alert = options;
155
+ return this;
156
+ }
157
+ build() {
158
+ return this._error;
159
+ }
160
+ }
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24ucmVzdC5lcnJvci1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Z1bmN0aW9uL2Z1bmN0aW9uLnJlc3QuZXJyb3ItYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZ0JBQWdCLEVBQ2hCLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFBaUIsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQVl4RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2YsVUFBVSxDQUErQjtJQU8xRCxZQUFZLFNBQXdDLEVBQUU7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7SUFBQSxDQUM1QjtJQVFELElBQUksQ0FBQyxTQUE4QixFQUFRO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUM5QyxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFRRCxLQUFLLENBQUMsS0FBMEIsRUFBUTtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDbkIsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1FBQ2xGLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVFELElBQUksQ0FBQyxhQUE0QixFQUFRO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQTtRQUNwQyxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFRRCxNQUFNLENBQUMsTUFBZ0IsRUFBUTtRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDL0IsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lB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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDckYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3pDLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVFELEtBQUssQ0FBQyxPQUFrQyxFQUFRO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQTtRQUMzQixPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFPRCxLQUFLLEdBQTRCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUFBLENBQ25CO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEV4cHJlc3Npb24sXG4gIHR5cGUgVGV4dFZhbHVlLFxuICBUZXh0VmFsdWVCdWlsZGVyLFxuICB0b0V4cHJlc3Npb24sXG59IGZyb20gJy4uL2Fic3RyYWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBJY29uTmFtZSwgdG9JY29uTmFtZU9yRXhwcmVzc2lvbiB9IGZyb20gJy4uL2ljb24vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7XG4gIEZ1bmN0aW9uRXJyb3JIYW5kbGVyQWxlcnQsXG4gIEZ1bmN0aW9uRXJyb3JIYW5kbGVyRGVmaW5pdGlvbixcbiAgRnVuY3Rpb25FcnJvckhhbmRsZXJPcGVyYXRpb24sXG4gIEZ1bmN0aW9uRXJyb3JIYW5kbGVyUmV0cnksXG4gIE9wZXJhdGlvblR5cGUsXG59IGZyb20gJy4vZnVuY3Rpb24uYWJzdHJhY3QuanMnXG5cbi8qKlxuICogQnVpbGQgZXJyb3IgaGFuZGxlciBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgRXJyb3JPcGVyYXRpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uOiBGdW5jdGlvbkVycm9ySGFuZGxlck9wZXJhdGlvblxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVycm9yIG9wZXJhdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb3BlcmF0aW9uIC0gVGhlIG9wZXJhdGlvbiBjb25maWd1cmF0aW9uIHRvIGJ1aWxkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcGVyYXRpb246IEZ1bmN0aW9uRXJyb3JIYW5kbGVyT3BlcmF0aW9uKSB7XG4gICAgdGhpcy5fb3BlcmF0aW9uID0gb3BlcmF0aW9uXG4gIH1cblxuICAvKipcbiAgICogU2V0IGNvbmRpdGlvbiBmb3Igd2hlbiBvcGVyYXRpb24gc2hvdWxkIGV4ZWN1dGUuXG4gICAqXG4gICAqIEBwYXJhbSBjb25kaXRpb24gLSBKU09OQVRBIGV4cHJlc3Npb24gcmV0dXJuaW5nIGJvb2xlYW5cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgd2hlbihjb25kaXRpb246IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24ud2hlbiA9IHRvRXhwcmVzc2lvbihjb25kaXRpb24pXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGFyZ2V0IHRhYmxlIHRvIHN0b3JlIG9wZXJhdGlvbiByZXN1bHRzLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGUgLSBUYWJsZSBuYW1lIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGFibGUodGFibGU6IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGUgPVxuICAgICAgdHlwZW9mIHRhYmxlID09PSAnc3RyaW5nJyAmJiB0YWJsZS5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24odGFibGUpIDogdGFibGVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBvcGVyYXRpb24gdHlwZS5cbiAgICpcbiAgICogQHBhcmFtIG9wZXJhdGlvblR5cGUgLSBPcGVyYXRpb24gdHlwZSAoZS5nLiwgJ29wZXJhdGlvbi51cHNlcnQtbWVyZ2UnLCAnb3BlcmF0aW9uLmV4ZWN1dGUtc3FsJylcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdHlwZShvcGVyYXRpb25UeXBlOiBPcGVyYXRpb25UeXBlKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLnR5cGUgPSBvcGVyYXRpb25UeXBlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGFibGVzIGZvciBleGVjdXRlLXNxbCBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGVzIC0gQXJyYXkgb2YgdGFibGUgbmFtZXNcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGFibGVzKHRhYmxlczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGVzID0gdGFibGVzXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgU1FMIHN0YXRlbWVudCBmb3IgZXhlY3V0ZS1zcWwgb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHNxbCAtIFNRTCBzdGF0ZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgc3RhdGVtZW50XG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHN0YXRlbWVudChzcWw6IHN0cmluZywgcGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IEV4cHJlc3Npb24+KTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cykge1xuICAgICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMgPSBbXVxuICAgIH1cbiAgICB0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cy5wdXNoKHtcbiAgICAgIHN0YXRlbWVudDogc3FsLFxuICAgICAgLi4uKHBhcmFtZXRlcnMgJiYgeyBwYXJhbWV0ZXJzIH0pLFxuICAgIH0pXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGV4ZWN1dGUtc3FsIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZXMgLSBUYWJsZXMgYWZmZWN0ZWQgYnkgU1FMIHN0YXRlbWVudHNcbiAgICogQHBhcmFtIHN0YXRlbWVudHMgLSBTUUwgc3RhdGVtZW50cyB3aXRoIG9wdGlvbmFsIHBhcmFtZXRlcnNcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZXhlY3V0ZVNxbChcbiAgICB0YWJsZXM6IHN0cmluZ1tdLFxuICAgIC4uLnN0YXRlbWVudHM6IEFycmF5PFxuICAgICAgc3RyaW5nIHwgeyBzdGF0ZW1lbnQ6IHN0cmluZzsgcGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IEV4cHJlc3Npb24+IH1cbiAgICA+XG4gICk6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi5leGVjdXRlLXNxbCdcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGVzID0gdGFibGVzXG5cbiAgICBpZiAoIXRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzKSB7XG4gICAgICB0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cyA9IFtdXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzdG10IG9mIHN0YXRlbWVudHMpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RtdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMucHVzaCh7IHN0YXRlbWVudDogc3RtdCB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMucHVzaChzdG10KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciB1cHNlcnQtbWVyZ2Ugb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHRhYmxlIC0gVGFyZ2V0IHRhYmxlIG5hbWUgb3IgZXhwcmVzc2lvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB1cHNlcnRNZXJnZSh0YWJsZTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi51cHNlcnQtbWVyZ2UnXG4gICAgdGhpcy5fb3BlcmF0aW9uLnRhYmxlID1cbiAgICAgIHR5cGVvZiB0YWJsZSA9PT0gJ3N0cmluZycgJiYgdGFibGUuc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHRhYmxlKSA6IHRhYmxlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIHVwc2VydC1yZXBsYWNlIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhcmdldCB0YWJsZSBuYW1lIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdXBzZXJ0UmVwbGFjZSh0YWJsZTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi51cHNlcnQtcmVwbGFjZSdcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGUgPVxuICAgICAgdHlwZW9mIHRhYmxlID09PSAnc3RyaW5nJyAmJiB0YWJsZS5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24odGFibGUpIDogdGFibGVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgZGVsZXRlLWluc2VydCBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGUgLSBUYXJnZXQgdGFibGUgbmFtZSBvciBleHByZXNzaW9uXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGRlbGV0ZUluc2VydCh0YWJsZTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi5kZWxldGUtaW5zZXJ0J1xuICAgIHRoaXMuX29wZXJhdGlvbi50YWJsZSA9XG4gICAgICB0eXBlb2YgdGFibGUgPT09ICdzdHJpbmcnICYmIHRhYmxlLnN0YXJ0c1dpdGgoJz0nKSA/IHRvRXhwcmVzc2lvbih0YWJsZSkgOiB0YWJsZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgZXJyb3Igb3BlcmF0aW9uIGRlZmluaXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIENvbXBsZXRlIGVycm9yIG9wZXJhdGlvbiBkZWZpbml0aW9uIG9iamVjdFxuICAgKi9cbiAgYnVpbGQoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9vcGVyYXRpb25cbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIGZ1bmN0aW9uIGVycm9yIGhhbmRsZXJzLlxuICovXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25FcnJvckJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9lcnJvcjogRnVuY3Rpb25FcnJvckhhbmRsZXJEZWZpbml0aW9uXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZXJyb3IgaGFuZGxlciBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0gd2hlbiAtIFJlcXVpcmVkIGNvbmRpdGlvbiAoYm9vbGVhbiBvciBleHByZXNzaW9uKS4gQm9vbGVhbiB0cnVlL2ZhbHNlIGNvbnZlcnRzIHRvICc9dHJ1ZScvJz1mYWxzZSdcbiAgICovXG4gIGNvbnN0cnVjdG9yKHdoZW46IGJvb2xlYW4gfCBzdHJpbmcgfCBFeHByZXNzaW9uKSB7XG4gICAgLy8gQ29udmVydCBib29sZWFuIHRvIGV4cHJlc3Npb25cbiAgICBjb25zdCB3aGVuRXhwciA9IHR5cGVvZiB3aGVuID09PSAnYm9vbGVhbicgPyBgPSR7U3RyaW5nKHdoZW4pfWAgOiB3aGVuXG4gICAgdGhpcy5fZXJyb3IgPSB7XG4gICAgICB3aGVuOiB0b0V4cHJlc3Npb24od2hlbkV4cHIpLFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgZXJyb3IgdGl0bGUgc2hvd24gaW4gbm90aWZpY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHRpdGxlIC0gU3RhdGljIHRleHQsIGV4cHJlc3Npb24gKD0uLi4pLCBvciBUZXh0VmFsdWVcbiAgICogQGRlZmF1bHQgdGl0bGUgaXMgdGhlIHNhbWUgYXMgZGVzY3JpcHRpb24gaWYgbm90IHNldC5cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGl0bGUodGl0bGU6IHN0cmluZyB8IEV4cHJlc3Npb24gfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyKTogdGhpcyB7XG4gICAgaWYgKHR5cGVvZiB0aXRsZSA9PT0gJ3N0cmluZycgJiYgdGl0bGUuc3RhcnRzV2l0aCgnPScpKSB7XG4gICAgICB0aGlzLl9lcnJvci50aXRsZSA9IHRvRXhwcmVzc2lvbih0aXRsZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZXJyb3IudGl0bGUgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20odGl0bGUpXG4gICAgfVxuICAgIHRoaXMuX2Vycm9yLmRlc2NyaXB0aW9uIHx8PSB0aGlzLl9lcnJvci50aXRsZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IGVycm9yIGRlc2NyaXB0aW9uIGZvciB1c2VyLWZhY2luZyBub3RpZmljYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGl2ZSB0ZXh0IG9yIFRleHRWYWx1ZVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBkZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlcik6IHRoaXMge1xuICAgIHRoaXMuX2Vycm9yLmRlc2NyaXB0aW9uID0gVGV4dFZhbHVlQnVpbGRlci5mcm9tKGRlc2NyaXB0aW9uKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IGFkZGl0aW9uYWwgZXJyb3IgZGV0YWlscy5cbiAgICpcbiAgICogQHBhcmFtIGRldGFpbHMgLSBTdGF0aWMgdGV4dCwgZXhwcmVzc2lvbiwgb3IgVGV4dFZhbHVlXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGRldGFpbHMoZGV0YWlsczogc3RyaW5nIHwgRXhwcmVzc2lvbiB8IFRleHRWYWx1ZSB8IFRleHRWYWx1ZUJ1aWxkZXIpOiB0aGlzIHtcbiAgICBpZiAodHlwZW9mIGRldGFpbHMgPT09ICdzdHJpbmcnICYmIGRldGFpbHMuc3RhcnRzV2l0aCgnPScpKSB7XG4gICAgICB0aGlzLl9lcnJvci5kZXRhaWxzID0gdG9FeHByZXNzaW9uKGRldGFpbHMpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2Vycm9yLmRldGFpbHMgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20oZGV0YWlscylcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaWNvbiBmb3IgZXJyb3Igbm90aWZpY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIGljb24gLSBJY29uIG5hbWUsIGV4cHJlc3Npb24sIG9yIEljb25OYW1lIHR5cGVcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgaWNvbihpY29uOiBJY29uTmFtZSB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9lcnJvci5pY29uID0gdG9JY29uTmFtZU9yRXhwcmVzc2lvbihpY29uKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ29udHJvbCB3aGV0aGVyIHRvIHNob3cgZXJyb3Igbm90aWZpY2F0aW9uIHRvIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSBzaG93IC0gQm9vbGVhbiBvciBleHByZXNzaW9uXG4gICAqIEBwYXJhbSB0aXRsZVxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb25cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBub3RpZmljYXRpb24oXG4gICAgc2hvdzogYm9vbGVhbiB8IEV4cHJlc3Npb24sXG4gICAgdGl0bGU/OiBzdHJpbmcgfCBFeHByZXNzaW9uIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlcixcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IEV4cHJlc3Npb24gfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyLFxuICApOiB0aGlzIHtcbiAgICBpZiAodGl0bGUpIHRoaXMudGl0bGUodGl0bGUpXG4gICAgaWYgKGRlc2NyaXB0aW9uKSB0aGlzLmRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKVxuICAgIHRoaXMuX2Vycm9yLm5vdGlmaWNhdGlvbiA9IHR5cGVvZiBzaG93ID09PSAnYm9vbGVhbicgPyBzaG93IDogdG9FeHByZXNzaW9uKHNob3cgYXMgc3RyaW5nKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIGVycm9yIGRhdGEgYmVmb3JlIHN0b3JhZ2UvZGlzcGxheS5cbiAgICpcbiAgICogQHBhcmFtIGpzb25hdGEgLSBKU09OQVRBIGV4cHJlc3Npb24gc3RyaW5nXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHRyYW5zZm9ybShqc29uYXRhOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpc1xuICB0cmFuc2Zvcm0ocHJlZml4OiBzdHJpbmcsIHRyYW5zZm9ybTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB0aGlzXG4gIHRyYW5zZm9ybSh0eE9yUHg6IHN0cmluZyB8IEV4cHJlc3Npb24sIHRyYW5zZm9ybT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdGhpcyB7XG4gICAgbGV0IHR4OiBzdHJpbmcgPSB0eE9yUHgudHJpbVN0YXJ0KClcbiAgICAvLyBpZiAodHguc3RhcnRzV2l0aCgnPScpKSB0eCA9IHR4LnNsaWNlKDEpLnRyaW1TdGFydCgpXG4gICAgaWYgKHRyYW5zZm9ybSkgdHggKz0gSlNPTi5zdHJpbmdpZnkodHJhbnNmb3JtKVxuXG4gICAgdGhpcy5fZXJyb3IudHJhbnNmb3JtID0gdHggLy8gdG9FeHByZXNzaW9uKHR4KVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgZXJyb3IgZGF0YSBpbiBzcGVjaWZpZWQgdGFibGUuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhYmxlIG5hbWUgb3IgZXhwcmVzc2lvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB0YWJsZSh0YWJsZTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX2Vycm9yLnRhYmxlID1cbiAgICAgIHR5cGVvZiB0YWJsZSA9PT0gJ3N0cmluZycgJiYgdGFibGUuc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHRhYmxlKSA6IHRhYmxlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgb3BlcmF0aW9uIHRvIHBlcmZvcm0gd2hlbiBlcnJvciBvY2N1cnMuXG4gICAqXG4gICAqIEBwYXJhbSByZWNvcmRzIC0gSlNPTkFUQSBleHByZXNzaW9uIGZvciBvcGVyYXRpb24gZGF0YSAob3B0aW9uYWwgZm9yIGV4ZWN1dGUtc3FsIG9wZXJhdGlvbnMpXG4gICAqIEByZXR1cm5zIEVycm9yT3BlcmF0aW9uQnVpbGRlciBmb3IgZnVydGhlciBjb25maWd1cmF0aW9uXG4gICAqL1xuICBvcGVyYXRpb24ocmVjb3Jkcz86IHN0cmluZyB8IEV4cHJlc3Npb24pOiBFcnJvck9wZXJhdGlvbkJ1aWxkZXIge1xuICAgIGlmICghdGhpcy5fZXJyb3Iub3BlcmF0aW9ucykge1xuICAgICAgdGhpcy5fZXJyb3Iub3BlcmF0aW9ucyA9IFtdXG4gICAgfVxuXG4gICAgY29uc3Qgb3BlcmF0aW9uOiBGdW5jdGlvbkVycm9ySGFuZGxlck9wZXJhdGlvbiA9IHtcbiAgICAgIC4uLihyZWNvcmRzICE9PSB1bmRlZmluZWQgJiYgeyByZWNvcmRzOiB0b0V4cHJlc3Npb24ocmVjb3JkcykgfSksXG4gICAgfVxuICAgIHRoaXMuX2Vycm9yLm9wZXJhdGlvbnMucHVzaChvcGVyYXRpb24pXG5cbiAgICByZXR1cm4gbmV3IEVycm9yT3BlcmF0aW9uQnVpbGRlcihvcGVyYXRpb24pXG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIGF1dG9tYXRpYyByZXRyeSBiZWhhdmlvciBmb3IgZXJyb3JzLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gUmV0cnkgY29uZmlndXJhdGlvbiB3aXRoIHdoZW4sIGRlbGF5LCBtYXhSZXRyaWVzXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHJldHJ5KGNvbmZpZzogRnVuY3Rpb25FcnJvckhhbmRsZXJSZXRyeSk6IHRoaXMge1xuICAgIHRoaXMuX2Vycm9yLnJldHJ5ID0ge1xuICAgICAgLi4uKGNvbmZpZy53aGVuICYmIHsgd2hlbjogdG9FeHByZXNzaW9uKGNvbmZpZy53aGVuKSB9KSxcbiAgICAgIC4uLihjb25maWcuZGVsYXkgIT09IHVuZGVmaW5lZCAmJiB7XG4gICAgICAgIGRlbGF5OiB0eXBlb2YgY29uZmlnLmRlbGF5ID09PSAnbnVtYmVyJyA/IGNvbmZpZy5kZWxheSA6IHRvRXhwcmVzc2lvbihjb25maWcuZGVsYXkpLFxuICAgICAgfSksXG4gICAgICAuLi4oY29uZmlnLm1heFJldHJpZXMgIT09IHVuZGVmaW5lZCAmJiB7IG1heFJldHJpZXM6IGNvbmZpZy5tYXhSZXRyaWVzIH0pLFxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHdoZW4gY29uZGl0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZGl0aW9uIC0gQm9vbGVhbiBvciBKU09OQVRBIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgd2hlbihjb25kaXRpb246IGJvb2xlYW4gfCBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgY29uc3Qgd2hlbkV4cHIgPSB0eXBlb2YgY29uZGl0aW9uID09PSAnYm9vbGVhbicgPyBgPSR7U3RyaW5nKGNvbmRpdGlvbil9YCA6IGNvbmRpdGlvblxuICAgIHRoaXMuX2Vycm9yLndoZW4gPSB0b0V4cHJlc3Npb24od2hlbkV4cHIpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgYWxlcnQgbm90aWZpY2F0aW9uIGZvciB0aGlzIGVycm9yIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gQWxlcnQgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBhbGVydChvcHRpb25zOiBGdW5jdGlvbkVycm9ySGFuZGxlckFsZXJ0KTogdGhpcyB7XG4gICAgdGhpcy5fZXJyb3IuYWxlcnQgPSBvcHRpb25zXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBlcnJvciBoYW5kbGVyIGRlZmluaXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIENvbXBsZXRlIGVycm9yIGhhbmRsZXIgZGVmaW5pdGlvbiBvYmplY3RcbiAgICovXG4gIGJ1aWxkKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fZXJyb3JcbiAgfVxufVxuIl19