@acorex/platform 20.2.4-next.9 → 20.3.0-next.1
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/common/index.d.ts +5 -119
- package/core/index.d.ts +67 -71
- package/fesm2022/acorex-platform-common.mjs +9 -19
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +158 -113
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +638 -1168
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +46 -1087
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +137 -92
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +1064 -3100
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +72 -332
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs +22 -0
- package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs → acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs +665 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs → acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs} +10 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs +236 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +484 -39
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs} +1 -1
- package/fesm2022/acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs} +1 -1
- package/fesm2022/acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +13 -11
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BJtkWusr.mjs → acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs} +3 -3
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-DeKpl0uK.mjs → acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs} +2 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs → acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs} +2 -2
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-CohkI1w1.mjs → acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs} +2 -2
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-BafU5Lfl.mjs → acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs} +4 -69
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-Cw9WcZze.mjs → acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs} +64 -74
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs} +5 -5
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs → acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs} +3 -3
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-DaR4Nkv4.mjs → acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs} +12 -8
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +1442 -2641
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +0 -3
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +181 -367
- package/layout/components/index.d.ts +20 -217
- package/layout/designer/index.d.ts +47 -16
- package/layout/entity/index.d.ts +336 -196
- package/layout/views/index.d.ts +21 -118
- package/package.json +37 -23
- package/widgets/index.d.ts +224 -275
- package/workflow/index.d.ts +1 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3VUh8K8.mjs +0 -707
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3VUh8K8.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BMkhNfF4.mjs +0 -244
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BMkhNfF4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-BJtkWusr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-DeKpl0uK.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CohkI1w1.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs +0 -50
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs +0 -42
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs +0 -50
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs +0 -48
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs +0 -42
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-BafU5Lfl.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-Cw9WcZze.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-DaR4Nkv4.mjs.map +0 -1
|
@@ -202,9 +202,6 @@ class AXPWorkflowService {
|
|
|
202
202
|
this.injector = injector;
|
|
203
203
|
this.eventService = inject(AXPWorkflowEventService);
|
|
204
204
|
}
|
|
205
|
-
exists(name) {
|
|
206
|
-
return !!this.registryService.getWorkflow(name);
|
|
207
|
-
}
|
|
208
205
|
async execute(workflow, initialContext = null) {
|
|
209
206
|
// Instantiate or retrieve the workflow
|
|
210
207
|
const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-workflow.mjs","sources":["../tmp-esm2022/workflow/lib/errors.types.js","../tmp-esm2022/workflow/lib/workflow-event-dispatcher.service.js","../tmp-esm2022/workflow/lib/workflow-registery.service.js","../tmp-esm2022/workflow/lib/workflow.types.js","../tmp-esm2022/workflow/lib/actions/decide.action.js","../tmp-esm2022/workflow/lib/workflow.service.js","../tmp-esm2022/workflow/lib/actions/start-workflow.action.js","../tmp-esm2022/workflow/lib/workflow.module.js","../tmp-esm2022/workflow/lib/task-board.types.js","../tmp-esm2022/workflow/acorex-platform-workflow.js"],"sourcesContent":["export class AXPWorkflowError extends Error {\n constructor(message, inner = null) {\n super(message);\n this.inner = inner;\n this.name = 'AXPWorkflowError';\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2Vycm9ycy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsS0FBSztJQUN2QyxZQUFZLE9BQWUsRUFBUyxRQUFzQixJQUFJO1FBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURpQixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUUxRCxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGlubmVyOiBFcnJvciB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSAnQVhQV29ya2Zsb3dFcnJvcic7XG4gICAgfVxufSJdfQ==","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowEventService {\n constructor() {\n this.eventSubject = new Subject();\n }\n dispatch(event) {\n this.eventSubject.next(event);\n }\n get events$() {\n return this.eventSubject.asObservable();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowEventService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowEventService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93LWV2ZW50LWRpc3BhdGNoZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTTNDLE1BQU0sT0FBTyx1QkFBdUI7SUFIcEM7UUFJVSxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO0tBU3hEO0lBUEMsUUFBUSxDQUFDLEtBQXVCO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs4R0FUVSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dFdmVudCB9IGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dFdmVudFNlcnZpY2Uge1xuICBwcml2YXRlIGV2ZW50U3ViamVjdCA9IG5ldyBTdWJqZWN0PEFYUFdvcmtmbG93RXZlbnQ+KCk7XG5cbiAgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIGdldCBldmVudHMkKCk6IE9ic2VydmFibGU8QVhQV29ya2Zsb3dFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowRegistryService {\n constructor() {\n this.functionsMap = new Map();\n this.actionsMap = new Map();\n this.workflowsMap = new Map();\n }\n registerWorkflow(name, workflow) {\n this.workflowsMap.set(name, workflow);\n }\n getWorkflow(name) {\n return this.workflowsMap.get(name);\n }\n registerAction(name, action) {\n this.actionsMap.set(name, action);\n }\n getAction(name) {\n return this.actionsMap.get(name);\n }\n registerFunction(name, func) {\n this.functionsMap.set(name, func);\n }\n getFunction(name) {\n return this.functionsMap.get(name);\n }\n getFunctionNames() {\n return Array.from(this.functionsMap.keys());\n }\n getStep(workflowName, stepName) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n return steps[stepName];\n }\n return undefined;\n }\n updateStepInWorkflow(workflowName, stepName, step) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n if (steps[stepName]) {\n steps[stepName] = step;\n }\n else {\n throw new Error(`Step with name ${stepName} does not exist in workflow ${workflowName}.`);\n }\n }\n else {\n throw new Error(`Workflow with name ${workflowName} does not exist.`);\n }\n }\n addStepToWorkflow(workflowName, stepName, step) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n if (!steps[stepName]) {\n steps[stepName] = step;\n }\n else {\n throw new Error(`Step with name ${stepName} already exists in workflow ${workflowName}.`);\n }\n }\n else {\n throw new Error(`Workflow with name ${workflowName} does not exist.`);\n }\n }\n addAfterStep(workflowId, stepId, newStepId, newStepAction, conditionExpression) {\n const step = this.getStep(workflowId, stepId);\n if (step != undefined) {\n this.addStepToWorkflow(workflowId, newStepId, {\n action: newStepAction,\n nextSteps: step.nextSteps,\n });\n this.updateStepInWorkflow(workflowId, stepId, {\n ...step,\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: conditionExpression }],\n nextStepId: newStepId,\n },\n ],\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowRegistryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowRegistryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7QUFNakQsTUFBTSxPQUFPLDBCQUEwQjtJQUh2QztRQUlVLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFDNUQsZUFBVSxHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBQ3hELGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7S0E0RnZEO0lBMUZDLGdCQUFnQixDQUFDLElBQVksRUFBRSxRQUFxQjtRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsTUFBK0I7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBK0I7UUFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FB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QUFDO0lBQ0gsQ0FBQzs4R0E5RlUsMEJBQTBCO2tIQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7MkZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dGdW5jdGlvbiwgQVhQV29ya2Zsb3dTdGVwIH0gZnJvbSAnLi93b3JrZmxvdy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSB7XG4gIHByaXZhdGUgZnVuY3Rpb25zTWFwID0gbmV3IE1hcDxzdHJpbmcsIFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4+KCk7XG4gIHByaXZhdGUgYWN0aW9uc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPj4oKTtcbiAgcHJpdmF0ZSB3b3JrZmxvd3NNYXAgPSBuZXcgTWFwPHN0cmluZywgQVhQV29ya2Zsb3c+KCk7XG5cbiAgcmVnaXN0ZXJXb3JrZmxvdyhuYW1lOiBzdHJpbmcsIHdvcmtmbG93OiBBWFBXb3JrZmxvdyk6IHZvaWQge1xuICAgIHRoaXMud29ya2Zsb3dzTWFwLnNldChuYW1lLCB3b3JrZmxvdyk7XG4gIH1cblxuICBnZXRXb3JrZmxvdyhuYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dzTWFwLmdldChuYW1lKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQWN0aW9uKG5hbWU6IHN0cmluZywgYWN0aW9uOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uc01hcC5zZXQobmFtZSwgYWN0aW9uKTtcbiAgfVxuXG4gIGdldEFjdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uc01hcC5nZXQobmFtZSk7XG4gIH1cblxuICByZWdpc3RlckZ1bmN0aW9uKG5hbWU6IHN0cmluZywgZnVuYzogVHlwZTxBWFBXb3JrZmxvd0Z1bmN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuZnVuY3Rpb25zTWFwLnNldChuYW1lLCBmdW5jKTtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZ1bmN0aW9uc01hcC5nZXQobmFtZSk7XG4gIH1cblxuICBnZXRGdW5jdGlvbk5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZ1bmN0aW9uc01hcC5rZXlzKCkpO1xuICB9XG5cbiAgZ2V0U3RlcCh3b3JrZmxvd05hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93U3RlcCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLndvcmtmbG93c01hcC5nZXQod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAod29ya2Zsb3cpIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gd29ya2Zsb3cuc3RlcHMgYXMgeyBba2V5OiBzdHJpbmddOiBBWFBXb3JrZmxvd1N0ZXAgfTtcbiAgICAgIHJldHVybiBzdGVwc1tzdGVwTmFtZV07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICB1cGRhdGVTdGVwSW5Xb3JrZmxvdyh3b3JrZmxvd05hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZywgc3RlcDogQVhQV29ya2Zsb3dTdGVwKTogdm9pZCB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLndvcmtmbG93c01hcC5nZXQod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAod29ya2Zsb3cpIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gd29ya2Zsb3cuc3RlcHMgYXMgeyBba2V5OiBzdHJpbmddOiBBWFBXb3JrZmxvd1N0ZXAgfTtcbiAgICAgIGlmIChzdGVwc1tzdGVwTmFtZV0pIHtcbiAgICAgICAgc3RlcHNbc3RlcE5hbWVdID0gc3RlcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU3RlcCB3aXRoIG5hbWUgJHtzdGVwTmFtZX0gZG9lcyBub3QgZXhpc3QgaW4gd29ya2Zsb3cgJHt3b3JrZmxvd05hbWV9LmApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFdvcmtmbG93IHdpdGggbmFtZSAke3dvcmtmbG93TmFtZX0gZG9lcyBub3QgZXhpc3QuYCk7XG4gICAgfVxuICB9XG5cbiAgYWRkU3RlcFRvV29ya2Zsb3cod29ya2Zsb3dOYW1lOiBzdHJpbmcsIHN0ZXBOYW1lOiBzdHJpbmcsIHN0ZXA6IEFYUFdvcmtmbG93U3RlcCk6IHZvaWQge1xuICAgIGNvbnN0IHdvcmtmbG93ID0gdGhpcy53b3JrZmxvd3NNYXAuZ2V0KHdvcmtmbG93TmFtZSk7XG4gICAgaWYgKHdvcmtmbG93KSB7XG4gICAgICBjb25zdCBzdGVwcyA9IHdvcmtmbG93LnN0ZXBzIGFzIHsgW2tleTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gICAgICBpZiAoIXN0ZXBzW3N0ZXBOYW1lXSkge1xuICAgICAgICBzdGVwc1tzdGVwTmFtZV0gPSBzdGVwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGVwIHdpdGggbmFtZSAke3N0ZXBOYW1lfSBhbHJlYWR5IGV4aXN0cyBpbiB3b3JrZmxvdyAke3dvcmtmbG93TmFtZX0uYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgV29ya2Zsb3cgd2l0aCBuYW1lICR7d29ya2Zsb3dOYW1lfSBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICB9XG4gIH1cblxuICBhZGRBZnRlclN0ZXAoXG4gICAgd29ya2Zsb3dJZDogc3RyaW5nLFxuICAgIHN0ZXBJZDogc3RyaW5nLFxuICAgIG5ld1N0ZXBJZDogc3RyaW5nLFxuICAgIG5ld1N0ZXBBY3Rpb246IHN0cmluZyxcbiAgICBjb25kaXRpb25FeHByZXNzaW9uOiBzdHJpbmdcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuZ2V0U3RlcCh3b3JrZmxvd0lkLCBzdGVwSWQpO1xuICAgIGlmIChzdGVwICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hZGRTdGVwVG9Xb3JrZmxvdyh3b3JrZmxvd0lkLCBuZXdTdGVwSWQsIHtcbiAgICAgICAgYWN0aW9uOiBuZXdTdGVwQWN0aW9uLFxuICAgICAgICBuZXh0U3RlcHM6IHN0ZXAubmV4dFN0ZXBzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudXBkYXRlU3RlcEluV29ya2Zsb3cod29ya2Zsb3dJZCwgc3RlcElkLCB7XG4gICAgICAgIC4uLnN0ZXAsXG4gICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiBjb25kaXRpb25FeHByZXNzaW9uIH1dLFxuICAgICAgICAgICAgbmV4dFN0ZXBJZDogbmV3U3RlcElkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { filter } from 'rxjs';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { cloneDeep, get } from 'lodash-es';\nimport { setSmart } from '@acorex/platform/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowContext {\n constructor(initialData = {}) {\n this.variables = {};\n this.stepOutputs = new Map();\n this.variables = cloneDeep(initialData);\n }\n setVariable(key, value) {\n setSmart(this.variables, key, value);\n }\n setVariables(context = {}) {\n this.variables = { ...this.variables, ...context };\n }\n getVariable(key) {\n return !key ? this.variables : get(this.variables, key);\n }\n setOutput(key, output) {\n this.stepOutputs.set(key, output);\n }\n setOutputs(values) {\n this.stepOutputs = new Map([...this.stepOutputs, ...values]);\n }\n getOutput(key) {\n return this.stepOutputs.get(key);\n }\n}\nexport class AXPWorkflowAction {\n constructor() {\n this.eventService = inject(AXPWorkflowEventService);\n }\n dispatch(event) {\n this.eventService.dispatch(event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowAction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPWorkflowFunction {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowFunction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowFunction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowFunction, decorators: [{\n type: Injectable\n }] });\nexport function createWorkFlowEvent(type) {\n const eventCreator = (payload) => ({ type, payload });\n eventCreator.type = type;\n return eventCreator;\n}\nexport function ofType(...allowedTypes) {\n return filter((event) => allowedTypes.some((type) => event.type === type.type));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBUWpELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBWSxjQUFtQixFQUFFO1FBSXpCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUpoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBS0QsV0FBVyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR0QsWUFBWSxDQUFDLFVBQWUsRUFBRTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBVSxHQUFtQjtRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFXO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxTQUFTLENBQVUsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQXlCRCxNQUFNLE9BQWdCLGlCQUFpQjtJQUR2QztRQUVVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FPeEQ7SUFMVyxRQUFRLENBQUMsS0FBdUI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0FMbUIsaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRHRDLFVBQVU7O0FBWVgsTUFBTSxPQUFnQixtQkFBbUI7OEdBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVOztBQVlYLE1BQU0sVUFBVSxtQkFBbUIsQ0FBSSxJQUFZO0lBQ2pELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDekIsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQTZCLEdBQUcsWUFBcUM7SUFDekYsT0FBTyxNQUFNLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IHNldFNtYXJ0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvdyB7XG4gIHN0ZXBzOiB7IFtzdGVwTmFtZTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gIHN0YXJ0U3RlcElkOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93Q29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbERhdGE6IGFueSA9IHt9KSB7XG4gICAgdGhpcy52YXJpYWJsZXMgPSBjbG9uZURlZXAoaW5pdGlhbERhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YXJpYWJsZXM6IGFueSA9IHt9O1xuICBwcml2YXRlIHN0ZXBPdXRwdXRzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuXG4gIHNldFZhcmlhYmxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgc2V0U21hcnQodGhpcy52YXJpYWJsZXMsIGtleSwgdmFsdWUpO1xuICB9XG5cblxuICBzZXRWYXJpYWJsZXMoY29udGV4dDogYW55ID0ge30pIHtcbiAgICB0aGlzLnZhcmlhYmxlcyA9IHsgLi4udGhpcy52YXJpYWJsZXMsIC4uLmNvbnRleHQgfTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlPFQgPSBhbnk+KGtleT86IHN0cmluZyB8IG51bGwpOiBUIHtcbiAgICByZXR1cm4gIWtleSA/IHRoaXMudmFyaWFibGVzIDogZ2V0KHRoaXMudmFyaWFibGVzLCBrZXkpO1xuICB9XG5cbiAgc2V0T3V0cHV0KGtleTogc3RyaW5nLCBvdXRwdXQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc3RlcE91dHB1dHMuc2V0KGtleSwgb3V0cHV0KTtcbiAgfVxuXG4gIHNldE91dHB1dHModmFsdWVzOiBNYXA8c3RyaW5nLCBhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5zdGVwT3V0cHV0cyA9IG5ldyBNYXAoWy4uLnRoaXMuc3RlcE91dHB1dHMsIC4uLnZhbHVlc10pXG4gIH1cblxuICBnZXRPdXRwdXQ8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwT3V0cHV0cy5nZXQoa2V5KTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd0FjdGlvbklucHV0ID0gYW55O1xuXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd0NvbmRpdGlvblR5cGUgPSAnQU5EJyB8ICdPUicgfCAnU0lOR0xFJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0NvbmRpdGlvbiB7XG4gIHR5cGU6IEFYUFdvcmtmbG93Q29uZGl0aW9uVHlwZTtcbiAgY29uZGl0aW9ucz86IEFYUFdvcmtmbG93Q29uZGl0aW9uW107IC8vIE5lc3RlZCBjb25kaXRpb25zXG4gIGV4cHJlc3Npb24/OiBzdHJpbmc7IC8vIFVzZWQgaWYgdHlwZSBpcyAnU0lOR0xFJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93TmV4dFN0ZXAge1xuICBjb25kaXRpb25zOiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdO1xuICBuZXh0U3RlcElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dTdGVwIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGFjdGlvbjogQVhQV29ya2Zsb3dBY3Rpb24gfCBzdHJpbmc7XG4gIGlucHV0PzogQVhQV29ya2Zsb3dBY3Rpb25JbnB1dDtcbiAgbmV4dFN0ZXBzPzogQVhQV29ya2Zsb3dOZXh0U3RlcFtdO1xuICBjb25kaXRpb25zPzogQVhQV29ya2Zsb3dDb25kaXRpb25bXTtcbn1cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYUFdvcmtmbG93RXZlbnRTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZS5kaXNwYXRjaChldmVudCk7XG4gIH1cblxuICBhYnN0cmFjdCBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgYWJzdHJhY3QgZXhlY3V0ZSguLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB8IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0V2ZW50PFQgPSBhbnk+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBwYXlsb2FkPzogVDtcbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVXb3JrRmxvd0V2ZW50PFQ+KHR5cGU6IHN0cmluZykge1xuICBjb25zdCBldmVudENyZWF0b3IgPSAocGF5bG9hZDogVCkgPT4gKHsgdHlwZSwgcGF5bG9hZCB9KTtcbiAgZXZlbnRDcmVhdG9yLnR5cGUgPSB0eXBlO1xuICByZXR1cm4gZXZlbnRDcmVhdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZUeXBlPFQgZXh0ZW5kcyB7IHR5cGU6IHN0cmluZyB9PiguLi5hbGxvd2VkVHlwZXM6IEFycmF5PHsgdHlwZTogc3RyaW5nIH0+KSB7XG4gIHJldHVybiBmaWx0ZXIoKGV2ZW50OiBUKSA9PiBhbGxvd2VkVHlwZXMuc29tZSgodHlwZSkgPT4gZXZlbnQudHlwZSA9PT0gdHlwZS50eXBlKSk7XG59XG4iXX0=","import { Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction } from \"../workflow.types\";\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowDecideAction extends AXPWorkflowAction {\n async execute(context) {\n // its a fake action\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowDecideAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowDecideAction, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowDecideAction, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaWRlLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9hY3Rpb25zL2RlY2lkZS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sbUJBQW1CLENBQUM7O0FBTTFFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxpQkFBaUI7SUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxvQkFBb0I7SUFDeEIsQ0FBQzs4R0FIUSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQUZwQixNQUFNOzsyRkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSBcIi4uL3dvcmtmbG93LnR5cGVzXCI7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dEZWNpZGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gaXRzIGEgZmFrZSBhY3Rpb25cbiAgICB9XG59Il19","import { Injectable, Injector, inject } from '@angular/core';\nimport { cloneDeep, set } from 'lodash-es';\nimport { AXPWorkflowError } from './errors.types';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport { AXPWorkflowContext, } from './workflow.types';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./workflow-registery.service\";\nexport class AXPWorkflowService {\n get events$() {\n return this.eventService.events$;\n }\n constructor(registryService, injector) {\n this.registryService = registryService;\n this.injector = injector;\n this.eventService = inject(AXPWorkflowEventService);\n }\n exists(name) {\n return !!this.registryService.getWorkflow(name);\n }\n async execute(workflow, initialContext = null) {\n // Instantiate or retrieve the workflow\n const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;\n let currentStepId = wk.startStepId;\n const context = initialContext instanceof AXPWorkflowContext\n ? initialContext\n : new AXPWorkflowContext(this.processData(initialContext) ?? {});\n // Initialize context with initial variables\n while (currentStepId) {\n const currentStep = wk.steps[currentStepId];\n if (!currentStep) {\n throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);\n }\n // Instantiate or retrieve the action\n const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;\n //\n if (currentStep.input) {\n let inputs = {};\n await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);\n await new Promise((resolve) => setTimeout(async () => {\n Object.assign(action, inputs);\n resolve(0);\n }));\n }\n try {\n await new Promise((resolve) => setTimeout(async () => {\n await action.execute(context);\n resolve(0);\n }, 0));\n }\n catch (error) {\n console.error(error);\n throw new AXPWorkflowError('Workflow Error', error);\n }\n // Determine the next step based on the conditions\n const nextStepInfo = await this.determineNextStep(currentStep, context);\n if (nextStepInfo) {\n currentStepId = nextStepInfo.nextStepId;\n }\n else {\n break; // Exit the loop if no next step is determined\n }\n }\n return context;\n }\n processData(initialContext) {\n //TODO: update values with expressions and return new object\n return initialContext;\n }\n getActionInstance(actionName) {\n const actionType = this.registryService.getAction(actionName);\n if (!actionType) {\n throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);\n }\n return this.injector.get(actionType);\n }\n getWorkflowInstance(workflowName) {\n const workflowType = this.registryService.getWorkflow(workflowName);\n if (!workflowType) {\n throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);\n }\n return workflowType;\n }\n async determineNextStep(currentStep, context) {\n if (!currentStep.nextSteps) {\n return null;\n }\n for (const nextStep of currentStep.nextSteps) {\n if (await this.evaluateCondition(nextStep.conditions, context)) {\n return nextStep;\n }\n }\n return null;\n }\n async evaluateCondition(conditions, context) {\n if (!conditions || conditions.length === 0) {\n return true; // If no conditions, the step proceeds\n }\n // Map each condition to a promise using evaluateSingleCondition\n const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));\n // Wait for all promises to resolve\n const results = await Promise.all(conditionPromises);\n // Check if every condition is true\n return results.every((result) => result);\n }\n async evaluateSingleCondition(condition, context) {\n switch (condition.type) {\n case 'SINGLE':\n return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context));\n case 'AND':\n // Evaluate all conditions with 'AND' logic\n const andConditions = condition.conditions ?? [];\n const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return andResults.every((result) => result);\n case 'OR':\n // Evaluate all conditions with 'OR' logic\n const orConditions = condition.conditions ?? [];\n const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return orResults.some((result) => result);\n default:\n throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);\n }\n }\n //TODO: return any and recursively update object, update scopes\n async evaluateExpression(templateExpression, context) {\n try {\n let expression = '';\n if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n expression = expressionMatch[1];\n }\n else {\n expression = templateExpression;\n }\n // Create a scope that includes context and registered functions\n const scope = { context, ...this.createFunctionScope() };\n // Evaluating the expression within the created scope\n const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);\n const result = await sandbox(scope);\n return result;\n }\n catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n async processInputs(obj, inputs, pathPrefix = '', context = {}) {\n if (!obj) {\n return;\n }\n for await (const i of Object.entries(obj)) {\n const key = i[0];\n const value = i[1];\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.trim().includes('{{')) {\n const expValue = await this.evaluateExpression(value, context);\n set(inputs, currentPath, expValue);\n }\n else if (typeof value === 'object' &&\n value !== null &&\n (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.processInputs(value, inputs, currentPath, context);\n }\n else {\n // Apply static values directly\n set(inputs, currentPath, value);\n }\n }\n }\n createFunctionScope() {\n const scope = {};\n this.registryService.getFunctionNames().forEach((name) => {\n scope[name] = this.getFunctionInstance(name).execute;\n });\n return { methods: { scope } };\n }\n getFunctionInstance(functionName) {\n const functionType = this.registryService.getFunction(functionName);\n if (!functionType) {\n throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);\n }\n return this.injector.get(functionType);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowService, deps: [{ token: i1.AXPWorkflowRegistryService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.AXPWorkflowRegistryService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi93b3JrZmxvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBSUwsa0JBQWtCLEdBS25CLE1BQU0sa0JBQWtCLENBQUM7OztBQUsxQixNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQW9CLGVBQTJDLEVBQVUsUUFBa0I7UUFBdkUsb0JBQWUsR0FBZixlQUFlLENBQTRCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU5uRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBTXdDLENBQUM7SUFFaEcsTUFBTSxDQUFDLElBQVk7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdELEtBQUssQ0FBQyxPQUFPLENBQ1gsUUFBOEIsRUFDOUIsaUJBQWtELElBQUk7UUFFdEQsdUNBQXVDO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMs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SUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMxRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sK0JBQStCO2dCQUMvQixHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2RCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxZQUFvQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLGtCQUFrQixZQUFZLDhCQUE4QixDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0FwTlUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93RXJyb3IgfSBmcm9tICcuL2Vycm9ycy50eXBlcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi93b3JrZmxvdy1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBWFBXb3JrZmxvdyxcbiAgQVhQV29ya2Zsb3dBY3Rpb24sXG4gIEFYUFdvcmtmbG93Q29uZGl0aW9uLFxuICBBWFBXb3JrZmxvd0NvbnRleHQsXG4gIEFYUFdvcmtmbG93RXZlbnQsXG4gIEFYUFdvcmtmbG93RnVuY3Rpb24sXG4gIEFYUFdvcmtmbG93TmV4dFN0ZXAsXG4gIEFYUFdvcmtmbG93U3RlcCxcbn0gZnJvbSAnLi93b3JrZmxvdy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1NlcnZpY2Uge1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd0V2ZW50U2VydmljZSk7XG5cbiAgZ2V0IGV2ZW50cyQoKTogT2JzZXJ2YWJsZTxBWFBXb3JrZmxvd0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRTZXJ2aWNlLmV2ZW50cyQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZ2lzdHJ5U2VydmljZTogQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cblxuICBleGlzdHMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0V29ya2Zsb3cobmFtZSk7XG4gIH1cblxuXG4gIGFzeW5jIGV4ZWN1dGUoXG4gICAgd29ya2Zsb3c6IEFYUFdvcmtmbG93IHwgc3RyaW5nLFxuICAgIGluaXRpYWxDb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQgfCBhbnkgfCBudWxsID0gbnVsbFxuICApOiBQcm9taXNlPEFYUFdvcmtmbG93Q29udGV4dD4ge1xuICAgIC8vIEluc3RhbnRpYXRlIG9yIHJldHJpZXZlIHRoZSB3b3JrZmxvd1xuICAgIGNvbnN0IHdrID0gdHlwZW9mIHdvcmtmbG93ID09PSAnc3RyaW5nJyA/IHRoaXMuZ2V0V29ya2Zsb3dJbnN0YW5jZSh3b3JrZmxvdykgOiB3b3JrZmxvdztcblxuICAgIGxldCBjdXJyZW50U3RlcElkID0gd2suc3RhcnRTdGVwSWQ7XG4gICAgY29uc3QgY29udGV4dCA9XG4gICAgICBpbml0aWFsQ29udGV4dCBpbnN0YW5jZW9mIEFYUFdvcmtmbG93Q29udGV4dFxuICAgICAgICA/IGluaXRpYWxDb250ZXh0XG4gICAgICAgIDogbmV3IEFYUFdvcmtmbG93Q29udGV4dCh0aGlzLnByb2Nlc3NEYXRhKGluaXRpYWxDb250ZXh0KSA/PyB7fSk7XG4gICAgLy8gSW5pdGlhbGl6ZSBjb250ZXh0IHdpdGggaW5pdGlhbCB2YXJpYWJsZXNcblxuICAgIHdoaWxlIChjdXJyZW50U3RlcElkKSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RlcCA9IHdrLnN0ZXBzW2N1cnJlbnRTdGVwSWRdO1xuICAgICAgaWYgKCFjdXJyZW50U3RlcCkge1xuICAgICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgU3RlcCAnJHtjdXJyZW50U3RlcElkfScgbm90IGZvdW5kIGluIHRoZSB3b3JrZmxvdyBzdGVwcy5gKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5zdGFudGlhdGUgb3IgcmV0cmlldmUgdGhlIGFjdGlvblxuICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgdHlwZW9mIGN1cnJlbnRTdGVwLmFjdGlvbiA9PT0gJ3N0cmluZycgPyB0aGlzLmdldEFjdGlvbkluc3RhbmNlKGN1cnJlbnRTdGVwLmFjdGlvbikgOiBjdXJyZW50U3RlcC5hY3Rpb247XG4gICAgICAvL1xuICAgICAgaWYgKGN1cnJlbnRTdGVwLmlucHV0KSB7XG4gICAgICAgIGxldCBpbnB1dHM6IGFueSA9IHt9O1xuICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NJbnB1dHMoY2xvbmVEZWVwKGN1cnJlbnRTdGVwLmlucHV0KSwgaW5wdXRzLCAnJywgY29udGV4dCk7XG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PlxuICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihhY3Rpb24sIGlucHV0cyk7XG4gICAgICAgICAgICByZXNvbHZlKDApO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGFjdGlvbi5leGVjdXRlKGNvbnRleHQpO1xuICAgICAgICAgICAgcmVzb2x2ZSgwKTtcbiAgICAgICAgICB9LCAwKVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKCdXb3JrZmxvdyBFcnJvcicsIGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICAgIC8vIERldGVybWluZSB0aGUgbmV4dCBzdGVwIGJhc2VkIG9uIHRoZSBjb25kaXRpb25zXG4gICAgICBjb25zdCBuZXh0U3RlcEluZm8gPSBhd2FpdCB0aGlzLmRldGVybWluZU5leHRTdGVwKGN1cnJlbnRTdGVwLCBjb250ZXh0KTtcbiAgICAgIGlmIChuZXh0U3RlcEluZm8pIHtcbiAgICAgICAgY3VycmVudFN0ZXBJZCA9IG5leHRTdGVwSW5mby5uZXh0U3RlcElkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7IC8vIEV4aXQgdGhlIGxvb3AgaWYgbm8gbmV4dCBzdGVwIGlzIGRldGVybWluZWRcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NEYXRhKGluaXRpYWxDb250ZXh0OiBhbnkpOiBhbnkge1xuICAgIC8vVE9ETzogdXBkYXRlIHZhbHVlcyB3aXRoIGV4cHJlc3Npb25zIGFuZCByZXR1cm4gbmV3IG9iamVjdFxuICAgIHJldHVybiBpbml0aWFsQ29udGV4dDtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldEFjdGlvbkluc3RhbmNlKGFjdGlvbk5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0QWN0aW9uKGFjdGlvbk5hbWUpO1xuICAgIGlmICghYWN0aW9uVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYEFjdGlvbiB0eXBlICcke2FjdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoYWN0aW9uVHlwZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFdvcmtmbG93SW5zdGFuY2Uod29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB7XG4gICAgY29uc3Qgd29ya2Zsb3dUeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0V29ya2Zsb3cod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAoIXdvcmtmbG93VHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFdvcmtmbG93IHR5cGUgJyR7d29ya2Zsb3dOYW1lfScgbm90IGZvdW5kIGluIHRoZSByZWdpc3RyeS5gKTtcbiAgICB9XG4gICAgcmV0dXJuIHdvcmtmbG93VHlwZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGV0ZXJtaW5lTmV4dFN0ZXAoXG4gICAgY3VycmVudFN0ZXA6IEFYUFdvcmtmbG93U3RlcCxcbiAgICBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHRcbiAgKTogUHJvbWlzZTxBWFBXb3JrZmxvd05leHRTdGVwIHwgbnVsbD4ge1xuICAgIGlmICghY3VycmVudFN0ZXAubmV4dFN0ZXBzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBuZXh0U3RlcCBvZiBjdXJyZW50U3RlcC5uZXh0U3RlcHMpIHtcbiAgICAgIGlmIChhd2FpdCB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKG5leHRTdGVwLmNvbmRpdGlvbnMsIGNvbnRleHQpKSB7XG4gICAgICAgIHJldHVybiBuZXh0U3RlcDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlQ29uZGl0aW9uKGNvbmRpdGlvbnM6IEFYUFdvcmtmbG93Q29uZGl0aW9uW10sIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghY29uZGl0aW9ucyB8fCBjb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7IC8vIElmIG5vIGNvbmRpdGlvbnMsIHRoZSBzdGVwIHByb2NlZWRzXG4gICAgfVxuXG4gICAgLy8gTWFwIGVhY2ggY29uZGl0aW9uIHRvIGEgcHJvbWlzZSB1c2luZyBldmFsdWF0ZVNpbmdsZUNvbmRpdGlvblxuICAgIGNvbnN0IGNvbmRpdGlvblByb21pc2VzID0gY29uZGl0aW9ucy5tYXAoKGNvbmRpdGlvbikgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kaXRpb24sIGNvbnRleHQpKTtcblxuICAgIC8vIFdhaXQgZm9yIGFsbCBwcm9taXNlcyB0byByZXNvbHZlXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKGNvbmRpdGlvblByb21pc2VzKTtcblxuICAgIC8vIENoZWNrIGlmIGV2ZXJ5IGNvbmRpdGlvbiBpcyB0cnVlXG4gICAgcmV0dXJuIHJlc3VsdHMuZXZlcnkoKHJlc3VsdCkgPT4gcmVzdWx0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oXG4gICAgY29uZGl0aW9uOiBBWFBXb3JrZmxvd0NvbmRpdGlvbixcbiAgICBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHRcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xuICAgICAgY2FzZSAnU0lOR0xFJzpcbiAgICAgICAgcmV0dXJuICghY29uZGl0aW9uLmV4cHJlc3Npb24gPyB0cnVlIDogYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24oY29uZGl0aW9uLmV4cHJlc3Npb24sIGNvbnRleHQpKSBhcyBib29sZWFuO1xuICAgICAgY2FzZSAnQU5EJzpcbiAgICAgICAgLy8gRXZhbHVhdGUgYWxsIGNvbmRpdGlvbnMgd2l0aCAnQU5EJyBsb2dpY1xuICAgICAgICBjb25zdCBhbmRDb25kaXRpb25zID0gY29uZGl0aW9uLmNvbmRpdGlvbnMgPz8gW107XG4gICAgICAgIGNvbnN0IGFuZFJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChhbmRDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xuICAgICAgICByZXR1cm4gYW5kUmVzdWx0cy5ldmVyeSgocmVzdWx0KSA9PiByZXN1bHQpO1xuXG4gICAgICBjYXNlICdPUic6XG4gICAgICAgIC8vIEV2YWx1YXRlIGFsbCBjb25kaXRpb25zIHdpdGggJ09SJyBsb2dpY1xuICAgICAgICBjb25zdCBvckNvbmRpdGlvbnMgPSBjb25kaXRpb24uY29uZGl0aW9ucyA/PyBbXTtcbiAgICAgICAgY29uc3Qgb3JSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwob3JDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xuICAgICAgICByZXR1cm4gb3JSZXN1bHRzLnNvbWUoKHJlc3VsdCkgPT4gcmVzdWx0KTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFVuc3VwcG9ydGVkIGNvbmRpdGlvbiB0eXBlOiAke2NvbmRpdGlvbi50eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vVE9ETzogcmV0dXJuIGFueSBhbmQgcmVjdXJzaXZlbHkgdXBkYXRlIG9iamVjdCwgdXBkYXRlIHNjb3Blc1xuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlRXhwcmVzc2lvbih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZywgY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTxCb29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBleHByZXNzaW9uID0gJyc7XG4gICAgICBpZiAodHlwZW9mIHRlbXBsYXRlRXhwcmVzc2lvbiA9PT0gJ3N0cmluZycgJiYgdGVtcGxhdGVFeHByZXNzaW9uLnRyaW0oKS5pbmNsdWRlcygne3snKSkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uTWF0Y2ggPSB0ZW1wbGF0ZUV4cHJlc3Npb24ubWF0Y2goL1xce1xce1xccyooLio/KVxccypcXH1cXH0vKTtcbiAgICAgICAgaWYgKCFleHByZXNzaW9uTWF0Y2gpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gdmFsaWQgZXhwcmVzc2lvbiBmb3VuZCBpbiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25NYXRjaFsxXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0ZW1wbGF0ZUV4cHJlc3Npb247XG4gICAgICB9XG4gICAgICAvLyBDcmVhdGUgYSBzY29wZSB0aGF0IGluY2x1ZGVzIGNvbnRleHQgYW5kIHJlZ2lzdGVyZWQgZnVuY3Rpb25zXG4gICAgICBjb25zdCBzY29wZSA9IHsgY29udGV4dCwgLi4udGhpcy5jcmVhdGVGdW5jdGlvblNjb3BlKCkgfTtcbiAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIGV4cHJlc3Npb24gd2l0aGluIHRoZSBjcmVhdGVkIHNjb3BlXG4gICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGByZXR1cm4gKGFzeW5jIGZ1bmN0aW9uKCkgeyB3aXRoIChzY29wZSkgeyByZXR1cm4gJHtleHByZXNzaW9ufTsgfSB9KSgpO2ApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2FuZGJveChzY29wZSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGV4cHJlc3Npb246JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc0lucHV0cyhvYmo6IGFueSwgaW5wdXRzOiBhbnksIHBhdGhQcmVmaXg6IHN0cmluZyA9ICcnLCBjb250ZXh0OiBhbnkgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghb2JqKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBpIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICAgIGNvbnN0IGtleSA9IGlbMF07XG4gICAgICBjb25zdCB2YWx1ZSA9IGlbMV07XG4gICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHBhdGhQcmVmaXggPyBgJHtwYXRoUHJlZml4fS4ke2tleX1gIDoga2V5O1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpLmluY2x1ZGVzKCd7eycpKSB7XG4gICAgICAgIGNvbnN0IGV4cFZhbHVlID0gYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24odmFsdWUsIGNvbnRleHQpO1xuICAgICAgICBzZXQoaW5wdXRzLCBjdXJyZW50UGF0aCwgZXhwVmFsdWUpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgICkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBoYW5kbGUgbmVzdGVkIG9iamVjdHNcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5wdXRzKHZhbHVlLCBpbnB1dHMsIGN1cnJlbnRQYXRoLCBjb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFwcGx5IHN0YXRpYyB2YWx1ZXMgZGlyZWN0bHlcbiAgICAgICAgc2V0KGlucHV0cywgY3VycmVudFBhdGgsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uU2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0RnVuY3Rpb25OYW1lcygpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIHNjb3BlW25hbWVdID0gdGhpcy5nZXRGdW5jdGlvbkluc3RhbmNlKG5hbWUpLmV4ZWN1dGU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgbWV0aG9kczogeyBzY29wZSB9IH07XG4gIH1cblxuICBwcml2YXRlIGdldEZ1bmN0aW9uSW5zdGFuY2UoZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgICBjb25zdCBmdW5jdGlvblR5cGUgPSB0aGlzLnJlZ2lzdHJ5U2VydmljZS5nZXRGdW5jdGlvbihmdW5jdGlvbk5hbWUpO1xuICAgIGlmICghZnVuY3Rpb25UeXBlKSB7XG4gICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgRnVuY3Rpb24gdHlwZSAnJHtmdW5jdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoZnVuY3Rpb25UeXBlKTtcbiAgfVxufVxuIl19","import { inject, Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction } from \"../workflow.types\";\nimport { AXPWorkflowService } from \"../workflow.service\";\nimport * as i0 from \"@angular/core\";\nexport class AXPStartWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.workflowService = inject(AXPWorkflowService);\n }\n async execute(context) {\n //console.log(\"start WK current context\", context);\n //console.log(\"start WK input context\", this.context);\n if (this.context)\n context.setVariables(this.context);\n //console.log(\"start WK merged context\", context);\n try {\n await this.workflowService.execute(this.workflow, context);\n }\n catch (e) {\n throw e;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPStartWorkflowAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPStartWorkflowAction, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPStartWorkflowAction, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtd29ya2Zsb3cuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2FjdGlvbnMvc3RhcnQtd29ya2Zsb3cuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUg3RDs7UUFLWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0tBa0J2RDtJQWRHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsbURBQW1EO1FBQ25ELHNEQUFzRDtRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ1osT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEMsa0RBQWtEO1FBQ2xELElBQUksQ0FBQztZQUNELE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsQ0FBQztRQUNaLENBQUM7SUFFTCxDQUFDOzhHQW5CUSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZuQixNQUFNOzsyRkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tIFwiLi4vd29ya2Zsb3cudHlwZXNcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gXCIuLi93b3JrZmxvdy5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG5cbiAgICBwcml2YXRlIHdvcmtmbG93U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpXG4gICAgcHJpdmF0ZSB3b3JrZmxvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgY29udGV4dDogYW55O1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIGN1cnJlbnQgY29udGV4dFwiLCBjb250ZXh0KTtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIGlucHV0IGNvbnRleHRcIiwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGVzKHRoaXMuY29udGV4dClcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIG1lcmdlZCBjb250ZXh0XCIsIGNvbnRleHQpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvd1NlcnZpY2UuZXhlY3V0ZSh0aGlzLndvcmtmbG93LCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4iXX0=","import { Inject, NgModule, Optional } from '@angular/core';\nimport { AXPWorkflowDecideAction } from './actions/decide.action';\nimport { AXPStartWorkflowAction } from './actions/start-workflow.action';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowModule {\n static forRoot(config) {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry) => () => {\n registry.registerAction('start-workflow', AXPStartWorkflowAction);\n registry.registerAction('decide', AXPWorkflowDecideAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true,\n },\n ...Object.values(config?.actions ?? { AXPStartWorkflowAction }),\n ...Object.values(config?.functions ?? {}),\n ],\n };\n }\n static forChild(config) {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry) => () => {\n registry.registerAction('start-workflow', AXPStartWorkflowAction);\n registry.registerAction('decide', AXPWorkflowDecideAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true,\n },\n ...Object.values(config?.actions ?? {}),\n ...Object.values(config?.functions ?? {}),\n ],\n };\n }\n /**\n * @ignore\n */\n constructor(instances) {\n instances?.forEach((f) => {\n f();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowModule, deps: [{ token: 'AXPWorkflowModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [],\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['AXPWorkflowModuleFactory']\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQW9CMUUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWlDO1FBQzlDLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxVQUFVLEVBQUUsQ0FBQyxRQUFvQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7d0JBQ3pELFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQzt3QkFDbEUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsQ0FBQzt3QkFDM0QsRUFBRTt3QkFDRixJQUFJLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzs0QkFDdEIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0NBQzNELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7NEJBQ3ZDLENBQUM7d0JBQ0gsQ0FBQzt3QkFDRCxFQUFFO3dCQUNGLElBQUks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LENBQUM7SUFFRDs7T0FFRztJQUNILFlBQTRELFNBQWdCO1FBQzFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FsRlUsaUJBQWlCLGtCQThFSSwwQkFBMEI7K0dBOUUvQyxpQkFBaUI7K0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2Q7OzBCQStFYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0RlY2lkZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9kZWNpZGUuYWN0aW9uJztcbmltcG9ydCB7IEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvc3RhcnQtd29ya2Zsb3cuYWN0aW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi93b3JrZmxvdy1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93RnVuY3Rpb24gfSBmcm9tICcuL3dvcmtmbG93LnR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzIHtcbiAgZnVuY3Rpb25zPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93RnVuY3Rpb24+O1xuICB9O1xuICBhY3Rpb25zPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPjtcbiAgfTtcbiAgd29ya2Zsb3dzPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBBWFBXb3JrZmxvdztcbiAgfTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEFYUFdvcmtmbG93TW9kdWxlQ29uZmlncyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhQV29ya2Zsb3dNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYUFdvcmtmbG93TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQVhQV29ya2Zsb3dNb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbignc3RhcnQtd29ya2Zsb3cnLCBBWFBTdGFydFdvcmtmbG93QWN0aW9uKTtcbiAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyQWN0aW9uKCdkZWNpZGUnLCBBWFBXb3JrZmxvd0RlY2lkZUFjdGlvbik7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBpZiAoY29uZmlnPy5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmFjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGlmIChjb25maWc/LndvcmtmbG93cykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy53b3JrZmxvd3MpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJXb3JrZmxvdyhrZXksIHR5cGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uYWN0aW9ucyA/PyB7IEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gfSksXG4gICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKGNvbmZpZz86IEFYUFdvcmtmbG93TW9kdWxlQ29uZmlncyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhQV29ya2Zsb3dNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYUFdvcmtmbG93TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQVhQV29ya2Zsb3dNb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbignc3RhcnQtd29ya2Zsb3cnLCBBWFBTdGFydFdvcmtmbG93QWN0aW9uKTtcbiAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyQWN0aW9uKCdkZWNpZGUnLCBBWFBXb3JrZmxvd0RlY2lkZUFjdGlvbik7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBpZiAoY29uZmlnPy5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmFjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGlmIChjb25maWc/LndvcmtmbG93cykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy53b3JrZmxvd3MpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJXb3JrZmxvdyhrZXksIHR5cGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uYWN0aW9ucyA/PyB7fSksXG4gICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScpIGluc3RhbmNlczogYW55W10pIHtcbiAgICBpbnN0YW5jZXM/LmZvckVhY2goKGYpID0+IHtcbiAgICAgIGYoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19","import { InjectionToken } from '@angular/core';\n/**\n * An abstract class for a workflow task provider, which is responsible for\n * fetching and manipulating task data from a specific source.\n * @template T - The type of custom data associated with the tasks.\n */\nexport class AXPWorkflowTaskProvider {\n}\n/**\n * Injection token for registering multiple workflow task providers.\n */\nexport const AXP_WORKFLOW_TASK_PROVIDER = new InjectionToken('AXP_WORKFLOW_TASK_PROVIDER');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi90YXNrLWJvYXJkLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvSi9DOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtDQWtDNUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUE0Qiw0QkFBNEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhSYW5nZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQsIEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0LCBBWFBVc2VyUmVmZXJlbmNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldENvbHVtbk5vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmludGVyZmFjZSBBWFBBdWRpdGFibGUge1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICB1cGRhdGVkQXQ/OiBEYXRlO1xuICBjcmVhdGVkQnk/OiBzdHJpbmc7XG4gIHVwZGF0ZWRCeT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgYW4gZXh0cmEgZmllbGQgZm9yIGEgdGFzay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBFeHRyYUZpZWxkIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHdpZGdldDogQVhQV2lkZ2V0Q29sdW1uTm9kZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIHRhc2sgaW4gdGhlIHN5c3RlbS5cbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YXNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFRhc2s8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IGV4dGVuZHMgQVhQQXVkaXRhYmxlIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdGFzay4gU2hvdWxkIGJlIGltbXV0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgdGFzay5cbiAgICovXG4gIGluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgdGFzay5cbiAgICovXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIHRhc2ssIHBvdGVudGlhbGx5IHN1cHBvcnRpbmcgbWFya2Rvd24uXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgc3RhdHVzOiB7XG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgdXNlciB3aG8gaXMgYXNzaWduZWQgdG8gd29yayBvbiB0aGUgdGFzay5cbiAgICovXG4gIGFzc2lnbmVlPzogQVhQVXNlclJlZmVyZW5jZTtcblxuICAvKipcbiAgICogVGhlIHVzZXIgd2hvIGNyZWF0ZWQgb3IgcmVwb3J0ZWQgdGhlIHRhc2suXG4gICAqL1xuICByZXBvcnRlcjogQVhQVXNlclJlZmVyZW5jZTtcblxuICAvKipcbiAgICogT3RoZXIgdXNlcnMgaW52b2x2ZWQgb3Igd2F0Y2hpbmcgdGhlIHRhc2suXG4gICAqL1xuICBwYXJ0aWNpcGFudHM/OiBBWFBVc2VyUmVmZXJlbmNlW107XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFydCBkYXRlIG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgc3RhcnREYXRlOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5kIGRhdGUgb3IgZGVhZGxpbmUgb2YgdGhlIHRhc2suXG4gICAqL1xuICBlbmREYXRlOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgbGV2ZWwgb2YgdGhlIHRhc2suXG4gICAqL1xuICBwcmlvcml0eT86ICdoaWdoZXN0JyB8ICdoaWdoJyB8ICdtZWRpdW0nIHwgJ2xvdycgfCAnbG93ZXN0JztcblxuICAvKipcbiAgICogVGhlIHByb2dyZXNzIG9mIHRoZSB0YXNrLCBmcm9tIDAgdG8gMTAwLlxuICAgKi9cbiAgcHJvZ3Jlc3M/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHRhZ3MgZm9yIGNhdGVnb3JpemluZyBhbmQgZmlsdGVyaW5nLlxuICAgKi9cbiAgdGFncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHRhc2sgaXMgYW4gYWxsLWRheSBldmVudC5cbiAgICovXG4gIGFsbERheT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSB0YXNrIGZvciBjdXN0b20gc3R5bGluZy5cbiAgICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHRhc2sgaXMgcmVhZC1vbmx5IGZvciB0aGUgY3VycmVudCB1c2VyLlxuICAgKi9cbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2sgZm9yIGV4dGVuc2liaWxpdHkuXG4gICAqL1xuICBkYXRhPzogVDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHByb3ZpZGVyIHRoYXQgb3ducyB0aGlzIHRhc2suXG4gICAqL1xuICBwcm92aWRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBmaWx0ZXIgb3B0aW9ucyBmb3IgcXVlcnlpbmcgdGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVGFza0ZpbHRlciB7XG4gIHJhbmdlPzogQVhSYW5nZTxEYXRlPjtcbiAgYXNzaWduZWVJZHM/OiAoc3RyaW5nIHwgbnVtYmVyKVtdO1xuICByZXBvcnRlcklkcz86IChzdHJpbmcgfCBudW1iZXIpW107XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbiAgdHlwZXM/OiBzdHJpbmdbXTtcbiAgc2tpcD86IG51bWJlcjtcbiAgdGFrZT86IG51bWJlcjtcbiAgcHJpb3JpdGllcz86IEFycmF5PCdoaWdoZXN0JyB8ICdoaWdoJyB8ICdtZWRpdW0nIHwgJ2xvdycgfCAnbG93ZXN0JyB8ICdub19wcmlvcml0eSc+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gYWN0aW9uIHBlcmZvcm1lZCBvbiBhIHRhc2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVGFza0FjdGlvbiB7XG4gIG5hdGl2ZUV2ZW50OiBNb3VzZUV2ZW50O1xuICB0YXNrOiBBWFBUYXNrO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHN0YXR1cyBvZiBhIHRhc2sgKGUuZy4sIGEgY29sdW1uIG9uIGEgS2FuYmFuIGJvYXJkKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBUYXNrU3RhdHVzIHtcbiAga2V5OiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gYWJzdHJhY3QgY2xhc3MgZm9yIGEgd29ya2Zsb3cgdGFzayBwcm92aWRlciwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yXG4gKiBmZXRjaGluZyBhbmQgbWFuaXB1bGF0aW5nIHRhc2sgZGF0YSBmcm9tIGEgc3BlY2lmaWMgc291cmNlLlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiBjdXN0b20gZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQV29ya2Zsb3dUYXNrUHJvdmlkZXI8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgYWJzdHJhY3QgZ2V0IG5hbWUoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXQgdGl0bGUoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXQgaWNvbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgdGFza3MgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGZpbHRlciBvcHRpb25zLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBmaWx0ZXIgb3B0aW9ucy5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgbGlzdCBvZiB0YXNrcyBhbmQgdGhlIHRvdGFsIGNvdW50LlxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0VGFza3Mob3B0aW9ucz86IEFYUFRhc2tGaWx0ZXIpOiBQcm9taXNlPHsgaXRlbXM6IEFYUFRhc2s8VD5bXTsgdG90YWw6IG51bWJlciB9PjtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIGV4dHJhIGZpZWxkcyB0aGF0IGNhbiBiZSBkaXNwbGF5ZWQgYXMgY29sdW1ucyBmb3IgdGhpcyBwcm92aWRlcidzIHRhc2tzLlxuICAgKiBUaGlzIGRlZmluZXMgdGhlIHNjaGVtYSBmb3IgY3VzdG9tIGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBnZXRFeHRyYUZpZWxkcygpOiBQcm9taXNlPEFYUEV4dHJhRmllbGRbXT47XG5cbiAgYWJzdHJhY3QgZ2V0QWN0aW9ucyhjb250ZXh0PzogQVhQVGFzazxUPik6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT47XG5cbiAgYWJzdHJhY3QgZ2V0U3RhdHVzZXMoKTogUHJvbWlzZTxBWFBUYXNrU3RhdHVzW10+O1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIGEgbGlzdCBvZiB0YXNrcy5cbiAgICogQHBhcmFtIHRhc2tzIC0gVGhlIHRhc2tzIHRvIHVwZGF0ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdXBkYXRlZCB0YXNrcy5cbiAgICovXG4gIGFic3RyYWN0IHVwZGF0ZVRhc2tzKHRhc2tzOiBBWFBUYXNrPFQ+W10pOiBQcm9taXNlPEFYUFRhc2s8VD5bXT47XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgY29tbWFuZCBvbiB0aGUgdGFzayBwcm92aWRlci5cbiAgICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBleGVjdXRlLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLlxuICAgKi9cbiAgYWJzdHJhY3QgZXhlY3V0ZUNvbW1hbmQoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiBQcm9taXNlPEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0Pjtcbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIHJlZ2lzdGVyaW5nIG11bHRpcGxlIHdvcmtmbG93IHRhc2sgcHJvdmlkZXJzLlxuICovXG5leHBvcnQgY29uc3QgQVhQX1dPUktGTE9XX1RBU0tfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQV29ya2Zsb3dUYXNrUHJvdmlkZXJbXT4oJ0FYUF9XT1JLRkxPV19UQVNLX1BST1ZJREVSJyk7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvYWNvcmV4LXBsYXRmb3JtLXdvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.AXPWorkflowRegistryService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-workflow.mjs","sources":["../tmp-esm2022/workflow/lib/errors.types.js","../tmp-esm2022/workflow/lib/workflow-event-dispatcher.service.js","../tmp-esm2022/workflow/lib/workflow-registery.service.js","../tmp-esm2022/workflow/lib/workflow.types.js","../tmp-esm2022/workflow/lib/actions/decide.action.js","../tmp-esm2022/workflow/lib/workflow.service.js","../tmp-esm2022/workflow/lib/actions/start-workflow.action.js","../tmp-esm2022/workflow/lib/workflow.module.js","../tmp-esm2022/workflow/lib/task-board.types.js","../tmp-esm2022/workflow/acorex-platform-workflow.js"],"sourcesContent":["export class AXPWorkflowError extends Error {\n constructor(message, inner = null) {\n super(message);\n this.inner = inner;\n this.name = 'AXPWorkflowError';\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2Vycm9ycy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsS0FBSztJQUN2QyxZQUFZLE9BQWUsRUFBUyxRQUFzQixJQUFJO1FBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURpQixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUUxRCxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGlubmVyOiBFcnJvciB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSAnQVhQV29ya2Zsb3dFcnJvcic7XG4gICAgfVxufSJdfQ==","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowEventService {\n constructor() {\n this.eventSubject = new Subject();\n }\n dispatch(event) {\n this.eventSubject.next(event);\n }\n get events$() {\n return this.eventSubject.asObservable();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowEventService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowEventService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93LWV2ZW50LWRpc3BhdGNoZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTTNDLE1BQU0sT0FBTyx1QkFBdUI7SUFIcEM7UUFJVSxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO0tBU3hEO0lBUEMsUUFBUSxDQUFDLEtBQXVCO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs4R0FUVSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dFdmVudCB9IGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dFdmVudFNlcnZpY2Uge1xuICBwcml2YXRlIGV2ZW50U3ViamVjdCA9IG5ldyBTdWJqZWN0PEFYUFdvcmtmbG93RXZlbnQ+KCk7XG5cbiAgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIGdldCBldmVudHMkKCk6IE9ic2VydmFibGU8QVhQV29ya2Zsb3dFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowRegistryService {\n constructor() {\n this.functionsMap = new Map();\n this.actionsMap = new Map();\n this.workflowsMap = new Map();\n }\n registerWorkflow(name, workflow) {\n this.workflowsMap.set(name, workflow);\n }\n getWorkflow(name) {\n return this.workflowsMap.get(name);\n }\n registerAction(name, action) {\n this.actionsMap.set(name, action);\n }\n getAction(name) {\n return this.actionsMap.get(name);\n }\n registerFunction(name, func) {\n this.functionsMap.set(name, func);\n }\n getFunction(name) {\n return this.functionsMap.get(name);\n }\n getFunctionNames() {\n return Array.from(this.functionsMap.keys());\n }\n getStep(workflowName, stepName) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n return steps[stepName];\n }\n return undefined;\n }\n updateStepInWorkflow(workflowName, stepName, step) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n if (steps[stepName]) {\n steps[stepName] = step;\n }\n else {\n throw new Error(`Step with name ${stepName} does not exist in workflow ${workflowName}.`);\n }\n }\n else {\n throw new Error(`Workflow with name ${workflowName} does not exist.`);\n }\n }\n addStepToWorkflow(workflowName, stepName, step) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n if (!steps[stepName]) {\n steps[stepName] = step;\n }\n else {\n throw new Error(`Step with name ${stepName} already exists in workflow ${workflowName}.`);\n }\n }\n else {\n throw new Error(`Workflow with name ${workflowName} does not exist.`);\n }\n }\n addAfterStep(workflowId, stepId, newStepId, newStepAction, conditionExpression) {\n const step = this.getStep(workflowId, stepId);\n if (step != undefined) {\n this.addStepToWorkflow(workflowId, newStepId, {\n action: newStepAction,\n nextSteps: step.nextSteps,\n });\n this.updateStepInWorkflow(workflowId, stepId, {\n ...step,\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: conditionExpression }],\n nextStepId: newStepId,\n },\n ],\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowRegistryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowRegistryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7QUFNakQsTUFBTSxPQUFPLDBCQUEwQjtJQUh2QztRQUlVLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFDNUQsZUFBVSxHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBQ3hELGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7S0E0RnZEO0lBMUZDLGdCQUFnQixDQUFDLElBQVksRUFBRSxRQUFxQjtRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsTUFBK0I7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBK0I7UUFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FB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QUFDO0lBQ0gsQ0FBQzs4R0E5RlUsMEJBQTBCO2tIQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7MkZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dGdW5jdGlvbiwgQVhQV29ya2Zsb3dTdGVwIH0gZnJvbSAnLi93b3JrZmxvdy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSB7XG4gIHByaXZhdGUgZnVuY3Rpb25zTWFwID0gbmV3IE1hcDxzdHJpbmcsIFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4+KCk7XG4gIHByaXZhdGUgYWN0aW9uc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPj4oKTtcbiAgcHJpdmF0ZSB3b3JrZmxvd3NNYXAgPSBuZXcgTWFwPHN0cmluZywgQVhQV29ya2Zsb3c+KCk7XG5cbiAgcmVnaXN0ZXJXb3JrZmxvdyhuYW1lOiBzdHJpbmcsIHdvcmtmbG93OiBBWFBXb3JrZmxvdyk6IHZvaWQge1xuICAgIHRoaXMud29ya2Zsb3dzTWFwLnNldChuYW1lLCB3b3JrZmxvdyk7XG4gIH1cblxuICBnZXRXb3JrZmxvdyhuYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dzTWFwLmdldChuYW1lKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQWN0aW9uKG5hbWU6IHN0cmluZywgYWN0aW9uOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uc01hcC5zZXQobmFtZSwgYWN0aW9uKTtcbiAgfVxuXG4gIGdldEFjdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uc01hcC5nZXQobmFtZSk7XG4gIH1cblxuICByZWdpc3RlckZ1bmN0aW9uKG5hbWU6IHN0cmluZywgZnVuYzogVHlwZTxBWFBXb3JrZmxvd0Z1bmN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuZnVuY3Rpb25zTWFwLnNldChuYW1lLCBmdW5jKTtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZ1bmN0aW9uc01hcC5nZXQobmFtZSk7XG4gIH1cblxuICBnZXRGdW5jdGlvbk5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZ1bmN0aW9uc01hcC5rZXlzKCkpO1xuICB9XG5cbiAgZ2V0U3RlcCh3b3JrZmxvd05hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93U3RlcCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLndvcmtmbG93c01hcC5nZXQod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAod29ya2Zsb3cpIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gd29ya2Zsb3cuc3RlcHMgYXMgeyBba2V5OiBzdHJpbmddOiBBWFBXb3JrZmxvd1N0ZXAgfTtcbiAgICAgIHJldHVybiBzdGVwc1tzdGVwTmFtZV07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICB1cGRhdGVTdGVwSW5Xb3JrZmxvdyh3b3JrZmxvd05hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZywgc3RlcDogQVhQV29ya2Zsb3dTdGVwKTogdm9pZCB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLndvcmtmbG93c01hcC5nZXQod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAod29ya2Zsb3cpIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gd29ya2Zsb3cuc3RlcHMgYXMgeyBba2V5OiBzdHJpbmddOiBBWFBXb3JrZmxvd1N0ZXAgfTtcbiAgICAgIGlmIChzdGVwc1tzdGVwTmFtZV0pIHtcbiAgICAgICAgc3RlcHNbc3RlcE5hbWVdID0gc3RlcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU3RlcCB3aXRoIG5hbWUgJHtzdGVwTmFtZX0gZG9lcyBub3QgZXhpc3QgaW4gd29ya2Zsb3cgJHt3b3JrZmxvd05hbWV9LmApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFdvcmtmbG93IHdpdGggbmFtZSAke3dvcmtmbG93TmFtZX0gZG9lcyBub3QgZXhpc3QuYCk7XG4gICAgfVxuICB9XG5cbiAgYWRkU3RlcFRvV29ya2Zsb3cod29ya2Zsb3dOYW1lOiBzdHJpbmcsIHN0ZXBOYW1lOiBzdHJpbmcsIHN0ZXA6IEFYUFdvcmtmbG93U3RlcCk6IHZvaWQge1xuICAgIGNvbnN0IHdvcmtmbG93ID0gdGhpcy53b3JrZmxvd3NNYXAuZ2V0KHdvcmtmbG93TmFtZSk7XG4gICAgaWYgKHdvcmtmbG93KSB7XG4gICAgICBjb25zdCBzdGVwcyA9IHdvcmtmbG93LnN0ZXBzIGFzIHsgW2tleTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gICAgICBpZiAoIXN0ZXBzW3N0ZXBOYW1lXSkge1xuICAgICAgICBzdGVwc1tzdGVwTmFtZV0gPSBzdGVwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGVwIHdpdGggbmFtZSAke3N0ZXBOYW1lfSBhbHJlYWR5IGV4aXN0cyBpbiB3b3JrZmxvdyAke3dvcmtmbG93TmFtZX0uYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgV29ya2Zsb3cgd2l0aCBuYW1lICR7d29ya2Zsb3dOYW1lfSBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICB9XG4gIH1cblxuICBhZGRBZnRlclN0ZXAoXG4gICAgd29ya2Zsb3dJZDogc3RyaW5nLFxuICAgIHN0ZXBJZDogc3RyaW5nLFxuICAgIG5ld1N0ZXBJZDogc3RyaW5nLFxuICAgIG5ld1N0ZXBBY3Rpb246IHN0cmluZyxcbiAgICBjb25kaXRpb25FeHByZXNzaW9uOiBzdHJpbmdcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuZ2V0U3RlcCh3b3JrZmxvd0lkLCBzdGVwSWQpO1xuICAgIGlmIChzdGVwICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hZGRTdGVwVG9Xb3JrZmxvdyh3b3JrZmxvd0lkLCBuZXdTdGVwSWQsIHtcbiAgICAgICAgYWN0aW9uOiBuZXdTdGVwQWN0aW9uLFxuICAgICAgICBuZXh0U3RlcHM6IHN0ZXAubmV4dFN0ZXBzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudXBkYXRlU3RlcEluV29ya2Zsb3cod29ya2Zsb3dJZCwgc3RlcElkLCB7XG4gICAgICAgIC4uLnN0ZXAsXG4gICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiBjb25kaXRpb25FeHByZXNzaW9uIH1dLFxuICAgICAgICAgICAgbmV4dFN0ZXBJZDogbmV3U3RlcElkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { filter } from 'rxjs';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { cloneDeep, get } from 'lodash-es';\nimport { setSmart } from '@acorex/platform/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowContext {\n constructor(initialData = {}) {\n this.variables = {};\n this.stepOutputs = new Map();\n this.variables = cloneDeep(initialData);\n }\n setVariable(key, value) {\n setSmart(this.variables, key, value);\n }\n setVariables(context = {}) {\n this.variables = { ...this.variables, ...context };\n }\n getVariable(key) {\n return !key ? this.variables : get(this.variables, key);\n }\n setOutput(key, output) {\n this.stepOutputs.set(key, output);\n }\n setOutputs(values) {\n this.stepOutputs = new Map([...this.stepOutputs, ...values]);\n }\n getOutput(key) {\n return this.stepOutputs.get(key);\n }\n}\nexport class AXPWorkflowAction {\n constructor() {\n this.eventService = inject(AXPWorkflowEventService);\n }\n dispatch(event) {\n this.eventService.dispatch(event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowAction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPWorkflowFunction {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowFunction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowFunction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowFunction, decorators: [{\n type: Injectable\n }] });\nexport function createWorkFlowEvent(type) {\n const eventCreator = (payload) => ({ type, payload });\n eventCreator.type = type;\n return eventCreator;\n}\nexport function ofType(...allowedTypes) {\n return filter((event) => allowedTypes.some((type) => event.type === type.type));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBUWpELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBWSxjQUFtQixFQUFFO1FBSXpCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUpoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBS0QsV0FBVyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR0QsWUFBWSxDQUFDLFVBQWUsRUFBRTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBVSxHQUFtQjtRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFXO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxTQUFTLENBQVUsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQXlCRCxNQUFNLE9BQWdCLGlCQUFpQjtJQUR2QztRQUVVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FPeEQ7SUFMVyxRQUFRLENBQUMsS0FBdUI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0FMbUIsaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRHRDLFVBQVU7O0FBWVgsTUFBTSxPQUFnQixtQkFBbUI7OEdBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVOztBQVlYLE1BQU0sVUFBVSxtQkFBbUIsQ0FBSSxJQUFZO0lBQ2pELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDekIsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQTZCLEdBQUcsWUFBcUM7SUFDekYsT0FBTyxNQUFNLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IHNldFNtYXJ0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvdyB7XG4gIHN0ZXBzOiB7IFtzdGVwTmFtZTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gIHN0YXJ0U3RlcElkOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93Q29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbERhdGE6IGFueSA9IHt9KSB7XG4gICAgdGhpcy52YXJpYWJsZXMgPSBjbG9uZURlZXAoaW5pdGlhbERhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YXJpYWJsZXM6IGFueSA9IHt9O1xuICBwcml2YXRlIHN0ZXBPdXRwdXRzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuXG4gIHNldFZhcmlhYmxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgc2V0U21hcnQodGhpcy52YXJpYWJsZXMsIGtleSwgdmFsdWUpO1xuICB9XG5cblxuICBzZXRWYXJpYWJsZXMoY29udGV4dDogYW55ID0ge30pIHtcbiAgICB0aGlzLnZhcmlhYmxlcyA9IHsgLi4udGhpcy52YXJpYWJsZXMsIC4uLmNvbnRleHQgfTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlPFQgPSBhbnk+KGtleT86IHN0cmluZyB8IG51bGwpOiBUIHtcbiAgICByZXR1cm4gIWtleSA/IHRoaXMudmFyaWFibGVzIDogZ2V0KHRoaXMudmFyaWFibGVzLCBrZXkpO1xuICB9XG5cbiAgc2V0T3V0cHV0KGtleTogc3RyaW5nLCBvdXRwdXQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc3RlcE91dHB1dHMuc2V0KGtleSwgb3V0cHV0KTtcbiAgfVxuXG4gIHNldE91dHB1dHModmFsdWVzOiBNYXA8c3RyaW5nLCBhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5zdGVwT3V0cHV0cyA9IG5ldyBNYXAoWy4uLnRoaXMuc3RlcE91dHB1dHMsIC4uLnZhbHVlc10pXG4gIH1cblxuICBnZXRPdXRwdXQ8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwT3V0cHV0cy5nZXQoa2V5KTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd0FjdGlvbklucHV0ID0gYW55O1xuXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd0NvbmRpdGlvblR5cGUgPSAnQU5EJyB8ICdPUicgfCAnU0lOR0xFJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0NvbmRpdGlvbiB7XG4gIHR5cGU6IEFYUFdvcmtmbG93Q29uZGl0aW9uVHlwZTtcbiAgY29uZGl0aW9ucz86IEFYUFdvcmtmbG93Q29uZGl0aW9uW107IC8vIE5lc3RlZCBjb25kaXRpb25zXG4gIGV4cHJlc3Npb24/OiBzdHJpbmc7IC8vIFVzZWQgaWYgdHlwZSBpcyAnU0lOR0xFJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93TmV4dFN0ZXAge1xuICBjb25kaXRpb25zOiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdO1xuICBuZXh0U3RlcElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dTdGVwIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGFjdGlvbjogQVhQV29ya2Zsb3dBY3Rpb24gfCBzdHJpbmc7XG4gIGlucHV0PzogQVhQV29ya2Zsb3dBY3Rpb25JbnB1dDtcbiAgbmV4dFN0ZXBzPzogQVhQV29ya2Zsb3dOZXh0U3RlcFtdO1xuICBjb25kaXRpb25zPzogQVhQV29ya2Zsb3dDb25kaXRpb25bXTtcbn1cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYUFdvcmtmbG93RXZlbnRTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZS5kaXNwYXRjaChldmVudCk7XG4gIH1cblxuICBhYnN0cmFjdCBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgYWJzdHJhY3QgZXhlY3V0ZSguLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB8IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0V2ZW50PFQgPSBhbnk+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBwYXlsb2FkPzogVDtcbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVXb3JrRmxvd0V2ZW50PFQ+KHR5cGU6IHN0cmluZykge1xuICBjb25zdCBldmVudENyZWF0b3IgPSAocGF5bG9hZDogVCkgPT4gKHsgdHlwZSwgcGF5bG9hZCB9KTtcbiAgZXZlbnRDcmVhdG9yLnR5cGUgPSB0eXBlO1xuICByZXR1cm4gZXZlbnRDcmVhdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZUeXBlPFQgZXh0ZW5kcyB7IHR5cGU6IHN0cmluZyB9PiguLi5hbGxvd2VkVHlwZXM6IEFycmF5PHsgdHlwZTogc3RyaW5nIH0+KSB7XG4gIHJldHVybiBmaWx0ZXIoKGV2ZW50OiBUKSA9PiBhbGxvd2VkVHlwZXMuc29tZSgodHlwZSkgPT4gZXZlbnQudHlwZSA9PT0gdHlwZS50eXBlKSk7XG59XG4iXX0=","import { Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction } from \"../workflow.types\";\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowDecideAction extends AXPWorkflowAction {\n async execute(context) {\n // its a fake action\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowDecideAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowDecideAction, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowDecideAction, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaWRlLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9hY3Rpb25zL2RlY2lkZS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sbUJBQW1CLENBQUM7O0FBTTFFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxpQkFBaUI7SUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxvQkFBb0I7SUFDeEIsQ0FBQzs4R0FIUSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQUZwQixNQUFNOzsyRkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSBcIi4uL3dvcmtmbG93LnR5cGVzXCI7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dEZWNpZGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gaXRzIGEgZmFrZSBhY3Rpb25cbiAgICB9XG59Il19","import { Injectable, Injector, inject } from '@angular/core';\nimport { cloneDeep, set } from 'lodash-es';\nimport { AXPWorkflowError } from './errors.types';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport { AXPWorkflowContext, } from './workflow.types';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./workflow-registery.service\";\nexport class AXPWorkflowService {\n get events$() {\n return this.eventService.events$;\n }\n constructor(registryService, injector) {\n this.registryService = registryService;\n this.injector = injector;\n this.eventService = inject(AXPWorkflowEventService);\n }\n async execute(workflow, initialContext = null) {\n // Instantiate or retrieve the workflow\n const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;\n let currentStepId = wk.startStepId;\n const context = initialContext instanceof AXPWorkflowContext\n ? initialContext\n : new AXPWorkflowContext(this.processData(initialContext) ?? {});\n // Initialize context with initial variables\n while (currentStepId) {\n const currentStep = wk.steps[currentStepId];\n if (!currentStep) {\n throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);\n }\n // Instantiate or retrieve the action\n const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;\n //\n if (currentStep.input) {\n let inputs = {};\n await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);\n await new Promise((resolve) => setTimeout(async () => {\n Object.assign(action, inputs);\n resolve(0);\n }));\n }\n try {\n await new Promise((resolve) => setTimeout(async () => {\n await action.execute(context);\n resolve(0);\n }, 0));\n }\n catch (error) {\n console.error(error);\n throw new AXPWorkflowError('Workflow Error', error);\n }\n // Determine the next step based on the conditions\n const nextStepInfo = await this.determineNextStep(currentStep, context);\n if (nextStepInfo) {\n currentStepId = nextStepInfo.nextStepId;\n }\n else {\n break; // Exit the loop if no next step is determined\n }\n }\n return context;\n }\n processData(initialContext) {\n //TODO: update values with expressions and return new object\n return initialContext;\n }\n getActionInstance(actionName) {\n const actionType = this.registryService.getAction(actionName);\n if (!actionType) {\n throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);\n }\n return this.injector.get(actionType);\n }\n getWorkflowInstance(workflowName) {\n const workflowType = this.registryService.getWorkflow(workflowName);\n if (!workflowType) {\n throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);\n }\n return workflowType;\n }\n async determineNextStep(currentStep, context) {\n if (!currentStep.nextSteps) {\n return null;\n }\n for (const nextStep of currentStep.nextSteps) {\n if (await this.evaluateCondition(nextStep.conditions, context)) {\n return nextStep;\n }\n }\n return null;\n }\n async evaluateCondition(conditions, context) {\n if (!conditions || conditions.length === 0) {\n return true; // If no conditions, the step proceeds\n }\n // Map each condition to a promise using evaluateSingleCondition\n const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));\n // Wait for all promises to resolve\n const results = await Promise.all(conditionPromises);\n // Check if every condition is true\n return results.every((result) => result);\n }\n async evaluateSingleCondition(condition, context) {\n switch (condition.type) {\n case 'SINGLE':\n return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context));\n case 'AND':\n // Evaluate all conditions with 'AND' logic\n const andConditions = condition.conditions ?? [];\n const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return andResults.every((result) => result);\n case 'OR':\n // Evaluate all conditions with 'OR' logic\n const orConditions = condition.conditions ?? [];\n const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return orResults.some((result) => result);\n default:\n throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);\n }\n }\n //TODO: return any and recursively update object, update scopes\n async evaluateExpression(templateExpression, context) {\n try {\n let expression = '';\n if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n expression = expressionMatch[1];\n }\n else {\n expression = templateExpression;\n }\n // Create a scope that includes context and registered functions\n const scope = { context, ...this.createFunctionScope() };\n // Evaluating the expression within the created scope\n const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);\n const result = await sandbox(scope);\n return result;\n }\n catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n async processInputs(obj, inputs, pathPrefix = '', context = {}) {\n if (!obj) {\n return;\n }\n for await (const i of Object.entries(obj)) {\n const key = i[0];\n const value = i[1];\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.trim().includes('{{')) {\n const expValue = await this.evaluateExpression(value, context);\n set(inputs, currentPath, expValue);\n }\n else if (typeof value === 'object' &&\n value !== null &&\n (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.processInputs(value, inputs, currentPath, context);\n }\n else {\n // Apply static values directly\n set(inputs, currentPath, value);\n }\n }\n }\n createFunctionScope() {\n const scope = {};\n this.registryService.getFunctionNames().forEach((name) => {\n scope[name] = this.getFunctionInstance(name).execute;\n });\n return { methods: { scope } };\n }\n getFunctionInstance(functionName) {\n const functionType = this.registryService.getFunction(functionName);\n if (!functionType) {\n throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);\n }\n return this.injector.get(functionType);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowService, deps: [{ token: i1.AXPWorkflowRegistryService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.AXPWorkflowRegistryService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi93b3JrZmxvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBSUwsa0JBQWtCLEdBS25CLE1BQU0sa0JBQWtCLENBQUM7OztBQUsxQixNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQW9CLGVBQTJDLEVBQVUsUUFBa0I7UUFBdkUsb0JBQWUsR0FBZixlQUFlLENBQTRCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU5uRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBTXdDLENBQUM7SUFFaEcsS0FBSyxDQUFDLE9BQU8sQ0FDWCxRQUE4QixFQUM5QixpQkFBa0QsSUFBSTtRQUV0RCx1Q0FBdUM7UUFDdkMsTUFBTSxFQUFFLEdBQUcsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUV4RixJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFD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K0I7Z0JBQy9CLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLEtBQUssR0FBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFlBQW9CO1FBQzlDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksZ0JBQWdCLENBQUMsa0JBQWtCLFlBQVksOEJBQThCLENBQUMsQ0FBQztRQUMzRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDOzhHQS9NVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dFcnJvciB9IGZyb20gJy4vZXJyb3JzLnR5cGVzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93RXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi93b3JrZmxvdy1ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dvcmtmbG93LXJlZ2lzdGVyeS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYUFdvcmtmbG93LFxuICBBWFBXb3JrZmxvd0FjdGlvbixcbiAgQVhQV29ya2Zsb3dDb25kaXRpb24sXG4gIEFYUFdvcmtmbG93Q29udGV4dCxcbiAgQVhQV29ya2Zsb3dFdmVudCxcbiAgQVhQV29ya2Zsb3dGdW5jdGlvbixcbiAgQVhQV29ya2Zsb3dOZXh0U3RlcCxcbiAgQVhQV29ya2Zsb3dTdGVwLFxufSBmcm9tICcuL3dvcmtmbG93LnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93U2VydmljZSB7XG4gIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYUFdvcmtmbG93RXZlbnRTZXJ2aWNlKTtcblxuICBnZXQgZXZlbnRzJCgpOiBPYnNlcnZhYmxlPEFYUFdvcmtmbG93RXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5ldmVudFNlcnZpY2UuZXZlbnRzJDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVnaXN0cnlTZXJ2aWNlOiBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoXG4gICAgd29ya2Zsb3c6IEFYUFdvcmtmbG93IHwgc3RyaW5nLFxuICAgIGluaXRpYWxDb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQgfCBhbnkgfCBudWxsID0gbnVsbFxuICApOiBQcm9taXNlPEFYUFdvcmtmbG93Q29udGV4dD4ge1xuICAgIC8vIEluc3RhbnRpYXRlIG9yIHJldHJpZXZlIHRoZSB3b3JrZmxvd1xuICAgIGNvbnN0IHdrID0gdHlwZW9mIHdvcmtmbG93ID09PSAnc3RyaW5nJyA/IHRoaXMuZ2V0V29ya2Zsb3dJbnN0YW5jZSh3b3JrZmxvdykgOiB3b3JrZmxvdztcblxuICAgIGxldCBjdXJyZW50U3RlcElkID0gd2suc3RhcnRTdGVwSWQ7XG4gICAgY29uc3QgY29udGV4dCA9XG4gICAgICBpbml0aWFsQ29udGV4dCBpbnN0YW5jZW9mIEFYUFdvcmtmbG93Q29udGV4dFxuICAgICAgICA/IGluaXRpYWxDb250ZXh0XG4gICAgICAgIDogbmV3IEFYUFdvcmtmbG93Q29udGV4dCh0aGlzLnByb2Nlc3NEYXRhKGluaXRpYWxDb250ZXh0KSA/PyB7fSk7XG4gICAgLy8gSW5pdGlhbGl6ZSBjb250ZXh0IHdpdGggaW5pdGlhbCB2YXJpYWJsZXNcblxuICAgIHdoaWxlIChjdXJyZW50U3RlcElkKSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RlcCA9IHdrLnN0ZXBzW2N1cnJlbnRTdGVwSWRdO1xuICAgICAgaWYgKCFjdXJyZW50U3RlcCkge1xuICAgICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgU3RlcCAnJHtjdXJyZW50U3RlcElkfScgbm90IGZvdW5kIGluIHRoZSB3b3JrZmxvdyBzdGVwcy5gKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5zdGFudGlhdGUgb3IgcmV0cmlldmUgdGhlIGFjdGlvblxuICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgdHlwZW9mIGN1cnJlbnRTdGVwLmFjdGlvbiA9PT0gJ3N0cmluZycgPyB0aGlzLmdldEFjdGlvbkluc3RhbmNlKGN1cnJlbnRTdGVwLmFjdGlvbikgOiBjdXJyZW50U3RlcC5hY3Rpb247XG4gICAgICAvL1xuICAgICAgaWYgKGN1cnJlbnRTdGVwLmlucHV0KSB7XG4gICAgICAgIGxldCBpbnB1dHM6IGFueSA9IHt9O1xuICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NJbnB1dHMoY2xvbmVEZWVwKGN1cnJlbnRTdGVwLmlucHV0KSwgaW5wdXRzLCAnJywgY29udGV4dCk7XG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PlxuICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihhY3Rpb24sIGlucHV0cyk7XG4gICAgICAgICAgICByZXNvbHZlKDApO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGFjdGlvbi5leGVjdXRlKGNvbnRleHQpO1xuICAgICAgICAgICAgcmVzb2x2ZSgwKTtcbiAgICAgICAgICB9LCAwKVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKCdXb3JrZmxvdyBFcnJvcicsIGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICAgIC8vIERldGVybWluZSB0aGUgbmV4dCBzdGVwIGJhc2VkIG9uIHRoZSBjb25kaXRpb25zXG4gICAgICBjb25zdCBuZXh0U3RlcEluZm8gPSBhd2FpdCB0aGlzLmRldGVybWluZU5leHRTdGVwKGN1cnJlbnRTdGVwLCBjb250ZXh0KTtcbiAgICAgIGlmIChuZXh0U3RlcEluZm8pIHtcbiAgICAgICAgY3VycmVudFN0ZXBJZCA9IG5leHRTdGVwSW5mby5uZXh0U3RlcElkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7IC8vIEV4aXQgdGhlIGxvb3AgaWYgbm8gbmV4dCBzdGVwIGlzIGRldGVybWluZWRcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NEYXRhKGluaXRpYWxDb250ZXh0OiBhbnkpOiBhbnkge1xuICAgIC8vVE9ETzogdXBkYXRlIHZhbHVlcyB3aXRoIGV4cHJlc3Npb25zIGFuZCByZXR1cm4gbmV3IG9iamVjdFxuICAgIHJldHVybiBpbml0aWFsQ29udGV4dDtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldEFjdGlvbkluc3RhbmNlKGFjdGlvbk5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0QWN0aW9uKGFjdGlvbk5hbWUpO1xuICAgIGlmICghYWN0aW9uVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYEFjdGlvbiB0eXBlICcke2FjdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoYWN0aW9uVHlwZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFdvcmtmbG93SW5zdGFuY2Uod29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB7XG4gICAgY29uc3Qgd29ya2Zsb3dUeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0V29ya2Zsb3cod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAoIXdvcmtmbG93VHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFdvcmtmbG93IHR5cGUgJyR7d29ya2Zsb3dOYW1lfScgbm90IGZvdW5kIGluIHRoZSByZWdpc3RyeS5gKTtcbiAgICB9XG4gICAgcmV0dXJuIHdvcmtmbG93VHlwZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGV0ZXJtaW5lTmV4dFN0ZXAoXG4gICAgY3VycmVudFN0ZXA6IEFYUFdvcmtmbG93U3RlcCxcbiAgICBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHRcbiAgKTogUHJvbWlzZTxBWFBXb3JrZmxvd05leHRTdGVwIHwgbnVsbD4ge1xuICAgIGlmICghY3VycmVudFN0ZXAubmV4dFN0ZXBzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBuZXh0U3RlcCBvZiBjdXJyZW50U3RlcC5uZXh0U3RlcHMpIHtcbiAgICAgIGlmIChhd2FpdCB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKG5leHRTdGVwLmNvbmRpdGlvbnMsIGNvbnRleHQpKSB7XG4gICAgICAgIHJldHVybiBuZXh0U3RlcDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlQ29uZGl0aW9uKGNvbmRpdGlvbnM6IEFYUFdvcmtmbG93Q29uZGl0aW9uW10sIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghY29uZGl0aW9ucyB8fCBjb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7IC8vIElmIG5vIGNvbmRpdGlvbnMsIHRoZSBzdGVwIHByb2NlZWRzXG4gICAgfVxuXG4gICAgLy8gTWFwIGVhY2ggY29uZGl0aW9uIHRvIGEgcHJvbWlzZSB1c2luZyBldmFsdWF0ZVNpbmdsZUNvbmRpdGlvblxuICAgIGNvbnN0IGNvbmRpdGlvblByb21pc2VzID0gY29uZGl0aW9ucy5tYXAoKGNvbmRpdGlvbikgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kaXRpb24sIGNvbnRleHQpKTtcblxuICAgIC8vIFdhaXQgZm9yIGFsbCBwcm9taXNlcyB0byByZXNvbHZlXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKGNvbmRpdGlvblByb21pc2VzKTtcblxuICAgIC8vIENoZWNrIGlmIGV2ZXJ5IGNvbmRpdGlvbiBpcyB0cnVlXG4gICAgcmV0dXJuIHJlc3VsdHMuZXZlcnkoKHJlc3VsdCkgPT4gcmVzdWx0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oXG4gICAgY29uZGl0aW9uOiBBWFBXb3JrZmxvd0NvbmRpdGlvbixcbiAgICBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHRcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xuICAgICAgY2FzZSAnU0lOR0xFJzpcbiAgICAgICAgcmV0dXJuICghY29uZGl0aW9uLmV4cHJlc3Npb24gPyB0cnVlIDogYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24oY29uZGl0aW9uLmV4cHJlc3Npb24sIGNvbnRleHQpKSBhcyBib29sZWFuO1xuICAgICAgY2FzZSAnQU5EJzpcbiAgICAgICAgLy8gRXZhbHVhdGUgYWxsIGNvbmRpdGlvbnMgd2l0aCAnQU5EJyBsb2dpY1xuICAgICAgICBjb25zdCBhbmRDb25kaXRpb25zID0gY29uZGl0aW9uLmNvbmRpdGlvbnMgPz8gW107XG4gICAgICAgIGNvbnN0IGFuZFJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChhbmRDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xuICAgICAgICByZXR1cm4gYW5kUmVzdWx0cy5ldmVyeSgocmVzdWx0KSA9PiByZXN1bHQpO1xuXG4gICAgICBjYXNlICdPUic6XG4gICAgICAgIC8vIEV2YWx1YXRlIGFsbCBjb25kaXRpb25zIHdpdGggJ09SJyBsb2dpY1xuICAgICAgICBjb25zdCBvckNvbmRpdGlvbnMgPSBjb25kaXRpb24uY29uZGl0aW9ucyA/PyBbXTtcbiAgICAgICAgY29uc3Qgb3JSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwob3JDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xuICAgICAgICByZXR1cm4gb3JSZXN1bHRzLnNvbWUoKHJlc3VsdCkgPT4gcmVzdWx0KTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFVuc3VwcG9ydGVkIGNvbmRpdGlvbiB0eXBlOiAke2NvbmRpdGlvbi50eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vVE9ETzogcmV0dXJuIGFueSBhbmQgcmVjdXJzaXZlbHkgdXBkYXRlIG9iamVjdCwgdXBkYXRlIHNjb3Blc1xuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlRXhwcmVzc2lvbih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZywgY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTxCb29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBleHByZXNzaW9uID0gJyc7XG4gICAgICBpZiAodHlwZW9mIHRlbXBsYXRlRXhwcmVzc2lvbiA9PT0gJ3N0cmluZycgJiYgdGVtcGxhdGVFeHByZXNzaW9uLnRyaW0oKS5pbmNsdWRlcygne3snKSkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uTWF0Y2ggPSB0ZW1wbGF0ZUV4cHJlc3Npb24ubWF0Y2goL1xce1xce1xccyooLio/KVxccypcXH1cXH0vKTtcbiAgICAgICAgaWYgKCFleHByZXNzaW9uTWF0Y2gpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gdmFsaWQgZXhwcmVzc2lvbiBmb3VuZCBpbiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25NYXRjaFsxXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0ZW1wbGF0ZUV4cHJlc3Npb247XG4gICAgICB9XG4gICAgICAvLyBDcmVhdGUgYSBzY29wZSB0aGF0IGluY2x1ZGVzIGNvbnRleHQgYW5kIHJlZ2lzdGVyZWQgZnVuY3Rpb25zXG4gICAgICBjb25zdCBzY29wZSA9IHsgY29udGV4dCwgLi4udGhpcy5jcmVhdGVGdW5jdGlvblNjb3BlKCkgfTtcbiAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIGV4cHJlc3Npb24gd2l0aGluIHRoZSBjcmVhdGVkIHNjb3BlXG4gICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGByZXR1cm4gKGFzeW5jIGZ1bmN0aW9uKCkgeyB3aXRoIChzY29wZSkgeyByZXR1cm4gJHtleHByZXNzaW9ufTsgfSB9KSgpO2ApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2FuZGJveChzY29wZSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGV4cHJlc3Npb246JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc0lucHV0cyhvYmo6IGFueSwgaW5wdXRzOiBhbnksIHBhdGhQcmVmaXg6IHN0cmluZyA9ICcnLCBjb250ZXh0OiBhbnkgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghb2JqKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBpIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICAgIGNvbnN0IGtleSA9IGlbMF07XG4gICAgICBjb25zdCB2YWx1ZSA9IGlbMV07XG4gICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHBhdGhQcmVmaXggPyBgJHtwYXRoUHJlZml4fS4ke2tleX1gIDoga2V5O1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpLmluY2x1ZGVzKCd7eycpKSB7XG4gICAgICAgIGNvbnN0IGV4cFZhbHVlID0gYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24odmFsdWUsIGNvbnRleHQpO1xuICAgICAgICBzZXQoaW5wdXRzLCBjdXJyZW50UGF0aCwgZXhwVmFsdWUpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgICkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBoYW5kbGUgbmVzdGVkIG9iamVjdHNcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5wdXRzKHZhbHVlLCBpbnB1dHMsIGN1cnJlbnRQYXRoLCBjb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFwcGx5IHN0YXRpYyB2YWx1ZXMgZGlyZWN0bHlcbiAgICAgICAgc2V0KGlucHV0cywgY3VycmVudFBhdGgsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uU2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0RnVuY3Rpb25OYW1lcygpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIHNjb3BlW25hbWVdID0gdGhpcy5nZXRGdW5jdGlvbkluc3RhbmNlKG5hbWUpLmV4ZWN1dGU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgbWV0aG9kczogeyBzY29wZSB9IH07XG4gIH1cblxuICBwcml2YXRlIGdldEZ1bmN0aW9uSW5zdGFuY2UoZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgICBjb25zdCBmdW5jdGlvblR5cGUgPSB0aGlzLnJlZ2lzdHJ5U2VydmljZS5nZXRGdW5jdGlvbihmdW5jdGlvbk5hbWUpO1xuICAgIGlmICghZnVuY3Rpb25UeXBlKSB7XG4gICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgRnVuY3Rpb24gdHlwZSAnJHtmdW5jdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoZnVuY3Rpb25UeXBlKTtcbiAgfVxufVxuIl19","import { inject, Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction } from \"../workflow.types\";\nimport { AXPWorkflowService } from \"../workflow.service\";\nimport * as i0 from \"@angular/core\";\nexport class AXPStartWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.workflowService = inject(AXPWorkflowService);\n }\n async execute(context) {\n //console.log(\"start WK current context\", context);\n //console.log(\"start WK input context\", this.context);\n if (this.context)\n context.setVariables(this.context);\n //console.log(\"start WK merged context\", context);\n try {\n await this.workflowService.execute(this.workflow, context);\n }\n catch (e) {\n throw e;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPStartWorkflowAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPStartWorkflowAction, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPStartWorkflowAction, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtd29ya2Zsb3cuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2FjdGlvbnMvc3RhcnQtd29ya2Zsb3cuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUg3RDs7UUFLWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0tBa0J2RDtJQWRHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsbURBQW1EO1FBQ25ELHNEQUFzRDtRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ1osT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEMsa0RBQWtEO1FBQ2xELElBQUksQ0FBQztZQUNELE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsQ0FBQztRQUNaLENBQUM7SUFFTCxDQUFDOzhHQW5CUSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZuQixNQUFNOzsyRkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tIFwiLi4vd29ya2Zsb3cudHlwZXNcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gXCIuLi93b3JrZmxvdy5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG5cbiAgICBwcml2YXRlIHdvcmtmbG93U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpXG4gICAgcHJpdmF0ZSB3b3JrZmxvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgY29udGV4dDogYW55O1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIGN1cnJlbnQgY29udGV4dFwiLCBjb250ZXh0KTtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIGlucHV0IGNvbnRleHRcIiwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGVzKHRoaXMuY29udGV4dClcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIG1lcmdlZCBjb250ZXh0XCIsIGNvbnRleHQpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvd1NlcnZpY2UuZXhlY3V0ZSh0aGlzLndvcmtmbG93LCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4iXX0=","import { Inject, NgModule, Optional } from '@angular/core';\nimport { AXPWorkflowDecideAction } from './actions/decide.action';\nimport { AXPStartWorkflowAction } from './actions/start-workflow.action';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowModule {\n static forRoot(config) {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry) => () => {\n registry.registerAction('start-workflow', AXPStartWorkflowAction);\n registry.registerAction('decide', AXPWorkflowDecideAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true,\n },\n ...Object.values(config?.actions ?? { AXPStartWorkflowAction }),\n ...Object.values(config?.functions ?? {}),\n ],\n };\n }\n static forChild(config) {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry) => () => {\n registry.registerAction('start-workflow', AXPStartWorkflowAction);\n registry.registerAction('decide', AXPWorkflowDecideAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true,\n },\n ...Object.values(config?.actions ?? {}),\n ...Object.values(config?.functions ?? {}),\n ],\n };\n }\n /**\n * @ignore\n */\n constructor(instances) {\n instances?.forEach((f) => {\n f();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowModule, deps: [{ token: 'AXPWorkflowModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPWorkflowModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [],\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['AXPWorkflowModuleFactory']\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQW9CMUUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWlDO1FBQzlDLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxVQUFVLEVBQUUsQ0FBQyxRQUFvQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7d0JBQ3pELFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQzt3QkFDbEUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsQ0FBQzt3QkFDM0QsRUFBRTt3QkFDRixJQUFJLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzs0QkFDdEIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0NBQzNELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7NEJBQ3ZDLENBQUM7d0JBQ0gsQ0FBQzt3QkFDRCxFQUFFO3dCQUNGLElBQUks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LENBQUM7SUFFRDs7T0FFRztJQUNILFlBQTRELFNBQWdCO1FBQzFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FsRlUsaUJBQWlCLGtCQThFSSwwQkFBMEI7K0dBOUUvQyxpQkFBaUI7K0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2Q7OzBCQStFYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0RlY2lkZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9kZWNpZGUuYWN0aW9uJztcbmltcG9ydCB7IEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvc3RhcnQtd29ya2Zsb3cuYWN0aW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi93b3JrZmxvdy1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93RnVuY3Rpb24gfSBmcm9tICcuL3dvcmtmbG93LnR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzIHtcbiAgZnVuY3Rpb25zPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93RnVuY3Rpb24+O1xuICB9O1xuICBhY3Rpb25zPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPjtcbiAgfTtcbiAgd29ya2Zsb3dzPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBBWFBXb3JrZmxvdztcbiAgfTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEFYUFdvcmtmbG93TW9kdWxlQ29uZmlncyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhQV29ya2Zsb3dNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYUFdvcmtmbG93TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQVhQV29ya2Zsb3dNb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbignc3RhcnQtd29ya2Zsb3cnLCBBWFBTdGFydFdvcmtmbG93QWN0aW9uKTtcbiAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyQWN0aW9uKCdkZWNpZGUnLCBBWFBXb3JrZmxvd0RlY2lkZUFjdGlvbik7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBpZiAoY29uZmlnPy5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmFjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGlmIChjb25maWc/LndvcmtmbG93cykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy53b3JrZmxvd3MpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJXb3JrZmxvdyhrZXksIHR5cGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uYWN0aW9ucyA/PyB7IEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gfSksXG4gICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKGNvbmZpZz86IEFYUFdvcmtmbG93TW9kdWxlQ29uZmlncyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhQV29ya2Zsb3dNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYUFdvcmtmbG93TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQVhQV29ya2Zsb3dNb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbignc3RhcnQtd29ya2Zsb3cnLCBBWFBTdGFydFdvcmtmbG93QWN0aW9uKTtcbiAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyQWN0aW9uKCdkZWNpZGUnLCBBWFBXb3JrZmxvd0RlY2lkZUFjdGlvbik7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBpZiAoY29uZmlnPy5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmFjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGlmIChjb25maWc/LndvcmtmbG93cykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy53b3JrZmxvd3MpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJXb3JrZmxvdyhrZXksIHR5cGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uYWN0aW9ucyA/PyB7fSksXG4gICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScpIGluc3RhbmNlczogYW55W10pIHtcbiAgICBpbnN0YW5jZXM/LmZvckVhY2goKGYpID0+IHtcbiAgICAgIGYoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19","import { InjectionToken } from '@angular/core';\n/**\n * An abstract class for a workflow task provider, which is responsible for\n * fetching and manipulating task data from a specific source.\n * @template T - The type of custom data associated with the tasks.\n */\nexport class AXPWorkflowTaskProvider {\n}\n/**\n * Injection token for registering multiple workflow task providers.\n */\nexport const AXP_WORKFLOW_TASK_PROVIDER = new InjectionToken('AXP_WORKFLOW_TASK_PROVIDER');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ib2FyZC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi90YXNrLWJvYXJkLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFtSi9DOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtDQWtDNUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUE0Qiw0QkFBNEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhSYW5nZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQsIEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0LCBBWFBVc2VyUmVmZXJlbmNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldENvbHVtbk5vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmludGVyZmFjZSBBWFBBdWRpdGFibGUge1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICB1cGRhdGVkQXQ/OiBEYXRlO1xuICBjcmVhdGVkQnk/OiBzdHJpbmc7XG4gIHVwZGF0ZWRCeT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgYW4gZXh0cmEgZmllbGQgZm9yIGEgdGFzay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBFeHRyYUZpZWxkIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHdpZGdldDogQVhQV2lkZ2V0Q29sdW1uTm9kZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIHRhc2sgaW4gdGhlIHN5c3RlbS5cbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YXNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFRhc2s8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IGV4dGVuZHMgQVhQQXVkaXRhYmxlIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdGFzay4gU2hvdWxkIGJlIGltbXV0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgdGFzay5cbiAgICovXG4gIGluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgdGFzay5cbiAgICovXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIHRhc2ssIHBvdGVudGlhbGx5IHN1cHBvcnRpbmcgbWFya2Rvd24uXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgc3RhdHVzOiB7XG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgdXNlciB3aG8gaXMgYXNzaWduZWQgdG8gd29yayBvbiB0aGUgdGFzay5cbiAgICovXG4gIGFzc2lnbmVlPzogQVhQVXNlclJlZmVyZW5jZTtcblxuICAvKipcbiAgICogVGhlIHVzZXIgd2hvIGNyZWF0ZWQgb3IgcmVwb3J0ZWQgdGhlIHRhc2suXG4gICAqL1xuICByZXBvcnRlcjogQVhQVXNlclJlZmVyZW5jZTtcblxuICAvKipcbiAgICogT3RoZXIgdXNlcnMgaW52b2x2ZWQgb3Igd2F0Y2hpbmcgdGhlIHRhc2suXG4gICAqL1xuICBwYXJ0aWNpcGFudHM/OiBBWFBVc2VyUmVmZXJlbmNlW107XG5cbiAgLyoqXG4gICAqIFRoZSBzdGFydCBkYXRlIG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgc3RhcnREYXRlOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5kIGRhdGUgb3IgZGVhZGxpbmUgb2YgdGhlIHRhc2suXG4gICAqL1xuICBlbmREYXRlOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgbGV2ZWwgb2YgdGhlIHRhc2suXG4gICAqL1xuICBwcmlvcml0eTogJ2hpZ2hlc3QnIHwgJ2hpZ2gnIHwgJ21lZGl1bScgfCAnbG93JyB8ICdsb3dlc3QnO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIHRhc2ssIGZyb20gMCB0byAxMDAuXG4gICAqL1xuICBwcm9ncmVzcz86IG51bWJlcjtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgdGFncyBmb3IgY2F0ZWdvcml6aW5nIGFuZCBmaWx0ZXJpbmcuXG4gICAqL1xuICB0YWdzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgdGFzayBpcyBhbiBhbGwtZGF5IGV2ZW50LlxuICAgKi9cbiAgYWxsRGF5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIHRhc2sgZm9yIGN1c3RvbSBzdHlsaW5nLlxuICAgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgdGFzayBpcyByZWFkLW9ubHkgZm9yIHRoZSBjdXJyZW50IHVzZXIuXG4gICAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFzayBmb3IgZXh0ZW5zaWJpbGl0eS5cbiAgICovXG4gIGRhdGE/OiBUO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvdmlkZXIgdGhhdCBvd25zIHRoaXMgdGFzay5cbiAgICovXG4gIHByb3ZpZGVyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGZpbHRlciBvcHRpb25zIGZvciBxdWVyeWluZyB0YXNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBUYXNrRmlsdGVyIHtcbiAgcmFuZ2U/OiBBWFJhbmdlPERhdGU+O1xuICBhc3NpZ25lZUlkcz86IChzdHJpbmcgfCBudW1iZXIpW107XG4gIHJlcG9ydGVySWRzPzogKHN0cmluZyB8IG51bWJlcilbXTtcbiAgdGFncz86IHN0cmluZ1tdO1xuICB0eXBlcz86IHN0cmluZ1tdO1xuICBza2lwPzogbnVtYmVyO1xuICB0YWtlPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gYWN0aW9uIHBlcmZvcm1lZCBvbiBhIHRhc2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVGFza0FjdGlvbiB7XG4gIG5hdGl2ZUV2ZW50OiBNb3VzZUV2ZW50O1xuICB0YXNrOiBBWFBUYXNrO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHN0YXR1cyBvZiBhIHRhc2sgKGUuZy4sIGEgY29sdW1uIG9uIGEgS2FuYmFuIGJvYXJkKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBUYXNrU3RhdHVzIHtcbiAga2V5OiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gYWJzdHJhY3QgY2xhc3MgZm9yIGEgd29ya2Zsb3cgdGFzayBwcm92aWRlciwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yXG4gKiBmZXRjaGluZyBhbmQgbWFuaXB1bGF0aW5nIHRhc2sgZGF0YSBmcm9tIGEgc3BlY2lmaWMgc291cmNlLlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiBjdXN0b20gZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQV29ya2Zsb3dUYXNrUHJvdmlkZXI8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgYWJzdHJhY3QgZ2V0IG5hbWUoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXQgdGl0bGUoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXQgaWNvbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgdGFza3MgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGZpbHRlciBvcHRpb25zLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBmaWx0ZXIgb3B0aW9ucy5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgbGlzdCBvZiB0YXNrcyBhbmQgdGhlIHRvdGFsIGNvdW50LlxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0VGFza3Mob3B0aW9ucz86IEFYUFRhc2tGaWx0ZXIpOiBQcm9taXNlPHsgaXRlbXM6IEFYUFRhc2s8VD5bXTsgdG90YWw6IG51bWJlciB9PjtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIGV4dHJhIGZpZWxkcyB0aGF0IGNhbiBiZSBkaXNwbGF5ZWQgYXMgY29sdW1ucyBmb3IgdGhpcyBwcm92aWRlcidzIHRhc2tzLlxuICAgKiBUaGlzIGRlZmluZXMgdGhlIHNjaGVtYSBmb3IgY3VzdG9tIGRhdGEuXG4gICAqL1xuICBhYnN0cmFjdCBnZXRFeHRyYUZpZWxkcygpOiBQcm9taXNlPEFYUEV4dHJhRmllbGRbXT47XG5cbiAgYWJzdHJhY3QgZ2V0QWN0aW9ucyhjb250ZXh0PzogQVhQVGFzazxUPik6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT47XG5cbiAgYWJzdHJhY3QgZ2V0U3RhdHVzZXMoKTogUHJvbWlzZTxBWFBUYXNrU3RhdHVzW10+O1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIGEgbGlzdCBvZiB0YXNrcy5cbiAgICogQHBhcmFtIHRhc2tzIC0gVGhlIHRhc2tzIHRvIHVwZGF0ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdXBkYXRlZCB0YXNrcy5cbiAgICovXG4gIGFic3RyYWN0IHVwZGF0ZVRhc2tzKHRhc2tzOiBBWFBUYXNrPFQ+W10pOiBQcm9taXNlPEFYUFRhc2s8VD5bXT47XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgY29tbWFuZCBvbiB0aGUgdGFzayBwcm92aWRlci5cbiAgICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBleGVjdXRlLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLlxuICAgKi9cbiAgYWJzdHJhY3QgZXhlY3V0ZUNvbW1hbmQoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiBQcm9taXNlPEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0Pjtcbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIHJlZ2lzdGVyaW5nIG11bHRpcGxlIHdvcmtmbG93IHRhc2sgcHJvdmlkZXJzLlxuICovXG5leHBvcnQgY29uc3QgQVhQX1dPUktGTE9XX1RBU0tfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQV29ya2Zsb3dUYXNrUHJvdmlkZXJbXT4oJ0FYUF9XT1JLRkxPV19UQVNLX1BST1ZJREVSJyk7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvYWNvcmV4LXBsYXRmb3JtLXdvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.AXPWorkflowRegistryService"],"mappings":"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"}
|