@veloceapps/sdk 5.0.13-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/README.md +3 -0
- package/bundles/veloceapps-sdk-cms.umd.js +1975 -0
- package/bundles/veloceapps-sdk-cms.umd.js.map +1 -0
- package/bundles/veloceapps-sdk-core.umd.js +1610 -0
- package/bundles/veloceapps-sdk-core.umd.js.map +1 -0
- package/bundles/veloceapps-sdk-runtime.umd.js +4349 -0
- package/bundles/veloceapps-sdk-runtime.umd.js.map +1 -0
- package/bundles/veloceapps-sdk.umd.js +3307 -0
- package/bundles/veloceapps-sdk.umd.js.map +1 -0
- package/cms/cms.actions.d.ts +28 -0
- package/cms/cms.default.d.ts +5 -0
- package/cms/cms.elements.d.ts +4 -0
- package/cms/components/element-children/element-children.component.d.ts +10 -0
- package/cms/components/element-children/element-children.module.d.ts +8 -0
- package/cms/components/element-renderer/element-renderer.component.d.ts +36 -0
- package/cms/components/element-renderer/element-renderer.module.d.ts +7 -0
- package/cms/components/element.component.d.ts +17 -0
- package/cms/components/index.d.ts +1 -0
- package/cms/components/plugin.component.d.ts +15 -0
- package/cms/components/preview/index.d.ts +2 -0
- package/cms/components/preview/preview.component.d.ts +34 -0
- package/cms/components/preview/preview.module.d.ts +11 -0
- package/cms/decorators/element.decorator.d.ts +2 -0
- package/cms/decorators/index.d.ts +1 -0
- package/cms/directives/custom-template.directive.d.ts +12 -0
- package/cms/engine/models/entity.d.ts +11 -0
- package/cms/engine/models/plugin.d.ts +5 -0
- package/cms/index.d.ts +11 -0
- package/cms/injection-tokens.d.ts +11 -0
- package/cms/launcher.module.d.ts +10 -0
- package/cms/modules/federated/default-options.d.ts +4 -0
- package/cms/modules/federated/export.d.ts +1 -0
- package/cms/modules/federated/federated.component.d.ts +26 -0
- package/cms/modules/federated/federated.module.d.ts +9 -0
- package/cms/modules/federated/federated.types.d.ts +30 -0
- package/cms/modules/federated/federated.utils.d.ts +1 -0
- package/cms/package.json +10 -0
- package/cms/plugins/configuration.plugin.d.ts +23 -0
- package/cms/plugins/io.plugin.d.ts +9 -0
- package/cms/plugins/script.plugin.d.ts +13 -0
- package/cms/services/dynamic-module.service.d.ts +15 -0
- package/cms/services/element-context.service.d.ts +8 -0
- package/cms/services/index.d.ts +3 -0
- package/cms/services/integration.state.d.ts +17 -0
- package/cms/services/io-provider.service.d.ts +15 -0
- package/cms/services/launcher.service.d.ts +18 -0
- package/cms/services/templates.service.d.ts +14 -0
- package/cms/types/common.types.d.ts +108 -0
- package/cms/types/compilation.types.d.ts +6 -0
- package/cms/types/configuration.types.d.ts +20 -0
- package/cms/types/elements.types.d.ts +2 -0
- package/cms/types/index.d.ts +7 -0
- package/cms/types/integration.types.d.ts +4 -0
- package/cms/types/metrics.types.d.ts +5 -0
- package/cms/types/path.types.d.ts +11 -0
- package/cms/utils/element.utils.d.ts +17 -0
- package/cms/utils/elements-resolver.d.ts +24 -0
- package/cms/utils/index.d.ts +3 -0
- package/cms/utils/path.utils.d.ts +5 -0
- package/cms/veloceapps-sdk-cms.d.ts +5 -0
- package/cms/vendor-map.d.ts +708 -0
- package/core/core.module.d.ts +8 -0
- package/core/index.d.ts +6 -0
- package/core/modules/configuration/configuration.module.d.ts +7 -0
- package/core/modules/configuration/helpers.d.ts +3 -0
- package/core/modules/configuration/index.d.ts +4 -0
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +29 -0
- package/core/modules/configuration/services/configuration.service.d.ts +45 -0
- package/core/modules/configuration/services/runtime-context.service.d.ts +12 -0
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +7 -0
- package/core/modules/flow-configuration/flow-configuration.module.d.ts +6 -0
- package/core/modules/flow-configuration/index.d.ts +4 -0
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +38 -0
- package/core/modules/flow-configuration/services/flow-update.service.d.ts +12 -0
- package/core/modules/flow-configuration/types/update.types.d.ts +12 -0
- package/core/modules/index.d.ts +2 -0
- package/core/package.json +10 -0
- package/core/services/context.service.d.ts +18 -0
- package/core/services/index.d.ts +3 -0
- package/core/services/product-images.service.d.ts +12 -0
- package/core/services/quote-draft.service.d.ts +62 -0
- package/core/types/index.d.ts +3 -0
- package/core/types/quote-states.types.d.ts +6 -0
- package/core/types/runtime.types.d.ts +31 -0
- package/core/types/ui-definition.types.d.ts +26 -0
- package/core/utils/index.d.ts +2 -0
- package/core/utils/line-item.utils.d.ts +26 -0
- package/core/utils/line-item.worker.d.ts +12 -0
- package/core/veloceapps-sdk-core.d.ts +5 -0
- package/esm2015/cms/cms.actions.js +47 -0
- package/esm2015/cms/cms.default.js +6 -0
- package/esm2015/cms/cms.elements.js +29 -0
- package/esm2015/cms/components/element-children/element-children.component.js +23 -0
- package/esm2015/cms/components/element-children/element-children.module.js +18 -0
- package/esm2015/cms/components/element-renderer/element-renderer.component.js +169 -0
- package/esm2015/cms/components/element-renderer/element-renderer.module.js +16 -0
- package/esm2015/cms/components/element.component.js +44 -0
- package/esm2015/cms/components/index.js +2 -0
- package/esm2015/cms/components/plugin.component.js +16 -0
- package/esm2015/cms/components/preview/index.js +3 -0
- package/esm2015/cms/components/preview/preview.component.js +108 -0
- package/esm2015/cms/components/preview/preview.module.js +23 -0
- package/esm2015/cms/decorators/element.decorator.js +6 -0
- package/esm2015/cms/decorators/index.js +2 -0
- package/esm2015/cms/directives/custom-template.directive.js +25 -0
- package/esm2015/cms/engine/models/entity.js +18 -0
- package/esm2015/cms/engine/models/plugin.js +6 -0
- package/esm2015/cms/index.js +11 -0
- package/esm2015/cms/injection-tokens.js +8 -0
- package/esm2015/cms/launcher.module.js +23 -0
- package/esm2015/cms/modules/federated/default-options.js +5 -0
- package/esm2015/cms/modules/federated/export.js +2 -0
- package/esm2015/cms/modules/federated/federated.component.js +82 -0
- package/esm2015/cms/modules/federated/federated.module.js +19 -0
- package/esm2015/cms/modules/federated/federated.types.js +2 -0
- package/esm2015/cms/modules/federated/federated.utils.js +37 -0
- package/esm2015/cms/plugins/configuration.plugin.js +98 -0
- package/esm2015/cms/plugins/io.plugin.js +37 -0
- package/esm2015/cms/plugins/script.plugin.js +66 -0
- package/esm2015/cms/services/dynamic-module.service.js +33 -0
- package/esm2015/cms/services/element-context.service.js +10 -0
- package/esm2015/cms/services/index.js +4 -0
- package/esm2015/cms/services/integration.state.js +40 -0
- package/esm2015/cms/services/io-provider.service.js +51 -0
- package/esm2015/cms/services/launcher.service.js +57 -0
- package/esm2015/cms/services/templates.service.js +31 -0
- package/esm2015/cms/types/common.types.js +2 -0
- package/esm2015/cms/types/compilation.types.js +2 -0
- package/esm2015/cms/types/configuration.types.js +2 -0
- package/esm2015/cms/types/elements.types.js +2 -0
- package/esm2015/cms/types/index.js +8 -0
- package/esm2015/cms/types/integration.types.js +2 -0
- package/esm2015/cms/types/metrics.types.js +2 -0
- package/esm2015/cms/types/path.types.js +2 -0
- package/esm2015/cms/utils/element.utils.js +161 -0
- package/esm2015/cms/utils/elements-resolver.js +147 -0
- package/esm2015/cms/utils/index.js +4 -0
- package/esm2015/cms/utils/path.utils.js +67 -0
- package/esm2015/cms/veloceapps-sdk-cms.js +5 -0
- package/esm2015/cms/vendor-map.js +34 -0
- package/esm2015/core/core.module.js +18 -0
- package/esm2015/core/index.js +7 -0
- package/esm2015/core/modules/configuration/configuration.module.js +34 -0
- package/esm2015/core/modules/configuration/helpers.js +10 -0
- package/esm2015/core/modules/configuration/index.js +5 -0
- package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +92 -0
- package/esm2015/core/modules/configuration/services/configuration.service.js +173 -0
- package/esm2015/core/modules/configuration/services/runtime-context.service.js +51 -0
- package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +2 -0
- package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +18 -0
- package/esm2015/core/modules/flow-configuration/index.js +5 -0
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +135 -0
- package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +129 -0
- package/esm2015/core/modules/flow-configuration/types/update.types.js +2 -0
- package/esm2015/core/modules/index.js +3 -0
- package/esm2015/core/services/context.service.js +50 -0
- package/esm2015/core/services/index.js +4 -0
- package/esm2015/core/services/product-images.service.js +30 -0
- package/esm2015/core/services/quote-draft.service.js +207 -0
- package/esm2015/core/types/index.js +4 -0
- package/esm2015/core/types/quote-states.types.js +2 -0
- package/esm2015/core/types/runtime.types.js +16 -0
- package/esm2015/core/types/ui-definition.types.js +2 -0
- package/esm2015/core/utils/index.js +3 -0
- package/esm2015/core/utils/line-item.utils.js +100 -0
- package/esm2015/core/utils/line-item.worker.js +19 -0
- package/esm2015/core/veloceapps-sdk-core.js +5 -0
- package/esm2015/index.js +2 -0
- package/esm2015/runtime/components/component-preview/component-preview.component.js +125 -0
- package/esm2015/runtime/components/index.js +5 -0
- package/esm2015/runtime/components/section-renderer/section-renderer.component.js +71 -0
- package/esm2015/runtime/components/ui-runtime/runtime.component.js +429 -0
- package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +109 -0
- package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +68 -0
- package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +36 -0
- package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +72 -0
- package/esm2015/runtime/execution/components/federated/federated.component.js +81 -0
- package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +65 -0
- package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +136 -0
- package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +80 -0
- package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +101 -0
- package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +150 -0
- package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +121 -0
- package/esm2015/runtime/execution/directives/section-script.directive.js +242 -0
- package/esm2015/runtime/execution/directives/sf-query.directive.js +34 -0
- package/esm2015/runtime/execution/directives/velo-attribute.directive.js +86 -0
- package/esm2015/runtime/execution/directives/velo-port.directive.js +373 -0
- package/esm2015/runtime/execution/directives/vl-approval.directive.js +22 -0
- package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +35 -0
- package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +59 -0
- package/esm2015/runtime/execution/directives/vl-quote.directive.js +41 -0
- package/esm2015/runtime/execution/directives/vl-ramp.directive.js +51 -0
- package/esm2015/runtime/execution/runtime-execution.module.js +163 -0
- package/esm2015/runtime/execution/utils/federated.util.js +37 -0
- package/esm2015/runtime/index.js +5 -0
- package/esm2015/runtime/runtime.module.js +104 -0
- package/esm2015/runtime/services/cart.service.js +27 -0
- package/esm2015/runtime/services/collapsible-state.service.js +34 -0
- package/esm2015/runtime/services/configuration.service.js +102 -0
- package/esm2015/runtime/services/current-state.service.js +17 -0
- package/esm2015/runtime/services/form-scope.service.js +30 -0
- package/esm2015/runtime/services/index.js +4 -0
- package/esm2015/runtime/services/product-model-cache.service.js +30 -0
- package/esm2015/runtime/services/runtime-context.service.js +56 -0
- package/esm2015/runtime/services/runtime-form.service.js +224 -0
- package/esm2015/runtime/services/runtime.service.js +108 -0
- package/esm2015/runtime/services/section-helper.service.js +27 -0
- package/esm2015/runtime/services/section-scope.service.js +36 -0
- package/esm2015/runtime/services/section-store.service.js +22 -0
- package/esm2015/runtime/services/section.service.js +124 -0
- package/esm2015/runtime/types/bound-data.types.js +7 -0
- package/esm2015/runtime/types/index.js +2 -0
- package/esm2015/runtime/types/runtime.types.js +2 -0
- package/esm2015/runtime/types/script-registry.types.js +51 -0
- package/esm2015/runtime/utils/line-item.util.js +273 -0
- package/esm2015/runtime/utils/section.utils.js +26 -0
- package/esm2015/runtime/utils/sections-binder.helper.js +105 -0
- package/esm2015/runtime/veloceapps-sdk-runtime.js +5 -0
- package/esm2015/src/components/dialog/dialog.component.js +30 -0
- package/esm2015/src/components/dialog/dialog.module.js +19 -0
- package/esm2015/src/components/dialog/dialog.types.js +2 -0
- package/esm2015/src/components/doc-gen/doc-gen.component.js +109 -0
- package/esm2015/src/components/doc-gen/doc-gen.module.js +19 -0
- package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +122 -0
- package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +46 -0
- package/esm2015/src/components/header/header.component.js +310 -0
- package/esm2015/src/components/header/header.module.js +50 -0
- package/esm2015/src/components/header/header.types.js +2 -0
- package/esm2015/src/components/header/metrics/index.js +2 -0
- package/esm2015/src/components/header/metrics/metrics.component.js +216 -0
- package/esm2015/src/components/header/metrics/metrics.definitions.js +9 -0
- package/esm2015/src/components/header/metrics/metrics.module.js +67 -0
- package/esm2015/src/constants.js +2 -0
- package/esm2015/src/flow-routing.module.js +137 -0
- package/esm2015/src/flow.component.js +45 -0
- package/esm2015/src/flow.module.js +60 -0
- package/esm2015/src/guards/context.guard.js +84 -0
- package/esm2015/src/guards/index.js +2 -0
- package/esm2015/src/guards/product-unload.guard.js +43 -0
- package/esm2015/src/guards/root.guard.js +41 -0
- package/esm2015/src/index.js +7 -0
- package/esm2015/src/pages/catalog/catalog.component.js +117 -0
- package/esm2015/src/pages/catalog/catalog.module.js +20 -0
- package/esm2015/src/pages/debug/debug.component.js +61 -0
- package/esm2015/src/pages/debug/debug.module.js +48 -0
- package/esm2015/src/pages/empty-account/empty-account.component.js +17 -0
- package/esm2015/src/pages/empty-account/empty-account.module.js +20 -0
- package/esm2015/src/pages/legacy-product/legacy-product.component.js +132 -0
- package/esm2015/src/pages/legacy-product/legacy-product.module.js +21 -0
- package/esm2015/src/pages/product/product.component.js +108 -0
- package/esm2015/src/pages/product/product.module.js +20 -0
- package/esm2015/src/pages/record-not-found/record-not-found.component.js +29 -0
- package/esm2015/src/pages/record-not-found/record-not-found.module.js +20 -0
- package/esm2015/src/pages/remote/remote.component.js +353 -0
- package/esm2015/src/pages/remote/remote.module.js +20 -0
- package/esm2015/src/pages/remote/remote.types.js +2 -0
- package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +117 -0
- package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +20 -0
- package/esm2015/src/resolvers/flow.resolver.js +62 -0
- package/esm2015/src/resolvers/quote.resolver.js +74 -0
- package/esm2015/src/services/doc-gen.service.js +33 -0
- package/esm2015/src/services/flow-dialog.service.js +123 -0
- package/esm2015/src/services/flow-router.service.js +136 -0
- package/esm2015/src/services/flow.service.js +77 -0
- package/esm2015/src/services/index.js +2 -0
- package/esm2015/src/types/context-route.types.js +2 -0
- package/esm2015/src/types/flow-customization.types.js +3 -0
- package/esm2015/src/types/index.js +3 -0
- package/esm2015/src/types/route.types.js +2 -0
- package/esm2015/src/utils/flow.utils.js +22 -0
- package/esm2015/src/utils/index.js +2 -0
- package/esm2015/veloceapps-sdk.js +5 -0
- package/fesm2015/veloceapps-sdk-cms.js +1443 -0
- package/fesm2015/veloceapps-sdk-cms.js.map +1 -0
- package/fesm2015/veloceapps-sdk-core.js +1035 -0
- package/fesm2015/veloceapps-sdk-core.js.map +1 -0
- package/fesm2015/veloceapps-sdk-runtime.js +3896 -0
- package/fesm2015/veloceapps-sdk-runtime.js.map +1 -0
- package/fesm2015/veloceapps-sdk.js +2758 -0
- package/fesm2015/veloceapps-sdk.js.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +50 -0
- package/runtime/components/component-preview/component-preview.component.d.ts +27 -0
- package/runtime/components/index.d.ts +4 -0
- package/runtime/components/section-renderer/section-renderer.component.d.ts +25 -0
- package/runtime/components/ui-runtime/runtime.component.d.ts +53 -0
- package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +27 -0
- package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +30 -0
- package/runtime/execution/components/context-provider/context-provider.component.d.ts +14 -0
- package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +25 -0
- package/runtime/execution/components/federated/federated.component.d.ts +36 -0
- package/runtime/execution/components/velo-attribute/velo-attribute.component.d.ts +19 -0
- package/runtime/execution/components/velo-multiselect/velo-multiselect.component.d.ts +35 -0
- package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +22 -0
- package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +22 -0
- package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +28 -0
- package/runtime/execution/components/velo-type/velo-type.component.d.ts +31 -0
- package/runtime/execution/directives/section-script.directive.d.ts +59 -0
- package/runtime/execution/directives/sf-query.directive.d.ts +15 -0
- package/runtime/execution/directives/velo-attribute.directive.d.ts +26 -0
- package/runtime/execution/directives/velo-port.directive.d.ts +74 -0
- package/runtime/execution/directives/vl-approval.directive.d.ts +10 -0
- package/runtime/execution/directives/vl-document-attachments.directive.d.ts +15 -0
- package/runtime/execution/directives/vl-document-templates.directive.d.ts +33 -0
- package/runtime/execution/directives/vl-quote.directive.d.ts +14 -0
- package/runtime/execution/directives/vl-ramp.directive.d.ts +15 -0
- package/runtime/execution/runtime-execution.module.d.ts +27 -0
- package/runtime/execution/utils/federated.util.d.ts +6 -0
- package/runtime/index.d.ts +4 -0
- package/runtime/package.json +10 -0
- package/runtime/runtime.module.d.ts +18 -0
- package/runtime/services/cart.service.d.ts +15 -0
- package/runtime/services/collapsible-state.service.d.ts +15 -0
- package/runtime/services/configuration.service.d.ts +19 -0
- package/runtime/services/current-state.service.d.ts +8 -0
- package/runtime/services/form-scope.service.d.ts +20 -0
- package/runtime/services/index.d.ts +3 -0
- package/runtime/services/product-model-cache.service.d.ts +14 -0
- package/runtime/services/runtime-context.service.d.ts +16 -0
- package/runtime/services/runtime-form.service.d.ts +24 -0
- package/runtime/services/runtime.service.d.ts +43 -0
- package/runtime/services/section-helper.service.d.ts +8 -0
- package/runtime/services/section-scope.service.d.ts +14 -0
- package/runtime/services/section-store.service.d.ts +11 -0
- package/runtime/services/section.service.d.ts +30 -0
- package/runtime/types/bound-data.types.d.ts +13 -0
- package/runtime/types/index.d.ts +1 -0
- package/runtime/types/runtime.types.d.ts +19 -0
- package/runtime/types/script-registry.types.d.ts +13 -0
- package/runtime/utils/line-item.util.d.ts +34 -0
- package/runtime/utils/section.utils.d.ts +2 -0
- package/runtime/utils/sections-binder.helper.d.ts +16 -0
- package/runtime/veloceapps-sdk-runtime.d.ts +5 -0
- package/src/components/dialog/dialog.component.d.ts +13 -0
- package/src/components/dialog/dialog.module.d.ts +9 -0
- package/src/components/dialog/dialog.types.d.ts +6 -0
- package/src/components/doc-gen/doc-gen.component.d.ts +26 -0
- package/src/components/doc-gen/doc-gen.module.d.ts +9 -0
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +36 -0
- package/src/components/header/cart-overlay/cart-preview.module.d.ts +14 -0
- package/src/components/header/header.component.d.ts +64 -0
- package/src/components/header/header.module.d.ts +15 -0
- package/src/components/header/header.types.d.ts +20 -0
- package/src/components/header/metrics/index.d.ts +1 -0
- package/src/components/header/metrics/metrics.component.d.ts +49 -0
- package/src/components/header/metrics/metrics.definitions.d.ts +4 -0
- package/src/components/header/metrics/metrics.module.d.ts +17 -0
- package/src/constants.d.ts +1 -0
- package/src/flow-routing.module.d.ts +13 -0
- package/src/flow.component.d.ts +23 -0
- package/src/flow.module.d.ts +16 -0
- package/src/guards/context.guard.d.ts +19 -0
- package/src/guards/index.d.ts +1 -0
- package/src/guards/product-unload.guard.d.ts +17 -0
- package/src/guards/root.guard.d.ts +15 -0
- package/src/index.d.ts +6 -0
- package/src/pages/catalog/catalog.component.d.ts +32 -0
- package/src/pages/catalog/catalog.module.d.ts +10 -0
- package/src/pages/debug/debug.component.d.ts +25 -0
- package/src/pages/debug/debug.module.d.ts +14 -0
- package/src/pages/empty-account/empty-account.component.d.ts +5 -0
- package/src/pages/empty-account/empty-account.module.d.ts +10 -0
- package/src/pages/legacy-product/legacy-product.component.d.ts +37 -0
- package/src/pages/legacy-product/legacy-product.module.d.ts +10 -0
- package/src/pages/product/product.component.d.ts +32 -0
- package/src/pages/product/product.module.d.ts +10 -0
- package/src/pages/record-not-found/record-not-found.component.d.ts +11 -0
- package/src/pages/record-not-found/record-not-found.module.d.ts +9 -0
- package/src/pages/remote/remote.component.d.ts +47 -0
- package/src/pages/remote/remote.module.d.ts +10 -0
- package/src/pages/remote/remote.types.d.ts +4 -0
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +32 -0
- package/src/pages/shopping-cart/shopping-cart.module.d.ts +10 -0
- package/src/resolvers/flow.resolver.d.ts +16 -0
- package/src/resolvers/quote.resolver.d.ts +20 -0
- package/src/services/doc-gen.service.d.ts +13 -0
- package/src/services/flow-dialog.service.d.ts +26 -0
- package/src/services/flow-router.service.d.ts +36 -0
- package/src/services/flow.service.d.ts +17 -0
- package/src/services/index.d.ts +1 -0
- package/src/types/context-route.types.d.ts +5 -0
- package/src/types/flow-customization.types.d.ts +11 -0
- package/src/types/index.d.ts +2 -0
- package/src/types/route.types.d.ts +9 -0
- package/src/utils/flow.utils.d.ts +8 -0
- package/src/utils/index.d.ts +1 -0
- package/veloceapps-sdk.d.ts +5 -0
@@ -0,0 +1,82 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
3
|
+
import { defaultOptions } from './default-options';
|
4
|
+
import { loadRemoteModule } from './federated.utils';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@veloceapps/components";
|
7
|
+
import * as i2 from "@angular/common";
|
8
|
+
export class FederatedComponent {
|
9
|
+
constructor(injector, compiler, appRef, renderer) {
|
10
|
+
this.injector = injector;
|
11
|
+
this.compiler = compiler;
|
12
|
+
this.appRef = appRef;
|
13
|
+
this.renderer = renderer;
|
14
|
+
this.isLoading$ = new BehaviorSubject(false);
|
15
|
+
// configs
|
16
|
+
this.suppressLoading = defaultOptions.suppressLoading;
|
17
|
+
this.loadingLabel = defaultOptions.loadingLabel;
|
18
|
+
}
|
19
|
+
ngOnChanges(changes) {
|
20
|
+
var _a, _b, _c, _d;
|
21
|
+
if (changes.data && this.instance) {
|
22
|
+
this.instance.data = this.data;
|
23
|
+
}
|
24
|
+
if (changes.options) {
|
25
|
+
this.suppressLoading = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.suppressLoading) !== null && _b !== void 0 ? _b : defaultOptions.suppressLoading;
|
26
|
+
this.loadingLabel = (_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.loadingLabel) !== null && _d !== void 0 ? _d : defaultOptions.loadingLabel;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
ngOnInit() {
|
30
|
+
this.isLoading$.next(true);
|
31
|
+
}
|
32
|
+
ngAfterViewInit() {
|
33
|
+
var _a, _b, _c, _d, _e, _f;
|
34
|
+
const remoteEntry = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.remoteEntry) !== null && _b !== void 0 ? _b : this.remoteEntry;
|
35
|
+
const remoteName = (_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.remoteName) !== null && _d !== void 0 ? _d : this.remoteName;
|
36
|
+
const exposedModule = (_f = (_e = this.options) === null || _e === void 0 ? void 0 : _e.exposedModule) !== null && _f !== void 0 ? _f : this.exposedModule;
|
37
|
+
if (!remoteEntry || !remoteName || !exposedModule) {
|
38
|
+
return;
|
39
|
+
}
|
40
|
+
loadRemoteModule(remoteEntry, remoteName, exposedModule).then(federated => {
|
41
|
+
this.compiler.compileModuleAsync(federated[exposedModule]).then(moduleFactory => {
|
42
|
+
var _a, _b, _c;
|
43
|
+
const rootModuleRef = moduleFactory.create(this.injector);
|
44
|
+
const rootComponentFactory = rootModuleRef.componentFactoryResolver.resolveComponentFactory(federated[exposedModule].rootComponent);
|
45
|
+
const node = document.createElement('div');
|
46
|
+
const { instance, hostView } = rootComponentFactory.create(this.injector, [], node);
|
47
|
+
this.instance = instance;
|
48
|
+
this.instance.data = this.data;
|
49
|
+
this.renderer.appendChild((_a = this.moduleHostRef) === null || _a === void 0 ? void 0 : _a.nativeElement, node);
|
50
|
+
this.appRef.attachView(hostView);
|
51
|
+
(_c = (_b = this.options) === null || _b === void 0 ? void 0 : _b.onReady) === null || _c === void 0 ? void 0 : _c.call(_b);
|
52
|
+
this.isLoading$.next(false);
|
53
|
+
});
|
54
|
+
});
|
55
|
+
}
|
56
|
+
}
|
57
|
+
FederatedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedComponent, deps: [{ token: i0.Injector }, { token: i0.Compiler }, { token: i0.ApplicationRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
58
|
+
FederatedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FederatedComponent, selector: "veloce-host-federated", inputs: { remoteEntry: "remoteEntry", remoteName: "remoteName", exposedModule: "exposedModule", data: "data", options: "options" }, viewQueries: [{ propertyName: "moduleHostRef", first: true, predicate: ["moduleHost"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #moduleHost></div>\n\n<vl-loader *ngIf=\"!suppressLoading && (isLoading$ | async)\" [label]=\"loadingLabel\"></vl-loader>\n", styles: [":host{display:block}div{height:100%}\n"], components: [{ type: i1.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedComponent, decorators: [{
|
60
|
+
type: Component,
|
61
|
+
args: [{
|
62
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
63
|
+
selector: 'veloce-host-federated',
|
64
|
+
templateUrl: './federated.component.html',
|
65
|
+
styleUrls: ['./federated.component.scss'],
|
66
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
67
|
+
}]
|
68
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.Compiler }, { type: i0.ApplicationRef }, { type: i0.Renderer2 }]; }, propDecorators: { moduleHostRef: [{
|
69
|
+
type: ViewChild,
|
70
|
+
args: ['moduleHost', { static: false }]
|
71
|
+
}], remoteEntry: [{
|
72
|
+
type: Input
|
73
|
+
}], remoteName: [{
|
74
|
+
type: Input
|
75
|
+
}], exposedModule: [{
|
76
|
+
type: Input
|
77
|
+
}], data: [{
|
78
|
+
type: Input
|
79
|
+
}], options: [{
|
80
|
+
type: Input
|
81
|
+
}] } });
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL2ZlZGVyYXRlZC9mZWRlcmF0ZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvZmVkZXJhdGVkL2ZlZGVyYXRlZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBU3JELE1BQU0sT0FBTyxrQkFBa0I7SUFpQjdCLFlBQ1UsUUFBa0IsRUFDbEIsUUFBa0IsRUFDbEIsTUFBc0IsRUFDdEIsUUFBbUI7UUFIbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFadEIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLFVBQVU7UUFDSCxvQkFBZSxHQUFHLGNBQWMsQ0FBQyxlQUFlLENBQUM7UUFDakQsaUJBQVksR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDO0lBUy9DLENBQUM7SUFFRyxXQUFXLENBQUMsT0FBc0I7O1FBQ3ZDLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJ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QUUsS0FBSyxFQUFFO2dCQUUxQixXQUFXO3NCQUExQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBBcHBsaWNhdGlvblJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBpbGVyLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuL2RlZmF1bHQtb3B0aW9ucyc7XG5pbXBvcnQgeyBGZWRlcmF0ZWRDb21wb25lbnRJbnN0YW5jZSwgRmVkZXJhdGVkTW9kdWxlT3B0aW9ucyB9IGZyb20gJy4vZmVkZXJhdGVkLnR5cGVzJztcbmltcG9ydCB7IGxvYWRSZW1vdGVNb2R1bGUgfSBmcm9tICcuL2ZlZGVyYXRlZC51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3ZlbG9jZS1ob3N0LWZlZGVyYXRlZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWRlcmF0ZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mZWRlcmF0ZWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZlZGVyYXRlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQFZpZXdDaGlsZCgnbW9kdWxlSG9zdCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgbW9kdWxlSG9zdFJlZj86IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgcHVibGljIHJlbW90ZUVudHJ5Pzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVtb3RlTmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGV4cG9zZWRNb2R1bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRhPzogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9ucz86IEZlZGVyYXRlZE1vZHVsZU9wdGlvbnM7XG5cbiAgcHVibGljIGlzTG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAvLyBjb25maWdzXG4gIHB1YmxpYyBzdXBwcmVzc0xvYWRpbmcgPSBkZWZhdWx0T3B0aW9ucy5zdXBwcmVzc0xvYWRpbmc7XG4gIHB1YmxpYyBsb2FkaW5nTGFiZWwgPSBkZWZhdWx0T3B0aW9ucy5sb2FkaW5nTGFiZWw7XG5cbiAgcHJpdmF0ZSBpbnN0YW5jZT86IEZlZGVyYXRlZENvbXBvbmVudEluc3RhbmNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEgJiYgdGhpcy5pbnN0YW5jZSkge1xuICAgICAgdGhpcy5pbnN0YW5jZS5kYXRhID0gdGhpcy5kYXRhO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLm9wdGlvbnMpIHtcbiAgICAgIHRoaXMuc3VwcHJlc3NMb2FkaW5nID0gdGhpcy5vcHRpb25zPy5zdXBwcmVzc0xvYWRpbmcgPz8gZGVmYXVsdE9wdGlvbnMuc3VwcHJlc3NMb2FkaW5nO1xuICAgICAgdGhpcy5sb2FkaW5nTGFiZWwgPSB0aGlzLm9wdGlvbnM/LmxvYWRpbmdMYWJlbCA/PyBkZWZhdWx0T3B0aW9ucy5sb2FkaW5nTGFiZWw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNMb2FkaW5nJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCByZW1vdGVFbnRyeSA9IHRoaXMub3B0aW9ucz8ucmVtb3RlRW50cnkgPz8gdGhpcy5yZW1vdGVFbnRyeTtcbiAgICBjb25zdCByZW1vdGVOYW1lID0gdGhpcy5vcHRpb25zPy5yZW1vdGVOYW1lID8/IHRoaXMucmVtb3RlTmFtZTtcbiAgICBjb25zdCBleHBvc2VkTW9kdWxlID0gdGhpcy5vcHRpb25zPy5leHBvc2VkTW9kdWxlID8/IHRoaXMuZXhwb3NlZE1vZHVsZTtcblxuICAgIGlmICghcmVtb3RlRW50cnkgfHwgIXJlbW90ZU5hbWUgfHwgIWV4cG9zZWRNb2R1bGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2FkUmVtb3RlTW9kdWxlKHJlbW90ZUVudHJ5LCByZW1vdGVOYW1lLCBleHBvc2VkTW9kdWxlKS50aGVuKGZlZGVyYXRlZCA9PiB7XG4gICAgICB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyhmZWRlcmF0ZWRbZXhwb3NlZE1vZHVsZSBhcyBzdHJpbmddKS50aGVuKG1vZHVsZUZhY3RvcnkgPT4ge1xuICAgICAgICBjb25zdCByb290TW9kdWxlUmVmID0gbW9kdWxlRmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IHJvb3RDb21wb25lbnRGYWN0b3J5ID0gcm9vdE1vZHVsZVJlZi5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICAgICAgZmVkZXJhdGVkW2V4cG9zZWRNb2R1bGUgYXMgc3RyaW5nXS5yb290Q29tcG9uZW50LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnN0IHsgaW5zdGFuY2UsIGhvc3RWaWV3IH0gPSByb290Q29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3RvciwgW10sIG5vZGUpO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZSBhcyBGZWRlcmF0ZWRDb21wb25lbnRJbnN0YW5jZTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5kYXRhID0gdGhpcy5kYXRhO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5tb2R1bGVIb3N0UmVmPy5uYXRpdmVFbGVtZW50LCBub2RlKTtcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhob3N0Vmlldyk7XG5cbiAgICAgICAgdGhpcy5vcHRpb25zPy5vblJlYWR5Py4oKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgI21vZHVsZUhvc3Q+PC9kaXY+XG5cbjx2bC1sb2FkZXIgKm5nSWY9XCIhc3VwcHJlc3NMb2FkaW5nICYmIChpc0xvYWRpbmckIHwgYXN5bmMpXCIgW2xhYmVsXT1cImxvYWRpbmdMYWJlbFwiPjwvdmwtbG9hZGVyPlxuIl19
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { NgModule } from '@angular/core';
|
3
|
+
import { LoaderModule } from '@veloceapps/components';
|
4
|
+
import { FederatedComponent } from './federated.component';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export class FederatedModule {
|
7
|
+
}
|
8
|
+
FederatedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
+
FederatedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedModule, declarations: [FederatedComponent], imports: [CommonModule, LoaderModule], exports: [FederatedComponent] });
|
10
|
+
FederatedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedModule, imports: [[CommonModule, LoaderModule]] });
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FederatedModule, decorators: [{
|
12
|
+
type: NgModule,
|
13
|
+
args: [{
|
14
|
+
declarations: [FederatedComponent],
|
15
|
+
imports: [CommonModule, LoaderModule],
|
16
|
+
exports: [FederatedComponent],
|
17
|
+
}]
|
18
|
+
}] });
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL2ZlZGVyYXRlZC9mZWRlcmF0ZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLGVBQWU7OzZHQUFmLGVBQWU7OEdBQWYsZUFBZSxpQkFKWCxrQkFBa0IsYUFDdkIsWUFBWSxFQUFFLFlBQVksYUFDMUIsa0JBQWtCOzhHQUVqQixlQUFlLFlBSGpCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQzs0RkFHMUIsZUFBZTtrQkFMM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkZXJNb2R1bGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IEZlZGVyYXRlZENvbXBvbmVudCB9IGZyb20gJy4vZmVkZXJhdGVkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0ZlZGVyYXRlZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIExvYWRlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtGZWRlcmF0ZWRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWRlcmF0ZWRNb2R1bGUge31cbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvZmVkZXJhdGVkL2ZlZGVyYXRlZC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRmVkZXJhdGVkTW9kdWxlT3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFVSTCB0byB0aGUgZmVkZXJhdGVkIGNvbnRhaW5lclxuICAgKiBpLmUuIGh0dHA6Ly9sb2NhbGhvc3Q6NDIwMC9yZW1vdGVJbnRlZ3JhdGlvbk1vZHVsZS5qc1xuICAgKi9cbiAgcmVtb3RlRW50cnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBmZWRlcmF0ZWQgY29udGFpbmVyXG4gICAqL1xuICByZW1vdGVOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogTmFtZSBvZiBleHBvc2VkIEFuZ3VsYXIgbW9kdWxlXG4gICAqL1xuICBleHBvc2VkTW9kdWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdXBwcmVzcyByZW1vdGUgbW9kdWxlIGxvYWRpbmcgcHJvY2VzcyBzcGlubmVyXG4gICAqL1xuICBzdXBwcmVzc0xvYWRpbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogTG9hZGluZyBsYWJlbC4gRGVmYXVsdDogTE9BRElOR1xuICAgKi9cbiAgbG9hZGluZ0xhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWFkeSBjYWxsYmFjayBpcyBjYWxsZWQgd2hlbiByZW1vdGUgbW9kdWxlIGhhcyBiZWVuIGxvYWRlZFxuICAgKi9cbiAgb25SZWFkeT86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZlZGVyYXRlZENvbXBvbmVudEluc3RhbmNlPEQgPSB1bmtub3duPiB7XG4gIGRhdGE/OiBEO1xufVxuIl19
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { __awaiter } from "tslib";
|
2
|
+
const moduleMap = {};
|
3
|
+
function loadRemoteEntry(remoteEntry) {
|
4
|
+
return new Promise((resolve, reject) => {
|
5
|
+
if (moduleMap[remoteEntry]) {
|
6
|
+
resolve();
|
7
|
+
return;
|
8
|
+
}
|
9
|
+
const script = document.createElement('script');
|
10
|
+
script.src = remoteEntry;
|
11
|
+
script.onerror = reject;
|
12
|
+
script.onload = () => {
|
13
|
+
moduleMap[remoteEntry] = true;
|
14
|
+
resolve(); // window is the global namespace
|
15
|
+
};
|
16
|
+
document.body.append(script);
|
17
|
+
});
|
18
|
+
}
|
19
|
+
function lookupExposedModule(remoteName, exposedModule) {
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
21
|
+
// Initializes the share scope. This fills it with known provided modules from this build and all remotes
|
22
|
+
yield __webpack_init_sharing__('default');
|
23
|
+
const container = window[remoteName]; // or get the container somewhere else
|
24
|
+
// Initialize the container, it may provide shared modules
|
25
|
+
yield container.init(__webpack_share_scopes__.default);
|
26
|
+
const factory = yield container.get(exposedModule);
|
27
|
+
const Module = factory();
|
28
|
+
return Module;
|
29
|
+
});
|
30
|
+
}
|
31
|
+
export function loadRemoteModule(remoteEntry, remoteName, exposedModule) {
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
33
|
+
yield loadRemoteEntry(remoteEntry);
|
34
|
+
return yield lookupExposedModule(remoteName, exposedModule);
|
35
|
+
});
|
36
|
+
}
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvZmVkZXJhdGVkL2ZlZGVyYXRlZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBYUEsTUFBTSxTQUFTLEdBQXdCLEVBQUUsQ0FBQztBQUUxQyxTQUFTLGVBQWUsQ0FBQyxXQUFtQjtJQUMxQyxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzNDLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzFCLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNSO1FBRUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztRQUV6QixNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV4QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQVMsRUFBRTtZQUN6QixTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzlCLE9BQU8sRUFBRSxDQUFDLENBQUMsaUNBQWlDO1FBQzlDLENBQUMsQ0FBQztRQUVGLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQWUsbUJBQW1CLENBQUMsVUFBa0IsRUFBRSxhQUFxQjs7UUFDMUUseUdBQXlHO1FBQ3pHLE1BQU0sd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUksTUFBYyxDQUFDLFVBQVUsQ0FBYyxDQUFDLENBQUMsc0NBQXNDO1FBQ2xHLDBEQUEwRDtRQUUxRCxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsTUFBTSxPQUFPLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FBQTtBQUVELE1BQU0sVUFBZ0IsZ0JBQWdCLENBQUMsV0FBbUIsRUFBRSxVQUFrQixFQUFFLGFBQXFCOztRQUNuRyxNQUFNLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuQyxPQUFPLE1BQU0sbUJBQW1CLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuXG50eXBlIFNjb3BlID0gdW5rbm93bjtcbnR5cGUgRmFjdG9yeSA9ICgpID0+IGFueTtcblxudHlwZSBDb250YWluZXIgPSB7XG4gIGluaXQoc2hhcmVTY29wZTogU2NvcGUpOiB2b2lkO1xuICBnZXQobW9kdWxlOiBzdHJpbmcpOiBGYWN0b3J5O1xufTtcblxuZGVjbGFyZSBjb25zdCBfX3dlYnBhY2tfaW5pdF9zaGFyaW5nX186IChzaGFyZVNjb3BlOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG5kZWNsYXJlIGNvbnN0IF9fd2VicGFja19zaGFyZV9zY29wZXNfXzogeyBkZWZhdWx0OiBTY29wZSB9O1xuXG5jb25zdCBtb2R1bGVNYXA6IERpY3Rpb25hcnk8Ym9vbGVhbj4gPSB7fTtcblxuZnVuY3Rpb24gbG9hZFJlbW90ZUVudHJ5KHJlbW90ZUVudHJ5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAobW9kdWxlTWFwW3JlbW90ZUVudHJ5XSkge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHNjcmlwdC5zcmMgPSByZW1vdGVFbnRyeTtcblxuICAgIHNjcmlwdC5vbmVycm9yID0gcmVqZWN0O1xuXG4gICAgc2NyaXB0Lm9ubG9hZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgIG1vZHVsZU1hcFtyZW1vdGVFbnRyeV0gPSB0cnVlO1xuICAgICAgcmVzb2x2ZSgpOyAvLyB3aW5kb3cgaXMgdGhlIGdsb2JhbCBuYW1lc3BhY2VcbiAgICB9O1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoc2NyaXB0KTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvb2t1cEV4cG9zZWRNb2R1bGUocmVtb3RlTmFtZTogc3RyaW5nLCBleHBvc2VkTW9kdWxlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAvLyBJbml0aWFsaXplcyB0aGUgc2hhcmUgc2NvcGUuIFRoaXMgZmlsbHMgaXQgd2l0aCBrbm93biBwcm92aWRlZCBtb2R1bGVzIGZyb20gdGhpcyBidWlsZCBhbmQgYWxsIHJlbW90ZXNcbiAgYXdhaXQgX193ZWJwYWNrX2luaXRfc2hhcmluZ19fKCdkZWZhdWx0Jyk7XG4gIGNvbnN0IGNvbnRhaW5lciA9ICh3aW5kb3cgYXMgYW55KVtyZW1vdGVOYW1lXSBhcyBDb250YWluZXI7IC8vIG9yIGdldCB0aGUgY29udGFpbmVyIHNvbWV3aGVyZSBlbHNlXG4gIC8vIEluaXRpYWxpemUgdGhlIGNvbnRhaW5lciwgaXQgbWF5IHByb3ZpZGUgc2hhcmVkIG1vZHVsZXNcblxuICBhd2FpdCBjb250YWluZXIuaW5pdChfX3dlYnBhY2tfc2hhcmVfc2NvcGVzX18uZGVmYXVsdCk7XG4gIGNvbnN0IGZhY3RvcnkgPSBhd2FpdCBjb250YWluZXIuZ2V0KGV4cG9zZWRNb2R1bGUpO1xuICBjb25zdCBNb2R1bGUgPSBmYWN0b3J5KCk7XG4gIHJldHVybiBNb2R1bGU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkUmVtb3RlTW9kdWxlKHJlbW90ZUVudHJ5OiBzdHJpbmcsIHJlbW90ZU5hbWU6IHN0cmluZywgZXhwb3NlZE1vZHVsZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgYXdhaXQgbG9hZFJlbW90ZUVudHJ5KHJlbW90ZUVudHJ5KTtcblxuICByZXR1cm4gYXdhaXQgbG9va3VwRXhwb3NlZE1vZHVsZShyZW1vdGVOYW1lLCBleHBvc2VkTW9kdWxlKTtcbn1cbiJdfQ==
|
@@ -0,0 +1,98 @@
|
|
1
|
+
import { Directive } from '@angular/core';
|
2
|
+
import { ConfigurationService, generateLineItem, getAttributeValue, LineItemWorker } from '@veloceapps/sdk/core';
|
3
|
+
import { map, Subject, takeUntil } from 'rxjs';
|
4
|
+
import { ELEMENT_METADATA } from '../injection-tokens';
|
5
|
+
import { parseBoundPath } from '../utils/path.utils';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export class ConfigurationPlugin {
|
8
|
+
constructor(host) {
|
9
|
+
var _a, _b;
|
10
|
+
this.host = host;
|
11
|
+
this.destroy$ = new Subject();
|
12
|
+
this.elementMetadata = this.host.injector.get(ELEMENT_METADATA);
|
13
|
+
this.configurationService = this.host.injector.get(ConfigurationService);
|
14
|
+
if ((_a = this.elementMetadata.model) === null || _a === void 0 ? void 0 : _a.lineItem) {
|
15
|
+
this.host.model$.pipe(takeUntil(this.destroy$)).subscribe(model => (this.modelSnapshot = model));
|
16
|
+
const pathBlocks = parseBoundPath((_b = this.elementMetadata.model) === null || _b === void 0 ? void 0 : _b.lineItem);
|
17
|
+
const { type, property, name } = pathBlocks.reverse()[0];
|
18
|
+
this.host.boundName = name !== null && name !== void 0 ? name : type;
|
19
|
+
this.register(type, property, name);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
ngOnDestroy() {
|
23
|
+
this.destroy$.next();
|
24
|
+
this.destroy$.complete();
|
25
|
+
}
|
26
|
+
register(type, property, name) {
|
27
|
+
if (!type) {
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
if (!property) {
|
31
|
+
this.registerType();
|
32
|
+
}
|
33
|
+
else if (property === 'ports' && name) {
|
34
|
+
this.registerPort(name);
|
35
|
+
}
|
36
|
+
else if (property === 'attributes' && name) {
|
37
|
+
this.registerAttribute(name);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
registerType() {
|
41
|
+
const remove = () => {
|
42
|
+
const rootLineItem = this.configurationService.getSnapshot();
|
43
|
+
if (!rootLineItem || !this.modelSnapshot) {
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
this.configurationService.patch(new LineItemWorker(rootLineItem).remove(this.modelSnapshot.id).li);
|
47
|
+
};
|
48
|
+
this.typeHost.remove = remove;
|
49
|
+
}
|
50
|
+
registerPort(name) {
|
51
|
+
const model$ = this.host.model$;
|
52
|
+
const portItems$ = model$.pipe(map(model => { var _a; return (_a = model === null || model === void 0 ? void 0 : model.lineItems.filter(li => li.port === this.host.boundName)) !== null && _a !== void 0 ? _a : []; }));
|
53
|
+
const portDomain$ = model$.pipe(map(model => model === null || model === void 0 ? void 0 : model.portDomains[this.host.boundName]));
|
54
|
+
const add = (type, attributes = []) => {
|
55
|
+
if (!this.modelSnapshot) {
|
56
|
+
return;
|
57
|
+
}
|
58
|
+
const portDomain = this.modelSnapshot.portDomains[name];
|
59
|
+
if (!portDomain) {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
const generated = generateLineItem(portDomain.name, type, this.modelSnapshot.id, attributes);
|
63
|
+
this.configurationService.patch(new LineItemWorker(this.modelSnapshot).insert(this.modelSnapshot.id, generated).li);
|
64
|
+
};
|
65
|
+
this.portHost.portItems$ = portItems$;
|
66
|
+
this.portHost.portDomain$ = portDomain$;
|
67
|
+
this.portHost.addPortItem = add;
|
68
|
+
}
|
69
|
+
registerAttribute(name) {
|
70
|
+
if (!this.host.model$) {
|
71
|
+
return;
|
72
|
+
}
|
73
|
+
const value$ = this.host.model$.pipe(map(model => { var _a; return getAttributeValue((_a = model === null || model === void 0 ? void 0 : model.attributes) !== null && _a !== void 0 ? _a : [], name); }));
|
74
|
+
const patch = (value) => {
|
75
|
+
if (!this.modelSnapshot) {
|
76
|
+
return;
|
77
|
+
}
|
78
|
+
this.configurationService.patch(new LineItemWorker(this.modelSnapshot).patchAttribute([{ name, value }]).li);
|
79
|
+
};
|
80
|
+
this.attributeHost.value$ = value$;
|
81
|
+
this.attributeHost.patch = patch;
|
82
|
+
}
|
83
|
+
get attributeHost() {
|
84
|
+
return this.host;
|
85
|
+
}
|
86
|
+
get typeHost() {
|
87
|
+
return this.host;
|
88
|
+
}
|
89
|
+
get portHost() {
|
90
|
+
return this.host;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
ConfigurationPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationPlugin, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
94
|
+
ConfigurationPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: ConfigurationPlugin, ngImport: i0 });
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationPlugin, decorators: [{
|
96
|
+
type: Directive
|
97
|
+
}], ctorParameters: function () { return [{ type: undefined }]; } });
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvcGx1Z2lucy9jb25maWd1cmF0aW9uLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUdyRCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW1CLElBQTZDOztRQUE3QyxTQUFJLEdBQUosSUFBSSxDQUF5QztRQUx4RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1yQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxJQUFJLE1BQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLDBDQUFFLFFBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FB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QUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRyxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFZLGFBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBMkMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQXNDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFzQyxDQUFDO0lBQ3JELENBQUM7O2lIQTdHVSxtQkFBbUI7cUdBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSwgZ2VuZXJhdGVMaW5lSXRlbSwgZ2V0QXR0cmlidXRlVmFsdWUsIExpbmVJdGVtV29ya2VyIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBsdWdpbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFTEVNRU5UX01FVEFEQVRBIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVFbGVtZW50LCBDb25maWd1cmF0aW9uRWxlbWVudCwgUG9ydEVsZW1lbnQsIFR5cGVFbGVtZW50IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IHBhcnNlQm91bmRQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcGF0aC51dGlscyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25QbHVnaW4gaW1wbGVtZW50cyBQbHVnaW5Db21wb25lbnQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbW9kZWxTbmFwc2hvdD86IExpbmVJdGVtO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIGVsZW1lbnRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhO1xuICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaG9zdDogRWxlbWVudENvbXBvbmVudCAmIENvbmZpZ3VyYXRpb25FbGVtZW50KSB7XG4gICAgdGhpcy5lbGVtZW50TWV0YWRhdGEgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KEVMRU1FTlRfTUVUQURBVEEpO1xuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KENvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcblxuICAgIGlmICh0aGlzLmVsZW1lbnRNZXRhZGF0YS5tb2RlbD8ubGluZUl0ZW0pIHtcbiAgICAgIHRoaXMuaG9zdC5tb2RlbCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShtb2RlbCA9PiAodGhpcy5tb2RlbFNuYXBzaG90ID0gbW9kZWwpKTtcblxuICAgICAgY29uc3QgcGF0aEJsb2NrcyA9IHBhcnNlQm91bmRQYXRoKHRoaXMuZWxlbWVudE1ldGFkYXRhLm1vZGVsPy5saW5lSXRlbSk7XG4gICAgICBjb25zdCB7IHR5cGUsIHByb3BlcnR5LCBuYW1lIH0gPSBwYXRoQmxvY2tzLnJldmVyc2UoKVswXTtcblxuICAgICAgdGhpcy5ob3N0LmJvdW5kTmFtZSA9IG5hbWUgPz8gdHlwZTtcblxuICAgICAgdGhpcy5yZWdpc3Rlcih0eXBlLCBwcm9wZXJ0eSwgbmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXIodHlwZT86IHN0cmluZywgcHJvcGVydHk/OiBzdHJpbmcsIG5hbWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyVHlwZSgpO1xuICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT09ICdwb3J0cycgJiYgbmFtZSkge1xuICAgICAgdGhpcy5yZWdpc3RlclBvcnQobmFtZSk7XG4gICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PT0gJ2F0dHJpYnV0ZXMnICYmIG5hbWUpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJBdHRyaWJ1dGUobmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclR5cGUoKTogdm9pZCB7XG4gICAgY29uc3QgcmVtb3ZlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3Qgcm9vdExpbmVJdGVtID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXRTbmFwc2hvdCgpO1xuICAgICAgaWYgKCFyb290TGluZUl0ZW0gfHwgIXRoaXMubW9kZWxTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnBhdGNoKG5ldyBMaW5lSXRlbVdvcmtlcihyb290TGluZUl0ZW0pLnJlbW92ZSh0aGlzLm1vZGVsU25hcHNob3QuaWQpLmxpKTtcbiAgICB9O1xuXG4gICAgdGhpcy50eXBlSG9zdC5yZW1vdmUgPSByZW1vdmU7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyUG9ydChuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtb2RlbCQgPSB0aGlzLmhvc3QubW9kZWwkIGFzIE9ic2VydmFibGU8TGluZUl0ZW0gfCB1bmRlZmluZWQ+O1xuXG4gICAgY29uc3QgcG9ydEl0ZW1zJCA9IG1vZGVsJC5waXBlKG1hcChtb2RlbCA9PiBtb2RlbD8ubGluZUl0ZW1zLmZpbHRlcihsaSA9PiBsaS5wb3J0ID09PSB0aGlzLmhvc3QuYm91bmROYW1lKSA/PyBbXSkpO1xuICAgIGNvbnN0IHBvcnREb21haW4kID0gbW9kZWwkLnBpcGUobWFwKG1vZGVsID0+IG1vZGVsPy5wb3J0RG9tYWluc1t0aGlzLmhvc3QuYm91bmROYW1lXSkpO1xuXG4gICAgY29uc3QgYWRkID0gKHR5cGU6IHN0cmluZywgYXR0cmlidXRlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdID0gW10pOiB2b2lkID0+IHtcbiAgICAgIGlmICghdGhpcy5tb2RlbFNuYXBzaG90KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcG9ydERvbWFpbiA9IHRoaXMubW9kZWxTbmFwc2hvdC5wb3J0RG9tYWluc1tuYW1lXTtcbiAgICAgIGlmICghcG9ydERvbWFpbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGdlbmVyYXRlZCA9IGdlbmVyYXRlTGluZUl0ZW0ocG9ydERvbWFpbi5uYW1lLCB0eXBlLCB0aGlzLm1vZGVsU25hcHNob3QuaWQsIGF0dHJpYnV0ZXMpO1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5wYXRjaChcbiAgICAgICAgbmV3IExpbmVJdGVtV29ya2VyKHRoaXMubW9kZWxTbmFwc2hvdCkuaW5zZXJ0KHRoaXMubW9kZWxTbmFwc2hvdC5pZCwgZ2VuZXJhdGVkKS5saSxcbiAgICAgICk7XG4gICAgfTtcblxuICAgIHRoaXMucG9ydEhvc3QucG9ydEl0ZW1zJCA9IHBvcnRJdGVtcyQ7XG4gICAgdGhpcy5wb3J0SG9zdC5wb3J0RG9tYWluJCA9IHBvcnREb21haW4kO1xuICAgIHRoaXMucG9ydEhvc3QuYWRkUG9ydEl0ZW0gPSBhZGQ7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyQXR0cmlidXRlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ob3N0Lm1vZGVsJCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlJCA9IHRoaXMuaG9zdC5tb2RlbCQucGlwZShtYXAobW9kZWwgPT4gZ2V0QXR0cmlidXRlVmFsdWUobW9kZWw/LmF0dHJpYnV0ZXMgPz8gW10sIG5hbWUpKSk7XG5cbiAgICBjb25zdCBwYXRjaCA9ICh2YWx1ZTogYW55KTogdm9pZCA9PiB7XG4gICAgICBpZiAoIXRoaXMubW9kZWxTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnBhdGNoKG5ldyBMaW5lSXRlbVdvcmtlcih0aGlzLm1vZGVsU25hcHNob3QpLnBhdGNoQXR0cmlidXRlKFt7IG5hbWUsIHZhbHVlIH1dKS5saSk7XG4gICAgfTtcblxuICAgIHRoaXMuYXR0cmlidXRlSG9zdC52YWx1ZSQgPSB2YWx1ZSQ7XG4gICAgdGhpcy5hdHRyaWJ1dGVIb3N0LnBhdGNoID0gcGF0Y2g7XG4gIH1cblxuICBwcml2YXRlIGdldCBhdHRyaWJ1dGVIb3N0KCk6IEVsZW1lbnRDb21wb25lbnQgJiBBdHRyaWJ1dGVFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBBdHRyaWJ1dGVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHlwZUhvc3QoKTogRWxlbWVudENvbXBvbmVudCAmIFR5cGVFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5ob3N0IGFzIEVsZW1lbnRDb21wb25lbnQgJiBUeXBlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHBvcnRIb3N0KCk6IEVsZW1lbnRDb21wb25lbnQgJiBQb3J0RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdCBhcyBFbGVtZW50Q29tcG9uZW50ICYgUG9ydEVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { Directive } from '@angular/core';
|
2
|
+
import { ELEMENT_METADATA } from '../injection-tokens';
|
3
|
+
import { IOProviderService } from '../services/io-provider.service';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "../components/element.component";
|
6
|
+
export class IOPlugin {
|
7
|
+
constructor(host) {
|
8
|
+
var _a, _b;
|
9
|
+
this.host = host;
|
10
|
+
const elementMetadata = this.host.injector.get(ELEMENT_METADATA);
|
11
|
+
const inputProvider = this.host.injector.get(IOProviderService);
|
12
|
+
const inputs = Object.entries((_a = elementMetadata.inputs) !== null && _a !== void 0 ? _a : {});
|
13
|
+
const outputs = Object.entries((_b = elementMetadata.outputs) !== null && _b !== void 0 ? _b : {});
|
14
|
+
inputs.forEach(([key, path]) => {
|
15
|
+
var _a;
|
16
|
+
if (path && typeof path !== 'string') {
|
17
|
+
console.error(`The value of '${key}' input should be a string`);
|
18
|
+
}
|
19
|
+
if (((_a = elementMetadata.outputs) === null || _a === void 0 ? void 0 : _a[key]) !== undefined) {
|
20
|
+
console.warn(`'${key}' appears both in inputs and outputs. To prevent inconsistent behavior please keep them unique `);
|
21
|
+
}
|
22
|
+
this.host[key] = inputProvider.connect(elementMetadata, key, path);
|
23
|
+
});
|
24
|
+
outputs.forEach(([key, path]) => {
|
25
|
+
if (path && typeof path !== 'string') {
|
26
|
+
console.error(`The value of '${key}' output should be a string`);
|
27
|
+
}
|
28
|
+
this.host[key] = inputProvider.provide(elementMetadata, key, path);
|
29
|
+
});
|
30
|
+
}
|
31
|
+
}
|
32
|
+
IOPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
33
|
+
IOPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: IOPlugin, ngImport: i0 });
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOPlugin, decorators: [{
|
35
|
+
type: Directive
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8ucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3BsdWdpbnMvaW8ucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUlwRSxNQUFNLE9BQU8sUUFBUTtJQUNuQixZQUFtQixJQUFzQjs7UUFBdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDdkMsTUFBTSxlQUFlLEdBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sYUFBYSxHQUFzQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVuRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQUEsZUFBZSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFBLGVBQWUsQ0FBQyxPQUFPLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFOztZQUM3QixJQUFJLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsNEJBQTRCLENBQUMsQ0FBQzthQUNqRTtZQUVELElBQUksQ0FBQSxNQUFBLGVBQWUsQ0FBQyxPQUFPLDBDQUFHLEdBQUcsQ0FBQyxNQUFLLFNBQVMsRUFBRTtnQkFDaEQsT0FBTyxDQUFDLElBQUksQ0FDVixJQUFJLEdBQUcsaUdBQWlHLENBQ3pHLENBQUM7YUFDSDtZQUVBLElBQUksQ0FBQyxJQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDOUIsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLDZCQUE2QixDQUFDLENBQUM7YUFDbEU7WUFFQSxJQUFJLENBQUMsSUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3NHQTdCVSxRQUFROzBGQUFSLFFBQVE7NEZBQVIsUUFBUTtrQkFEcEIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGx1Z2luQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9wbHVnaW4uY29tcG9uZW50JztcbmltcG9ydCB7IEVMRU1FTlRfTUVUQURBVEEgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBJT1BsdWdpbiBpbXBsZW1lbnRzIFBsdWdpbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBob3N0OiBFbGVtZW50Q29tcG9uZW50KSB7XG4gICAgY29uc3QgZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KEVMRU1FTlRfTUVUQURBVEEpO1xuICAgIGNvbnN0IGlucHV0UHJvdmlkZXI6IElPUHJvdmlkZXJTZXJ2aWNlID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChJT1Byb3ZpZGVyU2VydmljZSk7XG5cbiAgICBjb25zdCBpbnB1dHMgPSBPYmplY3QuZW50cmllcyhlbGVtZW50TWV0YWRhdGEuaW5wdXRzID8/IHt9KTtcbiAgICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMoZWxlbWVudE1ldGFkYXRhLm91dHB1dHMgPz8ge30pO1xuXG4gICAgaW5wdXRzLmZvckVhY2goKFtrZXksIHBhdGhdKSA9PiB7XG4gICAgICBpZiAocGF0aCAmJiB0eXBlb2YgcGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgVGhlIHZhbHVlIG9mICcke2tleX0nIGlucHV0IHNob3VsZCBiZSBhIHN0cmluZ2ApO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWxlbWVudE1ldGFkYXRhLm91dHB1dHM/LltrZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGAnJHtrZXl9JyBhcHBlYXJzIGJvdGggaW4gaW5wdXRzIGFuZCBvdXRwdXRzLiBUbyBwcmV2ZW50IGluY29uc2lzdGVudCBiZWhhdmlvciBwbGVhc2Uga2VlcCB0aGVtIHVuaXF1ZSBgLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAodGhpcy5ob3N0IGFzIGFueSlba2V5XSA9IGlucHV0UHJvdmlkZXIuY29ubmVjdChlbGVtZW50TWV0YWRhdGEsIGtleSwgcGF0aCk7XG4gICAgfSk7XG5cbiAgICBvdXRwdXRzLmZvckVhY2goKFtrZXksIHBhdGhdKSA9PiB7XG4gICAgICBpZiAocGF0aCAmJiB0eXBlb2YgcGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgVGhlIHZhbHVlIG9mICcke2tleX0nIG91dHB1dCBzaG91bGQgYmUgYSBzdHJpbmdgKTtcbiAgICAgIH1cblxuICAgICAgKHRoaXMuaG9zdCBhcyBhbnkpW2tleV0gPSBpbnB1dFByb3ZpZGVyLnByb3ZpZGUoZWxlbWVudE1ldGFkYXRhLCBrZXksIHBhdGgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { Directive } from '@angular/core';
|
3
|
+
import { UUID } from '@veloceapps/core';
|
4
|
+
import { ELEMENT_METADATA, SHARED_ELEMENT_METADATA, VENDOR_MAP } from '../injection-tokens';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "../components/element.component";
|
7
|
+
export class ScriptPlugin {
|
8
|
+
constructor(host) {
|
9
|
+
this.host = host;
|
10
|
+
this.normalizeImports = (script, elementPath) => {
|
11
|
+
const regexp = new RegExp(`import([ \\n\\t]*(?:[^ \\n\\t\\{\\}]+[ \\n\\t]*,?)?(?:[ \\n\\t]*\\{(?:[ \\n\\t]*[^ \\n\\t"'\\{\\}]+[ \\n\\t]*,?)+\\})?[ \\n\\t]*)from[ \\n\\t]*(['"])([^'"\\n]+)(?:['"]);`, 'g');
|
12
|
+
const result = script.replace(regexp, (match, g1, g2, src) => {
|
13
|
+
const imports = g1
|
14
|
+
.trim()
|
15
|
+
.slice(1, -1)
|
16
|
+
.split(',')
|
17
|
+
.map(item => item.trim());
|
18
|
+
imports.forEach(item => {
|
19
|
+
var _a;
|
20
|
+
if (!((_a = this.vendorMap[src]) === null || _a === void 0 ? void 0 : _a[item])) {
|
21
|
+
throw new Error(`Failed to import ${item} from '${src}' in ${elementPath}/script.ts`);
|
22
|
+
}
|
23
|
+
});
|
24
|
+
return `const ${g1} = vendor['${src}'];`;
|
25
|
+
});
|
26
|
+
return result;
|
27
|
+
};
|
28
|
+
this.document = this.host.injector.get(DOCUMENT);
|
29
|
+
this.vendorMap = this.host.injector.get(VENDOR_MAP);
|
30
|
+
const elementMetadata = this.host.injector.get(ELEMENT_METADATA);
|
31
|
+
const sharedElementMetadata = this.host.injector.get(SHARED_ELEMENT_METADATA);
|
32
|
+
this.addScript(sharedElementMetadata);
|
33
|
+
this.addScript(elementMetadata);
|
34
|
+
}
|
35
|
+
addScript(metadata) {
|
36
|
+
var _a;
|
37
|
+
if (!(metadata === null || metadata === void 0 ? void 0 : metadata.script)) {
|
38
|
+
return;
|
39
|
+
}
|
40
|
+
const id = btoa(UUID.UUID());
|
41
|
+
const script = this.document.createElement('script');
|
42
|
+
script.type = `text/javascript`;
|
43
|
+
let scriptContent = this.normalizeImports(metadata.script, (_a = metadata.path) !== null && _a !== void 0 ? _a : metadata.name);
|
44
|
+
const classMatch = /export class (\S+)/.exec(scriptContent);
|
45
|
+
const className = classMatch === null || classMatch === void 0 ? void 0 : classMatch[1];
|
46
|
+
if (!classMatch || !className) {
|
47
|
+
console.error("Script doesn't have exported class");
|
48
|
+
return;
|
49
|
+
}
|
50
|
+
scriptContent = scriptContent.replace(classMatch[0], `class ${className}`);
|
51
|
+
script.text = `var ${id} = function(vendor) {${scriptContent}
|
52
|
+
return ${className}; };`;
|
53
|
+
this.document.body.appendChild(script);
|
54
|
+
const ScriptClass = window[id](this.vendorMap);
|
55
|
+
if (ScriptClass instanceof Object) {
|
56
|
+
this.host.registerPlugin(new ScriptClass(this.host));
|
57
|
+
}
|
58
|
+
this.document.body.removeChild(script);
|
59
|
+
}
|
60
|
+
}
|
61
|
+
ScriptPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ScriptPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
62
|
+
ScriptPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: ScriptPlugin, ngImport: i0 });
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ScriptPlugin, decorators: [{
|
64
|
+
type: Directive
|
65
|
+
}], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9wbHVnaW5zL3NjcmlwdC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBSTVGLE1BQU0sT0FBTyxZQUFZO0lBSXZCLFlBQW1CLElBQXNCO1FBQXRCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBNENqQyxxQkFBZ0IsR0FBRyxDQUFDLE1BQWMsRUFBRSxXQUFtQixFQUFVLEVBQUU7WUFDekUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQ3ZCLDJLQUEySyxFQUMzSyxHQUFHLENBQ0osQ0FBQztZQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQzNELE1BQU0sT0FBTyxHQUFJLEVBQWE7cUJBQzNCLElBQUksRUFBRTtxQkFDTixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUNaLEtBQUssQ0FBQyxHQUFHLENBQUM7cUJBQ1YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBRTVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7O29CQUNyQixJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFD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dCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVVVJRCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbHVnaW5Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3BsdWdpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRUxFTUVOVF9NRVRBREFUQSwgU0hBUkVEX0VMRU1FTlRfTUVUQURBVEEsIFZFTkRPUl9NQVAgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNjcmlwdFBsdWdpbiBpbXBsZW1lbnRzIFBsdWdpbkNvbXBvbmVudCB7XG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHZlbmRvck1hcDogRGljdGlvbmFyeTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBob3N0OiBFbGVtZW50Q29tcG9uZW50KSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoRE9DVU1FTlQpO1xuICAgIHRoaXMudmVuZG9yTWFwID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChWRU5ET1JfTUFQKTtcbiAgICBjb25zdCBlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YSA9IHRoaXMuaG9zdC5pbmplY3Rvci5nZXQoRUxFTUVOVF9NRVRBREFUQSk7XG4gICAgY29uc3Qgc2hhcmVkRWxlbWVudE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBKTtcblxuICAgIHRoaXMuYWRkU2NyaXB0KHNoYXJlZEVsZW1lbnRNZXRhZGF0YSk7XG4gICAgdGhpcy5hZGRTY3JpcHQoZWxlbWVudE1ldGFkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkU2NyaXB0KG1ldGFkYXRhPzogRWxlbWVudE1ldGFkYXRhKTogdm9pZCB7XG4gICAgaWYgKCFtZXRhZGF0YT8uc2NyaXB0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSBidG9hKFVVSUQuVVVJRCgpKTtcbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHNjcmlwdC50eXBlID0gYHRleHQvamF2YXNjcmlwdGA7XG5cbiAgICBsZXQgc2NyaXB0Q29udGVudCA9IHRoaXMubm9ybWFsaXplSW1wb3J0cyhtZXRhZGF0YS5zY3JpcHQsIG1ldGFkYXRhLnBhdGggPz8gbWV0YWRhdGEubmFtZSk7XG5cbiAgICBjb25zdCBjbGFzc01hdGNoID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvLmV4ZWMoc2NyaXB0Q29udGVudCk7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gY2xhc3NNYXRjaD8uWzFdO1xuXG4gICAgaWYgKCFjbGFzc01hdGNoIHx8ICFjbGFzc05hbWUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJTY3JpcHQgZG9lc24ndCBoYXZlIGV4cG9ydGVkIGNsYXNzXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNjcmlwdENvbnRlbnQgPSBzY3JpcHRDb250ZW50LnJlcGxhY2UoY2xhc3NNYXRjaFswXSwgYGNsYXNzICR7Y2xhc3NOYW1lfWApO1xuXG4gICAgc2NyaXB0LnRleHQgPSBgdmFyICR7aWR9ID0gZnVuY3Rpb24odmVuZG9yKSB7JHtzY3JpcHRDb250ZW50fVxuICAgICAgICByZXR1cm4gJHtjbGFzc05hbWV9OyB9O2A7XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblxuICAgIGNvbnN0IFNjcmlwdENsYXNzID0gKHdpbmRvdyBhcyBhbnkpW2lkXSh0aGlzLnZlbmRvck1hcCk7XG4gICAgaWYgKFNjcmlwdENsYXNzIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICB0aGlzLmhvc3QucmVnaXN0ZXJQbHVnaW4obmV3IFNjcmlwdENsYXNzKHRoaXMuaG9zdCkpO1xuICAgIH1cblxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JpcHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVJbXBvcnRzID0gKHNjcmlwdDogc3RyaW5nLCBlbGVtZW50UGF0aDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKFxuICAgICAgYGltcG9ydChbIFxcXFxuXFxcXHRdKig/OlteIFxcXFxuXFxcXHRcXFxce1xcXFx9XStbIFxcXFxuXFxcXHRdKiw/KT8oPzpbIFxcXFxuXFxcXHRdKlxcXFx7KD86WyBcXFxcblxcXFx0XSpbXiBcXFxcblxcXFx0XCInXFxcXHtcXFxcfV0rWyBcXFxcblxcXFx0XSosPykrXFxcXH0pP1sgXFxcXG5cXFxcdF0qKWZyb21bIFxcXFxuXFxcXHRdKihbJ1wiXSkoW14nXCJcXFxcbl0rKSg/OlsnXCJdKTtgLFxuICAgICAgJ2cnLFxuICAgICk7XG4gICAgY29uc3QgcmVzdWx0ID0gc2NyaXB0LnJlcGxhY2UocmVnZXhwLCAobWF0Y2gsIGcxLCBnMiwgc3JjKSA9PiB7XG4gICAgICBjb25zdCBpbXBvcnRzID0gKGcxIGFzIHN0cmluZylcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAuc2xpY2UoMSwgLTEpXG4gICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSk7XG5cbiAgICAgIGltcG9ydHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnZlbmRvck1hcFtzcmNdPy5baXRlbV0pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBpbXBvcnQgJHtpdGVtfSBmcm9tICcke3NyY30nIGluICR7ZWxlbWVudFBhdGh9L3NjcmlwdC50c2ApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGBjb25zdCAke2cxfSA9IHZlbmRvclsnJHtzcmN9J107YDtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufVxuIl19
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class DynamicModuleService {
|
4
|
+
constructor() {
|
5
|
+
this._elementsTree = [];
|
6
|
+
this._componentFactories = [];
|
7
|
+
}
|
8
|
+
set componentFactories(data) {
|
9
|
+
this._componentFactories = data;
|
10
|
+
}
|
11
|
+
get componentFactories() {
|
12
|
+
return this._componentFactories;
|
13
|
+
}
|
14
|
+
getComponentFactory(element) {
|
15
|
+
return this.componentFactories.find(f => f.componentType.path === element.path);
|
16
|
+
}
|
17
|
+
get elementsTree() {
|
18
|
+
return this._elementsTree;
|
19
|
+
}
|
20
|
+
set elementsTree(tree) {
|
21
|
+
this._elementsTree = tree;
|
22
|
+
}
|
23
|
+
clear() {
|
24
|
+
this._elementsTree = [];
|
25
|
+
this.componentFactories = [];
|
26
|
+
}
|
27
|
+
}
|
28
|
+
DynamicModuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DynamicModuleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
29
|
+
DynamicModuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DynamicModuleService });
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DynamicModuleService, decorators: [{
|
31
|
+
type: Injectable
|
32
|
+
}] });
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tb2R1bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9zZXJ2aWNlcy9keW5hbWljLW1vZHVsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUk3RCxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRVUsa0JBQWEsR0FBc0IsRUFBRSxDQUFDO1FBQ3RDLHdCQUFtQixHQUE0QixFQUFFLENBQUM7S0EwQjNEO0lBeEJDLElBQVcsa0JBQWtCLENBQUMsSUFBNkI7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE9BQXdCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FBQyxhQUFxQixDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsWUFBWSxDQUFDLElBQXVCO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDOztrSEEzQlUsb0JBQW9CO3NIQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnksIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEeW5hbWljTW9kdWxlU2VydmljZSB7XG4gIHByaXZhdGUgX2VsZW1lbnRzVHJlZTogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yaWVzOiBDb21wb25lbnRGYWN0b3J5PGFueT5bXSA9IFtdO1xuXG4gIHB1YmxpYyBzZXQgY29tcG9uZW50RmFjdG9yaWVzKGRhdGE6IENvbXBvbmVudEZhY3Rvcnk8YW55PltdKSB7XG4gICAgdGhpcy5fY29tcG9uZW50RmFjdG9yaWVzID0gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50RmFjdG9yaWVzKCk6IENvbXBvbmVudEZhY3Rvcnk8YW55PltdIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50RmFjdG9yaWVzO1xuICB9XG5cbiAgcHVibGljIGdldENvbXBvbmVudEZhY3RvcnkoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogQ29tcG9uZW50RmFjdG9yeTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRGYWN0b3JpZXMuZmluZChmID0+IChmLmNvbXBvbmVudFR5cGUgYXMgYW55KS5wYXRoID09PSBlbGVtZW50LnBhdGgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbGVtZW50c1RyZWUoKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50c1RyZWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGVsZW1lbnRzVHJlZSh0cmVlOiBFbGVtZW50TWV0YWRhdGFbXSkge1xuICAgIHRoaXMuX2VsZW1lbnRzVHJlZSA9IHRyZWU7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5fZWxlbWVudHNUcmVlID0gW107XG4gICAgdGhpcy5jb21wb25lbnRGYWN0b3JpZXMgPSBbXTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class ElementContextService {
|
4
|
+
}
|
5
|
+
ElementContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
6
|
+
ElementContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService });
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ElementContextService, decorators: [{
|
8
|
+
type: Injectable
|
9
|
+
}] });
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvZWxlbWVudC1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjt1SEFBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbnRleHRTZXJ2aWNlIHtcbiAgcHVibGljIG1ldGFkYXRhPzogRWxlbWVudE1ldGFkYXRhO1xuICBwdWJsaWMgcGFyZW50TW9kZWxJZD86IHN0cmluZztcbn1cbiJdfQ==
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export * from './integration.state';
|
2
|
+
export * from './launcher.service';
|
3
|
+
export * from './templates.service';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVncmF0aW9uLnN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF1bmNoZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlcy5zZXJ2aWNlJztcbiJdfQ==
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { BehaviorSubject, filter, map } from 'rxjs';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
const InitAction = { type: 'INIT' };
|
5
|
+
const ClearAction = { type: 'CLEAR' };
|
6
|
+
export class IntegrationState {
|
7
|
+
constructor() {
|
8
|
+
this.stateSubj$ = new BehaviorSubject({});
|
9
|
+
this.action$ = new BehaviorSubject(InitAction);
|
10
|
+
}
|
11
|
+
get state$() {
|
12
|
+
return this.stateSubj$.asObservable();
|
13
|
+
}
|
14
|
+
get state() {
|
15
|
+
return this.stateSubj$.getValue();
|
16
|
+
}
|
17
|
+
patchState(update) {
|
18
|
+
this.stateSubj$.next(Object.assign(Object.assign({}, this.stateSubj$.getValue()), update));
|
19
|
+
}
|
20
|
+
dispatch(action) {
|
21
|
+
this.action$.next(action);
|
22
|
+
}
|
23
|
+
listen$(actionType) {
|
24
|
+
return this.action$.pipe(filter(action => action.type === actionType), map(action => action.payload));
|
25
|
+
}
|
26
|
+
listenAll$() {
|
27
|
+
return this.action$.asObservable();
|
28
|
+
}
|
29
|
+
clear() {
|
30
|
+
this.stateSubj$.next({});
|
31
|
+
this.action$.next(ClearAction);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
IntegrationState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
35
|
+
IntegrationState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, providedIn: 'root' });
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntegrationState, decorators: [{
|
37
|
+
type: Injectable,
|
38
|
+
args: [{ providedIn: 'root' }]
|
39
|
+
}] });
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24uc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvaW50ZWdyYXRpb24uc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBR2hFLE1BQU0sVUFBVSxHQUFzQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUN2RCxNQUFNLFdBQVcsR0FBc0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFHekQsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVtQixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUksRUFBTyxDQUFDLENBQUM7UUFDN0MsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFvQixVQUFVLENBQUMsQ0FBQztLQWlDL0U7SUEvQkMsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFrQjtRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksaUNBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBSyxNQUFNLEVBQUcsQ0FBQztJQUNyRSxDQUFDO0lBRU0sUUFBUSxDQUFDLE1BQXlCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxPQUFPLENBQVUsVUFBa0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsRUFDNUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQVksQ0FBQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFtQixDQUFDO0lBQ3RELENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBTyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7OEdBbENVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTs0RkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25BY3Rpb24gfSBmcm9tICcuLi90eXBlcy9pbnRlZ3JhdGlvbi50eXBlcyc7XG5cbmNvbnN0IEluaXRBY3Rpb246IEludGVncmF0aW9uQWN0aW9uID0geyB0eXBlOiAnSU5JVCcgfTtcbmNvbnN0IENsZWFyQWN0aW9uOiBJbnRlZ3JhdGlvbkFjdGlvbiA9IHsgdHlwZTogJ0NMRUFSJyB9O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVncmF0aW9uU3RhdGU8UyA9IERpY3Rpb25hcnk8YW55Pj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFM+KHt9IGFzIFMpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEludGVncmF0aW9uQWN0aW9uPihJbml0QWN0aW9uKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFM+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZSgpOiBTIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmokLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2hTdGF0ZSh1cGRhdGU6IFBhcnRpYWw8Uz4pOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU3ViaiQubmV4dCh7IC4uLnRoaXMuc3RhdGVTdWJqJC5nZXRWYWx1ZSgpLCAuLi51cGRhdGUgfSk7XG4gIH1cblxuICBwdWJsaWMgZGlzcGF0Y2goYWN0aW9uOiBJbnRlZ3JhdGlvbkFjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uJC5uZXh0KGFjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuJDxQID0gYW55PihhY3Rpb25UeXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFA+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb24kLnBpcGUoXG4gICAgICBmaWx0ZXIoYWN0aW9uID0+IGFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlKSxcbiAgICAgIG1hcChhY3Rpb24gPT4gYWN0aW9uLnBheWxvYWQgYXMgUCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW5BbGwkPFQgZXh0ZW5kcyBJbnRlZ3JhdGlvbkFjdGlvbj4oKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uJC5hc09ic2VydmFibGUoKSBhcyBPYnNlcnZhYmxlPFQ+O1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTdWJqJC5uZXh0KHt9IGFzIFMpO1xuICAgIHRoaXMuYWN0aW9uJC5uZXh0KENsZWFyQWN0aW9uKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
3
|
+
import { getAbsolutePath, parsePath } from '../utils/path.utils';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "./dynamic-module.service";
|
6
|
+
export class IOProviderService {
|
7
|
+
constructor(dynamicModuleService) {
|
8
|
+
this.dynamicModuleService = dynamicModuleService;
|
9
|
+
this.inputs = {};
|
10
|
+
}
|
11
|
+
connect(el, name, target) {
|
12
|
+
var _a;
|
13
|
+
return (_a = this.resolveTarget(el, name, target)) === null || _a === void 0 ? void 0 : _a.asObservable();
|
14
|
+
}
|
15
|
+
provide(el, name, target) {
|
16
|
+
return this.resolveTarget(el, name, target);
|
17
|
+
}
|
18
|
+
resolveTarget(el, name, target) {
|
19
|
+
var _a, _b;
|
20
|
+
const isHost = !target;
|
21
|
+
if (isHost) {
|
22
|
+
return this.createSubjectSafe((_a = el.path) !== null && _a !== void 0 ? _a : '', name);
|
23
|
+
}
|
24
|
+
const elPath = parsePath(target);
|
25
|
+
const pathIsValue = elPath.segments.length === 1 && elPath.segments[0].startsWith('"') && elPath.segments[0].endsWith('"');
|
26
|
+
const finalName = (_b = elPath.variable) !== null && _b !== void 0 ? _b : name;
|
27
|
+
const value = pathIsValue ? new BehaviorSubject(elPath.segments[0].slice(1, -1)) : undefined;
|
28
|
+
const absolutePath = !pathIsValue ? getAbsolutePath(this.dynamicModuleService.elementsTree, el, elPath) : el.path;
|
29
|
+
return this.createSubjectSafe(absolutePath !== null && absolutePath !== void 0 ? absolutePath : '', finalName, value);
|
30
|
+
}
|
31
|
+
createSubjectSafe(path, name, subject) {
|
32
|
+
if (!this.inputs[path]) {
|
33
|
+
this.inputs[path] = {};
|
34
|
+
}
|
35
|
+
const subjectAlreadyExists = Boolean(this.inputs[path][name]);
|
36
|
+
if (!this.inputs[path][name]) {
|
37
|
+
this.inputs[path][name] = subject !== null && subject !== void 0 ? subject : new BehaviorSubject(undefined);
|
38
|
+
}
|
39
|
+
if (subject && subjectAlreadyExists) {
|
40
|
+
// push delayed value to workaround 'changed after it was checked' issue
|
41
|
+
setTimeout(() => this.inputs[path][name].next(subject.value));
|
42
|
+
}
|
43
|
+
return this.inputs[path][name];
|
44
|
+
}
|
45
|
+
}
|
46
|
+
IOProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService, deps: [{ token: i1.DynamicModuleService }], target: i0.ɵɵFactoryTarget.Injectable });
|
47
|
+
IOProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService });
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IOProviderService, decorators: [{
|
49
|
+
type: Injectable
|
50
|
+
}], ctorParameters: function () { return [{ type: i1.DynamicModuleService }]; } });
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8tcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9zZXJ2aWNlcy9pby1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFJakUsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvQixvQkFBMEM7UUFBMUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUZ0RCxXQUFNLEdBQWlELEVBQUUsQ0FBQztJQUVELENBQUM7SUFFM0QsT0FBTyxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLE1BQXNCOztRQUN0RSxPQUFPLE1BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQywwQ0FBRSxZQUFZLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRU0sT0FBTyxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLE1BQXNCO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxhQUFhLENBQUMsRUFBbUIsRUFBRSxJQUFZLEVBQUUsTUFBc0I7O1FBQzdFLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRXZCLElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBQSxFQUFFLENBQUMsSUFBSSxtQ0FBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBZ0IsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sV0FBVyxHQUNmLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6RyxNQUFNLFNBQVMsR0FBRyxNQUFBLE1BQU0sQ0FBQyxRQUFRLG1DQUFJLElBQUksQ0FBQztRQUMxQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUU3RixNQUFNLFlBQVksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ2xILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsT0FBOEI7UUFDbEYsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDeEI7UUFFRCxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxJQUFJLGVBQWUsQ0FBTSxTQUFTLENBQUMsQ0FBQztTQUMxRTtRQUVELElBQUksT0FBTyxJQUFJLG9CQUFvQixFQUFFO1lBQ25DLHdFQUF3RTtZQUN4RSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQzs7K0dBaERVLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IGdldEFic29sdXRlUGF0aCwgcGFyc2VQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcGF0aC51dGlscyc7XG5pbXBvcnQgeyBEeW5hbWljTW9kdWxlU2VydmljZSB9IGZyb20gJy4vZHluYW1pYy1tb2R1bGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJT1Byb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgaW5wdXRzOiBEaWN0aW9uYXJ5PERpY3Rpb25hcnk8QmVoYXZpb3JTdWJqZWN0PGFueT4+PiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHluYW1pY01vZHVsZVNlcnZpY2U6IER5bmFtaWNNb2R1bGVTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb25uZWN0KGVsOiBFbGVtZW50TWV0YWRhdGEsIG5hbWU6IHN0cmluZywgdGFyZ2V0Pzogc3RyaW5nIHwgbnVsbCk6IE9ic2VydmFibGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVRhcmdldChlbCwgbmFtZSwgdGFyZ2V0KT8uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgcHJvdmlkZShlbDogRWxlbWVudE1ldGFkYXRhLCBuYW1lOiBzdHJpbmcsIHRhcmdldD86IHN0cmluZyB8IG51bGwpOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVRhcmdldChlbCwgbmFtZSwgdGFyZ2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVRhcmdldChlbDogRWxlbWVudE1ldGFkYXRhLCBuYW1lOiBzdHJpbmcsIHRhcmdldD86IHN0cmluZyB8IG51bGwpOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNIb3N0ID0gIXRhcmdldDtcblxuICAgIGlmIChpc0hvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVN1YmplY3RTYWZlKGVsLnBhdGggPz8gJycsIG5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IGVsUGF0aCA9IHBhcnNlUGF0aCh0YXJnZXQgYXMgc3RyaW5nKTtcbiAgICBjb25zdCBwYXRoSXNWYWx1ZSA9XG4gICAgICBlbFBhdGguc2VnbWVudHMubGVuZ3RoID09PSAxICYmIGVsUGF0aC5zZWdtZW50c1swXS5zdGFydHNXaXRoKCdcIicpICYmIGVsUGF0aC5zZWdtZW50c1swXS5lbmRzV2l0aCgnXCInKTtcblxuICAgIGNvbnN0IGZpbmFsTmFtZSA9IGVsUGF0aC52YXJpYWJsZSA/PyBuYW1lO1xuICAgIGNvbnN0IHZhbHVlID0gcGF0aElzVmFsdWUgPyBuZXcgQmVoYXZpb3JTdWJqZWN0KGVsUGF0aC5zZWdtZW50c1swXS5zbGljZSgxLCAtMSkpIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gIXBhdGhJc1ZhbHVlID8gZ2V0QWJzb2x1dGVQYXRoKHRoaXMuZHluYW1pY01vZHVsZVNlcnZpY2UuZWxlbWVudHNUcmVlLCBlbCwgZWxQYXRoKSA6IGVsLnBhdGg7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlU3ViamVjdFNhZmUoYWJzb2x1dGVQYXRoID8/ICcnLCBmaW5hbE5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ViamVjdFNhZmUocGF0aDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHN1YmplY3Q/OiBCZWhhdmlvclN1YmplY3Q8YW55Pik6IEJlaGF2aW9yU3ViamVjdDxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaW5wdXRzW3BhdGhdKSB7XG4gICAgICB0aGlzLmlucHV0c1twYXRoXSA9IHt9O1xuICAgIH1cblxuICAgIGNvbnN0IHN1YmplY3RBbHJlYWR5RXhpc3RzID0gQm9vbGVhbih0aGlzLmlucHV0c1twYXRoXVtuYW1lXSk7XG5cbiAgICBpZiAoIXRoaXMuaW5wdXRzW3BhdGhdW25hbWVdKSB7XG4gICAgICB0aGlzLmlucHV0c1twYXRoXVtuYW1lXSA9IHN1YmplY3QgPz8gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YmplY3QgJiYgc3ViamVjdEFscmVhZHlFeGlzdHMpIHtcbiAgICAgIC8vIHB1c2ggZGVsYXllZCB2YWx1ZSB0byB3b3JrYXJvdW5kICdjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkJyBpc3N1ZVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlucHV0c1twYXRoXVtuYW1lXS5uZXh0KHN1YmplY3QudmFsdWUpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbnB1dHNbcGF0aF1bbmFtZV07XG4gIH1cbn1cbiJdfQ==
|