@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.
- package/CHANGELOG.md +95 -0
- package/README.md +87 -0
- package/dist/PACKAGE.d.ts +4 -0
- package/dist/PACKAGE.d.ts.map +1 -0
- package/dist/PACKAGE.js +5 -0
- package/dist/abstract/app-info.d.ts +8 -0
- package/dist/abstract/app-info.d.ts.map +1 -0
- package/dist/abstract/app-info.js +8 -0
- package/dist/abstract/app-name.d.ts +15 -0
- package/dist/abstract/app-name.d.ts.map +1 -0
- package/dist/abstract/app-name.js +28 -0
- package/dist/abstract/base-builder.d.ts +4 -0
- package/dist/abstract/base-builder.d.ts.map +1 -0
- package/dist/abstract/base-builder.js +3 -0
- package/dist/abstract/element-base-builder.d.ts +7 -0
- package/dist/abstract/element-base-builder.d.ts.map +1 -0
- package/dist/abstract/element-base-builder.js +11 -0
- package/dist/abstract/generic.d.ts +31 -0
- package/dist/abstract/generic.d.ts.map +1 -0
- package/dist/abstract/generic.js +2 -0
- package/dist/abstract/index.d.ts +12 -0
- package/dist/abstract/index.d.ts.map +1 -0
- package/dist/abstract/index.js +11 -0
- package/dist/abstract/register.d.ts +31 -0
- package/dist/abstract/register.d.ts.map +1 -0
- package/dist/abstract/register.js +48 -0
- package/dist/abstract/sdk.expression.d.ts +43 -0
- package/dist/abstract/sdk.expression.d.ts.map +1 -0
- package/dist/abstract/sdk.expression.js +175 -0
- package/dist/abstract/sdk.text.d.ts +23 -0
- package/dist/abstract/sdk.text.d.ts.map +1 -0
- package/dist/abstract/sdk.text.js +110 -0
- package/dist/abstract/sdk.types.d.ts +16 -0
- package/dist/abstract/sdk.types.d.ts.map +1 -0
- package/dist/abstract/sdk.types.js +88 -0
- package/dist/abstract/zod.strata.d.ts +17 -0
- package/dist/abstract/zod.strata.d.ts.map +1 -0
- package/dist/abstract/zod.strata.js +11 -0
- package/dist/abstract/zod.types.d.ts +1937 -0
- package/dist/abstract/zod.types.d.ts.map +1 -0
- package/dist/abstract/zod.types.js +848 -0
- package/dist/action/action-definition.builder.d.ts +16 -0
- package/dist/action/action-definition.builder.d.ts.map +1 -0
- package/dist/action/action-definition.builder.js +35 -0
- package/dist/action/action.descriptor.d.ts +8 -0
- package/dist/action/action.descriptor.d.ts.map +1 -0
- package/dist/action/action.descriptor.js +2 -0
- package/dist/action/index.d.ts +57 -0
- package/dist/action/index.d.ts.map +1 -0
- package/dist/action/index.js +48 -0
- package/dist/action/ja.abstract.d.ts +33 -0
- package/dist/action/ja.abstract.d.ts.map +1 -0
- package/dist/action/ja.abstract.js +58 -0
- package/dist/action/ja.action-definition.d.ts +11 -0
- package/dist/action/ja.action-definition.d.ts.map +1 -0
- package/dist/action/ja.action-definition.js +12 -0
- package/dist/action/ja.action-list.d.ts +9 -0
- package/dist/action/ja.action-list.d.ts.map +1 -0
- package/dist/action/ja.action-list.js +15 -0
- package/dist/action/ja.clear-queue.d.ts +9 -0
- package/dist/action/ja.clear-queue.d.ts.map +1 -0
- package/dist/action/ja.clear-queue.js +9 -0
- package/dist/action/ja.color.d.ts +3 -0
- package/dist/action/ja.color.d.ts.map +1 -0
- package/dist/action/ja.color.js +2 -0
- package/dist/action/ja.confirm.abstract.d.ts +16 -0
- package/dist/action/ja.confirm.abstract.d.ts.map +1 -0
- package/dist/action/ja.confirm.abstract.js +25 -0
- package/dist/action/ja.confirm.d.ts +23 -0
- package/dist/action/ja.confirm.d.ts.map +1 -0
- package/dist/action/ja.confirm.js +28 -0
- package/dist/action/ja.delete-queue-command.d.ts +9 -0
- package/dist/action/ja.delete-queue-command.d.ts.map +1 -0
- package/dist/action/ja.delete-queue-command.js +9 -0
- package/dist/action/ja.delete-sync-scope.d.ts +10 -0
- package/dist/action/ja.delete-sync-scope.d.ts.map +1 -0
- package/dist/action/ja.delete-sync-scope.js +14 -0
- package/dist/action/ja.delete-sync-status.d.ts +9 -0
- package/dist/action/ja.delete-sync-status.d.ts.map +1 -0
- package/dist/action/ja.delete-sync-status.js +9 -0
- package/dist/action/ja.evaluate.d.ts +12 -0
- package/dist/action/ja.evaluate.d.ts.map +1 -0
- package/dist/action/ja.evaluate.js +9 -0
- package/dist/action/ja.execute-action.d.ts +11 -0
- package/dist/action/ja.execute-action.d.ts.map +1 -0
- package/dist/action/ja.execute-action.js +15 -0
- package/dist/action/ja.execute-entities.d.ts +7 -0
- package/dist/action/ja.execute-entities.d.ts.map +1 -0
- package/dist/action/ja.execute-entities.js +8 -0
- package/dist/action/ja.execute-entity.abstract.d.ts +41 -0
- package/dist/action/ja.execute-entity.abstract.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.abstract.js +104 -0
- package/dist/action/ja.execute-entity.d.ts +6 -0
- package/dist/action/ja.execute-entity.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.dynamic-data.d.ts +6 -0
- package/dist/action/ja.execute-entity.dynamic-data.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.dynamic-data.js +2 -0
- package/dist/action/ja.execute-entity.generic.d.ts +11 -0
- package/dist/action/ja.execute-entity.generic.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.generic.js +2 -0
- package/dist/action/ja.execute-entity.js +8 -0
- package/dist/action/ja.execute-entity.sql.d.ts +12 -0
- package/dist/action/ja.execute-entity.sql.d.ts.map +1 -0
- package/dist/action/ja.execute-entity.sql.js +2 -0
- package/dist/action/ja.execute-sql.abstract.d.ts +6 -0
- package/dist/action/ja.execute-sql.abstract.d.ts.map +1 -0
- package/dist/action/ja.execute-sql.abstract.js +2 -0
- package/dist/action/ja.execute-sql.d.ts +16 -0
- package/dist/action/ja.execute-sql.d.ts.map +1 -0
- package/dist/action/ja.execute-sql.js +64 -0
- package/dist/action/ja.find-replace.d.ts +12 -0
- package/dist/action/ja.find-replace.d.ts.map +1 -0
- package/dist/action/ja.find-replace.js +22 -0
- package/dist/action/ja.generate-file.d.ts +11 -0
- package/dist/action/ja.generate-file.d.ts.map +1 -0
- package/dist/action/ja.generate-file.js +19 -0
- package/dist/action/ja.generate-pdf.d.ts +10 -0
- package/dist/action/ja.generate-pdf.d.ts.map +1 -0
- package/dist/action/ja.generate-pdf.js +10 -0
- package/dist/action/ja.go-back.d.ts +9 -0
- package/dist/action/ja.go-back.d.ts.map +1 -0
- package/dist/action/ja.go-back.js +11 -0
- package/dist/action/ja.go-to.d.ts +18 -0
- package/dist/action/ja.go-to.d.ts.map +1 -0
- package/dist/action/ja.go-to.js +41 -0
- package/dist/action/ja.in-background.d.ts +95 -0
- package/dist/action/ja.in-background.d.ts.map +1 -0
- package/dist/action/ja.in-background.factory.d.ts +88 -0
- package/dist/action/ja.in-background.factory.d.ts.map +1 -0
- package/dist/action/ja.in-background.factory.js +98 -0
- package/dist/action/ja.in-background.js +247 -0
- package/dist/action/ja.info-modal.d.ts +37 -0
- package/dist/action/ja.info-modal.d.ts.map +1 -0
- package/dist/action/ja.info-modal.js +61 -0
- package/dist/action/ja.jig-actions.d.ts +16 -0
- package/dist/action/ja.jig-actions.d.ts.map +1 -0
- package/dist/action/ja.jig-actions.js +35 -0
- package/dist/action/ja.on-button.factory.d.ts +89 -0
- package/dist/action/ja.on-button.factory.d.ts.map +1 -0
- package/dist/action/ja.on-button.factory.js +86 -0
- package/dist/action/ja.open-app-settings.d.ts +6 -0
- package/dist/action/ja.open-app-settings.d.ts.map +1 -0
- package/dist/action/ja.open-app-settings.js +8 -0
- package/dist/action/ja.open-map.abstract.d.ts +6 -0
- package/dist/action/ja.open-map.abstract.d.ts.map +1 -0
- package/dist/action/ja.open-map.abstract.js +2 -0
- package/dist/action/ja.open-map.d.ts +11 -0
- package/dist/action/ja.open-map.d.ts.map +1 -0
- package/dist/action/ja.open-map.js +25 -0
- package/dist/action/ja.open-media-picker.abstract.d.ts +8 -0
- package/dist/action/ja.open-media-picker.abstract.d.ts.map +1 -0
- package/dist/action/ja.open-media-picker.abstract.js +2 -0
- package/dist/action/ja.open-media-picker.d.ts +18 -0
- package/dist/action/ja.open-media-picker.d.ts.map +1 -0
- package/dist/action/ja.open-media-picker.js +46 -0
- package/dist/action/ja.open-scanner.d.ts +14 -0
- package/dist/action/ja.open-scanner.d.ts.map +1 -0
- package/dist/action/ja.open-scanner.js +23 -0
- package/dist/action/ja.open-url.d.ts +10 -0
- package/dist/action/ja.open-url.d.ts.map +1 -0
- package/dist/action/ja.open-url.js +13 -0
- package/dist/action/ja.print.d.ts +10 -0
- package/dist/action/ja.print.d.ts.map +1 -0
- package/dist/action/ja.print.js +17 -0
- package/dist/action/ja.reset-application-state.d.ts +9 -0
- package/dist/action/ja.reset-application-state.d.ts.map +1 -0
- package/dist/action/ja.reset-application-state.js +12 -0
- package/dist/action/ja.reset-component-state.d.ts +9 -0
- package/dist/action/ja.reset-component-state.d.ts.map +1 -0
- package/dist/action/ja.reset-component-state.js +13 -0
- package/dist/action/ja.reset-screen-state.d.ts +9 -0
- package/dist/action/ja.reset-screen-state.d.ts.map +1 -0
- package/dist/action/ja.reset-screen-state.js +12 -0
- package/dist/action/ja.reset-state.d.ts +9 -0
- package/dist/action/ja.reset-state.d.ts.map +1 -0
- package/dist/action/ja.reset-state.js +13 -0
- package/dist/action/ja.retry-queue-command.d.ts +9 -0
- package/dist/action/ja.retry-queue-command.d.ts.map +1 -0
- package/dist/action/ja.retry-queue-command.js +9 -0
- package/dist/action/ja.sdk.d.ts +4 -0
- package/dist/action/ja.sdk.d.ts.map +1 -0
- package/dist/action/ja.sdk.js +2 -0
- package/dist/action/ja.set-active-tab.d.ts +13 -0
- package/dist/action/ja.set-active-tab.d.ts.map +1 -0
- package/dist/action/ja.set-active-tab.js +29 -0
- package/dist/action/ja.set-application-state.d.ts +9 -0
- package/dist/action/ja.set-application-state.d.ts.map +1 -0
- package/dist/action/ja.set-application-state.js +17 -0
- package/dist/action/ja.set-screen-state.d.ts +9 -0
- package/dist/action/ja.set-screen-state.d.ts.map +1 -0
- package/dist/action/ja.set-screen-state.js +12 -0
- package/dist/action/ja.share.d.ts +12 -0
- package/dist/action/ja.share.d.ts.map +1 -0
- package/dist/action/ja.share.js +23 -0
- package/dist/action/ja.show-alert.d.ts +33 -0
- package/dist/action/ja.show-alert.d.ts.map +1 -0
- package/dist/action/ja.show-alert.js +61 -0
- package/dist/action/ja.start-location-sharing.abstract.d.ts +6 -0
- package/dist/action/ja.start-location-sharing.abstract.d.ts.map +1 -0
- package/dist/action/ja.start-location-sharing.abstract.js +2 -0
- package/dist/action/ja.start-location-sharing.d.ts +18 -0
- package/dist/action/ja.start-location-sharing.d.ts.map +1 -0
- package/dist/action/ja.start-location-sharing.js +33 -0
- package/dist/action/ja.start-sync-scope.d.ts +9 -0
- package/dist/action/ja.start-sync-scope.d.ts.map +1 -0
- package/dist/action/ja.start-sync-scope.js +18 -0
- package/dist/action/ja.stop-location-sharing.d.ts +6 -0
- package/dist/action/ja.stop-location-sharing.d.ts.map +1 -0
- package/dist/action/ja.stop-location-sharing.js +8 -0
- package/dist/action/ja.submit-form.abstract.d.ts +11 -0
- package/dist/action/ja.submit-form.abstract.d.ts.map +1 -0
- package/dist/action/ja.submit-form.abstract.js +2 -0
- package/dist/action/ja.submit-form.d.ts +31 -0
- package/dist/action/ja.submit-form.d.ts.map +1 -0
- package/dist/action/ja.submit-form.js +124 -0
- package/dist/action/ja.swipeable-action.d.ts +19 -0
- package/dist/action/ja.swipeable-action.d.ts.map +1 -0
- package/dist/action/ja.swipeable-action.js +25 -0
- package/dist/action/ja.sync-entities.abstract.d.ts +25 -0
- package/dist/action/ja.sync-entities.abstract.d.ts.map +1 -0
- package/dist/action/ja.sync-entities.abstract.js +2 -0
- package/dist/action/ja.sync-entities.d.ts +32 -0
- package/dist/action/ja.sync-entities.d.ts.map +1 -0
- package/dist/action/ja.sync-entities.js +142 -0
- package/dist/action/ja.update-profile.d.ts +12 -0
- package/dist/action/ja.update-profile.d.ts.map +1 -0
- package/dist/action/ja.update-profile.js +20 -0
- package/dist/application/application.sdk.d.ts +84 -0
- package/dist/application/application.sdk.d.ts.map +1 -0
- package/dist/application/application.sdk.js +217 -0
- package/dist/application/application.tab.d.ts +20 -0
- package/dist/application/application.tab.d.ts.map +1 -0
- package/dist/application/application.tab.js +45 -0
- package/dist/application/context.sdk.d.ts +48 -0
- package/dist/application/context.sdk.d.ts.map +1 -0
- package/dist/application/context.sdk.js +116 -0
- package/dist/application/index.d.ts +4 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +4 -0
- package/dist/assets/example-extraction-cache.json +9 -0
- package/dist/assets/extracted-core-sdk-examples.yaml +44440 -0
- package/dist/assets/extracted-core-sdk-types.yaml +12100 -0
- package/dist/assets/stream-line-icons.csv +19281 -0
- package/dist/assets/type-extraction-cache.json +9 -0
- package/dist/builder/application-analyzer/application-analyzer.d.ts +42 -0
- package/dist/builder/application-analyzer/application-analyzer.d.ts.map +1 -0
- package/dist/builder/application-analyzer/application-analyzer.js +150 -0
- package/dist/builder/application-analyzer/create-application-analyzer.d.ts +17 -0
- package/dist/builder/application-analyzer/create-application-analyzer.d.ts.map +1 -0
- package/dist/builder/application-analyzer/create-application-analyzer.js +121 -0
- package/dist/builder/application-analyzer/index.d.ts +5 -0
- package/dist/builder/application-analyzer/index.d.ts.map +1 -0
- package/dist/builder/application-analyzer/index.js +5 -0
- package/dist/builder/application-analyzer/select-component-nodes.d.ts +7 -0
- package/dist/builder/application-analyzer/select-component-nodes.d.ts.map +1 -0
- package/dist/builder/application-analyzer/select-component-nodes.js +15 -0
- package/dist/builder/application-analyzer/select-datasource-node-by-id.d.ts +8 -0
- package/dist/builder/application-analyzer/select-datasource-node-by-id.d.ts.map +1 -0
- package/dist/builder/application-analyzer/select-datasource-node-by-id.js +20 -0
- package/dist/builder/application-analyzer/types.d.ts +60 -0
- package/dist/builder/application-analyzer/types.d.ts.map +1 -0
- package/dist/builder/application-analyzer/types.js +16 -0
- package/dist/builder/application-analyzer/utils.d.ts +3 -0
- package/dist/builder/application-analyzer/utils.d.ts.map +1 -0
- package/dist/builder/application-analyzer/utils.js +8 -0
- package/dist/builder/builder.d.ts +8 -0
- package/dist/builder/builder.d.ts.map +1 -0
- package/dist/builder/builder.js +54 -0
- package/dist/builder/index.d.ts +5 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/builder/index.js +4 -0
- package/dist/builder/transform-summary.d.ts +3 -0
- package/dist/builder/transform-summary.d.ts.map +1 -0
- package/dist/builder/transform-summary.js +39 -0
- package/dist/builder/types.d.ts +8 -0
- package/dist/builder/types.d.ts.map +1 -0
- package/dist/builder/types.js +2 -0
- package/dist/builder/validate-datasource-ids.d.ts +17 -0
- package/dist/builder/validate-datasource-ids.d.ts.map +1 -0
- package/dist/builder/validate-datasource-ids.js +51 -0
- package/dist/component/common/index.d.ts +22 -0
- package/dist/component/common/index.d.ts.map +1 -0
- package/dist/component/common/index.js +16 -0
- package/dist/component/common/jc.avatar-field.types.d.ts +9 -0
- package/dist/component/common/jc.avatar-field.types.d.ts.map +1 -0
- package/dist/component/common/jc.avatar-field.types.js +11 -0
- package/dist/component/common/jc.chart.common.abstract.d.ts +85 -0
- package/dist/component/common/jc.chart.common.abstract.d.ts.map +1 -0
- package/dist/component/common/jc.chart.common.abstract.js +2 -0
- package/dist/component/common/jc.chart.common.builders.d.ts +37 -0
- package/dist/component/common/jc.chart.common.builders.d.ts.map +1 -0
- package/dist/component/common/jc.chart.common.builders.js +81 -0
- package/dist/component/common/jc.component.types.d.ts +101 -0
- package/dist/component/common/jc.component.types.d.ts.map +1 -0
- package/dist/component/common/jc.component.types.js +144 -0
- package/dist/component/common/jc.context.d.ts +7 -0
- package/dist/component/common/jc.context.d.ts.map +1 -0
- package/dist/component/common/jc.context.js +2 -0
- package/dist/component/common/jc.element.types.d.ts +14 -0
- package/dist/component/common/jc.element.types.d.ts.map +1 -0
- package/dist/component/common/jc.element.types.js +13 -0
- package/dist/component/common/jc.field-base.builder.d.ts +21 -0
- package/dist/component/common/jc.field-base.builder.d.ts.map +1 -0
- package/dist/component/common/jc.field-base.builder.js +101 -0
- package/dist/component/common/jc.field-base.types.d.ts +28 -0
- package/dist/component/common/jc.field-base.types.d.ts.map +1 -0
- package/dist/component/common/jc.field-base.types.js +2 -0
- package/dist/component/common/jc.left-right.element.avatar.d.ts +11 -0
- package/dist/component/common/jc.left-right.element.avatar.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.avatar.js +18 -0
- package/dist/component/common/jc.left-right.element.badge.d.ts +11 -0
- package/dist/component/common/jc.left-right.element.badge.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.badge.js +17 -0
- package/dist/component/common/jc.left-right.element.button.d.ts +11 -0
- package/dist/component/common/jc.left-right.element.button.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.button.js +14 -0
- package/dist/component/common/jc.left-right.element.checkbox.d.ts +13 -0
- package/dist/component/common/jc.left-right.element.checkbox.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.checkbox.js +21 -0
- package/dist/component/common/jc.left-right.element.d.ts +31 -0
- package/dist/component/common/jc.left-right.element.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.icon.d.ts +18 -0
- package/dist/component/common/jc.left-right.element.icon.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.icon.js +32 -0
- package/dist/component/common/jc.left-right.element.image.d.ts +16 -0
- package/dist/component/common/jc.left-right.element.image.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.image.js +29 -0
- package/dist/component/common/jc.left-right.element.js +2 -0
- package/dist/component/common/jc.left-right.element.progress.d.ts +11 -0
- package/dist/component/common/jc.left-right.element.progress.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.progress.js +17 -0
- package/dist/component/common/jc.left-right.element.switch.d.ts +13 -0
- package/dist/component/common/jc.left-right.element.switch.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.switch.js +21 -0
- package/dist/component/common/jc.left-right.element.value.d.ts +10 -0
- package/dist/component/common/jc.left-right.element.value.d.ts.map +1 -0
- package/dist/component/common/jc.left-right.element.value.js +12 -0
- package/dist/component/common/jc.picker-field-options.types.d.ts +13 -0
- package/dist/component/common/jc.picker-field-options.types.d.ts.map +1 -0
- package/dist/component/common/jc.picker-field-options.types.js +2 -0
- package/dist/component/common/jc.text.types.d.ts +6 -0
- package/dist/component/common/jc.text.types.d.ts.map +1 -0
- package/dist/component/common/jc.text.types.js +2 -0
- package/dist/component/common/jc.validation.d.ts +9 -0
- package/dist/component/common/jc.validation.d.ts.map +1 -0
- package/dist/component/common/jc.validation.js +48 -0
- package/dist/component/index.d.ts +86 -0
- package/dist/component/index.d.ts.map +1 -0
- package/dist/component/index.js +83 -0
- package/dist/component/jc.abstract.d.ts +32 -0
- package/dist/component/jc.abstract.d.ts.map +1 -0
- package/dist/component/jc.abstract.factory.d.ts +488 -0
- package/dist/component/jc.abstract.factory.d.ts.map +1 -0
- package/dist/component/jc.abstract.factory.js +757 -0
- package/dist/component/jc.abstract.js +53 -0
- package/dist/component/jc.abstract.utils.d.ts +3 -0
- package/dist/component/jc.abstract.utils.d.ts.map +1 -0
- package/dist/component/jc.abstract.utils.js +26 -0
- package/dist/component/jc.amount-control.d.ts +16 -0
- package/dist/component/jc.amount-control.d.ts.map +1 -0
- package/dist/component/jc.amount-control.js +36 -0
- package/dist/component/jc.avatar-field.d.ts +11 -0
- package/dist/component/jc.avatar-field.d.ts.map +1 -0
- package/dist/component/jc.avatar-field.js +27 -0
- package/dist/component/jc.avatar.d.ts +14 -0
- package/dist/component/jc.avatar.d.ts.map +1 -0
- package/dist/component/jc.avatar.js +26 -0
- package/dist/component/jc.banner.d.ts +81 -0
- package/dist/component/jc.banner.d.ts.map +1 -0
- package/dist/component/jc.banner.js +49 -0
- package/dist/component/jc.bar-chart.d.ts +23 -0
- package/dist/component/jc.bar-chart.d.ts.map +1 -0
- package/dist/component/jc.bar-chart.js +45 -0
- package/dist/component/jc.button.d.ts +20 -0
- package/dist/component/jc.button.d.ts.map +1 -0
- package/dist/component/jc.button.js +39 -0
- package/dist/component/jc.card.abstract.d.ts +14 -0
- package/dist/component/jc.card.abstract.d.ts.map +1 -0
- package/dist/component/jc.card.abstract.js +31 -0
- package/dist/component/jc.card.on-default.d.ts +91 -0
- package/dist/component/jc.card.on-default.d.ts.map +1 -0
- package/dist/component/jc.card.on-default.js +96 -0
- package/dist/component/jc.carousel.d.ts +31 -0
- package/dist/component/jc.carousel.d.ts.map +1 -0
- package/dist/component/jc.carousel.js +58 -0
- package/dist/component/jc.chat-message.d.ts +17 -0
- package/dist/component/jc.chat-message.d.ts.map +1 -0
- package/dist/component/jc.chat-message.js +32 -0
- package/dist/component/jc.chat.d.ts +23 -0
- package/dist/component/jc.chat.d.ts.map +1 -0
- package/dist/component/jc.chat.js +68 -0
- package/dist/component/jc.checkbox.d.ts +15 -0
- package/dist/component/jc.checkbox.d.ts.map +1 -0
- package/dist/component/jc.checkbox.js +38 -0
- package/dist/component/jc.choice-field-item.d.ts +15 -0
- package/dist/component/jc.choice-field-item.d.ts.map +1 -0
- package/dist/component/jc.choice-field-item.js +41 -0
- package/dist/component/jc.choice-field.d.ts +21 -0
- package/dist/component/jc.choice-field.d.ts.map +1 -0
- package/dist/component/jc.choice-field.js +34 -0
- package/dist/component/jc.count-down.d.ts +18 -0
- package/dist/component/jc.count-down.d.ts.map +1 -0
- package/dist/component/jc.count-down.js +55 -0
- package/dist/component/jc.count-up.d.ts +15 -0
- package/dist/component/jc.count-up.d.ts.map +1 -0
- package/dist/component/jc.count-up.js +42 -0
- package/dist/component/jc.custom-component.interop.d.ts +58 -0
- package/dist/component/jc.custom-component.interop.d.ts.map +1 -0
- package/dist/component/jc.custom-component.interop.js +115 -0
- package/dist/component/jc.date-picker.d.ts +15 -0
- package/dist/component/jc.date-picker.d.ts.map +1 -0
- package/dist/component/jc.date-picker.js +31 -0
- package/dist/component/jc.divider.d.ts +7 -0
- package/dist/component/jc.divider.d.ts.map +1 -0
- package/dist/component/jc.divider.js +8 -0
- package/dist/component/jc.dropdown.d.ts +20 -0
- package/dist/component/jc.dropdown.d.ts.map +1 -0
- package/dist/component/jc.dropdown.item.d.ts +22 -0
- package/dist/component/jc.dropdown.item.d.ts.map +1 -0
- package/dist/component/jc.dropdown.item.js +85 -0
- package/dist/component/jc.dropdown.js +33 -0
- package/dist/component/jc.duration-picker.d.ts +18 -0
- package/dist/component/jc.duration-picker.d.ts.map +1 -0
- package/dist/component/jc.duration-picker.js +35 -0
- package/dist/component/jc.email-field.d.ts +11 -0
- package/dist/component/jc.email-field.d.ts.map +1 -0
- package/dist/component/jc.email-field.js +19 -0
- package/dist/component/jc.entity-field.d.ts +23 -0
- package/dist/component/jc.entity-field.d.ts.map +1 -0
- package/dist/component/jc.entity-field.js +71 -0
- package/dist/component/jc.entity.d.ts +15 -0
- package/dist/component/jc.entity.d.ts.map +1 -0
- package/dist/component/jc.entity.js +27 -0
- package/dist/component/jc.event.d.ts +22 -0
- package/dist/component/jc.event.d.ts.map +1 -0
- package/dist/component/jc.event.js +68 -0
- package/dist/component/jc.expander.d.ts +49 -0
- package/dist/component/jc.expander.d.ts.map +1 -0
- package/dist/component/jc.expander.header.d.ts +25 -0
- package/dist/component/jc.expander.header.d.ts.map +1 -0
- package/dist/component/jc.expander.header.js +39 -0
- package/dist/component/jc.expander.js +53 -0
- package/dist/component/jc.field-row.d.ts +34 -0
- package/dist/component/jc.field-row.d.ts.map +1 -0
- package/dist/component/jc.field-row.entity.d.ts +12 -0
- package/dist/component/jc.field-row.entity.d.ts.map +1 -0
- package/dist/component/jc.field-row.entity.js +35 -0
- package/dist/component/jc.field-row.js +37 -0
- package/dist/component/jc.form.d.ts +98 -0
- package/dist/component/jc.form.d.ts.map +1 -0
- package/dist/component/jc.form.js +127 -0
- package/dist/component/jc.gallery-item.d.ts +12 -0
- package/dist/component/jc.gallery-item.d.ts.map +1 -0
- package/dist/component/jc.gallery-item.js +24 -0
- package/dist/component/jc.grid-item.d.ts +15 -0
- package/dist/component/jc.grid-item.d.ts.map +1 -0
- package/dist/component/jc.grid-item.js +31 -0
- package/dist/component/jc.grid.d.ts +16 -0
- package/dist/component/jc.grid.d.ts.map +1 -0
- package/dist/component/jc.grid.js +64 -0
- package/dist/component/jc.guards.d.ts +17 -0
- package/dist/component/jc.guards.d.ts.map +1 -0
- package/dist/component/jc.guards.js +14 -0
- package/dist/component/jc.icon.d.ts +19 -0
- package/dist/component/jc.icon.d.ts.map +1 -0
- package/dist/component/jc.icon.js +41 -0
- package/dist/component/jc.image.abstract.d.ts +28 -0
- package/dist/component/jc.image.abstract.d.ts.map +1 -0
- package/dist/component/jc.image.abstract.js +52 -0
- package/dist/component/jc.image.d.ts +5 -0
- package/dist/component/jc.image.d.ts.map +1 -0
- package/dist/component/jc.image.js +2 -0
- package/dist/component/jc.image.on-carousel.d.ts +23 -0
- package/dist/component/jc.image.on-carousel.d.ts.map +1 -0
- package/dist/component/jc.image.on-carousel.js +19 -0
- package/dist/component/jc.image.on-default.d.ts +25 -0
- package/dist/component/jc.image.on-default.d.ts.map +1 -0
- package/dist/component/jc.image.on-default.js +22 -0
- package/dist/component/jc.interactive-image.d.ts +41 -0
- package/dist/component/jc.interactive-image.d.ts.map +1 -0
- package/dist/component/jc.interactive-image.item.d.ts +24 -0
- package/dist/component/jc.interactive-image.item.d.ts.map +1 -0
- package/dist/component/jc.interactive-image.item.js +78 -0
- package/dist/component/jc.interactive-image.js +78 -0
- package/dist/component/jc.jig-header.d.ts +19 -0
- package/dist/component/jc.jig-header.d.ts.map +1 -0
- package/dist/component/jc.jig-header.js +42 -0
- package/dist/component/jc.jig-widget.d.ts +15 -0
- package/dist/component/jc.jig-widget.d.ts.map +1 -0
- package/dist/component/jc.jig-widget.js +41 -0
- package/dist/component/jc.jig.d.ts +11 -0
- package/dist/component/jc.jig.d.ts.map +1 -0
- package/dist/component/jc.jig.js +24 -0
- package/dist/component/jc.line-chart.d.ts +28 -0
- package/dist/component/jc.line-chart.d.ts.map +1 -0
- package/dist/component/jc.line-chart.js +45 -0
- package/dist/component/jc.list-item.d.ts +106 -0
- package/dist/component/jc.list-item.d.ts.map +1 -0
- package/dist/component/jc.list-item.js +274 -0
- package/dist/component/jc.list-item.standalone.d.ts +13 -0
- package/dist/component/jc.list-item.standalone.d.ts.map +1 -0
- package/dist/component/jc.list-item.standalone.js +10 -0
- package/dist/component/jc.list.abstract.d.ts +36 -0
- package/dist/component/jc.list.abstract.d.ts.map +1 -0
- package/dist/component/jc.list.abstract.js +2 -0
- package/dist/component/jc.list.d.ts +39 -0
- package/dist/component/jc.list.d.ts.map +1 -0
- package/dist/component/jc.list.js +95 -0
- package/dist/component/jc.location.d.ts +41 -0
- package/dist/component/jc.location.d.ts.map +1 -0
- package/dist/component/jc.location.js +63 -0
- package/dist/component/jc.marker-item.d.ts +29 -0
- package/dist/component/jc.marker-item.d.ts.map +1 -0
- package/dist/component/jc.marker-item.js +48 -0
- package/dist/component/jc.media-field.d.ts +13 -0
- package/dist/component/jc.media-field.d.ts.map +1 -0
- package/dist/component/jc.media-field.js +37 -0
- package/dist/component/jc.menu-item.d.ts +89 -0
- package/dist/component/jc.menu-item.d.ts.map +1 -0
- package/dist/component/jc.menu-item.js +65 -0
- package/dist/component/jc.number-field.d.ts +21 -0
- package/dist/component/jc.number-field.d.ts.map +1 -0
- package/dist/component/jc.number-field.js +33 -0
- package/dist/component/jc.pie-chart.d.ts +26 -0
- package/dist/component/jc.pie-chart.d.ts.map +1 -0
- package/dist/component/jc.pie-chart.js +45 -0
- package/dist/component/jc.product-item.amount.d.ts +17 -0
- package/dist/component/jc.product-item.amount.d.ts.map +1 -0
- package/dist/component/jc.product-item.amount.js +31 -0
- package/dist/component/jc.product-item.d.ts +30 -0
- package/dist/component/jc.product-item.d.ts.map +1 -0
- package/dist/component/jc.product-item.js +68 -0
- package/dist/component/jc.progress-bar.d.ts +45 -0
- package/dist/component/jc.progress-bar.d.ts.map +1 -0
- package/dist/component/jc.progress-bar.js +58 -0
- package/dist/component/jc.rating.d.ts +17 -0
- package/dist/component/jc.rating.d.ts.map +1 -0
- package/dist/component/jc.rating.js +38 -0
- package/dist/component/jc.section.abstract.d.ts +87 -0
- package/dist/component/jc.section.abstract.d.ts.map +1 -0
- package/dist/component/jc.section.abstract.js +33 -0
- package/dist/component/jc.section.on-default.d.ts +85 -0
- package/dist/component/jc.section.on-default.d.ts.map +1 -0
- package/dist/component/jc.section.on-default.js +85 -0
- package/dist/component/jc.section.on-entity.d.ts +11 -0
- package/dist/component/jc.section.on-entity.d.ts.map +1 -0
- package/dist/component/jc.section.on-entity.js +11 -0
- package/dist/component/jc.segmented-control.d.ts +23 -0
- package/dist/component/jc.segmented-control.d.ts.map +1 -0
- package/dist/component/jc.segmented-control.js +66 -0
- package/dist/component/jc.signature-field.d.ts +11 -0
- package/dist/component/jc.signature-field.d.ts.map +1 -0
- package/dist/component/jc.signature-field.js +18 -0
- package/dist/component/jc.slider.d.ts +36 -0
- package/dist/component/jc.slider.d.ts.map +1 -0
- package/dist/component/jc.slider.js +53 -0
- package/dist/component/jc.stage.d.ts +23 -0
- package/dist/component/jc.stage.d.ts.map +1 -0
- package/dist/component/jc.stage.js +31 -0
- package/dist/component/jc.step.d.ts +30 -0
- package/dist/component/jc.step.d.ts.map +1 -0
- package/dist/component/jc.step.js +35 -0
- package/dist/component/jc.stepper.d.ts +34 -0
- package/dist/component/jc.stepper.d.ts.map +1 -0
- package/dist/component/jc.stepper.js +59 -0
- package/dist/component/jc.story-group.d.ts +18 -0
- package/dist/component/jc.story-group.d.ts.map +1 -0
- package/dist/component/jc.story-group.js +27 -0
- package/dist/component/jc.summary.abstract.d.ts +15 -0
- package/dist/component/jc.summary.abstract.d.ts.map +1 -0
- package/dist/component/jc.summary.abstract.js +29 -0
- package/dist/component/jc.summary.card.d.ts +14 -0
- package/dist/component/jc.summary.card.d.ts.map +1 -0
- package/dist/component/jc.summary.card.js +36 -0
- package/dist/component/jc.summary.counter.d.ts +12 -0
- package/dist/component/jc.summary.counter.d.ts.map +1 -0
- package/dist/component/jc.summary.counter.js +28 -0
- package/dist/component/jc.summary.default.d.ts +16 -0
- package/dist/component/jc.summary.default.d.ts.map +1 -0
- package/dist/component/jc.summary.default.js +34 -0
- package/dist/component/jc.summary.progress.d.ts +46 -0
- package/dist/component/jc.summary.progress.d.ts.map +1 -0
- package/dist/component/jc.summary.progress.js +35 -0
- package/dist/component/jc.tab-button.d.ts +18 -0
- package/dist/component/jc.tab-button.d.ts.map +1 -0
- package/dist/component/jc.tab-button.js +43 -0
- package/dist/component/jc.text-field.d.ts +20 -0
- package/dist/component/jc.text-field.d.ts.map +1 -0
- package/dist/component/jc.text-field.js +49 -0
- package/dist/component/jc.text.d.ts +24 -0
- package/dist/component/jc.text.d.ts.map +1 -0
- package/dist/component/jc.text.js +44 -0
- package/dist/component/jc.titles.d.ts +19 -0
- package/dist/component/jc.titles.d.ts.map +1 -0
- package/dist/component/jc.titles.js +34 -0
- package/dist/component/jc.trend.d.ts +18 -0
- package/dist/component/jc.trend.d.ts.map +1 -0
- package/dist/component/jc.trend.js +31 -0
- package/dist/component/jc.types.d.ts +75 -0
- package/dist/component/jc.types.d.ts.map +1 -0
- package/dist/component/jc.types.js +74 -0
- package/dist/component/jc.video-player.abstract.d.ts +28 -0
- package/dist/component/jc.video-player.abstract.d.ts.map +1 -0
- package/dist/component/jc.video-player.abstract.js +38 -0
- package/dist/component/jc.video-player.d.ts +4 -0
- package/dist/component/jc.video-player.d.ts.map +1 -0
- package/dist/component/jc.video-player.js +2 -0
- package/dist/component/jc.video-player.on-jig.d.ts +25 -0
- package/dist/component/jc.video-player.on-jig.d.ts.map +1 -0
- package/dist/component/jc.video-player.on-jig.js +31 -0
- package/dist/component/jc.view.d.ts +158 -0
- package/dist/component/jc.view.d.ts.map +1 -0
- package/dist/component/jc.view.js +85 -0
- package/dist/component/jc.web-view.abstract.d.ts +15 -0
- package/dist/component/jc.web-view.abstract.d.ts.map +1 -0
- package/dist/component/jc.web-view.abstract.js +33 -0
- package/dist/component/jc.web-view.on-default.d.ts +5 -0
- package/dist/component/jc.web-view.on-default.d.ts.map +1 -0
- package/dist/component/jc.web-view.on-default.js +4 -0
- package/dist/component/jc.web-view.on-full.d.ts +10 -0
- package/dist/component/jc.web-view.on-full.d.ts.map +1 -0
- package/dist/component/jc.web-view.on-full.js +14 -0
- package/dist/database/database.abstract.d.ts +39 -0
- package/dist/database/database.abstract.d.ts.map +1 -0
- package/dist/database/database.abstract.js +42 -0
- package/dist/database/index.d.ts +2 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +2 -0
- package/dist/datasource/datasource.abstract.d.ts +39 -0
- package/dist/datasource/datasource.abstract.d.ts.map +1 -0
- package/dist/datasource/datasource.abstract.js +47 -0
- package/dist/datasource/datasource.descriptor.d.ts +11 -0
- package/dist/datasource/datasource.descriptor.d.ts.map +1 -0
- package/dist/datasource/datasource.descriptor.js +2 -0
- package/dist/datasource/datasource.reference.d.ts +33 -0
- package/dist/datasource/datasource.reference.d.ts.map +1 -0
- package/dist/datasource/datasource.reference.js +66 -0
- package/dist/datasource/datasource.sdk.d.ts +7 -0
- package/dist/datasource/datasource.sdk.d.ts.map +1 -0
- package/dist/datasource/datasource.sdk.js +5 -0
- package/dist/datasource/datasource.sqlite.d.ts +88 -0
- package/dist/datasource/datasource.sqlite.d.ts.map +1 -0
- package/dist/datasource/datasource.sqlite.js +286 -0
- package/dist/datasource/datasource.static.d.ts +21 -0
- package/dist/datasource/datasource.static.d.ts.map +1 -0
- package/dist/datasource/datasource.static.js +30 -0
- package/dist/datasource/datasource.system.d.ts +18 -0
- package/dist/datasource/datasource.system.d.ts.map +1 -0
- package/dist/datasource/datasource.system.js +10 -0
- package/dist/datasource/entity.descriptor.d.ts +9 -0
- package/dist/datasource/entity.descriptor.d.ts.map +1 -0
- package/dist/datasource/entity.descriptor.js +2 -0
- package/dist/datasource/index.d.ts +11 -0
- package/dist/datasource/index.d.ts.map +1 -0
- package/dist/datasource/index.js +9 -0
- package/dist/datasource/sqlite-normalizer.d.ts +3 -0
- package/dist/datasource/sqlite-normalizer.d.ts.map +1 -0
- package/dist/datasource/sqlite-normalizer.js +194 -0
- package/dist/datasource/sqlite-validator.d.ts +28 -0
- package/dist/datasource/sqlite-validator.d.ts.map +1 -0
- package/dist/datasource/sqlite-validator.js +218 -0
- package/dist/function/function.abstract.d.ts +538 -0
- package/dist/function/function.abstract.d.ts.map +1 -0
- package/dist/function/function.abstract.js +271 -0
- package/dist/function/function.guard.d.ts +17 -0
- package/dist/function/function.guard.d.ts.map +1 -0
- package/dist/function/function.guard.js +62 -0
- package/dist/function/function.operation.d.ts +26 -0
- package/dist/function/function.operation.d.ts.map +1 -0
- package/dist/function/function.operation.js +118 -0
- package/dist/function/function.rest.continuation.d.ts +12 -0
- package/dist/function/function.rest.continuation.d.ts.map +1 -0
- package/dist/function/function.rest.continuation.js +24 -0
- package/dist/function/function.rest.d.ts +31 -0
- package/dist/function/function.rest.d.ts.map +1 -0
- package/dist/function/function.rest.error-builder.d.ts +38 -0
- package/dist/function/function.rest.error-builder.d.ts.map +1 -0
- package/dist/function/function.rest.error-builder.js +161 -0
- package/dist/function/function.rest.js +72 -0
- package/dist/function/function.rest.parameter-builder.d.ts +33 -0
- package/dist/function/function.rest.parameter-builder.d.ts.map +1 -0
- package/dist/function/function.rest.parameter-builder.js +81 -0
- package/dist/function/function.rest.types.d.ts +28 -0
- package/dist/function/function.rest.types.d.ts.map +1 -0
- package/dist/function/function.rest.types.js +2 -0
- package/dist/function/function.sdk.d.ts +10 -0
- package/dist/function/function.sdk.d.ts.map +1 -0
- package/dist/function/function.sdk.js +12 -0
- package/dist/function/function.soap.d.ts +19 -0
- package/dist/function/function.soap.d.ts.map +1 -0
- package/dist/function/function.soap.js +36 -0
- package/dist/function/function.soap.parameter-builder.d.ts +25 -0
- package/dist/function/function.soap.parameter-builder.d.ts.map +1 -0
- package/dist/function/function.soap.parameter-builder.js +41 -0
- package/dist/function/function.soap.types.d.ts +17 -0
- package/dist/function/function.soap.types.d.ts.map +1 -0
- package/dist/function/function.soap.types.js +2 -0
- package/dist/function/function.sql.d.ts +20 -0
- package/dist/function/function.sql.d.ts.map +1 -0
- package/dist/function/function.sql.js +53 -0
- package/dist/function/function.sql.parameter-builder.d.ts +24 -0
- package/dist/function/function.sql.parameter-builder.d.ts.map +1 -0
- package/dist/function/function.sql.parameter-builder.js +44 -0
- package/dist/function/function.sql.types.d.ts +20 -0
- package/dist/function/function.sql.types.d.ts.map +1 -0
- package/dist/function/function.sql.types.js +2 -0
- package/dist/function/function.types.d.ts +7 -0
- package/dist/function/function.types.d.ts.map +1 -0
- package/dist/function/function.types.js +2 -0
- package/dist/function/index.d.ts +17 -0
- package/dist/function/index.d.ts.map +1 -0
- package/dist/function/index.js +13 -0
- package/dist/icon/index.d.ts +3 -0
- package/dist/icon/index.d.ts.map +1 -0
- package/dist/icon/index.js +3 -0
- package/dist/icon/sdk.icon.d.ts +10 -0
- package/dist/icon/sdk.icon.d.ts.map +1 -0
- package/dist/icon/sdk.icon.data.d.ts +7 -0
- package/dist/icon/sdk.icon.data.d.ts.map +1 -0
- package/dist/icon/sdk.icon.data.js +19283 -0
- package/dist/icon/sdk.icon.js +27 -0
- package/dist/icon/sdk.icon.loader.d.ts +7 -0
- package/dist/icon/sdk.icon.loader.d.ts.map +1 -0
- package/dist/icon/sdk.icon.loader.js +15 -0
- package/dist/icon/sdk.icon.name.d.ts +7 -0
- package/dist/icon/sdk.icon.name.d.ts.map +1 -0
- package/dist/icon/sdk.icon.name.js +19305 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/jsonata/ast.d.ts +15 -0
- package/dist/jsonata/ast.d.ts.map +1 -0
- package/dist/jsonata/ast.js +118 -0
- package/dist/jsonata/base.d.ts +7 -0
- package/dist/jsonata/base.d.ts.map +1 -0
- package/dist/jsonata/base.js +43 -0
- package/dist/jsonata/builder.d.ts +28 -0
- package/dist/jsonata/builder.d.ts.map +1 -0
- package/dist/jsonata/builder.js +140 -0
- package/dist/jsonata/context.d.ts +10 -0
- package/dist/jsonata/context.d.ts.map +1 -0
- package/dist/jsonata/context.js +349 -0
- package/dist/jsonata/expression.d.ts +35 -0
- package/dist/jsonata/expression.d.ts.map +1 -0
- package/dist/jsonata/expression.js +498 -0
- package/dist/jsonata/index.d.ts +6 -0
- package/dist/jsonata/index.d.ts.map +1 -0
- package/dist/jsonata/index.js +6 -0
- package/dist/logger/index.d.ts +2 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +2 -0
- package/dist/logger/logger.d.ts +14 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +40 -0
- package/dist/runtime/auth.d.ts +19 -0
- package/dist/runtime/auth.d.ts.map +1 -0
- package/dist/runtime/auth.js +11 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +3 -0
- package/dist/runtime/system.d.ts +27 -0
- package/dist/runtime/system.d.ts.map +1 -0
- package/dist/runtime/system.js +26 -0
- package/dist/screen/common/index.d.ts +9 -0
- package/dist/screen/common/index.d.ts.map +1 -0
- package/dist/screen/common/index.js +7 -0
- package/dist/screen/common/screen.badge.d.ts +8 -0
- package/dist/screen/common/screen.badge.d.ts.map +1 -0
- package/dist/screen/common/screen.badge.js +2 -0
- package/dist/screen/common/screen.bottom-sheet.d.ts +62 -0
- package/dist/screen/common/screen.bottom-sheet.d.ts.map +1 -0
- package/dist/screen/common/screen.bottom-sheet.js +31 -0
- package/dist/screen/common/screen.callback-actions.d.ts +7 -0
- package/dist/screen/common/screen.callback-actions.d.ts.map +1 -0
- package/dist/screen/common/screen.callback-actions.js +19 -0
- package/dist/screen/common/screen.input-definition.d.ts +108 -0
- package/dist/screen/common/screen.input-definition.d.ts.map +1 -0
- package/dist/screen/common/screen.input-definition.js +109 -0
- package/dist/screen/common/screen.placeholder.d.ts +20 -0
- package/dist/screen/common/screen.placeholder.d.ts.map +1 -0
- package/dist/screen/common/screen.placeholder.js +54 -0
- package/dist/screen/common/screen.preview.actions.d.ts +47 -0
- package/dist/screen/common/screen.preview.actions.d.ts.map +1 -0
- package/dist/screen/common/screen.preview.actions.js +122 -0
- package/dist/screen/common/screen.preview.d.ts +40 -0
- package/dist/screen/common/screen.preview.d.ts.map +1 -0
- package/dist/screen/common/screen.preview.js +87 -0
- package/dist/screen/common/screen.state.d.ts +7 -0
- package/dist/screen/common/screen.state.d.ts.map +1 -0
- package/dist/screen/common/screen.state.js +2 -0
- package/dist/screen/common/screen.summary.d.ts +14 -0
- package/dist/screen/common/screen.summary.d.ts.map +1 -0
- package/dist/screen/common/screen.summary.js +22 -0
- package/dist/screen/index.d.ts +16 -0
- package/dist/screen/index.d.ts.map +1 -0
- package/dist/screen/index.js +16 -0
- package/dist/screen/screen.abstract.d.ts +105 -0
- package/dist/screen/screen.abstract.d.ts.map +1 -0
- package/dist/screen/screen.abstract.js +175 -0
- package/dist/screen/screen.calendar.d.ts +22 -0
- package/dist/screen/screen.calendar.d.ts.map +1 -0
- package/dist/screen/screen.calendar.js +32 -0
- package/dist/screen/screen.default.d.ts +65 -0
- package/dist/screen/screen.default.d.ts.map +1 -0
- package/dist/screen/screen.default.js +68 -0
- package/dist/screen/screen.document.d.ts +58 -0
- package/dist/screen/screen.document.d.ts.map +1 -0
- package/dist/screen/screen.document.js +72 -0
- package/dist/screen/screen.full-screen.d.ts +23 -0
- package/dist/screen/screen.full-screen.d.ts.map +1 -0
- package/dist/screen/screen.full-screen.js +18 -0
- package/dist/screen/screen.gallery.d.ts +15 -0
- package/dist/screen/screen.gallery.d.ts.map +1 -0
- package/dist/screen/screen.gallery.js +14 -0
- package/dist/screen/screen.grid.base.d.ts +18 -0
- package/dist/screen/screen.grid.base.d.ts.map +1 -0
- package/dist/screen/screen.grid.base.js +17 -0
- package/dist/screen/screen.grid.dynamic.d.ts +18 -0
- package/dist/screen/screen.grid.dynamic.d.ts.map +1 -0
- package/dist/screen/screen.grid.dynamic.js +26 -0
- package/dist/screen/screen.grid.static.d.ts +14 -0
- package/dist/screen/screen.grid.static.d.ts.map +1 -0
- package/dist/screen/screen.grid.static.js +12 -0
- package/dist/screen/screen.guards.d.ts +41 -0
- package/dist/screen/screen.guards.d.ts.map +1 -0
- package/dist/screen/screen.guards.js +35 -0
- package/dist/screen/screen.list.d.ts +79 -0
- package/dist/screen/screen.list.d.ts.map +1 -0
- package/dist/screen/screen.list.js +123 -0
- package/dist/screen/screen.sdk.d.ts +13 -0
- package/dist/screen/screen.sdk.d.ts.map +1 -0
- package/dist/screen/screen.sdk.js +9 -0
- package/dist/screen/screen.tabs.d.ts +27 -0
- package/dist/screen/screen.tabs.d.ts.map +1 -0
- package/dist/screen/screen.tabs.instance.d.ts +34 -0
- package/dist/screen/screen.tabs.instance.d.ts.map +1 -0
- package/dist/screen/screen.tabs.instance.js +79 -0
- package/dist/screen/screen.tabs.js +35 -0
- package/dist/screen/screen.wizard.d.ts +12 -0
- package/dist/screen/screen.wizard.d.ts.map +1 -0
- package/dist/screen/screen.wizard.instance.d.ts +20 -0
- package/dist/screen/screen.wizard.instance.d.ts.map +1 -0
- package/dist/screen/screen.wizard.instance.js +40 -0
- package/dist/screen/screen.wizard.js +23 -0
- package/dist/utils/check.d.ts +3 -0
- package/dist/utils/check.d.ts.map +1 -0
- package/dist/utils/check.js +7 -0
- package/dist/utils/convert.d.ts +2 -0
- package/dist/utils/convert.d.ts.map +1 -0
- package/dist/utils/convert.js +8 -0
- package/dist/utils/dedent.d.ts +2 -0
- package/dist/utils/dedent.d.ts.map +1 -0
- package/dist/utils/dedent.js +28 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/types.d.ts +2 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +2 -0
- package/dist/utils/utils.d.ts +9 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +49 -0
- package/dist/widget/index.d.ts +12 -0
- package/dist/widget/index.d.ts.map +1 -0
- package/dist/widget/index.js +12 -0
- package/dist/widget/jw.abstract.d.ts +27 -0
- package/dist/widget/jw.abstract.d.ts.map +1 -0
- package/dist/widget/jw.abstract.js +36 -0
- package/dist/widget/jw.actions.d.ts +17 -0
- package/dist/widget/jw.actions.d.ts.map +1 -0
- package/dist/widget/jw.actions.js +30 -0
- package/dist/widget/jw.avatar.d.ts +19 -0
- package/dist/widget/jw.avatar.d.ts.map +1 -0
- package/dist/widget/jw.avatar.js +23 -0
- package/dist/widget/jw.chart.d.ts +18 -0
- package/dist/widget/jw.chart.d.ts.map +1 -0
- package/dist/widget/jw.chart.js +23 -0
- package/dist/widget/jw.group.d.ts +28 -0
- package/dist/widget/jw.group.d.ts.map +1 -0
- package/dist/widget/jw.group.js +35 -0
- package/dist/widget/jw.image.d.ts +27 -0
- package/dist/widget/jw.image.d.ts.map +1 -0
- package/dist/widget/jw.image.js +54 -0
- package/dist/widget/jw.list.d.ts +44 -0
- package/dist/widget/jw.list.d.ts.map +1 -0
- package/dist/widget/jw.list.js +44 -0
- package/dist/widget/jw.location.d.ts +41 -0
- package/dist/widget/jw.location.d.ts.map +1 -0
- package/dist/widget/jw.location.js +54 -0
- package/dist/widget/jw.sdk.d.ts +2 -0
- package/dist/widget/jw.sdk.d.ts.map +1 -0
- package/dist/widget/jw.sdk.js +2 -0
- package/dist/widget/jw.status.condition.d.ts +20 -0
- package/dist/widget/jw.status.condition.d.ts.map +1 -0
- package/dist/widget/jw.status.condition.js +27 -0
- package/dist/widget/jw.status.d.ts +8 -0
- package/dist/widget/jw.status.d.ts.map +1 -0
- package/dist/widget/jw.status.js +11 -0
- package/dist/widget/jw.value.d.ts +24 -0
- package/dist/widget/jw.value.d.ts.map +1 -0
- package/dist/widget/jw.value.js +51 -0
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24ucmVzdC5lcnJvci1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Z1bmN0aW9uL2Z1bmN0aW9uLnJlc3QuZXJyb3ItYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZ0JBQWdCLEVBQ2hCLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sRUFBaUIsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQVl4RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2YsVUFBVSxDQUErQjtJQU8xRCxZQUFZLFNBQXdDLEVBQUU7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7SUFBQSxDQUM1QjtJQVFELElBQUksQ0FBQyxTQUE4QixFQUFRO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUM5QyxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFRRCxLQUFLLENBQUMsS0FBMEIsRUFBUTtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDbkIsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1FBQ2xGLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVFELElBQUksQ0FBQyxhQUE0QixFQUFRO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQTtRQUNwQyxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFRRCxNQUFNLENBQUMsTUFBZ0IsRUFBUTtRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDL0IsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBU0QsU0FBUyxDQUFDLEdBQVcsRUFBRSxVQUFnRCxFQUFRO1FBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNqQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQzlCLFNBQVMsRUFBRSxHQUFHO1lBQ2QsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO1NBQ2xDLENBQUMsQ0FBQTtRQUNGLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVNELFVBQVUsQ0FDUixNQUFnQixFQUNoQixHQUFHLFVBRUYsRUFDSztRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFBO1FBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUE7UUFDakMsQ0FBQztRQUVELEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7WUFDdEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN2QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVFELFdBQVcsQ0FBQyxLQUEwQixFQUFRO1FBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLHdCQUF3QixDQUFBO1FBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztZQUNuQixPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDbEYsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBUUQsYUFBYSxDQUFDLEtBQTBCLEVBQVE7UUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUE7UUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ25CLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUNsRixPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFRRCxZQUFZLENBQUMsS0FBMEIsRUFBUTtRQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyx5QkFBeUIsQ0FBQTtRQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDbkIsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1FBQ2xGLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQU9ELEtBQUssR0FBNEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQUEsQ0FDdkI7Q0FDRjtBQUtELE1BQU0sT0FBTyxvQkFBb0I7SUFDZCxNQUFNLENBQWdDO0lBT3ZELFlBQVksSUFBbUMsRUFBRTtRQUUvQyxNQUFNLFFBQVEsR0FBRyxPQUFPLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUN0RSxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osSUFBSSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDN0IsQ0FBQTtJQUFBLENBQ0Y7SUFTRCxLQUFLLENBQUMsS0FBeUQsRUFBUTtRQUNyRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUM3QyxPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFRRCxXQUFXLENBQUMsV0FBa0QsRUFBUTtRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDNUQsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBUUQsT0FBTyxDQUFDLE9BQTJELEVBQVE7UUFDekUsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN0RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBUUQsSUFBSSxDQUFDLElBQTJCLEVBQVE7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0MsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBV0QsWUFBWSxDQUNWLElBQTBCLEVBQzFCLEtBQTBELEVBQzFELFdBQWdFLEVBQzFEO1FBQ04sSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM1QixJQUFJLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBYyxDQUFDLENBQUE7UUFDMUYsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBVUQsU0FBUyxDQUFDLE1BQTJCLEVBQUUsU0FBbUMsRUFBUTtRQUNoRixJQUFJLEVBQUUsR0FBVyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUE7UUFFbkMsSUFBSSxTQUFTO1lBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO1FBQzFCLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVFELEtBQUssQ0FBQyxLQUEwQixFQUFRO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUNsRixPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFRRCxTQUFTLENBQUMsT0FBNkIsRUFBeUI7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFBO1FBQzdCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBa0M7WUFDL0MsR0FBRyxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7U0FDakUsQ0FBQTtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUV0QyxPQUFPLElBQUkscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUE7SUFBQSxDQUM1QztJQVFELEtBQUssQ0FBQyxNQUFpQyxFQUFRO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHO1lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2RCxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUk7Z0JBQ2hDLEtBQUssRUFBRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUNwRixDQUFDO1lBQ0YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUMxRSxDQUFBO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBUUQsSUFBSSxDQUFDLFNBQXdDLEVBQVE7UUFDbkQsTUFBTSxRQUFRLEdBQUcsT0FBTyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDckYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3pDLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQVFELEtBQUssQ0FBQyxPQUFrQyxFQUFRO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQTtRQUMzQixPQUFPLElBQUksQ0FBQTtJQUFBLENBQ1o7SUFPRCxLQUFLLEdBQTRCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUFBLENBQ25CO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEV4cHJlc3Npb24sXG4gIHR5cGUgVGV4dFZhbHVlLFxuICBUZXh0VmFsdWVCdWlsZGVyLFxuICB0b0V4cHJlc3Npb24sXG59IGZyb20gJy4uL2Fic3RyYWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBJY29uTmFtZSwgdG9JY29uTmFtZU9yRXhwcmVzc2lvbiB9IGZyb20gJy4uL2ljb24vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7XG4gIEZ1bmN0aW9uRXJyb3JIYW5kbGVyQWxlcnQsXG4gIEZ1bmN0aW9uRXJyb3JIYW5kbGVyRGVmaW5pdGlvbixcbiAgRnVuY3Rpb25FcnJvckhhbmRsZXJPcGVyYXRpb24sXG4gIEZ1bmN0aW9uRXJyb3JIYW5kbGVyUmV0cnksXG4gIE9wZXJhdGlvblR5cGUsXG59IGZyb20gJy4vZnVuY3Rpb24uYWJzdHJhY3QuanMnXG5cbi8qKlxuICogQnVpbGQgZXJyb3IgaGFuZGxlciBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgRXJyb3JPcGVyYXRpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uOiBGdW5jdGlvbkVycm9ySGFuZGxlck9wZXJhdGlvblxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVycm9yIG9wZXJhdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb3BlcmF0aW9uIC0gVGhlIG9wZXJhdGlvbiBjb25maWd1cmF0aW9uIHRvIGJ1aWxkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcGVyYXRpb246IEZ1bmN0aW9uRXJyb3JIYW5kbGVyT3BlcmF0aW9uKSB7XG4gICAgdGhpcy5fb3BlcmF0aW9uID0gb3BlcmF0aW9uXG4gIH1cblxuICAvKipcbiAgICogU2V0IGNvbmRpdGlvbiBmb3Igd2hlbiBvcGVyYXRpb24gc2hvdWxkIGV4ZWN1dGUuXG4gICAqXG4gICAqIEBwYXJhbSBjb25kaXRpb24gLSBKU09OQVRBIGV4cHJlc3Npb24gcmV0dXJuaW5nIGJvb2xlYW5cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgd2hlbihjb25kaXRpb246IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24ud2hlbiA9IHRvRXhwcmVzc2lvbihjb25kaXRpb24pXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGFyZ2V0IHRhYmxlIHRvIHN0b3JlIG9wZXJhdGlvbiByZXN1bHRzLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGUgLSBUYWJsZSBuYW1lIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGFibGUodGFibGU6IHN0cmluZyB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGUgPVxuICAgICAgdHlwZW9mIHRhYmxlID09PSAnc3RyaW5nJyAmJiB0YWJsZS5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24odGFibGUpIDogdGFibGVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBvcGVyYXRpb24gdHlwZS5cbiAgICpcbiAgICogQHBhcmFtIG9wZXJhdGlvblR5cGUgLSBPcGVyYXRpb24gdHlwZSAoZS5nLiwgJ29wZXJhdGlvbi51cHNlcnQtbWVyZ2UnLCAnb3BlcmF0aW9uLmV4ZWN1dGUtc3FsJylcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdHlwZShvcGVyYXRpb25UeXBlOiBPcGVyYXRpb25UeXBlKTogdGhpcyB7XG4gICAgdGhpcy5fb3BlcmF0aW9uLnR5cGUgPSBvcGVyYXRpb25UeXBlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGFibGVzIGZvciBleGVjdXRlLXNxbCBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGVzIC0gQXJyYXkgb2YgdGFibGUgbmFtZXNcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGFibGVzKHRhYmxlczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGVzID0gdGFibGVzXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgU1FMIHN0YXRlbWVudCBmb3IgZXhlY3V0ZS1zcWwgb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHNxbCAtIFNRTCBzdGF0ZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgc3RhdGVtZW50XG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHN0YXRlbWVudChzcWw6IHN0cmluZywgcGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IEV4cHJlc3Npb24+KTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cykge1xuICAgICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMgPSBbXVxuICAgIH1cbiAgICB0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cy5wdXNoKHtcbiAgICAgIHN0YXRlbWVudDogc3FsLFxuICAgICAgLi4uKHBhcmFtZXRlcnMgJiYgeyBwYXJhbWV0ZXJzIH0pLFxuICAgIH0pXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGV4ZWN1dGUtc3FsIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZXMgLSBUYWJsZXMgYWZmZWN0ZWQgYnkgU1FMIHN0YXRlbWVudHNcbiAgICogQHBhcmFtIHN0YXRlbWVudHMgLSBTUUwgc3RhdGVtZW50cyB3aXRoIG9wdGlvbmFsIHBhcmFtZXRlcnNcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZXhlY3V0ZVNxbChcbiAgICB0YWJsZXM6IHN0cmluZ1tdLFxuICAgIC4uLnN0YXRlbWVudHM6IEFycmF5PFxuICAgICAgc3RyaW5nIHwgeyBzdGF0ZW1lbnQ6IHN0cmluZzsgcGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IEV4cHJlc3Npb24+IH1cbiAgICA+XG4gICk6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi5leGVjdXRlLXNxbCdcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGVzID0gdGFibGVzXG5cbiAgICBpZiAoIXRoaXMuX29wZXJhdGlvbi5zdGF0ZW1lbnRzKSB7XG4gICAgICB0aGlzLl9vcGVyYXRpb24uc3RhdGVtZW50cyA9IFtdXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzdG10IG9mIHN0YXRlbWVudHMpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RtdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMucHVzaCh7IHN0YXRlbWVudDogc3RtdCB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fb3BlcmF0aW9uLnN0YXRlbWVudHMucHVzaChzdG10KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciB1cHNlcnQtbWVyZ2Ugb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHRhYmxlIC0gVGFyZ2V0IHRhYmxlIG5hbWUgb3IgZXhwcmVzc2lvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB1cHNlcnRNZXJnZSh0YWJsZTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi51cHNlcnQtbWVyZ2UnXG4gICAgdGhpcy5fb3BlcmF0aW9uLnRhYmxlID1cbiAgICAgIHR5cGVvZiB0YWJsZSA9PT0gJ3N0cmluZycgJiYgdGFibGUuc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHRhYmxlKSA6IHRhYmxlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIHVwc2VydC1yZXBsYWNlIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhcmdldCB0YWJsZSBuYW1lIG9yIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdXBzZXJ0UmVwbGFjZSh0YWJsZTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi51cHNlcnQtcmVwbGFjZSdcbiAgICB0aGlzLl9vcGVyYXRpb24udGFibGUgPVxuICAgICAgdHlwZW9mIHRhYmxlID09PSAnc3RyaW5nJyAmJiB0YWJsZS5zdGFydHNXaXRoKCc9JykgPyB0b0V4cHJlc3Npb24odGFibGUpIDogdGFibGVcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgZGVsZXRlLWluc2VydCBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdGFibGUgLSBUYXJnZXQgdGFibGUgbmFtZSBvciBleHByZXNzaW9uXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGRlbGV0ZUluc2VydCh0YWJsZTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX29wZXJhdGlvbi50eXBlID0gJ29wZXJhdGlvbi5kZWxldGUtaW5zZXJ0J1xuICAgIHRoaXMuX29wZXJhdGlvbi50YWJsZSA9XG4gICAgICB0eXBlb2YgdGFibGUgPT09ICdzdHJpbmcnICYmIHRhYmxlLnN0YXJ0c1dpdGgoJz0nKSA/IHRvRXhwcmVzc2lvbih0YWJsZSkgOiB0YWJsZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgZXJyb3Igb3BlcmF0aW9uIGRlZmluaXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIENvbXBsZXRlIGVycm9yIG9wZXJhdGlvbiBkZWZpbml0aW9uIG9iamVjdFxuICAgKi9cbiAgYnVpbGQoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9vcGVyYXRpb25cbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIGZ1bmN0aW9uIGVycm9yIGhhbmRsZXJzLlxuICovXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25FcnJvckJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9lcnJvcjogRnVuY3Rpb25FcnJvckhhbmRsZXJEZWZpbml0aW9uXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZXJyb3IgaGFuZGxlciBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0gd2hlbiAtIFJlcXVpcmVkIGNvbmRpdGlvbiAoYm9vbGVhbiBvciBleHByZXNzaW9uKS4gQm9vbGVhbiB0cnVlL2ZhbHNlIGNvbnZlcnRzIHRvICc9dHJ1ZScvJz1mYWxzZSdcbiAgICovXG4gIGNvbnN0cnVjdG9yKHdoZW46IGJvb2xlYW4gfCBzdHJpbmcgfCBFeHByZXNzaW9uKSB7XG4gICAgLy8gQ29udmVydCBib29sZWFuIHRvIGV4cHJlc3Npb25cbiAgICBjb25zdCB3aGVuRXhwciA9IHR5cGVvZiB3aGVuID09PSAnYm9vbGVhbicgPyBgPSR7U3RyaW5nKHdoZW4pfWAgOiB3aGVuXG4gICAgdGhpcy5fZXJyb3IgPSB7XG4gICAgICB3aGVuOiB0b0V4cHJlc3Npb24od2hlbkV4cHIpLFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgZXJyb3IgdGl0bGUgc2hvd24gaW4gbm90aWZpY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHRpdGxlIC0gU3RhdGljIHRleHQsIGV4cHJlc3Npb24gKD0uLi4pLCBvciBUZXh0VmFsdWVcbiAgICogQGRlZmF1bHQgdGl0bGUgaXMgdGhlIHNhbWUgYXMgZGVzY3JpcHRpb24gaWYgbm90IHNldC5cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgdGl0bGUodGl0bGU6IHN0cmluZyB8IEV4cHJlc3Npb24gfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyKTogdGhpcyB7XG4gICAgaWYgKHR5cGVvZiB0aXRsZSA9PT0gJ3N0cmluZycgJiYgdGl0bGUuc3RhcnRzV2l0aCgnPScpKSB7XG4gICAgICB0aGlzLl9lcnJvci50aXRsZSA9IHRvRXhwcmVzc2lvbih0aXRsZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZXJyb3IudGl0bGUgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20odGl0bGUpXG4gICAgfVxuICAgIHRoaXMuX2Vycm9yLmRlc2NyaXB0aW9uIHx8PSB0aGlzLl9lcnJvci50aXRsZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IGVycm9yIGRlc2NyaXB0aW9uIGZvciB1c2VyLWZhY2luZyBub3RpZmljYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGl2ZSB0ZXh0IG9yIFRleHRWYWx1ZVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBkZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlcik6IHRoaXMge1xuICAgIHRoaXMuX2Vycm9yLmRlc2NyaXB0aW9uID0gVGV4dFZhbHVlQnVpbGRlci5mcm9tKGRlc2NyaXB0aW9uKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IGFkZGl0aW9uYWwgZXJyb3IgZGV0YWlscy5cbiAgICpcbiAgICogQHBhcmFtIGRldGFpbHMgLSBTdGF0aWMgdGV4dCwgZXhwcmVzc2lvbiwgb3IgVGV4dFZhbHVlXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGRldGFpbHMoZGV0YWlsczogc3RyaW5nIHwgRXhwcmVzc2lvbiB8IFRleHRWYWx1ZSB8IFRleHRWYWx1ZUJ1aWxkZXIpOiB0aGlzIHtcbiAgICBpZiAodHlwZW9mIGRldGFpbHMgPT09ICdzdHJpbmcnICYmIGRldGFpbHMuc3RhcnRzV2l0aCgnPScpKSB7XG4gICAgICB0aGlzLl9lcnJvci5kZXRhaWxzID0gdG9FeHByZXNzaW9uKGRldGFpbHMpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2Vycm9yLmRldGFpbHMgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20oZGV0YWlscylcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaWNvbiBmb3IgZXJyb3Igbm90aWZpY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIGljb24gLSBJY29uIG5hbWUsIGV4cHJlc3Npb24sIG9yIEljb25OYW1lIHR5cGVcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgaWNvbihpY29uOiBJY29uTmFtZSB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9lcnJvci5pY29uID0gdG9JY29uTmFtZU9yRXhwcmVzc2lvbihpY29uKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ29udHJvbCB3aGV0aGVyIHRvIHNob3cgZXJyb3Igbm90aWZpY2F0aW9uIHRvIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSBzaG93IC0gQm9vbGVhbiBvciBleHByZXNzaW9uXG4gICAqIEBwYXJhbSB0aXRsZVxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb25cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBub3RpZmljYXRpb24oXG4gICAgc2hvdzogYm9vbGVhbiB8IEV4cHJlc3Npb24sXG4gICAgdGl0bGU/OiBzdHJpbmcgfCBFeHByZXNzaW9uIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlcixcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IEV4cHJlc3Npb24gfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyLFxuICApOiB0aGlzIHtcbiAgICBpZiAodGl0bGUpIHRoaXMudGl0bGUodGl0bGUpXG4gICAgaWYgKGRlc2NyaXB0aW9uKSB0aGlzLmRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKVxuICAgIHRoaXMuX2Vycm9yLm5vdGlmaWNhdGlvbiA9IHR5cGVvZiBzaG93ID09PSAnYm9vbGVhbicgPyBzaG93IDogdG9FeHByZXNzaW9uKHNob3cgYXMgc3RyaW5nKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIGVycm9yIGRhdGEgYmVmb3JlIHN0b3JhZ2UvZGlzcGxheS5cbiAgICpcbiAgICogQHBhcmFtIGpzb25hdGEgLSBKU09OQVRBIGV4cHJlc3Npb24gc3RyaW5nXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHRyYW5zZm9ybShqc29uYXRhOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpc1xuICB0cmFuc2Zvcm0ocHJlZml4OiBzdHJpbmcsIHRyYW5zZm9ybTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB0aGlzXG4gIHRyYW5zZm9ybSh0eE9yUHg6IHN0cmluZyB8IEV4cHJlc3Npb24sIHRyYW5zZm9ybT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdGhpcyB7XG4gICAgbGV0IHR4OiBzdHJpbmcgPSB0eE9yUHgudHJpbVN0YXJ0KClcbiAgICAvLyBpZiAodHguc3RhcnRzV2l0aCgnPScpKSB0eCA9IHR4LnNsaWNlKDEpLnRyaW1TdGFydCgpXG4gICAgaWYgKHRyYW5zZm9ybSkgdHggKz0gSlNPTi5zdHJpbmdpZnkodHJhbnNmb3JtKVxuXG4gICAgdGhpcy5fZXJyb3IudHJhbnNmb3JtID0gdHggLy8gdG9FeHByZXNzaW9uKHR4KVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgZXJyb3IgZGF0YSBpbiBzcGVjaWZpZWQgdGFibGUuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJsZSAtIFRhYmxlIG5hbWUgb3IgZXhwcmVzc2lvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICB0YWJsZSh0YWJsZTogc3RyaW5nIHwgRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX2Vycm9yLnRhYmxlID1cbiAgICAgIHR5cGVvZiB0YWJsZSA9PT0gJ3N0cmluZycgJiYgdGFibGUuc3RhcnRzV2l0aCgnPScpID8gdG9FeHByZXNzaW9uKHRhYmxlKSA6IHRhYmxlXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgb3BlcmF0aW9uIHRvIHBlcmZvcm0gd2hlbiBlcnJvciBvY2N1cnMuXG4gICAqXG4gICAqIEBwYXJhbSByZWNvcmRzIC0gSlNPTkFUQSBleHByZXNzaW9uIGZvciBvcGVyYXRpb24gZGF0YSAob3B0aW9uYWwgZm9yIGV4ZWN1dGUtc3FsIG9wZXJhdGlvbnMpXG4gICAqIEByZXR1cm5zIEVycm9yT3BlcmF0aW9uQnVpbGRlciBmb3IgZnVydGhlciBjb25maWd1cmF0aW9uXG4gICAqL1xuICBvcGVyYXRpb24ocmVjb3Jkcz86IHN0cmluZyB8IEV4cHJlc3Npb24pOiBFcnJvck9wZXJhdGlvbkJ1aWxkZXIge1xuICAgIGlmICghdGhpcy5fZXJyb3Iub3BlcmF0aW9ucykge1xuICAgICAgdGhpcy5fZXJyb3Iub3BlcmF0aW9ucyA9IFtdXG4gICAgfVxuXG4gICAgY29uc3Qgb3BlcmF0aW9uOiBGdW5jdGlvbkVycm9ySGFuZGxlck9wZXJhdGlvbiA9IHtcbiAgICAgIC4uLihyZWNvcmRzICE9PSB1bmRlZmluZWQgJiYgeyByZWNvcmRzOiB0b0V4cHJlc3Npb24ocmVjb3JkcykgfSksXG4gICAgfVxuICAgIHRoaXMuX2Vycm9yLm9wZXJhdGlvbnMucHVzaChvcGVyYXRpb24pXG5cbiAgICByZXR1cm4gbmV3IEVycm9yT3BlcmF0aW9uQnVpbGRlcihvcGVyYXRpb24pXG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIGF1dG9tYXRpYyByZXRyeSBiZWhhdmlvciBmb3IgZXJyb3JzLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gUmV0cnkgY29uZmlndXJhdGlvbiB3aXRoIHdoZW4sIGRlbGF5LCBtYXhSZXRyaWVzXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHJldHJ5KGNvbmZpZzogRnVuY3Rpb25FcnJvckhhbmRsZXJSZXRyeSk6IHRoaXMge1xuICAgIHRoaXMuX2Vycm9yLnJldHJ5ID0ge1xuICAgICAgLi4uKGNvbmZpZy53aGVuICYmIHsgd2hlbjogdG9FeHByZXNzaW9uKGNvbmZpZy53aGVuKSB9KSxcbiAgICAgIC4uLihjb25maWcuZGVsYXkgIT09IHVuZGVmaW5lZCAmJiB7XG4gICAgICAgIGRlbGF5OiB0eXBlb2YgY29uZmlnLmRlbGF5ID09PSAnbnVtYmVyJyA/IGNvbmZpZy5kZWxheSA6IHRvRXhwcmVzc2lvbihjb25maWcuZGVsYXkpLFxuICAgICAgfSksXG4gICAgICAuLi4oY29uZmlnLm1heFJldHJpZXMgIT09IHVuZGVmaW5lZCAmJiB7IG1heFJldHJpZXM6IGNvbmZpZy5tYXhSZXRyaWVzIH0pLFxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHdoZW4gY29uZGl0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZGl0aW9uIC0gQm9vbGVhbiBvciBKU09OQVRBIGV4cHJlc3Npb25cbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgd2hlbihjb25kaXRpb246IGJvb2xlYW4gfCBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgY29uc3Qgd2hlbkV4cHIgPSB0eXBlb2YgY29uZGl0aW9uID09PSAnYm9vbGVhbicgPyBgPSR7U3RyaW5nKGNvbmRpdGlvbil9YCA6IGNvbmRpdGlvblxuICAgIHRoaXMuX2Vycm9yLndoZW4gPSB0b0V4cHJlc3Npb24od2hlbkV4cHIpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgYWxlcnQgbm90aWZpY2F0aW9uIGZvciB0aGlzIGVycm9yIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gQWxlcnQgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBhbGVydChvcHRpb25zOiBGdW5jdGlvbkVycm9ySGFuZGxlckFsZXJ0KTogdGhpcyB7XG4gICAgdGhpcy5fZXJyb3IuYWxlcnQgPSBvcHRpb25zXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBlcnJvciBoYW5kbGVyIGRlZmluaXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIENvbXBsZXRlIGVycm9yIGhhbmRsZXIgZGVmaW5pdGlvbiBvYmplY3RcbiAgICovXG4gIGJ1aWxkKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fZXJyb3JcbiAgfVxufVxuIl19
|