@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,66 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { DATASOURCE_TYPE, DatasourceIdSchema, PrimitiveOrExpressionSchema, toInstanceId, } from '../abstract/index.js';
|
|
3
|
+
const ReferenceDatasourceSchema = z.object({
|
|
4
|
+
type: z.literal(DATASOURCE_TYPE.REFERENCE),
|
|
5
|
+
datasourceId: DatasourceIdSchema,
|
|
6
|
+
inputs: z.record(z.string(), PrimitiveOrExpressionSchema).optional(),
|
|
7
|
+
package: z.string().optional(),
|
|
8
|
+
});
|
|
9
|
+
export class DatasourceReferenceBuilder {
|
|
10
|
+
_descriptor;
|
|
11
|
+
_instanceId;
|
|
12
|
+
_inputs = {};
|
|
13
|
+
constructor(options) {
|
|
14
|
+
this._descriptor = options.descriptor;
|
|
15
|
+
this._instanceId = toInstanceId(options.instanceId);
|
|
16
|
+
}
|
|
17
|
+
get instanceId() {
|
|
18
|
+
return this._instanceId;
|
|
19
|
+
}
|
|
20
|
+
get descriptor() {
|
|
21
|
+
return this._descriptor;
|
|
22
|
+
}
|
|
23
|
+
get schema() {
|
|
24
|
+
return this._descriptor.schema;
|
|
25
|
+
}
|
|
26
|
+
param(key, value) {
|
|
27
|
+
this._inputs[key] = value;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
build() {
|
|
31
|
+
const result = {
|
|
32
|
+
type: DATASOURCE_TYPE.REFERENCE,
|
|
33
|
+
datasourceId: this._descriptor.datasourceId,
|
|
34
|
+
};
|
|
35
|
+
if (this._descriptor.packageName) {
|
|
36
|
+
result.package = this._descriptor.packageName;
|
|
37
|
+
}
|
|
38
|
+
if (Object.keys(this._inputs).length > 0) {
|
|
39
|
+
result.inputs = { ...this._inputs };
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
_validate() {
|
|
44
|
+
if (!this._descriptor.inputDefinitions) {
|
|
45
|
+
return { valid: true, issues: [] };
|
|
46
|
+
}
|
|
47
|
+
const names = Object.keys(this._descriptor.inputDefinitions);
|
|
48
|
+
if (names.length === 0) {
|
|
49
|
+
return { valid: true, issues: [] };
|
|
50
|
+
}
|
|
51
|
+
let isValid = true;
|
|
52
|
+
const issues = [];
|
|
53
|
+
for (const name of names) {
|
|
54
|
+
const definition = this._descriptor.inputDefinitions[name];
|
|
55
|
+
const value = this._inputs[name];
|
|
56
|
+
if (definition.required && (typeof value === 'undefined' || value === null)) {
|
|
57
|
+
isValid = false;
|
|
58
|
+
issues.push({
|
|
59
|
+
message: `Input parameter "${name}" is required but not provided.`,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return { valid: isValid, issues };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5yZWZlcmVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YXNvdXJjZS9kYXRhc291cmNlLnJlZmVyZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzFCLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysa0JBQWtCLEVBR2xCLDJCQUEyQixFQUMzQixZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQTtBQUc3QixNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUMxQyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNwRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMvQixDQUFDLENBQUE7QUFjRixNQUFNLE9BQU8sMEJBQTBCO0lBQ3BCLFdBQVcsQ0FBc0I7SUFDakMsV0FBVyxDQUFZO0lBQ3ZCLE9BQU8sR0FBMEMsRUFBRSxDQUFBO0lBRXBFLFlBQVksT0FBbUMsRUFBRTtRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUE7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQUEsQ0FDcEQ7SUFFRCxJQUFJLFVBQVUsR0FBZTtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUE7SUFBQSxDQUN4QjtJQUVELElBQUksVUFBVSxHQUF5QjtRQUNyQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUE7SUFBQSxDQUN4QjtJQUVELElBQUksTUFBTSxHQUF3QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFBO0lBQUEsQ0FDL0I7SUFRRCxLQUFLLENBQUMsR0FBVyxFQUFFLEtBQTRCLEVBQVE7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDekIsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBRUQsS0FBSyxHQUF3QjtRQUMzQixNQUFNLE1BQU0sR0FBd0I7WUFDbEMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxTQUFTO1lBQy9CLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVk7U0FDNUMsQ0FBQTtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFBO1FBQy9DLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDckMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFBO0lBQUEsQ0FDZDtJQUdELFNBQVMsR0FBMkQ7UUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUE7UUFDcEMsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRTVELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUE7UUFDcEMsQ0FBQztRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtRQUNsQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFFakIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzFELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7WUFFaEMsSUFBSSxVQUFVLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssV0FBVyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1RSxPQUFPLEdBQUcsS0FBSyxDQUFBO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ1YsT0FBTyxFQUFFLG9CQUFvQixJQUFJLGlDQUFpQztpQkFDbkUsQ0FBQyxDQUFBO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQTtJQUFBLENBQ2xDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB6IH0gZnJvbSAnem9kL3Y0J1xuaW1wb3J0IHtcbiAgREFUQVNPVVJDRV9UWVBFLFxuICBEYXRhc291cmNlSWRTY2hlbWEsXG4gIHR5cGUgSW5zdGFuY2VJZCxcbiAgdHlwZSBQcmltaXRpdmVPckV4cHJlc3Npb24sXG4gIFByaW1pdGl2ZU9yRXhwcmVzc2lvblNjaGVtYSxcbiAgdG9JbnN0YW5jZUlkLFxufSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgRGF0YXNvdXJjZURlc2NyaXB0b3IgfSBmcm9tICcuL2RhdGFzb3VyY2UuZGVzY3JpcHRvci5qcydcblxuY29uc3QgUmVmZXJlbmNlRGF0YXNvdXJjZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKERBVEFTT1VSQ0VfVFlQRS5SRUZFUkVOQ0UpLFxuICBkYXRhc291cmNlSWQ6IERhdGFzb3VyY2VJZFNjaGVtYSxcbiAgaW5wdXRzOiB6LnJlY29yZCh6LnN0cmluZygpLCBQcmltaXRpdmVPckV4cHJlc3Npb25TY2hlbWEpLm9wdGlvbmFsKCksXG4gIHBhY2thZ2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pXG5cbmV4cG9ydCB0eXBlIFJlZmVyZW5jZURhdGFzb3VyY2UgPSB6LmluZmVyPHR5cGVvZiBSZWZlcmVuY2VEYXRhc291cmNlU2NoZW1hPlxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzb3VyY2VSZWZlcmVuY2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgZGVzY3JpcHRvcjogRGF0YXNvdXJjZURlc2NyaXB0b3JcbiAgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nIHwgSW5zdGFuY2VJZFxufVxuXG4vKipcbiAqIFJlZmVyZW5jZSBleGlzdGluZyBkYXRhc291cmNlIGJ5IElELiBQYXNzIGlucHV0cyBhdCBydW50aW1lLlxuICpcbiAqIEBzZWUgU2NyZWVuQmFzZUJ1aWxkZXJOZXcuYWRkRGF0YXNvdXJjZS5yZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFzb3VyY2VSZWZlcmVuY2VCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzY3JpcHRvcjogRGF0YXNvdXJjZURlc2NyaXB0b3JcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5zdGFuY2VJZDogSW5zdGFuY2VJZFxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnB1dHM6IFJlY29yZDxzdHJpbmcsIFByaW1pdGl2ZU9yRXhwcmVzc2lvbj4gPSB7fVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IERhdGFzb3VyY2VSZWZlcmVuY2VPcHRpb25zKSB7XG4gICAgdGhpcy5fZGVzY3JpcHRvciA9IG9wdGlvbnMuZGVzY3JpcHRvclxuICAgIHRoaXMuX2luc3RhbmNlSWQgPSB0b0luc3RhbmNlSWQob3B0aW9ucy5pbnN0YW5jZUlkKVxuICB9XG5cbiAgZ2V0IGluc3RhbmNlSWQoKTogSW5zdGFuY2VJZCB7XG4gICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlSWRcbiAgfVxuXG4gIGdldCBkZXNjcmlwdG9yKCk6IERhdGFzb3VyY2VEZXNjcmlwdG9yIHtcbiAgICByZXR1cm4gdGhpcy5fZGVzY3JpcHRvclxuICB9XG5cbiAgZ2V0IHNjaGVtYSgpOiB1bmtub3duIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZGVzY3JpcHRvci5zY2hlbWFcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgaW5wdXQgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gUGFyYW1ldGVyIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIC0gUHJpbWl0aXZlIG9yIGV4cHJlc3Npb25cbiAgICovXG4gIHBhcmFtKGtleTogc3RyaW5nLCB2YWx1ZTogUHJpbWl0aXZlT3JFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5faW5wdXRzW2tleV0gPSB2YWx1ZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBidWlsZCgpOiBSZWZlcmVuY2VEYXRhc291cmNlIHtcbiAgICBjb25zdCByZXN1bHQ6IFJlZmVyZW5jZURhdGFzb3VyY2UgPSB7XG4gICAgICB0eXBlOiBEQVRBU09VUkNFX1RZUEUuUkVGRVJFTkNFLFxuICAgICAgZGF0YXNvdXJjZUlkOiB0aGlzLl9kZXNjcmlwdG9yLmRhdGFzb3VyY2VJZCxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZGVzY3JpcHRvci5wYWNrYWdlTmFtZSkge1xuICAgICAgcmVzdWx0LnBhY2thZ2UgPSB0aGlzLl9kZXNjcmlwdG9yLnBhY2thZ2VOYW1lXG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuX2lucHV0cykubGVuZ3RoID4gMCkge1xuICAgICAgcmVzdWx0LmlucHV0cyA9IHsgLi4udGhpcy5faW5wdXRzIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgLy8gVE9ETzogRml4IHR5cGVzIC0gd2UgaGF2ZSB0byBtb3ZlIFZhbGlkYXRpb25SZXN1bHQgdG8gY29yZS1zZGtcbiAgX3ZhbGlkYXRlKCk6IHsgdmFsaWQ6IGJvb2xlYW47IGlzc3VlczogQXJyYXk8eyBtZXNzYWdlOiBzdHJpbmcgfT4gfSB7XG4gICAgaWYgKCF0aGlzLl9kZXNjcmlwdG9yLmlucHV0RGVmaW5pdGlvbnMpIHtcbiAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlLCBpc3N1ZXM6IFtdIH1cbiAgICB9XG5cbiAgICBjb25zdCBuYW1lcyA9IE9iamVjdC5rZXlzKHRoaXMuX2Rlc2NyaXB0b3IuaW5wdXREZWZpbml0aW9ucylcblxuICAgIGlmIChuYW1lcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlLCBpc3N1ZXM6IFtdIH1cbiAgICB9XG5cbiAgICBsZXQgaXNWYWxpZCA9IHRydWVcbiAgICBjb25zdCBpc3N1ZXMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIG5hbWVzKSB7XG4gICAgICBjb25zdCBkZWZpbml0aW9uID0gdGhpcy5fZGVzY3JpcHRvci5pbnB1dERlZmluaXRpb25zW25hbWVdXG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX2lucHV0c1tuYW1lXVxuXG4gICAgICBpZiAoZGVmaW5pdGlvbi5yZXF1aXJlZCAmJiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fCB2YWx1ZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgaXNWYWxpZCA9IGZhbHNlXG4gICAgICAgIGlzc3Vlcy5wdXNoKHtcbiAgICAgICAgICBtZXNzYWdlOiBgSW5wdXQgcGFyYW1ldGVyIFwiJHtuYW1lfVwiIGlzIHJlcXVpcmVkIGJ1dCBub3QgcHJvdmlkZWQuYCxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyB2YWxpZDogaXNWYWxpZCwgaXNzdWVzIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DatasourceReferenceBuilder, type ReferenceDatasource } from './datasource.reference.js';
|
|
2
|
+
import { type SqliteDatasource, SqliteDatasourceBuilder } from './datasource.sqlite.js';
|
|
3
|
+
import { type StaticDatasource, StaticDatasourceBuilder } from './datasource.static.js';
|
|
4
|
+
import { type SystemDatasource, SystemDatasourceBuilder } from './datasource.system.js';
|
|
5
|
+
export type Datasource = SqliteDatasource | StaticDatasource | SystemDatasource | ReferenceDatasource;
|
|
6
|
+
export type DatasourceBuilder = SqliteDatasourceBuilder | StaticDatasourceBuilder | SystemDatasourceBuilder | DatasourceReferenceBuilder;
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5zZGsuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhc291cmNlL2RhdGFzb3VyY2Uuc2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxLQUFLLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEcsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFdkYsTUFBTSxNQUFNLFVBQVUsR0FDbEIsZ0JBQWdCLEdBQ2hCLGdCQUFnQixHQUNoQixnQkFBZ0IsR0FDaEIsbUJBQW1CLENBQUE7QUFFdkIsTUFBTSxNQUFNLGlCQUFpQixHQUN6Qix1QkFBdUIsR0FDdkIsdUJBQXVCLEdBQ3ZCLHVCQUF1QixHQUN2QiwwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFzb3VyY2VSZWZlcmVuY2VCdWlsZGVyLCB0eXBlIFJlZmVyZW5jZURhdGFzb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UucmVmZXJlbmNlLmpzJ1xuaW1wb3J0IHsgdHlwZSBTcWxpdGVEYXRhc291cmNlLCBTcWxpdGVEYXRhc291cmNlQnVpbGRlciB9IGZyb20gJy4vZGF0YXNvdXJjZS5zcWxpdGUuanMnXG5pbXBvcnQgeyB0eXBlIFN0YXRpY0RhdGFzb3VyY2UsIFN0YXRpY0RhdGFzb3VyY2VCdWlsZGVyIH0gZnJvbSAnLi9kYXRhc291cmNlLnN0YXRpYy5qcydcbmltcG9ydCB7IHR5cGUgU3lzdGVtRGF0YXNvdXJjZSwgU3lzdGVtRGF0YXNvdXJjZUJ1aWxkZXIgfSBmcm9tICcuL2RhdGFzb3VyY2Uuc3lzdGVtLmpzJ1xuXG5leHBvcnQgdHlwZSBEYXRhc291cmNlID1cbiAgfCBTcWxpdGVEYXRhc291cmNlXG4gIHwgU3RhdGljRGF0YXNvdXJjZVxuICB8IFN5c3RlbURhdGFzb3VyY2VcbiAgfCBSZWZlcmVuY2VEYXRhc291cmNlXG5cbmV4cG9ydCB0eXBlIERhdGFzb3VyY2VCdWlsZGVyID1cbiAgfCBTcWxpdGVEYXRhc291cmNlQnVpbGRlclxuICB8IFN0YXRpY0RhdGFzb3VyY2VCdWlsZGVyXG4gIHwgU3lzdGVtRGF0YXNvdXJjZUJ1aWxkZXJcbiAgfCBEYXRhc291cmNlUmVmZXJlbmNlQnVpbGRlclxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasource.sdk.d.ts","sourceRoot":"","sources":["../../src/datasource/datasource.sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,KAAK,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,KAAK,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,KAAK,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAEvF,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,CAAA;AAEvB,MAAM,MAAM,iBAAiB,GACzB,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,0BAA0B,CAAA","sourcesContent":["import { DatasourceReferenceBuilder, type ReferenceDatasource } from './datasource.reference.js'\nimport { type SqliteDatasource, SqliteDatasourceBuilder } from './datasource.sqlite.js'\nimport { type StaticDatasource, StaticDatasourceBuilder } from './datasource.static.js'\nimport { type SystemDatasource, SystemDatasourceBuilder } from './datasource.system.js'\n\nexport type Datasource =\n | SqliteDatasource\n | StaticDatasource\n | SystemDatasource\n | ReferenceDatasource\n\nexport type DatasourceBuilder =\n | SqliteDatasourceBuilder\n | StaticDatasourceBuilder\n | SystemDatasourceBuilder\n | DatasourceReferenceBuilder\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import './datasource.reference.js';
|
|
2
|
+
import './datasource.sqlite.js';
|
|
3
|
+
import './datasource.static.js';
|
|
4
|
+
import './datasource.system.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5zZGsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YXNvdXJjZS9kYXRhc291cmNlLnNkay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFxRSwyQkFBMkIsQ0FBQTtBQUNoRyxPQUErRCx3QkFBd0IsQ0FBQTtBQUN2RixPQUErRCx3QkFBd0IsQ0FBQTtBQUN2RixPQUErRCx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFzb3VyY2VSZWZlcmVuY2VCdWlsZGVyLCB0eXBlIFJlZmVyZW5jZURhdGFzb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UucmVmZXJlbmNlLmpzJ1xuaW1wb3J0IHsgdHlwZSBTcWxpdGVEYXRhc291cmNlLCBTcWxpdGVEYXRhc291cmNlQnVpbGRlciB9IGZyb20gJy4vZGF0YXNvdXJjZS5zcWxpdGUuanMnXG5pbXBvcnQgeyB0eXBlIFN0YXRpY0RhdGFzb3VyY2UsIFN0YXRpY0RhdGFzb3VyY2VCdWlsZGVyIH0gZnJvbSAnLi9kYXRhc291cmNlLnN0YXRpYy5qcydcbmltcG9ydCB7IHR5cGUgU3lzdGVtRGF0YXNvdXJjZSwgU3lzdGVtRGF0YXNvdXJjZUJ1aWxkZXIgfSBmcm9tICcuL2RhdGFzb3VyY2Uuc3lzdGVtLmpzJ1xuXG5leHBvcnQgdHlwZSBEYXRhc291cmNlID1cbiAgfCBTcWxpdGVEYXRhc291cmNlXG4gIHwgU3RhdGljRGF0YXNvdXJjZVxuICB8IFN5c3RlbURhdGFzb3VyY2VcbiAgfCBSZWZlcmVuY2VEYXRhc291cmNlXG5cbmV4cG9ydCB0eXBlIERhdGFzb3VyY2VCdWlsZGVyID1cbiAgfCBTcWxpdGVEYXRhc291cmNlQnVpbGRlclxuICB8IFN0YXRpY0RhdGFzb3VyY2VCdWlsZGVyXG4gIHwgU3lzdGVtRGF0YXNvdXJjZUJ1aWxkZXJcbiAgfCBEYXRhc291cmNlUmVmZXJlbmNlQnVpbGRlclxuIl19
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { type ConversionDefinition, DATA_PROVIDER, DATASOURCE_TYPE, type DatasourceId, type EntityName, type Expression, type FunctionId, type InstanceId, type ParameterName, type ParameterValue, type Primitive, type PrimitiveOrExpression, type TableName } from '../abstract/index.js';
|
|
2
|
+
import { type FunctionCore } from '../function/index.js';
|
|
3
|
+
import { type DatasourceBase, DatasourceBaseBuilder } from './datasource.abstract.js';
|
|
4
|
+
export type SqliteParamExpressions = Record<ParameterName, PrimitiveOrExpression>;
|
|
5
|
+
interface SqliteDatasourceEntity {
|
|
6
|
+
entity: string;
|
|
7
|
+
package?: string;
|
|
8
|
+
function?: string;
|
|
9
|
+
functionParameters?: SqliteParamExpressions;
|
|
10
|
+
}
|
|
11
|
+
export type SqliteProviderType = typeof DATA_PROVIDER.DYNAMIC | typeof DATA_PROVIDER.LOCAL;
|
|
12
|
+
interface SqliteDatasourceOptions {
|
|
13
|
+
provider: SqliteProviderType;
|
|
14
|
+
entities: Array<SqliteDatasourceEntity | string>;
|
|
15
|
+
query: string;
|
|
16
|
+
queryParameters?: SqliteParamExpressions;
|
|
17
|
+
isDocument?: boolean;
|
|
18
|
+
rewriteQuery?: boolean;
|
|
19
|
+
jsonProperties?: string[] | null;
|
|
20
|
+
conversions?: ConversionDefinition[];
|
|
21
|
+
}
|
|
22
|
+
export type SqliteDatasource = DatasourceBase & {
|
|
23
|
+
readonly type: typeof DATASOURCE_TYPE.SQLITE;
|
|
24
|
+
readonly options: SqliteDatasourceOptions;
|
|
25
|
+
parameters?: Record<ParameterName, {
|
|
26
|
+
readonly type: string;
|
|
27
|
+
readonly default?: ParameterValue;
|
|
28
|
+
readonly required?: boolean;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
31
|
+
export interface SqliteDatasourceInput {
|
|
32
|
+
readonly datasourceId: string | DatasourceId;
|
|
33
|
+
readonly provider: 'dynamic' | 'local';
|
|
34
|
+
readonly instanceId?: InstanceId;
|
|
35
|
+
}
|
|
36
|
+
export declare class SqliteDatasourceBuilder extends DatasourceBaseBuilder<SqliteDatasource> {
|
|
37
|
+
private readonly _requiredTables;
|
|
38
|
+
private _explicitQuery;
|
|
39
|
+
private _lastFromClause;
|
|
40
|
+
constructor(options: SqliteDatasourceInput);
|
|
41
|
+
private validateParameterName;
|
|
42
|
+
private applyDefaultQuery;
|
|
43
|
+
getRequiredTables(): readonly string[];
|
|
44
|
+
private registerDynamicTable;
|
|
45
|
+
private resolveFunctionId;
|
|
46
|
+
query(sql: string): this;
|
|
47
|
+
entity(input: string | TableName | {
|
|
48
|
+
entity: string | TableName;
|
|
49
|
+
fn?: FunctionId | FunctionCore;
|
|
50
|
+
params?: SqliteParamExpressions;
|
|
51
|
+
}): this;
|
|
52
|
+
entityPackaged(name: string | TableName, packageName: string): this;
|
|
53
|
+
param(name: string | ParameterName, type: string, value: Primitive | Expression, options?: {
|
|
54
|
+
required?: boolean;
|
|
55
|
+
defaultValue?: Primitive | Expression;
|
|
56
|
+
}): this;
|
|
57
|
+
queryParameter(name: string | ParameterName, value: string | number | boolean | null | PrimitiveOrExpression): this;
|
|
58
|
+
parameter(name: string | ParameterName, type: string, options?: {
|
|
59
|
+
required?: boolean;
|
|
60
|
+
defaultValue?: ParameterValue;
|
|
61
|
+
}): this;
|
|
62
|
+
rewriteQuery(value?: boolean): this;
|
|
63
|
+
isDocument(value?: boolean): this;
|
|
64
|
+
jsonProperties(...columns: string[]): this;
|
|
65
|
+
select(columns: string | string[], from: string | TableName | EntityName, where?: string, options?: {
|
|
66
|
+
tableAlias?: string;
|
|
67
|
+
}): this;
|
|
68
|
+
selectDocument(from: string | TableName | EntityName, options?: {
|
|
69
|
+
where?: string;
|
|
70
|
+
tableAlias?: string;
|
|
71
|
+
}): this;
|
|
72
|
+
jsonExtract(column: string, options?: {
|
|
73
|
+
path?: string;
|
|
74
|
+
alias?: string;
|
|
75
|
+
tableAlias?: string;
|
|
76
|
+
}): this;
|
|
77
|
+
entities(...names: Array<string | TableName | EntityName>): this;
|
|
78
|
+
convert(property: string, from: 'buffer' | 'local-uri' | 'base64' | 'data-uri', to: 'buffer' | 'base64' | 'data-uri', options?: {
|
|
79
|
+
convertHeicToJpg?: boolean;
|
|
80
|
+
}): this;
|
|
81
|
+
convert(property: string, from: 'buffer' | 'local-uri' | 'base64' | 'data-uri', to: 'local-uri', options?: {
|
|
82
|
+
localFilename?: string;
|
|
83
|
+
convertHeicToJpg?: boolean;
|
|
84
|
+
}): this;
|
|
85
|
+
build(): SqliteDatasource;
|
|
86
|
+
}
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5zcWxpdGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhc291cmNlL2RhdGFzb3VyY2Uuc3FsaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLG9CQUFvQixFQUN6QixhQUFhLEVBQ2IsZUFBZSxFQUNmLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFDZixLQUFLLFVBQVUsRUFDZixLQUFLLFVBQVUsRUFDZixLQUFLLFVBQVUsRUFFZixLQUFLLGFBQWEsRUFFbEIsS0FBSyxjQUFjLEVBQ25CLEtBQUssU0FBUyxFQUNkLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssU0FBUyxFQU1mLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFrQixNQUFNLHNCQUFzQixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBV3JGLE1BQU0sTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLHFCQUFxQixDQUFDLENBQUE7QUFLakYsVUFBVSxzQkFBc0I7SUFDOUIsTUFBTSxFQUFFLE1BQU0sQ0FBQTtJQUNkLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtJQUNoQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUE7SUFDakIsa0JBQWtCLENBQUMsRUFBRSxzQkFBc0IsQ0FBQTtDQUM1QztBQUtELE1BQU0sTUFBTSxrQkFBa0IsR0FBRyxPQUFPLGFBQWEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFBO0FBSzFGLFVBQVUsdUJBQXVCO0lBQy9CLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQTtJQUM1QixRQUFRLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxDQUFBO0lBQ2hELEtBQUssRUFBRSxNQUFNLENBQUE7SUFDYixlQUFlLENB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QUFHLFdBQVcsR0FBRyxRQUFRLEdBQUcsVUFBVSxFQUNwRCxFQUFFLEVBQUUsV0FBVyxFQUNmLE9BQU8sQ0FBQyxFQUFFO1FBQUUsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUE7S0FBRSxHQUMvRCxJQUFJLENBQUE7SUFnQ0UsS0FBSyxJQUFJLGdCQUFnQixDQW1GakM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ29udmVyc2lvbkRlZmluaXRpb24sXG4gIERBVEFfUFJPVklERVIsXG4gIERBVEFTT1VSQ0VfVFlQRSxcbiAgdHlwZSBEYXRhc291cmNlSWQsXG4gIHR5cGUgRW50aXR5TmFtZSxcbiAgdHlwZSBFeHByZXNzaW9uLFxuICB0eXBlIEZ1bmN0aW9uSWQsXG4gIHR5cGUgSW5zdGFuY2VJZCxcbiAgaXNGdW5jdGlvbklkLFxuICB0eXBlIFBhcmFtZXRlck5hbWUsXG4gIFBhcmFtZXRlck5hbWVTY2hlbWEsXG4gIHR5cGUgUGFyYW1ldGVyVmFsdWUsXG4gIHR5cGUgUHJpbWl0aXZlLFxuICB0eXBlIFByaW1pdGl2ZU9yRXhwcmVzc2lvbixcbiAgdHlwZSBUYWJsZU5hbWUsXG4gIHRvRGF0YWJhc2VUYWJsZU5hbWUsXG4gIHRvRGF0YXNvdXJjZUlkLFxuICB0b0VudGl0eU5hbWUsXG4gIHRvRnVuY3Rpb25JZCxcbiAgdG9QYXJhbWV0ZXJOYW1lLFxufSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgRnVuY3Rpb25Db3JlLCBpc0Z1bmN0aW9uQ29yZSB9IGZyb20gJy4uL2Z1bmN0aW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBEYXRhc291cmNlQmFzZSwgRGF0YXNvdXJjZUJhc2VCdWlsZGVyIH0gZnJvbSAnLi9kYXRhc291cmNlLmFic3RyYWN0LmpzJ1xuaW1wb3J0IHtcbiAgY3JlYXRlVmFsaWRhdGlvbkRhdGFiYXNlLFxuICByZXBsYWNlUGFyYW1ldGVycyxcbiAgcmVwbGFjZVRhYmxlTmFtZSxcbiAgdmFsaWRhdGVTZWxlY3RRdWVyeSxcbn0gZnJvbSAnLi9zcWxpdGUtdmFsaWRhdG9yLmpzJ1xuXG4vKipcbiAqIFNRTGl0ZSBwYXJhbWV0ZXIgZXhwcmVzc2lvbnMgbWFwLlxuICovXG5leHBvcnQgdHlwZSBTcWxpdGVQYXJhbUV4cHJlc3Npb25zID0gUmVjb3JkPFBhcmFtZXRlck5hbWUsIFByaW1pdGl2ZU9yRXhwcmVzc2lvbj5cblxuLyoqXG4gKiBTUUxpdGUgZGF0YXNvdXJjZSBlbnRpdHkgY29uZmlndXJhdGlvbi5cbiAqL1xuaW50ZXJmYWNlIFNxbGl0ZURhdGFzb3VyY2VFbnRpdHkge1xuICBlbnRpdHk6IHN0cmluZ1xuICBwYWNrYWdlPzogc3RyaW5nXG4gIGZ1bmN0aW9uPzogc3RyaW5nXG4gIGZ1bmN0aW9uUGFyYW1ldGVycz86IFNxbGl0ZVBhcmFtRXhwcmVzc2lvbnNcbn1cblxuLyoqXG4gKiBTUUxpdGUgZGF0YXNvdXJjZSBwcm92aWRlciB0eXBlcy5cbiAqL1xuZXhwb3J0IHR5cGUgU3FsaXRlUHJvdmlkZXJUeXBlID0gdHlwZW9mIERBVEFfUFJPVklERVIuRFlOQU1JQyB8IHR5cGVvZiBEQVRBX1BST1ZJREVSLkxPQ0FMXG5cbi8qKlxuICogU1FMaXRlIGRhdGFzb3VyY2Ugb3B0aW9ucy5cbiAqL1xuaW50ZXJmYWNlIFNxbGl0ZURhdGFzb3VyY2VPcHRpb25zIHtcbiAgcHJvdmlkZXI6IFNxbGl0ZVByb3ZpZGVyVHlwZVxuICBlbnRpdGllczogQXJyYXk8U3FsaXRlRGF0YXNvdXJjZUVudGl0eSB8IHN0cmluZz5cbiAgcXVlcnk6IHN0cmluZ1xuICBxdWVyeVBhcmFtZXRlcnM/OiBTcWxpdGVQYXJhbUV4cHJlc3Npb25zXG4gIGlzRG9jdW1lbnQ/OiBib29sZWFuXG4gIHJld3JpdGVRdWVyeT86IGJvb2xlYW5cbiAganNvblByb3BlcnRpZXM/OiBzdHJpbmdbXSB8IG51bGxcbiAgY29udmVyc2lvbnM/OiBDb252ZXJzaW9uRGVmaW5pdGlvbltdXG59XG5cbi8qKlxuICogU1FMaXRlIGRhdGFzb3VyY2UgZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgU3FsaXRlRGF0YXNvdXJjZSA9IERhdGFzb3VyY2VCYXNlICYge1xuICByZWFkb25seSB0eXBlOiB0eXBlb2YgREFUQVNPVVJDRV9UWVBFLlNRTElURVxuICByZWFkb25seSBvcHRpb25zOiBTcWxpdGVEYXRhc291cmNlT3B0aW9uc1xuICBwYXJhbWV0ZXJzPzogUmVjb3JkPFxuICAgIFBhcmFtZXRlck5hbWUsXG4gICAge1xuICAgICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nXG4gICAgICByZWFkb25seSBkZWZhdWx0PzogUGFyYW1ldGVyVmFsdWVcbiAgICAgIHJlYWRvbmx5IHJlcXVpcmVkPzogYm9vbGVhblxuICAgIH1cbiAgPlxufVxuXG4vKipcbiAqIC0tLVxuICogU3FsaXRlRGF0YXNvdXJjZUJ1aWxkZXIgUGFyYW1ldGVyIENvbnZlbnRpb25cbiAqXG4gKiAtIC5wYXJhbWV0ZXIobmFtZSwgdHlwZSwgcmVxdWlyZWQ/LCBkZWZhdWx0VmFsdWU/KVxuICogICAtIERlZmluZXMgYSAqZm9ybWFsKiBwYXJhbWV0ZXIgKG5hbWUsIHR5cGUsIHJlcXVpcmVkLCBkZWZhdWx0KVxuICogICAtIExpa2UgYSBmdW5jdGlvbiBzaWduYXR1cmUgb3IgQVBJIGNvbnRyYWN0XG4gKiAgIC0gRXhhbXBsZTpcbiAqICAgICBidWlsZGVyLnBhcmFtZXRlcigndXNlcklkJywgJ3N0cmluZycsICdyZXF1aXJlZCcpXG4gKiAgICAgYnVpbGRlci5wYXJhbWV0ZXIoJ2xpbWl0JywgJ251bWJlcicsICdvcHRpb25hbCcsIDEwKVxuICpcbiAqIC0gLnF1ZXJ5UGFyYW1ldGVyKG5hbWUsIHZhbHVlKVxuICogICAtIFNldHMgdGhlICpydW50aW1lIHZhbHVlKiBmb3IgYSBwYXJhbWV0ZXIgKGNvbnN0YW50IG9yIEpTT05hdGEgZXhwcmVzc2lvbilcbiAqICAgLSBMaWtlIHBhc3NpbmcgYW4gYXJndW1lbnQgdG8gYSBmdW5jdGlvbiBjYWxsXG4gKiAgIC0gRXhhbXBsZTpcbiAqICAgICBidWlsZGVyLnF1ZXJ5UGFyYW1ldGVyKCd1c2VySWQnLCAnPUBjdHgudXNlci5pZCcpXG4gKiAgICAgYnVpbGRlci5xdWVyeVBhcmFtZXRlcignbGltaXQnLCAyNSlcbiAqXG4gKiAtIC5wYXJhbShuYW1lKVxuICogICAtIEZsdWVudCBoZWxwZXIgZm9yIHNldHRpbmcgcXVlcnkgcGFyYW1ldGVyIHZhbHVlc1xuICogICAtIEV4YW1wbGU6XG4gKiAgICAgYnVpbGRlci5wYXJhbSgndXNlcklkJykudmFsdWUoMTIzKVxuICpcbiAqIHwgTWV0aG9kICAgICAgICAgICAgICB8IFB1cnBvc2UgICAgICAgICAgICAgICAgICAgICAgICB8IEV4YW1wbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgLnBhcmFtZXRlcigpICAgICAgICB8IERlZmluZSBwYXJhbWV0ZXIgKG5hbWUvdHlwZSkgICB8IC5wYXJhbWV0ZXIoJ3VzZXJJZCcsICdzdHJpbmcnLCAncmVxdWlyZWQnKSAgIHxcbiAqIHwgLnF1ZXJ5UGFyYW1ldGVyKCkgICB8IFNldCB2YWx1ZSBmb3IgcGFyYW1ldGVyICAgICAgICB8IC5xdWVyeVBhcmFtZXRlcigndXNlcklkJywgMTIzKSAgICAgICAgICAgICAgIHxcbiAqIHwgLnBhcmFtKCkgICAgICAgICAgICB8IEZsdWVudCB2YWx1ZSBzZXR0ZXIgKGhlbHBlcikgICB8IC5wYXJhbSgndXNlcklkJykudmFsdWUoMTIzKSAgICAgICAgICAgICAgICAgIHxcbiAqXG4gKiAtLS1cbiAqL1xuXG4vKipcbiAqIFF1ZXJ5IGxvY2FsIFNRTGl0ZSBkYXRhYmFzZS5cbiAqXG4gKiBQcmltYXJ5IGRhdGFzb3VyY2UgZm9yIHNjcmVlbnMuIERhdGEgc3RvcmVkIGxvY2FsbHkgYXMgSlNPTi5cbiAqIFVzZSBqc29uX2V4dHJhY3QoKSBmb3IgZmllbGQgYWNjZXNzLlxuICogUHJvdmlkZXJzOiBkeW5hbWljIChjbG91ZCBzeW5jKSBvciBsb2NhbCAoZGV2aWNlLW9ubHkpLlxuICogUGFyYW1ldGVyczogJHBhcmFtTmFtZSBpbiBxdWVyaWVzLlxuICogU3luYyBkYXRhIHVzaW5nIHN5bmMtZW50aXRpZXMgYWN0aW9ucyB0cmlnZ2VyZWQgb24gb25Mb2FkL29uRm9jdXMvb25SZWZyZXNoIGV2ZW50cy5cbiAqXG4gKiBAYWxpYXMgZGF0YXNvdXJjZS5zcWxpdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcWxpdGVEYXRhc291cmNlSW5wdXQge1xuICByZWFkb25seSBkYXRhc291cmNlSWQ6IHN0cmluZyB8IERhdGFzb3VyY2VJZFxuICByZWFkb25seSBwcm92aWRlcjogJ2R5bmFtaWMnIHwgJ2xvY2FsJ1xuICByZWFkb25seSBpbnN0YW5jZUlkPzogSW5zdGFuY2VJZFxufVxuXG5leHBvcnQgY2xhc3MgU3FsaXRlRGF0YXNvdXJjZUJ1aWxkZXIgZXh0ZW5kcyBEYXRhc291cmNlQmFzZUJ1aWxkZXI8U3FsaXRlRGF0YXNvdXJjZT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXF1aXJlZFRhYmxlczogc3RyaW5nW10gPSBbXVxuICBwcml2YXRlIF9leHBsaWNpdFF1ZXJ5ID0gZmFsc2VcbiAgcHJpdmF0ZSBfbGFzdEZyb21DbGF1c2U6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBDcmVhdGUgU1FMaXRlIGRhdGFzb3VyY2UgYnVpbGRlci5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICogQHBhcmFtIG9wdGlvbnMuZGF0YXNvdXJjZUlkIC0gVW5pcXVlIGlkZW50aWZpZXIuIEZvcm1hdDogTWl4ZWRjYXNlIDItNTAsIHByZWZlciBrZWJhYi1jYXNlLCBzdGFydHMgYWxwaGEsIGNvbnRhaW5zIGFscGhhbnVtIGFuZCBgLWAsIGVuZHMgYWxwaGFudW1cbiAgICogQHBhcmFtIG9wdGlvbnMucHJvdmlkZXIgLSAnZHluYW1pYycgKGNsb3VkLXN5bmMpIG9yICdsb2NhbCcgKGRldmljZS1vbmx5KVxuICAgKiBAcGFyYW0gb3B0aW9ucy5pbnN0YW5jZUlkIC0gT3B0aW9uYWwgaW5zdGFuY2UgSUQgKGRlZmF1bHRzIHRvIGRhdGFzb3VyY2VJZClcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFNxbGl0ZURhdGFzb3VyY2VJbnB1dCkge1xuICAgIGNvbnN0IHsgZGF0YXNvdXJjZUlkLCBwcm92aWRlciwgaW5zdGFuY2VJZCB9ID0gb3B0aW9uc1xuICAgIHN1cGVyKERBVEFTT1VSQ0VfVFlQRS5TUUxJVEUsIHtcbiAgICAgIGRhdGFzb3VyY2VJZDogdG9EYXRhc291cmNlSWQoZGF0YXNvdXJjZUlkKSxcbiAgICAgIGluc3RhbmNlSWQsXG4gICAgfSlcblxuICAgIHRoaXMuX2NvbmZpZy5wcm92aWRlciA9IHByb3ZpZGVyID09PSAnbG9jYWwnID8gREFUQV9QUk9WSURFUi5MT0NBTCA6IERBVEFfUFJPVklERVIuRFlOQU1JQ1xuICAgIHRoaXMuX2NvbmZpZy5xdWVyeSA9ICcnXG4gICAgdGhpcy5fY29uZmlnLmVudGl0aWVzID0gW11cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBhbmQgbm9ybWFsaXplIHBhcmFtZXRlciBuYW1lcy5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVQYXJhbWV0ZXJOYW1lKG5hbWU6IHN0cmluZyB8IFBhcmFtZXRlck5hbWUpOiBzdHJpbmcgfCBQYXJhbWV0ZXJOYW1lIHtcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBSZW1vdmUgQCBwcmVmaXggaWYgcHJlc2VudCAoY29tbW9uIG1pc3Rha2UpXG4gICAgICBpZiAobmFtZS5zdGFydHNXaXRoKCdAJykpIHtcbiAgICAgICAgbmFtZSA9IG5hbWUuc2xpY2UoMSlcbiAgICAgIH1cbiAgICAgIC8vIEZpcnN0IHRyeSB0byB2YWxpZGF0ZSBhcy1pcyAoUGFyYW1ldGVyTmFtZVNjaGVtYSBhbGxvd3MgYm90aCAkIGFuZCBhbHBoYSBzdGFydClcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFBhcmFtZXRlck5hbWVTY2hlbWEuc2FmZVBhcnNlKG5hbWUpXG4gICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiB2YWxpZGF0aW9uIGZhaWxzLCB1c2UgdG9QYXJhbWV0ZXJEb2xsYXIgd2hpY2ggd2lsbCBnaXZlIHByb3BlciBlcnJvciBtZXNzYWdlXG4gICAgICAgIHJldHVybiB0b1BhcmFtZXRlck5hbWUobmFtZSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5hbWVcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlEZWZhdWx0UXVlcnkoZnJvbUNsYXVzZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2V4cGxpY2l0UXVlcnkpIHJldHVyblxuICAgIHRoaXMuX2xhc3RGcm9tQ2xhdXNlID0gZnJvbUNsYXVzZVxuICAgIGlmICh0aGlzLl9jb25maWcuaXNEb2N1bWVudCkge1xuICAgICAgdGhpcy5fY29uZmlnLnF1ZXJ5ID0gYFNFTEVDVCB0YmwuaWQsIHRibC5kYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlJPTSAke2Zyb21DbGF1c2V9IEFTIHRibGBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY29uZmlnLnF1ZXJ5ID0gYFNFTEVDVCB0YmwuaWQsIGpzb25fZXh0cmFjdCh0YmwuZGF0YSwgJyQubmFtZScpIEFTIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUk9NICR7ZnJvbUNsYXVzZX0gQVMgdGJsYFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUYWJsZSBuYW1lcyB0aGF0IG5lZWQgcmVnaXN0cmF0aW9uIG9uIHRoZSBkZWZhdWx0IGRhdGFiYXNlLlxuICAgKiBDb2xsZWN0ZWQgZHVyaW5nIGVudGl0eSgpIGNhbGxzIGZvciBkeW5hbWljLXByb3ZpZGVyIGRhdGFzb3VyY2VzLlxuICAgKlxuICAgKiBOb3RlOiBUYWJsZXMgYXJlIG9ubHkgYXV0by1yZWdpc3RlcmVkIHdoZW4gdGhpcyBkYXRhc291cmNlIGlzIGJ1aWx0XG4gICAqIHRocm91Z2ggQXBwbGljYXRpb25CdWlsZGVyLiBTdGFuZGFsb25lIHVzYWdlIHJlcXVpcmVzIG1hbnVhbCB0YWJsZVxuICAgKiByZWdpc3RyYXRpb24gb24gdGhlIERhdGFiYXNlQnVpbGRlci5cbiAgICovXG4gIGdldFJlcXVpcmVkVGFibGVzKCk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWRUYWJsZXNcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJEeW5hbWljVGFibGUoZW50aXR5TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbmZpZy5wcm92aWRlciAhPT0gREFUQV9QUk9WSURFUi5EWU5BTUlDKSByZXR1cm5cbiAgICB0aGlzLl9yZXF1aXJlZFRhYmxlcy5wdXNoKHRvRGF0YWJhc2VUYWJsZU5hbWUoZW50aXR5TmFtZSkpXG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVGdW5jdGlvbklkKGZuOiBGdW5jdGlvbklkIHwgRnVuY3Rpb25Db3JlKTogRnVuY3Rpb25JZCB7XG4gICAgaWYgKGlzRnVuY3Rpb25Db3JlKGZuKSkgcmV0dXJuIGZuLmZ1bmN0aW9uSWRcbiAgICBpZiAoaXNGdW5jdGlvbklkKGZuKSkgcmV0dXJuIGZuXG4gICAgcmV0dXJuIHRvRnVuY3Rpb25JZChmbilcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgU1FMIHF1ZXJ5LiBVc2UganNvbl9leHRyYWN0KCkgZm9yIEpTT04gZGF0YS5cbiAgICogU3R5bGU6IFVQUEVSIGtleXdvcmRzLCBbdGFibGVdIEFTIGFsaWFzLCAkcGFyYW1zLlxuICAgKiBJbmNsdWRlIGlkIGZpcnN0LiBBZGQgdGFibGVzIHZpYSBlbnRpdHkoKS5cbiAgICogVXNlIE1DUCB0byBhY2Nlc3MgU1FMaXRlIGNoZWF0c2hlZXQuXG4gICAqXG4gICAqIEBwYXJhbSBzcWwgLSBTUUwgcXVlcnkgd2l0aCBqc29uX2V4dHJhY3QoKSBhbmQgJHBhcmFtZXRlcnNcbiAgICogQHJldHVybnMgQnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHF1ZXJ5KHNxbDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFzcWwgfHwgc3FsLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUXVlcnkgY2Fubm90IGJlIGVtcHR5IG9yIHdoaXRlc3BhY2UnKVxuICAgIH1cbiAgICB0aGlzLl9jb25maWcucXVlcnkgPSBzcWxcbiAgICB0aGlzLl9leHBsaWNpdFF1ZXJ5ID0gdHJ1ZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQWRkIGVudGl0eSAodGFibGUpIHRvIHN5bmMvcXVlcnkuXG4gICAqIC0gU3RyaW5nIGZvcm06IGBlbnRpdHkoJ2RlZmF1bHQvdXNlcnMnKWAg4oaSIGAnZGVmYXVsdC91c2VycydgXG4gICAqIC0gT2JqZWN0IGZvcm06IGBlbnRpdHkoeyBlbnRpdHk6ICd1c2VycycgfSlgIOKGkiBgeyBlbnRpdHk6ICd1c2VycycgfWBcbiAgICogLSBGdW5jdGlvbiBmb3JtOiBgZW50aXR5KHsgZW50aXR5OiAndXNlcnMnLCBmbiwgcGFyYW1zPyB9KWAg4oaSIGB7IGVudGl0eTogJ3VzZXJzJywgZnVuY3Rpb246ICcuLi4nLCAuLi4gfWBcbiAgICpcbiAgICogQHBhcmFtIGlucHV0IC0gRW50aXR5IG5hbWUgb3IgZGVzY3JpcHRvclxuICAgKiBAcmV0dXJucyBCdWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZW50aXR5KFxuICAgIGlucHV0OlxuICAgICAgfCBzdHJpbmdcbiAgICAgIHwgVGFibGVOYW1lXG4gICAgICB8IHtcbiAgICAgICAgICBlbnRpdHk6IHN0cmluZyB8IFRhYmxlTmFtZVxuICAgICAgICAgIGZuPzogRnVuY3Rpb25JZCB8IEZ1bmN0aW9uQ29yZVxuICAgICAgICAgIHBhcmFtcz86IFNxbGl0ZVBhcmFtRXhwcmVzc2lvbnNcbiAgICAgICAgfSxcbiAgKTogdGhpcyB7XG4gICAgY29uc3QgZW50aXRpZXMgPSB0aGlzLl9jb25maWcuZW50aXRpZXMgYXMgQXJyYXk8U3FsaXRlRGF0YXNvdXJjZUVudGl0eSB8IHN0cmluZz5cblxuICAgIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCByZXNvbHZlZCA9IHRvRW50aXR5TmFtZShpbnB1dCwgdGhpcy5fY29uZmlnLnByb3ZpZGVyID09PSBEQVRBX1BST1ZJREVSLkRZTkFNSUMpXG4gICAgICB0aGlzLnJlZ2lzdGVyRHluYW1pY1RhYmxlKHJlc29sdmVkKVxuICAgICAgZW50aXRpZXMucHVzaChyZXNvbHZlZClcbiAgICAgIHRoaXMuYXBwbHlEZWZhdWx0UXVlcnkoYFske3Jlc29sdmVkfV1gKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXNvbHZlZCA9IHRvRW50aXR5TmFtZShpbnB1dC5lbnRpdHksIHRoaXMuX2NvbmZpZy5wcm92aWRlciA9PT0gREFUQV9QUk9WSURFUi5EWU5BTUlDKVxuICAgICAgdGhpcy5yZWdpc3RlckR5bmFtaWNUYWJsZShyZXNvbHZlZClcbiAgICAgIGlmIChpbnB1dC5mbikge1xuICAgICAgICBlbnRpdGllcy5wdXNoKHtcbiAgICAgICAgICBlbnRpdHk6IHJlc29sdmVkLFxuICAgICAgICAgIGZ1bmN0aW9uOiB0aGlzLnJlc29sdmVGdW5jdGlvbklkKGlucHV0LmZuKSxcbiAgICAgICAgICBmdW5jdGlvblBhcmFtZXRlcnM6IGlucHV0LnBhcmFtcyxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVudGl0aWVzLnB1c2goeyBlbnRpdHk6IHJlc29sdmVkIH0pXG4gICAgICB9XG4gICAgICB0aGlzLmFwcGx5RGVmYXVsdFF1ZXJ5KGBbJHtyZXNvbHZlZH1dYClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgZW50aXR5IGZyb20gYW4gZXh0ZXJuYWwgcGFja2FnZS5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgLSBFbnRpdHkvdGFibGUgbmFtZVxuICAgKiBAcGFyYW0gcGFja2FnZU5hbWUgLSBQYWNrYWdlIG5hbWVcbiAgICogQHJldHVybnMgQnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICogQGV4YW1wbGUgZW50aXR5UGFja2FnZWQoJ0N1c3RvbWVycycsICdlcnAnKVxuICAgKi9cbiAgZW50aXR5UGFja2FnZWQobmFtZTogc3RyaW5nIHwgVGFibGVOYW1lLCBwYWNrYWdlTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgZW50aXRpZXMgPSB0aGlzLl9jb25maWcuZW50aXRpZXMgYXMgQXJyYXk8U3FsaXRlRGF0YXNvdXJjZUVudGl0eSB8IHN0cmluZz5cbiAgICBlbnRpdGllcy5wdXNoKHsgZW50aXR5OiBuYW1lLCBwYWNrYWdlOiBwYWNrYWdlTmFtZSB9KVxuICAgIHRoaXMuYXBwbHlEZWZhdWx0UXVlcnkoYFske3BhY2thZ2VOYW1lfV0uWyR7bmFtZX1dYClcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBwYXJhbWV0ZXIgYW5kIHNldCB2YWx1ZSBpbiBvbmUgY2FsbC5cbiAgICogQ29tYmluZXMgcGFyYW1ldGVyKCkgYW5kIHF1ZXJ5UGFyYW1ldGVyKCkuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIC0gUGFyYW1ldGVyIG5hbWUgKG5vICQgcHJlZml4KVxuICAgKiBAcGFyYW0gdHlwZSAtIFR5cGUgKHN0cmluZywgbnVtYmVyLCBib29sZWFuKVxuICAgKiBAcGFyYW0gdmFsdWUgLSBSdW50aW1lIHZhbHVlIG9yIGV4cHJlc3Npb25cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBSZXF1aXJlZC9kZWZhdWx0IHNldHRpbmdzXG4gICAqIEByZXR1cm5zIEJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBwYXJhbShcbiAgICBuYW1lOiBzdHJpbmcgfCBQYXJhbWV0ZXJOYW1lLFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICB2YWx1ZTogUHJpbWl0aXZlIHwgRXhwcmVzc2lvbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuXG4gICAgICBkZWZhdWx0VmFsdWU/OiBQcmltaXRpdmUgfCBFeHByZXNzaW9uXG4gICAgfSxcbiAgKTogdGhpcyB7XG4gICAgdGhpcy5wYXJhbWV0ZXIobmFtZSwgdHlwZSwge1xuICAgICAgcmVxdWlyZWQ6IG9wdGlvbnM/LnJlcXVpcmVkLFxuICAgICAgZGVmYXVsdFZhbHVlOiBvcHRpb25zPy5kZWZhdWx0VmFsdWUsXG4gICAgfSlcbiAgICB0aGlzLnF1ZXJ5UGFyYW1ldGVyKG5hbWUsIHZhbHVlKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgcnVudGltZSB2YWx1ZSBmb3IgU1FMIHBhcmFtZXRlci4gUmVmZXJlbmNlIGFzICRuYW1lIGluIHF1ZXJ5LlxuICAgKiBTdXBwb3J0cyBzdGF0aWMgdmFsdWVzIGFuZCBleHByZXNzaW9ucy5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgLSBQYXJhbWV0ZXIgbmFtZSAod2l0aG91dCAkIHByZWZpeClcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgb3IgZXhwcmVzc2lvbiAoPUBjdHguKiwgPUBjdHguamlnLmlucHV0cy4qKVxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBxdWVyeVBhcmFtZXRlcihcbiAgICBuYW1lOiBzdHJpbmcgfCBQYXJhbWV0ZXJOYW1lLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IFByaW1pdGl2ZU9yRXhwcmVzc2lvbixcbiAgKTogdGhpcyB7XG4gICAgY29uc3QgdmFsaWRhdGVkTmFtZSA9IHRoaXMudmFsaWRhdGVQYXJhbWV0ZXJOYW1lKG5hbWUpXG5cbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5xdWVyeVBhcmFtZXRlcnMpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5xdWVyeVBhcmFtZXRlcnMgPSB7fVxuICAgIH1cbiAgICA7KHRoaXMuX2NvbmZpZy5xdWVyeVBhcmFtZXRlcnMgYXMgU3FsaXRlUGFyYW1FeHByZXNzaW9ucylbdmFsaWRhdGVkTmFtZV0gPSB2YWx1ZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGZvcm1hbCBwYXJhbWV0ZXIgKGxpa2UgZnVuY3Rpb24gc2lnbmF0dXJlKS5cbiAgICogVXNlIHF1ZXJ5UGFyYW1ldGVyKCkgdG8gc2V0IHJ1bnRpbWUgdmFsdWVzLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFBhcmFtZXRlciBuYW1lXG4gICAqIEBwYXJhbSB0eXBlIC0gVHlwZSAoc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4pXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gUmVxdWlyZWQvZGVmYXVsdCBzZXR0aW5nc1xuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBwYXJhbWV0ZXIoXG4gICAgbmFtZTogc3RyaW5nIHwgUGFyYW1ldGVyTmFtZSxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHsgcmVxdWlyZWQ/OiBib29sZWFuOyBkZWZhdWx0VmFsdWU/OiBQYXJhbWV0ZXJWYWx1ZSB9LFxuICApOiB0aGlzIHtcbiAgICBjb25zdCB2YWxpZGF0ZWROYW1lID0gdGhpcy52YWxpZGF0ZVBhcmFtZXRlck5hbWUobmFtZSlcblxuICAgIGlmICghdGhpcy5fY29uZmlnLnBhcmFtZXRlcnMpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5wYXJhbWV0ZXJzID0ge31cbiAgICB9XG5cbiAgICA7KHRoaXMuX2NvbmZpZy5wYXJhbWV0ZXJzIGFzIE5vbk51bGxhYmxlPFNxbGl0ZURhdGFzb3VyY2VbJ3BhcmFtZXRlcnMnXT4pW3ZhbGlkYXRlZE5hbWVdID0ge1xuICAgICAgdHlwZSxcbiAgICAgIHJlcXVpcmVkOiBvcHRpb25zPy5yZXF1aXJlZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbnM/LmRlZmF1bHRWYWx1ZSxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHF1ZXJ5IHJld3JpdGluZyBmb3Igc2hvcnRoYW5kIHN5bnRheC5cbiAgICogV2hlbiB0cnVlLCAkLnByb3BlcnR5TmFtZSBpcyByZXdyaXR0ZW4gdG8ganNvbl9leHRyYWN0KGRhdGEsICckLnByb3BlcnR5TmFtZScpLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSB0cnVlIHRvIGVuYWJsZSByZXdyaXRpbmdcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcmV3cml0ZVF1ZXJ5KHZhbHVlID0gdHJ1ZSk6IHRoaXMge1xuICAgIHRoaXMuX2NvbmZpZy5yZXdyaXRlUXVlcnkgPSB2YWx1ZVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHNpbmdsZSBkb2N1bWVudCBpbnN0ZWFkIG9mIGFycmF5LiBRdWVyeSBzaG91bGQgcmV0dXJuIGZ1bGwgZGF0YSBjb2x1bW4uXG4gICAqIFVzZSBmb3IgZGV0YWlsIHZpZXdzLCBzaW5nbGUgcmVjb3JkIGxvb2t1cHMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIHRydWUgZm9yIGRvY3VtZW50IG1vZGUgKGRlZmF1bHQ6IHRydWUpXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGlzRG9jdW1lbnQodmFsdWUgPSB0cnVlKTogdGhpcyB7XG4gICAgdGhpcy5fY29uZmlnLmlzRG9jdW1lbnQgPSB2YWx1ZVxuICAgIGlmICh0aGlzLl9sYXN0RnJvbUNsYXVzZSkge1xuICAgICAgdGhpcy5hcHBseURlZmF1bHRRdWVyeSh0aGlzLl9sYXN0RnJvbUNsYXVzZSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBjb2x1bW5zIGFzIEpTT04gaW4gcXVlcnkgcmVzdWx0cy5cbiAgICogVXNlIHdoZW4gc3RvcmluZyBKU09OIHN0cmluZ3MgdGhhdCBuZWVkIHBhcnNpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjb2x1bW5zIC0gQ29sdW1uIG5hbWVzIHRvIHBhcnNlXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGpzb25Qcm9wZXJ0aWVzKC4uLmNvbHVtbnM6IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLl9jb25maWcuanNvblByb3BlcnRpZXMpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5qc29uUHJvcGVydGllcyA9IFtdXG4gICAgfVxuICAgIDsodGhpcy5fY29uZmlnLmpzb25Qcm9wZXJ0aWVzIGFzIHN0cmluZ1tdKS5wdXNoKC4uLmNvbHVtbnMpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXI6IEJ1aWxkIFNFTEVDVCBxdWVyeSB3aXRoIGpzb25fZXh0cmFjdCBjb2x1bW5zLlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCBlbnRpdHkgYW5kIGZvcm1hdCBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIGNvbHVtbnMgLSBDb2x1bW5zIHRvIGV4dHJhY3QgZnJvbSBkYXRhIEpTT05cbiAgICogQHBhcmFtIGZyb20gLSBUYWJsZSBuYW1lXG4gICAqIEBwYXJhbSB3aGVyZSAtIFdIRVJFIGNsYXVzZSAoY2FuIHVzZSAkcGFyYW1zKVxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRhYmxlIGFsaWFzIG9wdGlvblxuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBzZWxlY3QoXG4gICAgY29sdW1uczogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgZnJvbTogc3RyaW5nIHwgVGFibGVOYW1lIHwgRW50aXR5TmFtZSxcbiAgICB3aGVyZT86IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyB0YWJsZUFsaWFzPzogc3RyaW5nIH0sXG4gICk6IHRoaXMge1xuICAgIHRoaXMuaXNEb2N1bWVudChmYWxzZSlcblxuICAgIGZyb20gPSB0b0VudGl0eU5hbWUoZnJvbSwgdGhpcy5fY29uZmlnLnByb3ZpZGVyID09PSBEQVRBX1BST1ZJREVSLkRZTkFNSUMpXG4gICAgdGhpcy5lbnRpdHkoZnJvbSlcblxuICAgIGNvbnN0IHRhYmxlQWxpYXMgPSBvcHRpb25zPy50YWJsZUFsaWFzIHx8ICd0YmwnXG4gICAgY29uc3QgY29scyA9IEFycmF5LmlzQXJyYXkoY29sdW1ucykgPyBjb2x1bW5zIDogY29sdW1ucy5zcGxpdCgnLCcpLm1hcCgoYykgPT4gYy50cmltKCkpXG4gICAgLy8gQWx3YXlzIGVuc3VyZSBpZCBpcyBmaXJzdCwgYW5kIG5vdCBkdXBsaWNhdGVkIGluIGpzb25fZXh0cmFjdFxuICAgIGNvbnN0IHNlbGVjdENvbHMgPSBbYCR7dGFibGVBbGlhc30uaWRgXVxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHMpIHtcbiAgICAgIGlmIChjb2wgIT09ICdpZCcpIHtcbiAgICAgICAgc2VsZWN0Q29scy5wdXNoKGBqc29uX2V4dHJhY3QoJHt0YWJsZUFsaWFzfS5kYXRhLCAnJC4ke2NvbH0nKSBBUyAke2NvbH1gKVxuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcXVlcnkgPSBgU0VMRUNUICR7c2VsZWN0Q29scy5qb2luKCcsICcpfVxuICAgICAgICAgICAgICAgICBGUk9NIFske2Zyb219XSBBUyAke3RhYmxlQWxpYXN9YFxuICAgIGlmICh3aGVyZSkgcXVlcnkgKz0gYCBXSEVSRSAke3doZXJlfWBcbiAgICB0aGlzLnF1ZXJ5KHF1ZXJ5KVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogSGVscGVyOiBCdWlsZCBkb2N1bWVudCBxdWVyeSAocmV0dXJucyBmdWxsIGRhdGEgb2JqZWN0KS5cbiAgICogU2V0IGlzRG9jdW1lbnQodHJ1ZSkgYW5kIGNyZWF0ZSBhcHByb3ByaWF0ZSBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIGZyb20gLSBUYWJsZSBuYW1lXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gV0hFUkUgY2xhdXNlIGFuZCBhbGlhcyBvcHRpb25zXG4gICAqIEByZXR1cm5zIFRoaXMgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHNlbGVjdERvY3VtZW50KFxuICAgIGZyb206IHN0cmluZyB8IFRhYmxlTmFtZSB8IEVudGl0eU5hbWUsXG4gICAgb3B0aW9ucz86IHsgd2hlcmU/OiBzdHJpbmc7IHRhYmxlQWxpYXM/OiBzdHJpbmcgfSxcbiAgKTogdGhpcyB7XG4gICAgdGhpcy5pc0RvY3VtZW50KHRydWUpXG5cbiAgICBmcm9tID0gdG9FbnRpdHlOYW1lKGZyb20sIHRoaXMuX2NvbmZpZy5wcm92aWRlciA9PT0gREFUQV9QUk9WSURFUi5EWU5BTUlDKVxuICAgIHRoaXMuZW50aXR5KGZyb20pXG5cbiAgICBjb25zdCB0YWJsZUFsaWFzID0gb3B0aW9ucz8udGFibGVBbGlhcyB8fCAndGJsJ1xuICAgIGxldCBxdWVyeSA9IGBTRUxFQ1QgJHt0YWJsZUFsaWFzfS5pZCwgJHt0YWJsZUFsaWFzfS5kYXRhXG4gICAgICAgICAgICAgICAgIEZST00gWyR7ZnJvbX1dIEFTICR7dGFibGVBbGlhc31gXG4gICAgaWYgKG9wdGlvbnM/LndoZXJlKSBxdWVyeSArPSBgIFdIRVJFICR7b3B0aW9ucy53aGVyZX1gXG4gICAgdGhpcy5xdWVyeShxdWVyeSlcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogSGVscGVyOiBBZGQganNvbl9leHRyYWN0IGNvbHVtbiB0byBleGlzdGluZyBxdWVyeS5cbiAgICogTW9kaWZ5IGN1cnJlbnQgU0VMRUNUIGNsYXVzZS5cbiAgICpcbiAgICogQHBhcmFtIGNvbHVtbiAtIENvbHVtbiBuYW1lIHRvIGV4dHJhY3RcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBQYXRoLCBhbGlhcywgYW5kIHRhYmxlIG9wdGlvbnNcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAganNvbkV4dHJhY3QoXG4gICAgY29sdW1uOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHsgcGF0aD86IHN0cmluZzsgYWxpYXM/OiBzdHJpbmc7IHRhYmxlQWxpYXM/OiBzdHJpbmcgfSxcbiAgKTogdGhpcyB7XG4gICAgY29uc3QgdGFibGVBbGlhczogc3RyaW5nID0gb3B0aW9ucz8udGFibGVBbGlhcyB8fCAndGJsJ1xuICAgIGNvbnN0IGNvbHVtbkFsaWFzOiBzdHJpbmcgPSBvcHRpb25zPy5hbGlhcyB8fCBjb2x1bW5cblxuICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gZXh0cmFjdCB0aGUgaWQgY29sdW1uLCBpdCBpcyBhbHJlYWR5IGRpcmVjdGx5IGluIHF1ZXJ5XG4gICAgaWYgKGNvbHVtbiA9PT0gJ2lkJykgcmV0dXJuIHRoaXNcblxuICAgIGxldCBwYXRoOiBzdHJpbmcgPSBvcHRpb25zPy5wYXRoIHx8IGNvbHVtblxuICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCckJykpIHBhdGggPSBgJC4ke3BhdGh9YFxuXG4gICAgY29uc3QgY3VycmVudFF1ZXJ5ID0gdGhpcy5fY29uZmlnLnF1ZXJ5IGFzIHN0cmluZ1xuICAgIGlmIChjdXJyZW50UXVlcnkuaW5jbHVkZXMoJ1NFTEVDVCcpKSB7XG4gICAgICAvLyBSZXBsYWNlIG9yIGFwcGVuZCB0byBzZWxlY3QgY2xhdXNlXG4gICAgICBjb25zdCBuZXdDb2x1bW4gPSBganNvbl9leHRyYWN0KCR7dGFibGVBbGlhc30uZGF0YSwgJyR7cGF0aH0nKSBBUyAke2NvbHVtbkFsaWFzfWBcbiAgICAgIGNvbnN0IG1vZGlmaWVkUXVlcnkgPSBjdXJyZW50UXVlcnkucmVwbGFjZSgvU0VMRUNUXFxzKy8sIGBTRUxFQ1QgJHtuZXdDb2x1bW59LCBgKVxuICAgICAgdGhpcy5xdWVyeShtb2RpZmllZFF1ZXJ5KVxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBtdWx0aXBsZSBlbnRpdGllcyBhdCBvbmNlLlxuICAgKiBTaG9ydGhhbmQgZm9yIG11bHRpcGxlIGVudGl0eSgpIGNhbGxzLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZXMgLSBFbnRpdHkvdGFibGUgbmFtZXNcbiAgICogQHJldHVybnMgVGhpcyBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZW50aXRpZXMoLi4ubmFtZXM6IEFycmF5PHN0cmluZyB8IFRhYmxlTmFtZSB8IEVudGl0eU5hbWU+KTogdGhpcyB7XG4gICAgbmFtZXMuZm9yRWFjaCgobmFtZSkgPT4gdGhpcy5lbnRpdHkobmFtZSkpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGRhdGEgYmV0d2VlbiBmb3JtYXRzIChpbWFnZXMsIGZpbGVzKS5cbiAgICogQ29tbW9uOiBCQVNFNjQg4oaSIExPQ0FMX1VSSSBmb3IgZGlzcGxheWluZyBpbWFnZXMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSAtIFByb3BlcnR5IHBhdGggdG8gY29udmVydFxuICAgKiBAcGFyYW0gZnJvbSAtIFNvdXJjZSBmb3JtYXRcbiAgICogQHBhcmFtIHRvIC0gVGFyZ2V0IGZvcm1hdFxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGxvY2FsRmlsZW5hbWUgZm9yIGxvY2FsLXVyaSB0YXJnZXQsIGNvbnZlcnRIZWljVG9KcGcgZmxhZ1xuICAgKiBAcmV0dXJucyBUaGlzIGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBjb252ZXJ0KFxuICAgIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgZnJvbTogJ2J1ZmZlcicgfCAnbG9jYWwtdXJpJyB8ICdiYXNlNjQnIHwgJ2RhdGEtdXJpJyxcbiAgICB0bzogJ2J1ZmZlcicgfCAnYmFzZTY0JyB8ICdkYXRhLXVyaScsXG4gICAgb3B0aW9ucz86IHsgY29udmVydEhlaWNUb0pwZz86IGJvb2xlYW4gfSxcbiAgKTogdGhpc1xuXG4gIGNvbnZlcnQoXG4gICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICBmcm9tOiAnYnVmZmVyJyB8ICdsb2NhbC11cmknIHwgJ2Jhc2U2NCcgfCAnZGF0YS11cmknLFxuICAgIHRvOiAnbG9jYWwtdXJpJyxcbiAgICBvcHRpb25zPzogeyBsb2NhbEZpbGVuYW1lPzogc3RyaW5nOyBjb252ZXJ0SGVpY1RvSnBnPzogYm9vbGVhbiB9LFxuICApOiB0aGlzXG5cbiAgY29udmVydChcbiAgICBwcm9wZXJ0eTogc3RyaW5nLFxuICAgIGZyb206ICdidWZmZXInIHwgJ2xvY2FsLXVyaScgfCAnYmFzZTY0JyB8ICdkYXRhLXVyaScsXG4gICAgdG86ICdidWZmZXInIHwgJ2Jhc2U2NCcgfCAnZGF0YS11cmknIHwgJ2xvY2FsLXVyaScsXG4gICAgb3B0aW9ucz86IHsgbG9jYWxGaWxlbmFtZT86IHN0cmluZzsgY29udmVydEhlaWNUb0pwZz86IGJvb2xlYW4gfSxcbiAgKTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLl9jb25maWcuY29udmVyc2lvbnMpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5jb252ZXJzaW9ucyA9IFtdXG4gICAgfVxuXG4gICAgbGV0IGNvbnZlcnNpb246IENvbnZlcnNpb25EZWZpbml0aW9uXG4gICAgaWYgKHRvID09PSAnbG9jYWwtdXJpJykge1xuICAgICAgY29udmVyc2lvbiA9IG9wdGlvbnM/LmxvY2FsRmlsZW5hbWVcbiAgICAgICAgPyB7IHByb3BlcnR5LCBmcm9tLCB0bywgbG9jYWxGaWxlbmFtZTogb3B0aW9ucy5sb2NhbEZpbGVuYW1lIH1cbiAgICAgICAgOiB7IHByb3BlcnR5LCBmcm9tLCB0byB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnZlcnNpb24gPSB7IHByb3BlcnR5LCBmcm9tLCB0byB9XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5jb252ZXJ0SGVpY1RvSnBnICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnZlcnNpb24uY29udmVydEhlaWNUb0pwZyA9IG9wdGlvbnMuY29udmVydEhlaWNUb0pwZ1xuICAgIH1cblxuICAgIDsodGhpcy5fY29uZmlnLmNvbnZlcnNpb25zIGFzIENvbnZlcnNpb25EZWZpbml0aW9uW10pLnB1c2goY29udmVyc2lvbilcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuZCByZXR1cm4gU1FMaXRlIGRhdGFzb3VyY2UgZGVmaW5pdGlvbi5cbiAgICogQHJldHVybnMgQ29tcGxldGUgU1FMaXRlIGRhdGFzb3VyY2UgY29uZmlndXJhdGlvblxuICAgKi9cbiAgb3ZlcnJpZGUgYnVpbGQoKTogU3FsaXRlRGF0YXNvdXJjZSB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLl9jb25maWcucXVlcnkgYXMgc3RyaW5nXG4gICAgY29uc3QgZW50aXRpZXMgPSB0aGlzLl9jb25maWcuZW50aXRpZXMgYXMgQXJyYXk8U3FsaXRlRGF0YXNvdXJjZUVudGl0eSB8IHN0cmluZz5cbiAgICBjb25zdCBwcm92aWRlciA9IHRoaXMuX2NvbmZpZy5wcm92aWRlciBhcyBTcWxpdGVQcm92aWRlclR5cGVcblxuICAgIC8vIFZhbGlkYXRlIHRoYXQgd2UgaGF2ZSBhIG5vbi1lbXB0eSBxdWVyeVxuICAgIGlmICghcXVlcnkgfHwgcXVlcnkudHJpbSgpID09PSAnJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdRdWVyeSBjYW5ub3QgYmUgZW1wdHkgb3Igd2hpdGVzcGFjZScpXG4gICAgfVxuXG4gICAgLy8gRXh0cmFjdCB0YWJsZSBuYW1lcyBmcm9tIGVudGl0aWVzIChpbmNsdWRpbmcgcGFja2FnZSBwcmVmaXggZm9yIGV4dGVybmFsIHBhY2thZ2VzKVxuICAgIGNvbnN0IHRhYmxlTmFtZXMgPSBlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBlbnRpdHkgPT09ICdzdHJpbmcnKSByZXR1cm4gZW50aXR5XG4gICAgICAvLyBGb3IgcGFja2FnZSBlbnRpdGllcywgdXNlIHRoZSBmdWxsIFtwYWNrYWdlXS5bdGFibGVdIGZvcm1hdCB0aGF0IGFwcGVhcnMgaW4gcXVlcmllc1xuICAgICAgaWYgKGVudGl0eS5wYWNrYWdlKSB7XG4gICAgICAgIHJldHVybiBgWyR7ZW50aXR5LnBhY2thZ2V9XS5bJHtlbnRpdHkuZW50aXR5fV1gXG4gICAgICB9XG4gICAgICByZXR1cm4gZW50aXR5LmVudGl0eVxuICAgIH0pXG5cbiAgICAvLyBDcmVhdGUgaW4tbWVtb3J5IGRhdGFiYXNlIHdpdGggYWxsIHRhYmxlcyBmb3IgdmFsaWRhdGlvblxuICAgIGNvbnN0IHsgZGIsIHRhYmxlcyB9ID0gY3JlYXRlVmFsaWRhdGlvbkRhdGFiYXNlKHRhYmxlTmFtZXMpXG5cbiAgICAvLyBXb3JraW5nIGNvcHkgZm9yIHZhbGlkYXRpb25cbiAgICBsZXQgdmFsaWRhdGlvblF1ZXJ5ID0gcXVlcnlcblxuICAgIHRyeSB7XG4gICAgICAvLyBBcHBseSBhbGwgdGFibGUgbmFtZSB0cmFuc2Zvcm1hdGlvbnMgdG8gcXVlcnlcbiAgICAgIHRhYmxlcy5mb3JFYWNoKCh7IHNhZmVOYW1lLCBub3JtYWxpemVkTmFtZSB9KSA9PiB7XG4gICAgICAgIGlmIChzYWZlTmFtZSAhPT0gbm9ybWFsaXplZE5hbWUpIHtcbiAgICAgICAgICB2YWxpZGF0aW9uUXVlcnkgPSByZXBsYWNlVGFibGVOYW1lKHZhbGlkYXRpb25RdWVyeSwgbm9ybWFsaXplZE5hbWUsIHNhZmVOYW1lKVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICAvLyBSZXBsYWNlIG5hbWVkIHBhcmFtZXRlcnMgd2l0aCBwb3NpdGlvbmFsIHBsYWNlaG9sZGVycyBmb3IgdmFsaWRhdGlvblxuICAgICAgdmFsaWRhdGlvblF1ZXJ5ID0gcmVwbGFjZVBhcmFtZXRlcnModmFsaWRhdGlvblF1ZXJ5KVxuXG4gICAgICAvLyBWYWxpZGF0ZSBxdWVyeSBzeW50YXggYW5kIGVuc3VyZSBpdCdzIGEgU0VMRUNUXG4gICAgICB2YWxpZGF0ZVNlbGVjdFF1ZXJ5KGRiLCB2YWxpZGF0aW9uUXVlcnkpXG5cbiAgICAgIC8vIEFzc2VtYmxlIHRoZSBvdXRwdXRcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFNxbGl0ZURhdGFzb3VyY2VPcHRpb25zID0ge1xuICAgICAgICBwcm92aWRlcixcbiAgICAgICAgZW50aXRpZXMsXG4gICAgICAgIHF1ZXJ5LFxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fY29uZmlnLnF1ZXJ5UGFyYW1ldGVycykge1xuICAgICAgICBvcHRpb25zLnF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuX2NvbmZpZy5xdWVyeVBhcmFtZXRlcnMgYXMgU3FsaXRlUGFyYW1FeHByZXNzaW9uc1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5pc0RvY3VtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgb3B0aW9ucy5pc0RvY3VtZW50ID0gdGhpcy5fY29uZmlnLmlzRG9jdW1lbnQgYXMgYm9vbGVhblxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5yZXdyaXRlUXVlcnkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBvcHRpb25zLnJld3JpdGVRdWVyeSA9IHRoaXMuX2NvbmZpZy5yZXdyaXRlUXVlcnkgYXMgYm9vbGVhblxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5qc29uUHJvcGVydGllcykge1xuICAgICAgICBvcHRpb25zLmpzb25Qcm9wZXJ0aWVzID0gdGhpcy5fY29uZmlnLmpzb25Qcm9wZXJ0aWVzIGFzIHN0cmluZ1tdXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fY29uZmlnLmNvbnZlcnNpb25zKSB7XG4gICAgICAgIG9wdGlvbnMuY29udmVyc2lvbnMgPSB0aGlzLl9jb25maWcuY29udmVyc2lvbnMgYXMgQ29udmVyc2lvbkRlZmluaXRpb25bXVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQ6IFNxbGl0ZURhdGFzb3VyY2UgPSB7XG4gICAgICAgIHR5cGU6IERBVEFTT1VSQ0VfVFlQRS5TUUxJVEUsXG4gICAgICAgIGRhdGFzb3VyY2VJZDogdGhpcy5kYXRhc291cmNlSWQsXG4gICAgICAgIGluc3RhbmNlSWQ6IHRoaXMuaW5zdGFuY2VJZCxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5wYXJhbWV0ZXJzKSB7XG4gICAgICAgIHJlc3VsdC5wYXJhbWV0ZXJzID0gdGhpcy5fY29uZmlnLnBhcmFtZXRlcnMgYXMgTm9uTnVsbGFibGU8U3FsaXRlRGF0YXNvdXJjZVsncGFyYW1ldGVycyddPlxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIFByb3ZpZGUgaGVscGZ1bCBlcnJvciBtZXNzYWdlIHdpdGggb3JpZ2luYWwgcXVlcnkgKG5vdCB0cmFuc2Zvcm1lZCB2YWxpZGF0aW9uIHF1ZXJ5KVxuICAgICAgY29uc3QgZXJyb3JNc2cgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcilcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTUUwgcXVlcnk6ICR7ZXJyb3JNc2d9XFxuXFxuUXVlcnk6ICR7cXVlcnl9YClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgLy8gQWx3YXlzIGNsb3NlIHRoZSBkYXRhYmFzZVxuICAgICAgZGIuY2xvc2UoKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasource.sqlite.d.ts","sourceRoot":"","sources":["../../src/datasource/datasource.sqlite.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ConversionDefinition,\n DATA_PROVIDER,\n DATASOURCE_TYPE,\n type DatasourceId,\n type EntityName,\n type Expression,\n type FunctionId,\n type InstanceId,\n isFunctionId,\n type ParameterName,\n ParameterNameSchema,\n type ParameterValue,\n type Primitive,\n type PrimitiveOrExpression,\n type TableName,\n toDatabaseTableName,\n toDatasourceId,\n toEntityName,\n toFunctionId,\n toParameterName,\n} from '../abstract/index.js'\nimport { type FunctionCore, isFunctionCore } from '../function/index.js'\nimport { type DatasourceBase, DatasourceBaseBuilder } from './datasource.abstract.js'\nimport {\n createValidationDatabase,\n replaceParameters,\n replaceTableName,\n validateSelectQuery,\n} from './sqlite-validator.js'\n\n/**\n * SQLite parameter expressions map.\n */\nexport type SqliteParamExpressions = Record<ParameterName, PrimitiveOrExpression>\n\n/**\n * SQLite datasource entity configuration.\n */\ninterface SqliteDatasourceEntity {\n entity: string\n package?: string\n function?: string\n functionParameters?: SqliteParamExpressions\n}\n\n/**\n * SQLite datasource provider types.\n */\nexport type SqliteProviderType = typeof DATA_PROVIDER.DYNAMIC | typeof DATA_PROVIDER.LOCAL\n\n/**\n * SQLite datasource options.\n */\ninterface SqliteDatasourceOptions {\n provider: SqliteProviderType\n entities: Array<SqliteDatasourceEntity | string>\n query: string\n queryParameters?: SqliteParamExpressions\n isDocument?: boolean\n rewriteQuery?: boolean\n jsonProperties?: string[] | null\n conversions?: ConversionDefinition[]\n}\n\n/**\n * SQLite datasource definition.\n */\nexport type SqliteDatasource = DatasourceBase & {\n readonly type: typeof DATASOURCE_TYPE.SQLITE\n readonly options: SqliteDatasourceOptions\n parameters?: Record<\n ParameterName,\n {\n readonly type: string\n readonly default?: ParameterValue\n readonly required?: boolean\n }\n >\n}\n\n/**\n * ---\n * SqliteDatasourceBuilder Parameter Convention\n *\n * - .parameter(name, type, required?, defaultValue?)\n * - Defines a *formal* parameter (name, type, required, default)\n * - Like a function signature or API contract\n * - Example:\n * builder.parameter('userId', 'string', 'required')\n * builder.parameter('limit', 'number', 'optional', 10)\n *\n * - .queryParameter(name, value)\n * - Sets the *runtime value* for a parameter (constant or JSONata expression)\n * - Like passing an argument to a function call\n * - Example:\n * builder.queryParameter('userId', '=@ctx.user.id')\n * builder.queryParameter('limit', 25)\n *\n * - .param(name)\n * - Fluent helper for setting query parameter values\n * - Example:\n * builder.param('userId').value(123)\n *\n * | Method | Purpose | Example |\n * |---------------------|--------------------------------|----------------------------------------------|\n * | .parameter() | Define parameter (name/type) | .parameter('userId', 'string', 'required') |\n * | .queryParameter() | Set value for parameter | .queryParameter('userId', 123) |\n * | .param() | Fluent value setter (helper) | .param('userId').value(123) |\n *\n * ---\n */\n\n/**\n * Query local SQLite database.\n *\n * Primary datasource for screens. Data stored locally as JSON.\n * Use json_extract() for field access.\n * Providers: dynamic (cloud sync) or local (device-only).\n * Parameters: $paramName in queries.\n * Sync data using sync-entities actions triggered on onLoad/onFocus/onRefresh events.\n *\n * @alias datasource.sqlite\n */\nexport interface SqliteDatasourceInput {\n readonly datasourceId: string | DatasourceId\n readonly provider: 'dynamic' | 'local'\n readonly instanceId?: InstanceId\n}\n\nexport class SqliteDatasourceBuilder extends DatasourceBaseBuilder<SqliteDatasource> {\n private readonly _requiredTables: string[] = []\n private _explicitQuery = false\n private _lastFromClause: string | undefined\n\n /**\n * Create SQLite datasource builder.\n *\n * @param options - Configuration options\n * @param options.datasourceId - Unique identifier. Format: Mixedcase 2-50, prefer kebab-case, starts alpha, contains alphanum and `-`, ends alphanum\n * @param options.provider - 'dynamic' (cloud-sync) or 'local' (device-only)\n * @param options.instanceId - Optional instance ID (defaults to datasourceId)\n */\n constructor(options: SqliteDatasourceInput) {\n const { datasourceId, provider, instanceId } = options\n super(DATASOURCE_TYPE.SQLITE, {\n datasourceId: toDatasourceId(datasourceId),\n instanceId,\n })\n\n this._config.provider = provider === 'local' ? DATA_PROVIDER.LOCAL : DATA_PROVIDER.DYNAMIC\n this._config.query = ''\n this._config.entities = []\n }\n\n /**\n * Validate and normalize parameter names.\n */\n private validateParameterName(name: string | ParameterName): string | ParameterName {\n if (typeof name === 'string') {\n // Remove @ prefix if present (common mistake)\n if (name.startsWith('@')) {\n name = name.slice(1)\n }\n // First try to validate as-is (ParameterNameSchema allows both $ and alpha start)\n const result = ParameterNameSchema.safeParse(name)\n if (result.success) {\n return result.data\n } else {\n // If validation fails, use toParameterDollar which will give proper error message\n return toParameterName(name)\n }\n }\n return name\n }\n\n private applyDefaultQuery(fromClause: string): void {\n if (this._explicitQuery) return\n this._lastFromClause = fromClause\n if (this._config.isDocument) {\n this._config.query = `SELECT tbl.id, tbl.data\n FROM ${fromClause} AS tbl`\n } else {\n this._config.query = `SELECT tbl.id, json_extract(tbl.data, '$.name') AS name\n FROM ${fromClause} AS tbl`\n }\n }\n\n /**\n * Table names that need registration on the default database.\n * Collected during entity() calls for dynamic-provider datasources.\n *\n * Note: Tables are only auto-registered when this datasource is built\n * through ApplicationBuilder. Standalone usage requires manual table\n * registration on the DatabaseBuilder.\n */\n getRequiredTables(): readonly string[] {\n return this._requiredTables\n }\n\n private registerDynamicTable(entityName: string): void {\n if (this._config.provider !== DATA_PROVIDER.DYNAMIC) return\n this._requiredTables.push(toDatabaseTableName(entityName))\n }\n\n private resolveFunctionId(fn: FunctionId | FunctionCore): FunctionId {\n if (isFunctionCore(fn)) return fn.functionId\n if (isFunctionId(fn)) return fn\n return toFunctionId(fn)\n }\n\n /**\n * Set SQL query. Use json_extract() for JSON data.\n * Style: UPPER keywords, [table] AS alias, $params.\n * Include id first. Add tables via entity().\n * Use MCP to access SQLite cheatsheet.\n *\n * @param sql - SQL query with json_extract() and $parameters\n * @returns Builder for chaining\n */\n query(sql: string): this {\n if (!sql || sql.trim() === '') {\n throw new Error('Query cannot be empty or whitespace')\n }\n this._config.query = sql\n this._explicitQuery = true\n return this\n }\n\n /**\n * Add entity (table) to sync/query.\n * - String form: `entity('default/users')` → `'default/users'`\n * - Object form: `entity({ entity: 'users' })` → `{ entity: 'users' }`\n * - Function form: `entity({ entity: 'users', fn, params? })` → `{ entity: 'users', function: '...', ... }`\n *\n * @param input - Entity name or descriptor\n * @returns Builder for chaining\n */\n entity(\n input:\n | string\n | TableName\n | {\n entity: string | TableName\n fn?: FunctionId | FunctionCore\n params?: SqliteParamExpressions\n },\n ): this {\n const entities = this._config.entities as Array<SqliteDatasourceEntity | string>\n\n if (typeof input === 'string') {\n const resolved = toEntityName(input, this._config.provider === DATA_PROVIDER.DYNAMIC)\n this.registerDynamicTable(resolved)\n entities.push(resolved)\n this.applyDefaultQuery(`[${resolved}]`)\n } else {\n const resolved = toEntityName(input.entity, this._config.provider === DATA_PROVIDER.DYNAMIC)\n this.registerDynamicTable(resolved)\n if (input.fn) {\n entities.push({\n entity: resolved,\n function: this.resolveFunctionId(input.fn),\n functionParameters: input.params,\n })\n } else {\n entities.push({ entity: resolved })\n }\n this.applyDefaultQuery(`[${resolved}]`)\n }\n return this\n }\n\n /**\n * Add entity from an external package.\n *\n * @param name - Entity/table name\n * @param packageName - Package name\n * @returns Builder for chaining\n * @example entityPackaged('Customers', 'erp')\n */\n entityPackaged(name: string | TableName, packageName: string): this {\n const entities = this._config.entities as Array<SqliteDatasourceEntity | string>\n entities.push({ entity: name, package: packageName })\n this.applyDefaultQuery(`[${packageName}].[${name}]`)\n return this\n }\n\n /**\n * Define parameter and set value in one call.\n * Combines parameter() and queryParameter().\n *\n * @param name - Parameter name (no $ prefix)\n * @param type - Type (string, number, boolean)\n * @param value - Runtime value or expression\n * @param options - Required/default settings\n * @returns Builder for chaining\n */\n param(\n name: string | ParameterName,\n type: string,\n value: Primitive | Expression,\n options?: {\n required?: boolean\n defaultValue?: Primitive | Expression\n },\n ): this {\n this.parameter(name, type, {\n required: options?.required,\n defaultValue: options?.defaultValue,\n })\n this.queryParameter(name, value)\n\n return this\n }\n\n /**\n * Set runtime value for SQL parameter. Reference as $name in query.\n * Supports static values and expressions.\n *\n * @param name - Parameter name (without $ prefix)\n * @param value - Value or expression (=@ctx.*, =@ctx.jig.inputs.*)\n * @returns This builder for chaining\n */\n queryParameter(\n name: string | ParameterName,\n value: string | number | boolean | null | PrimitiveOrExpression,\n ): this {\n const validatedName = this.validateParameterName(name)\n\n if (!this._config.queryParameters) {\n this._config.queryParameters = {}\n }\n ;(this._config.queryParameters as SqliteParamExpressions)[validatedName] = value\n return this\n }\n\n /**\n * Define formal parameter (like function signature).\n * Use queryParameter() to set runtime values.\n *\n * @param name - Parameter name\n * @param type - Type (string, number, boolean)\n * @param options - Required/default settings\n * @returns This builder for chaining\n */\n parameter(\n name: string | ParameterName,\n type: string,\n options?: { required?: boolean; defaultValue?: ParameterValue },\n ): this {\n const validatedName = this.validateParameterName(name)\n\n if (!this._config.parameters) {\n this._config.parameters = {}\n }\n\n ;(this._config.parameters as NonNullable<SqliteDatasource['parameters']>)[validatedName] = {\n type,\n required: options?.required,\n default: options?.defaultValue,\n }\n\n return this\n }\n\n /**\n * Enable or disable query rewriting for shorthand syntax.\n * When true, $.propertyName is rewritten to json_extract(data, '$.propertyName').\n * Defaults to true.\n *\n * @param value - true to enable rewriting\n * @returns This builder for chaining\n */\n rewriteQuery(value = true): this {\n this._config.rewriteQuery = value\n return this\n }\n\n /**\n * Return single document instead of array. Query should return full data column.\n * Use for detail views, single record lookups.\n *\n * @param value - true for document mode (default: true)\n * @returns This builder for chaining\n */\n isDocument(value = true): this {\n this._config.isDocument = value\n if (this._lastFromClause) {\n this.applyDefaultQuery(this._lastFromClause)\n }\n return this\n }\n\n /**\n * Parse columns as JSON in query results.\n * Use when storing JSON strings that need parsing.\n *\n * @param columns - Column names to parse\n * @returns This builder for chaining\n */\n jsonProperties(...columns: string[]): this {\n if (!this._config.jsonProperties) {\n this._config.jsonProperties = []\n }\n ;(this._config.jsonProperties as string[]).push(...columns)\n return this\n }\n\n /**\n * Helper: Build SELECT query with json_extract columns.\n * Automatically add entity and format query.\n *\n * @param columns - Columns to extract from data JSON\n * @param from - Table name\n * @param where - WHERE clause (can use $params)\n * @param options - Table alias option\n * @returns This builder for chaining\n */\n select(\n columns: string | string[],\n from: string | TableName | EntityName,\n where?: string,\n options?: { tableAlias?: string },\n ): this {\n this.isDocument(false)\n\n from = toEntityName(from, this._config.provider === DATA_PROVIDER.DYNAMIC)\n this.entity(from)\n\n const tableAlias = options?.tableAlias || 'tbl'\n const cols = Array.isArray(columns) ? columns : columns.split(',').map((c) => c.trim())\n // Always ensure id is first, and not duplicated in json_extract\n const selectCols = [`${tableAlias}.id`]\n for (const col of cols) {\n if (col !== 'id') {\n selectCols.push(`json_extract(${tableAlias}.data, '$.${col}') AS ${col}`)\n }\n }\n let query = `SELECT ${selectCols.join(', ')}\n FROM [${from}] AS ${tableAlias}`\n if (where) query += ` WHERE ${where}`\n this.query(query)\n return this\n }\n\n /**\n * Helper: Build document query (returns full data object).\n * Set isDocument(true) and create appropriate query.\n *\n * @param from - Table name\n * @param options - WHERE clause and alias options\n * @returns This builder for chaining\n */\n selectDocument(\n from: string | TableName | EntityName,\n options?: { where?: string; tableAlias?: string },\n ): this {\n this.isDocument(true)\n\n from = toEntityName(from, this._config.provider === DATA_PROVIDER.DYNAMIC)\n this.entity(from)\n\n const tableAlias = options?.tableAlias || 'tbl'\n let query = `SELECT ${tableAlias}.id, ${tableAlias}.data\n FROM [${from}] AS ${tableAlias}`\n if (options?.where) query += ` WHERE ${options.where}`\n this.query(query)\n\n return this\n }\n\n /**\n * Helper: Add json_extract column to existing query.\n * Modify current SELECT clause.\n *\n * @param column - Column name to extract\n * @param options - Path, alias, and table options\n * @returns This builder for chaining\n */\n jsonExtract(\n column: string,\n options?: { path?: string; alias?: string; tableAlias?: string },\n ): this {\n const tableAlias: string = options?.tableAlias || 'tbl'\n const columnAlias: string = options?.alias || column\n\n // We don't need to extract the id column, it is already directly in query\n if (column === 'id') return this\n\n let path: string = options?.path || column\n if (!path.startsWith('$')) path = `$.${path}`\n\n const currentQuery = this._config.query as string\n if (currentQuery.includes('SELECT')) {\n // Replace or append to select clause\n const newColumn = `json_extract(${tableAlias}.data, '${path}') AS ${columnAlias}`\n const modifiedQuery = currentQuery.replace(/SELECT\\s+/, `SELECT ${newColumn}, `)\n this.query(modifiedQuery)\n }\n return this\n }\n\n /**\n * Add multiple entities at once.\n * Shorthand for multiple entity() calls.\n *\n * @param names - Entity/table names\n * @returns This builder for chaining\n */\n entities(...names: Array<string | TableName | EntityName>): this {\n names.forEach((name) => this.entity(name))\n return this\n }\n\n /**\n * Convert data between formats (images, files).\n * Common: BASE64 → LOCAL_URI for displaying images.\n *\n * @param property - Property path to convert\n * @param from - Source format\n * @param to - Target format\n * @param options - Optional localFilename for local-uri target, convertHeicToJpg flag\n * @returns This builder for chaining\n */\n convert(\n property: string,\n from: 'buffer' | 'local-uri' | 'base64' | 'data-uri',\n to: 'buffer' | 'base64' | 'data-uri',\n options?: { convertHeicToJpg?: boolean },\n ): this\n\n convert(\n property: string,\n from: 'buffer' | 'local-uri' | 'base64' | 'data-uri',\n to: 'local-uri',\n options?: { localFilename?: string; convertHeicToJpg?: boolean },\n ): this\n\n convert(\n property: string,\n from: 'buffer' | 'local-uri' | 'base64' | 'data-uri',\n to: 'buffer' | 'base64' | 'data-uri' | 'local-uri',\n options?: { localFilename?: string; convertHeicToJpg?: boolean },\n ): this {\n if (!this._config.conversions) {\n this._config.conversions = []\n }\n\n let conversion: ConversionDefinition\n if (to === 'local-uri') {\n conversion = options?.localFilename\n ? { property, from, to, localFilename: options.localFilename }\n : { property, from, to }\n } else {\n conversion = { property, from, to }\n }\n if (options?.convertHeicToJpg !== undefined) {\n conversion.convertHeicToJpg = options.convertHeicToJpg\n }\n\n ;(this._config.conversions as ConversionDefinition[]).push(conversion)\n return this\n }\n\n /**\n * Build and return SQLite datasource definition.\n * @returns Complete SQLite datasource configuration\n */\n override build(): SqliteDatasource {\n const query = this._config.query as string\n const entities = this._config.entities as Array<SqliteDatasourceEntity | string>\n const provider = this._config.provider as SqliteProviderType\n\n // Validate that we have a non-empty query\n if (!query || query.trim() === '') {\n throw new Error('Query cannot be empty or whitespace')\n }\n\n // Extract table names from entities (including package prefix for external packages)\n const tableNames = entities.map((entity) => {\n if (typeof entity === 'string') return entity\n // For package entities, use the full [package].[table] format that appears in queries\n if (entity.package) {\n return `[${entity.package}].[${entity.entity}]`\n }\n return entity.entity\n })\n\n // Create in-memory database with all tables for validation\n const { db, tables } = createValidationDatabase(tableNames)\n\n // Working copy for validation\n let validationQuery = query\n\n try {\n // Apply all table name transformations to query\n tables.forEach(({ safeName, normalizedName }) => {\n if (safeName !== normalizedName) {\n validationQuery = replaceTableName(validationQuery, normalizedName, safeName)\n }\n })\n\n // Replace named parameters with positional placeholders for validation\n validationQuery = replaceParameters(validationQuery)\n\n // Validate query syntax and ensure it's a SELECT\n validateSelectQuery(db, validationQuery)\n\n // Assemble the output\n const options: SqliteDatasourceOptions = {\n provider,\n entities,\n query,\n }\n\n if (this._config.queryParameters) {\n options.queryParameters = this._config.queryParameters as SqliteParamExpressions\n }\n if (this._config.isDocument !== undefined) {\n options.isDocument = this._config.isDocument as boolean\n }\n if (this._config.rewriteQuery !== undefined) {\n options.rewriteQuery = this._config.rewriteQuery as boolean\n }\n if (this._config.jsonProperties) {\n options.jsonProperties = this._config.jsonProperties as string[]\n }\n if (this._config.conversions) {\n options.conversions = this._config.conversions as ConversionDefinition[]\n }\n\n const result: SqliteDatasource = {\n type: DATASOURCE_TYPE.SQLITE,\n datasourceId: this.datasourceId,\n instanceId: this.instanceId,\n options,\n }\n\n if (this._config.parameters) {\n result.parameters = this._config.parameters as NonNullable<SqliteDatasource['parameters']>\n }\n\n return result\n } catch (error) {\n // Provide helpful error message with original query (not transformed validation query)\n const errorMsg = error instanceof Error ? error.message : String(error)\n throw new Error(`Invalid SQL query: ${errorMsg}\\n\\nQuery: ${query}`)\n } finally {\n // Always close the database\n db.close()\n }\n }\n}\n"]}
|