chartmind 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +31 -9
  2. package/build/src/engine/actions/decision-action.js.map +1 -1
  3. package/build/src/engine/actions/predefined-process-action.js +5 -2
  4. package/build/src/engine/actions/predefined-process-action.js.map +1 -1
  5. package/build/src/engine/actions/process-action.d.ts +1 -0
  6. package/build/src/engine/actions/process-action.js +13 -0
  7. package/build/src/engine/actions/process-action.js.map +1 -1
  8. package/build/src/engine/actions/start-action.js.map +1 -1
  9. package/build/src/engine/chart/chart.d.ts +3 -1
  10. package/build/src/engine/chart/chart.js +6 -1
  11. package/build/src/engine/chart/chart.js.map +1 -1
  12. package/build/src/engine/chart/context/chart-context.js +2 -2
  13. package/build/src/engine/chart/context/chart-context.js.map +1 -1
  14. package/build/src/engine/chart/instance/chart-instance.js.map +1 -1
  15. package/build/src/engine/chart/manager/chart-manager.d.ts +22 -8
  16. package/build/src/engine/chart/manager/chart-manager.js +32 -8
  17. package/build/src/engine/chart/manager/chart-manager.js.map +1 -1
  18. package/build/src/engine/chart/parser/chart-parser.js +2 -1
  19. package/build/src/engine/chart/parser/chart-parser.js.map +1 -1
  20. package/build/src/engine/chart/validation/chart-validator.js.map +1 -1
  21. package/build/src/engine/chart/validation/rules/has-connection-source-and-target-value.js.map +1 -1
  22. package/build/src/engine/chart/validation/rules/has-connection-with-condition-or-default.js.map +1 -1
  23. package/build/src/engine/file/file-service.js.map +1 -1
  24. package/build/src/engine/registry/executable-registry.js.map +1 -1
  25. package/build/src/interfaces/parsed-diagram.interface.d.ts +1 -0
  26. package/build/src/interfaces/symbol-predefined-process.interface.d.ts +1 -1
  27. package/build/src/interfaces/symbol-process.interface.d.ts +1 -0
  28. package/package.json +58 -49
  29. package/build/src/interfaces/executable-async.interface.d.ts +0 -16
  30. package/build/src/interfaces/executable-async.interface.js +0 -3
  31. package/build/src/interfaces/executable-async.interface.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # 🧠 chartmind
2
2
 
3
+ [![NPM Version][npm-chartmind-version]][npm-chartmind-url]
3
4
  [![Code Style: Google][gts-badge-image]][gts-github-url]
5
+ [![codecov][codecov-badge]][codecov-project]
4
6
 
5
7
  **chartmind** is a minimalist workflow engine that loads flowcharts from [draw.io (diagrams.net)][drawio-url] and executes the underlying classes sequentially.
6
8
 
@@ -96,7 +98,7 @@ async function start() {
96
98
  ['counter', 1]
97
99
  ]);
98
100
 
99
- await chartManager.startProcess(chartName, chartContext);
101
+ await chartManager.startChartInstanceByName(chartName, chartContext);
100
102
 
101
103
  console.log(chartContext.get('counter')); // Output: 2
102
104
  } catch(error: unknown) {
@@ -111,17 +113,31 @@ The complete example can be viewed and run [here][example]. Additionally, the `t
111
113
 
112
114
  ---
113
115
 
116
+ ## Predefined Process Linking
117
+
118
+ You can reuse existing charts within other charts by using the `Predefined Process` symbol.
119
+
120
+ ![Predefined process symbol][docs-predefined-process-symbol]
121
+
122
+ To execute another chart, right-click the symbol in draw.io and select `Edit Link...`. In the dialog that appears, you can choose another chart to link.
123
+
124
+ ![Process linking dialog][docs-process-linking]
125
+
126
+ In the background, the corresponding chart ID is stored in the symbol. The engine then executes the chart with the specified ID.
127
+
128
+ ---
129
+
114
130
  ## Symbol Properties
115
131
 
116
132
  The following table describes the available symbol properties, on which symbols these can be used, valid values, and descriptions:
117
133
 
118
- Name | Symbol(s) | Possible Values | Description | Required
119
- ---------|------------------------|-------------------------|-----------------------|:----------:
120
- type | Start, End, Connection, Decision, Process, Predefined process | start, end, connection, decision, process, predefined | Defines how the symbol will be interpreted by the engine. | Always
121
- condition | Connection | e.g. counter % 2 === 0 or text === 'foo' | Controls the flow from a decision symbol. Every connection must have a condition except the one marked as default. | All outgoing connections from a decision symbol must have a condition, except the one marked as default.
122
- default | Connection | 1 | Marks a connection as the default path. If all other conditions evaluate to false, this path is taken. Only one default should exist. | At least one outgoing connection from a decision symbol must be marked as the default.
123
- executable | Process | e.g. increment-counter | Key for the class registered in the registry. | Always
124
- name | Predefined process | e.g. Test Chart | Name of the flowchart to execute (as defined in draw.io). | Always
134
+ Name | Symbol(s) | Possible Values | Description
135
+ ---------|------------------------|-------------------------|-----------------------
136
+ type | Start, End, Connection, Decision, Process, Predefined process | start, end, connection, decision, process, predefined | Defines how the symbol will be interpreted by the engine.
137
+ condition | Connection | e.g. counter % 2 === 0 or text === 'foo' | Controls the flow from a `decision` symbol. All outgoing connections must have a condition, except the one marked as default.
138
+ default | Connection | 1 | Controls the flow from a `decision` symbol. Marks a connection as the default path. If all other conditions evaluate to false, this path is taken. Just one outgoing connection must be marked as the default.
139
+ executable | Process | e.g. increment-counter | Key for the class registered in the registry.
140
+ data | Process | any data in JSON format | Is added to the context before the class is executed. These values are not removed after execution but remain in the context until the chart is completed.
125
141
 
126
142
  All of these properties are pre-configured in the provided symbol library.
127
143
  Only the `type` field is already filled — the rest must be completed manually for each symbol.
@@ -139,5 +155,11 @@ This project is licensed under the [MIT License][license].
139
155
  [docs-flow-chart]: docs/images/flow-chart.png
140
156
  [docs-process-symbol-settings]: docs/images/process-symbol-settings.png
141
157
  [docs-rename-flowchart]: docs/images/rename-flow-chart.png
158
+ [docs-predefined-process-symbol]: docs/images/predefined-process-symbol.png
159
+ [docs-process-linking]: docs/images/process-linking.png
142
160
  [gts-badge-image]: https://img.shields.io/badge/code%20style-google-blueviolet.svg
143
- [gts-github-url]: https://github.com/google/gts
161
+ [gts-github-url]: https://github.com/google/gts
162
+ [codecov-badge]: https://codecov.io/gh/zniptr/chartmind/graph/badge.svg
163
+ [codecov-project]: https://codecov.io/gh/zniptr/chartmind
164
+ [npm-chartmind-version]: https://img.shields.io/npm/v/chartmind
165
+ [npm-chartmind-url]: https://www.npmjs.com/package/chartmind
@@ -1 +1 @@
1
- {"version":3,"file":"decision-action.js","sourceRoot":"","sources":["../../../../src/engine/actions/decision-action.ts"],"names":[],"mappings":";;;AAGA,+CAAyC;AAEzC,MAAa,cAAe,SAAQ,wBAAU;IACrC,KAAK,CAAC,OAAO;QAClB,2DAA2D;IAC7D,CAAC;IAEM,OAAO,CAAC,YAA0B;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAExE,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CACrD,WAAW,EACX,YAAY,CACb,CAAC;QACF,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACpE;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE;YACxD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAClE;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,sBAAsB,CAC5B,WAA+B,EAC/B,YAA0B;QAE1B,OAAO,WAAW,CAAC,IAAI,CACrB,UAAU,CAAC,EAAE,CACX,UAAU,CAAC,OAAO,KAAK,GAAG;YAC1B,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAC7D,CAAC;IACJ,CAAC;IAEO,iBAAiB,CACvB,SAAiB,EACjB,YAA0B;QAE1B,YAAY,CAAC,OAAO,CAAC,OAAO,CAC1B,CAAC,KAAc,EAAE,GAAW,EAAE,EAAE,CAC9B,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACpE,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAY,CAAC;IACpC,CAAC;IAEO,oBAAoB,CAC1B,WAA+B;QAE/B,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;IACtE,CAAC;CACF;AApDD,wCAoDC"}
1
+ {"version":3,"file":"decision-action.js","sourceRoot":"","sources":["../../../../src/engine/actions/decision-action.ts"],"names":[],"mappings":";;;AAGA,+CAAyC;AAEzC,MAAa,cAAe,SAAQ,wBAAU;IACrC,KAAK,CAAC,OAAO;QAClB,2DAA2D;IAC7D,CAAC;IAEM,OAAO,CAAC,YAA0B;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAExE,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CACrD,WAAW,EACX,YAAY,CACb,CAAC;QACF,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,sBAAsB,CAC5B,WAA+B,EAC/B,YAA0B;QAE1B,OAAO,WAAW,CAAC,IAAI,CACrB,UAAU,CAAC,EAAE,CACX,UAAU,CAAC,OAAO,KAAK,GAAG;YAC1B,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAC7D,CAAC;IACJ,CAAC;IAEO,iBAAiB,CACvB,SAAiB,EACjB,YAA0B;QAE1B,YAAY,CAAC,OAAO,CAAC,OAAO,CAC1B,CAAC,KAAc,EAAE,GAAW,EAAE,EAAE,CAC9B,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACpE,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAY,CAAC;IACpC,CAAC;IAEO,oBAAoB,CAC1B,WAA+B;QAE/B,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;IACtE,CAAC;CACF;AApDD,wCAoDC"}
@@ -5,8 +5,11 @@ const base_action_1 = require("./base-action");
5
5
  class PredefinedProcessAction extends base_action_1.BaseAction {
6
6
  async execute(chartContext) {
7
7
  const predefinedProcess = this.symbol;
8
- const name = predefinedProcess.name;
9
- return this.chartManager.startProcess(name, chartContext.context);
8
+ const linkedChart = predefinedProcess.link;
9
+ const parts = linkedChart.split(',');
10
+ if (parts.length === 2) {
11
+ await this.chartManager.startChartInstanceById(parts[1], chartContext.context);
12
+ }
10
13
  // console.log(`SymbolPredefinedProcess ${this.symbol.label} executed.`);
11
14
  }
12
15
  getNext() {
@@ -1 +1 @@
1
- {"version":3,"file":"predefined-process-action.js","sourceRoot":"","sources":["../../../../src/engine/actions/predefined-process-action.ts"],"names":[],"mappings":";;;AAGA,+CAAyC;AAEzC,MAAa,uBAAwB,SAAQ,wBAAU;IAC9C,KAAK,CAAC,OAAO,CAAC,YAA0B;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAiC,CAAC;QACjE,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAEpC,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAElE,yEAAyE;IAC3E,CAAC;IAEM,OAAO;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF;AAnBD,0DAmBC"}
1
+ {"version":3,"file":"predefined-process-action.js","sourceRoot":"","sources":["../../../../src/engine/actions/predefined-process-action.ts"],"names":[],"mappings":";;;AAGA,+CAAyC;AAEzC,MAAa,uBAAwB,SAAQ,wBAAU;IAC9C,KAAK,CAAC,OAAO,CAAC,YAA0B;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAiC,CAAC;QACjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAC5C,KAAK,CAAC,CAAC,CAAC,EACR,YAAY,CAAC,OAAO,CACrB,CAAC;QACJ,CAAC;QAED,yEAAyE;IAC3E,CAAC;IAEM,OAAO;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF;AAzBD,0DAyBC"}
@@ -3,5 +3,6 @@ import { BaseAction } from './base-action';
3
3
  import { SymbolChart } from '../../types/symbol-chart.type';
4
4
  export declare class ProcessAction extends BaseAction {
5
5
  execute(chartContext: ChartContext): Promise<void>;
6
+ private addDataToContext;
6
7
  getNext(): SymbolChart | undefined;
7
8
  }
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProcessAction = void 0;
4
4
  const base_action_1 = require("./base-action");
5
5
  const executable_registry_1 = require("../registry/executable-registry");
6
+ const he_1 = require("he");
6
7
  class ProcessAction extends base_action_1.BaseAction {
7
8
  async execute(chartContext) {
8
9
  const processSymbol = this.symbol;
10
+ this.addDataToContext(processSymbol.data, chartContext);
9
11
  const executableName = processSymbol.executable;
10
12
  const Executable = executable_registry_1.ExecutableRegistry.instance.getExecutableByName(executableName);
11
13
  if (Executable) {
@@ -18,6 +20,17 @@ class ProcessAction extends base_action_1.BaseAction {
18
20
  // console.log(`SymbolProcess ${this.symbol.label} executed.`);
19
21
  return;
20
22
  }
23
+ addDataToContext(data, chartContext) {
24
+ if (!data) {
25
+ return;
26
+ }
27
+ const unescapedData = (0, he_1.decode)(data);
28
+ const parsedData = JSON.parse(unescapedData);
29
+ const keys = Object.keys(parsedData);
30
+ for (const key of keys) {
31
+ chartContext.setVariable(key, parsedData[key]);
32
+ }
33
+ }
21
34
  getNext() {
22
35
  const connection = this.chart.getConnectionBySourceId(this.symbol.id);
23
36
  if (!connection || !connection.mxCell.target) {
@@ -1 +1 @@
1
- {"version":3,"file":"process-action.js","sourceRoot":"","sources":["../../../../src/engine/actions/process-action.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AAEzC,yEAAmE;AAGnE,MAAa,aAAc,SAAQ,wBAAU;IACpC,KAAK,CAAC,OAAO,CAAC,YAA0B;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAuB,CAAC;QACnD,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC;QAChD,MAAM,UAAU,GACd,wCAAkB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAElE,IAAI,UAAU,EAAE;YACd,MAAM,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,MAAM,YAAY,OAAO,EAAE;gBAC7B,MAAM,MAAM,CAAC;aACd;SACF;QAED,+DAA+D;QAC/D,OAAO;IACT,CAAC;IAEM,OAAO;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF;AA7BD,sCA6BC"}
1
+ {"version":3,"file":"process-action.js","sourceRoot":"","sources":["../../../../src/engine/actions/process-action.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AAEzC,yEAAmE;AAEnE,2BAA0B;AAE1B,MAAa,aAAc,SAAQ,wBAAU;IACpC,KAAK,CAAC,OAAO,CAAC,YAA0B;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAuB,CAAC;QAEnD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAExD,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC;QAChD,MAAM,UAAU,GACd,wCAAkB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAElE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC9B,MAAM,MAAM,CAAC;YACf,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,OAAO;IACT,CAAC;IAEO,gBAAgB,CACtB,IAAwB,EACxB,YAA0B;QAE1B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAA,WAAM,EAAC,IAAI,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF;AAjDD,sCAiDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"start-action.js","sourceRoot":"","sources":["../../../../src/engine/actions/start-action.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AAEzC,MAAa,WAAY,SAAQ,wBAAU;IAClC,KAAK,CAAC,OAAO;QAClB,6DAA6D;IAC/D,CAAC;IAEM,OAAO;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF;AAdD,kCAcC"}
1
+ {"version":3,"file":"start-action.js","sourceRoot":"","sources":["../../../../src/engine/actions/start-action.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AAEzC,MAAa,WAAY,SAAQ,wBAAU;IAClC,KAAK,CAAC,OAAO;QAClB,6DAA6D;IAC/D,CAAC;IAEM,OAAO;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF;AAdD,kCAcC"}
@@ -2,9 +2,11 @@ import { SymbolConnection } from '../../interfaces/symbol-connection.interface';
2
2
  import { SymbolStart } from '../../interfaces/symbol-start.interface';
3
3
  import { SymbolChart } from '../../types/symbol-chart.type';
4
4
  export declare class Chart {
5
+ private _id;
5
6
  private _name;
6
7
  private _symbols;
7
- constructor(name: string, symbols: SymbolChart[]);
8
+ constructor(id: string, name: string, symbols: SymbolChart[]);
9
+ get id(): string;
8
10
  get name(): string;
9
11
  get symbols(): SymbolChart[];
10
12
  getStartSymbol(): SymbolStart | undefined;
@@ -2,12 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Chart = void 0;
4
4
  class Chart {
5
+ _id;
5
6
  _name;
6
7
  _symbols;
7
- constructor(name, symbols) {
8
+ constructor(id, name, symbols) {
9
+ this._id = id;
8
10
  this._name = name;
9
11
  this._symbols = symbols;
10
12
  }
13
+ get id() {
14
+ return this._id;
15
+ }
11
16
  get name() {
12
17
  return this._name;
13
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../../../src/engine/chart/chart.ts"],"names":[],"mappings":";;;AAIA,MAAa,KAAK;IACR,KAAK,CAAS;IACd,QAAQ,CAAgB;IAEhC,YAAY,IAAY,EAAE,OAAsB;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC9D,CAAC;IAEM,aAAa,CAAC,EAAU;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,wBAAwB,CAAC,EAAU;QACxC,OAAO,IAAI,CAAC,OAAO;aAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;aAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAA0B,CAAC;aACzC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAEM,uBAAuB,CAAC,EAAU;QACvC,OAAO,IAAI,CAAC,OAAO;aAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;aAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAA0B,CAAC;aACzC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,uBAAuB,CAAC,EAAU;QACvC,OAAO,IAAI,CAAC,OAAO;aAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;aAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAA0B,CAAC;aACzC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AA7CD,sBA6CC"}
1
+ {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../../../src/engine/chart/chart.ts"],"names":[],"mappings":";;;AAIA,MAAa,KAAK;IACR,GAAG,CAAS;IACZ,KAAK,CAAS;IACd,QAAQ,CAAgB;IAEhC,YAAY,EAAU,EAAE,IAAY,EAAE,OAAsB;QAC1D,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC9D,CAAC;IAEM,aAAa,CAAC,EAAU;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,wBAAwB,CAAC,EAAU;QACxC,OAAO,IAAI,CAAC,OAAO;aAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;aAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAA0B,CAAC;aACzC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAEM,uBAAuB,CAAC,EAAU;QACvC,OAAO,IAAI,CAAC,OAAO;aAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;aAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAA0B,CAAC;aACzC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,uBAAuB,CAAC,EAAU;QACvC,OAAO,IAAI,CAAC,OAAO;aAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;aAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAA0B,CAAC;aACzC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAnDD,sBAmDC"}
@@ -28,7 +28,7 @@ class ChartContext {
28
28
  * @param value - The value to associate with the variable name.
29
29
  */
30
30
  setVariable(name, value) {
31
- this._context.set(name, value);
31
+ this.context.set(name, value);
32
32
  }
33
33
  /**
34
34
  * Retrieves the value of a variable from the context.
@@ -37,7 +37,7 @@ class ChartContext {
37
37
  * @returns The value associated with the variable name, or `undefined` if not found.
38
38
  */
39
39
  getVariable(name) {
40
- return this._context.get(name);
40
+ return this.context.get(name);
41
41
  }
42
42
  }
43
43
  exports.ChartContext = ChartContext;
@@ -1 +1 @@
1
- {"version":3,"file":"chart-context.js","sourceRoot":"","sources":["../../../../../src/engine/chart/context/chart-context.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,MAAa,YAAY;IACf,QAAQ,CAAuB;IAEvC,YAAY,OAA6B;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,IAAY,EAAE,KAAc;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAnCD,oCAmCC"}
1
+ {"version":3,"file":"chart-context.js","sourceRoot":"","sources":["../../../../../src/engine/chart/context/chart-context.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,MAAa,YAAY;IACf,QAAQ,CAAuB;IAEvC,YAAY,OAA6B;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,IAAY,EAAE,KAAc;QAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAnCD,oCAmCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chart-instance.js","sourceRoot":"","sources":["../../../../../src/engine/chart/instance/chart-instance.ts"],"names":[],"mappings":";;;AACA,mEAA6D;AAC7D,yDAAmD;AACnD,iEAA2D;AAC3D,6DAAuD;AAGvD,uFAAgF;AAMhF,MAAa,aAAa;IACP,OAAO,GAGpB,IAAI,GAAG,CAAqD;QAC9D,CAAC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,0BAAW,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC,KAAK,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,sBAAS,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,SAAS,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAC;QACnE;YACE,YAAY;YACZ,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,mDAAuB,CAAC,OAAO,CAAC;SACjE;QACD,CAAC,UAAU,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,gCAAc,CAAC,OAAO,CAAC,CAAC;KACtE,CAAC,CAAC;IAEK,YAAY,CAAe;IAC3B,KAAK,CAAQ;IACb,YAAY,CAAe;IAEnC,YACE,YAA0B,EAC1B,KAAY,EACZ,YAA0B;QAE1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvC,OAAO,IAAI,EAAE;YACX,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACvC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,IAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACnE;QAED,MAAM,cAAc,GAAG,MAAM,CAAC;YAC5B,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;CACF;AAvDD,sCAuDC"}
1
+ {"version":3,"file":"chart-instance.js","sourceRoot":"","sources":["../../../../../src/engine/chart/instance/chart-instance.ts"],"names":[],"mappings":";;;AACA,mEAA6D;AAC7D,yDAAmD;AACnD,iEAA2D;AAC3D,6DAAuD;AAGvD,uFAAgF;AAMhF,MAAa,aAAa;IACP,OAAO,GAGpB,IAAI,GAAG,CAAqD;QAC9D,CAAC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,0BAAW,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC,KAAK,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,sBAAS,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,SAAS,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAC;QACnE;YACE,YAAY;YACZ,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,mDAAuB,CAAC,OAAO,CAAC;SACjE;QACD,CAAC,UAAU,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,IAAI,gCAAc,CAAC,OAAO,CAAC,CAAC;KACtE,CAAC,CAAC;IAEK,YAAY,CAAe;IAC3B,KAAK,CAAQ;IACb,YAAY,CAAe;IAEnC,YACE,YAA0B,EAC1B,KAAY,EACZ,YAA0B;QAE1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvC,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,IAAiB;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC;YAC5B,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;CACF;AAvDD,sCAuDC"}
@@ -47,15 +47,29 @@ export declare class ChartManager {
47
47
  */
48
48
  validateChartByName(name: string): ChartManager;
49
49
  /**
50
- * Starts the execution process for a chart by its name.
50
+ * Starts a chart instance by its registered name.
51
51
  *
52
- * Retrieves the chart definition by the provided name, creates a new chart context and instance,
53
- * and initiates the chart's execution. Throws an error if the chart name is unknown.
52
+ * Looks up the chart by the provided name and, if found, starts the chart instance
53
+ * using the given context. Throws an error if the chart name is unknown.
54
54
  *
55
- * @param name - The unique name of the chart to start.
56
- * @param context - A map containing context data to be passed to the chart.
57
- * @returns A promise that resolves when the chart process has completed.
58
- * @throws {Error} If the specified chart name does not exist.
55
+ * @param name - The name of the chart to start.
56
+ * @param context - A map containing context data to be passed to the chart instance.
57
+ * @returns A promise that resolves when the chart instance has been started.
58
+ * @throws {Error} If the chart with the specified name does not exist.
59
59
  */
60
- startProcess(name: string, context: Map<String, unknown>): Promise<void>;
60
+ startChartInstanceByName(name: string, context: Map<String, unknown>): Promise<void>;
61
+ /**
62
+ * Starts a chart instance by its unique identifier.
63
+ *
64
+ * Iterates through the available charts and, if a chart with the specified `id` is found,
65
+ * starts the chart using the provided execution `context`. If no chart with the given `id`
66
+ * exists, an error is thrown.
67
+ *
68
+ * @param id - The unique identifier of the chart to start.
69
+ * @param context - A map containing contextual information required to start the chart.
70
+ * @returns A promise that resolves when the chart has been started, or rejects if the chart ID is unknown.
71
+ * @throws {Error} If no chart with the specified `id` is found.
72
+ */
73
+ startChartInstanceById(id: string, context: Map<String, unknown>): Promise<void>;
74
+ private startChart;
61
75
  }
@@ -84,21 +84,45 @@ class ChartManager {
84
84
  return this;
85
85
  }
86
86
  /**
87
- * Starts the execution process for a chart by its name.
87
+ * Starts a chart instance by its registered name.
88
88
  *
89
- * Retrieves the chart definition by the provided name, creates a new chart context and instance,
90
- * and initiates the chart's execution. Throws an error if the chart name is unknown.
89
+ * Looks up the chart by the provided name and, if found, starts the chart instance
90
+ * using the given context. Throws an error if the chart name is unknown.
91
91
  *
92
- * @param name - The unique name of the chart to start.
93
- * @param context - A map containing context data to be passed to the chart.
94
- * @returns A promise that resolves when the chart process has completed.
95
- * @throws {Error} If the specified chart name does not exist.
92
+ * @param name - The name of the chart to start.
93
+ * @param context - A map containing context data to be passed to the chart instance.
94
+ * @returns A promise that resolves when the chart instance has been started.
95
+ * @throws {Error} If the chart with the specified name does not exist.
96
96
  */
97
- async startProcess(name, context) {
97
+ async startChartInstanceByName(name, context) {
98
98
  const chart = this.charts.get(name);
99
99
  if (!chart) {
100
100
  throw new Error(`unknown chart name ${name}`);
101
101
  }
102
+ return this.startChart(chart, context);
103
+ }
104
+ /**
105
+ * Starts a chart instance by its unique identifier.
106
+ *
107
+ * Iterates through the available charts and, if a chart with the specified `id` is found,
108
+ * starts the chart using the provided execution `context`. If no chart with the given `id`
109
+ * exists, an error is thrown.
110
+ *
111
+ * @param id - The unique identifier of the chart to start.
112
+ * @param context - A map containing contextual information required to start the chart.
113
+ * @returns A promise that resolves when the chart has been started, or rejects if the chart ID is unknown.
114
+ * @throws {Error} If no chart with the specified `id` is found.
115
+ */
116
+ async startChartInstanceById(id, context) {
117
+ const charts = this.charts.values();
118
+ for (const chart of charts) {
119
+ if (chart.id === id) {
120
+ return this.startChart(chart, context);
121
+ }
122
+ }
123
+ throw new Error(`unknown chart id ${id}`);
124
+ }
125
+ async startChart(chart, context) {
102
126
  const chartContext = new chart_context_1.ChartContext(context);
103
127
  const chartInstance = new chart_instance_1.ChartInstance(chartContext, chart, this);
104
128
  return chartInstance.run();
@@ -1 +1 @@
1
- {"version":3,"file":"chart-manager.js","sourceRoot":"","sources":["../../../../../src/engine/chart/manager/chart-manager.ts"],"names":[],"mappings":";;;AAAA,4DAAsD;AACtD,+DAAyD;AACzD,mEAA6D;AAC7D,0DAAoD;AACpD,yDAAmD;AAInD;;;;;;;;;;GAUG;AACH,MAAa,YAAY;IACN,MAAM,GAAuB,IAAI,GAAG,EAAiB,CAAC;IAE/D,cAAc,CAAiB;IAC/B,WAAW,CAAc;IACzB,WAAW,CAAc;IAEjC;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACI,UAAU,CAAC,SAAiB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAC3B;IACH,CAAC;IAEO,WAAW,CAAC,OAAsB;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACpC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,cAAc;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,GAAW,EAAE,EAAE,CAChD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CACzC,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACI,mBAAmB,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC3C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,YAAY,CACvB,IAAY,EACZ,OAA6B;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;SAC/C;QAED,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEnE,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;CACF;AA5GD,oCA4GC"}
1
+ {"version":3,"file":"chart-manager.js","sourceRoot":"","sources":["../../../../../src/engine/chart/manager/chart-manager.ts"],"names":[],"mappings":";;;AAAA,4DAAsD;AACtD,+DAAyD;AACzD,mEAA6D;AAC7D,0DAAoD;AACpD,yDAAmD;AAInD;;;;;;;;;;GAUG;AACH,MAAa,YAAY;IACN,MAAM,GAAuB,IAAI,GAAG,EAAiB,CAAC;IAE/D,cAAc,CAAiB;IAC/B,WAAW,CAAc;IACzB,WAAW,CAAc;IAEjC;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACI,UAAU,CAAC,SAAiB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAsB;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,cAAc;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAY,EAAE,GAAW,EAAE,EAAE,CAChD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CACzC,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACI,mBAAmB,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,wBAAwB,CACnC,IAAY,EACZ,OAA6B;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,sBAAsB,CACjC,EAAU,EACV,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAEpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,KAAY,EACZ,OAA6B;QAE7B,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEnE,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;CACF;AA9ID,oCA8IC"}
@@ -38,12 +38,13 @@ class ChartParser {
38
38
  if (!this.isValidDiagram(diagram)) {
39
39
  return;
40
40
  }
41
+ const id = diagram.id;
41
42
  const name = diagram.name;
42
43
  const symbols = diagram.mxGraphModel.root.object;
43
44
  const parsedSymbols = Array.isArray(symbols)
44
45
  ? symbols
45
46
  : [symbols];
46
- return new chart_1.Chart(name, parsedSymbols);
47
+ return new chart_1.Chart(id, name, parsedSymbols);
47
48
  }
48
49
  isValidDiagram(diagram) {
49
50
  return (diagram !== undefined &&
@@ -1 +1 @@
1
- {"version":3,"file":"chart-parser.js","sourceRoot":"","sources":["../../../../../src/engine/chart/parser/chart-parser.ts"],"names":[],"mappings":";;;AAAA,qDAAsD;AAItD,oCAA+B;AAE/B,MAAa,WAAW;IACL,eAAe,GAAe;QAC7C,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,EAAE;KACxB,CAAC;IAEM,MAAM,CAAY;IAE1B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAEM,aAAa,CAAC,OAAe;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAEO,eAAe,CAAC,WAAwB;QAC9C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;YACnC,OAAO,EAAE,CAAC;SACX;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,OAAO,QAA2B,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,QAAyB,CAAC,CAAC;SACpC;IACH,CAAC;IAEO,YAAY,CAAC,WAAwB;QAC3C,OAAO,CACL,WAAW,KAAK,SAAS;YACzB,WAAW,KAAK,IAAI;YACpB,WAAW,CAAC,MAAM,KAAK,SAAS;YAChC,WAAW,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CACzC,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,OAAsB;QACtC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO;SACR;QAED,MAAM,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QACjD,MAAM,aAAa,GAAkB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACzD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEd,OAAO,IAAI,aAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxC,CAAC;IAEO,cAAc,CAAC,OAAsB;QAC3C,OAAO,CACL,OAAO,KAAK,SAAS;YACrB,OAAO,KAAK,IAAI;YAChB,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,YAAY,KAAK,SAAS;YAClC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS;YACvC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAC/C,CAAC;IACJ,CAAC;CACF;AA/DD,kCA+DC"}
1
+ {"version":3,"file":"chart-parser.js","sourceRoot":"","sources":["../../../../../src/engine/chart/parser/chart-parser.ts"],"names":[],"mappings":";;;AAAA,qDAAsD;AAItD,oCAA+B;AAE/B,MAAa,WAAW;IACL,eAAe,GAAe;QAC7C,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,EAAE;KACxB,CAAC;IAEM,MAAM,CAAY;IAE1B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAEM,aAAa,CAAC,OAAe;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAEO,eAAe,CAAC,WAAwB;QAC9C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAA2B,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,QAAyB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,WAAwB;QAC3C,OAAO,CACL,WAAW,KAAK,SAAS;YACzB,WAAW,KAAK,IAAI;YACpB,WAAW,CAAC,MAAM,KAAK,SAAS;YAChC,WAAW,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CACzC,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,OAAsB;QACtC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QACjD,MAAM,aAAa,GAAkB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACzD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEd,OAAO,IAAI,aAAK,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC5C,CAAC;IAEO,cAAc,CAAC,OAAsB;QAC3C,OAAO,CACL,OAAO,KAAK,SAAS;YACrB,OAAO,KAAK,IAAI;YAChB,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,YAAY,KAAK,SAAS;YAClC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS;YACvC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAC/C,CAAC;IACJ,CAAC;CACF;AAhED,kCAgEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chart-validator.js","sourceRoot":"","sources":["../../../../../src/engine/chart/validation/chart-validator.ts"],"names":[],"mappings":";;;AAEA,2GAAiG;AACjG,+GAAqG;AACrG,+GAAqG;AACrG,+EAAuE;AACvE,+GAAqG;AACrG,uFAA+E;AAC/E,+DAAwD;AAIxD,MAAa,cAAc;IACR,eAAe,GAC9B,IAAI,GAAG,CAAoC;QACzC,CAAC,OAAO,EAAE,CAAC,IAAI,iCAAc,EAAE,EAAE,IAAI,wDAAyB,EAAE,CAAC,CAAC;QAClE;YACE,KAAK;YACL;gBACE,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,8EAAmC,EAAE;aAC1C;SACF;QACD,CAAC,YAAY,EAAE,CAAC,IAAI,0EAAiC,EAAE,CAAC,CAAC;QACzD;YACE,SAAS;YACT;gBACE,IAAI,wDAAyB,EAAE;gBAC/B,IAAI,8EAAmC,EAAE;aAC1C;SACF;QACD;YACE,YAAY;YACZ;gBACE,IAAI,wDAAyB,EAAE;gBAC/B,IAAI,8EAAmC,EAAE;aAC1C;SACF;QACD;YACE,UAAU;YACV;gBACE,IAAI,8EAAmC,EAAE;gBACzC,IAAI,8EAAmC,EAAE;gBACzC,IAAI,8EAAmC,EAAE;aAC1C;SACF;KACF,CAAC,CAAC;IAEE,QAAQ,CAAC,IAAY,EAAE,KAAY;QACxC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SAC1C;IACH,CAAC;IAEO,cAAc,CACpB,IAAY,EACZ,KAAY,EACZ,MAAmB;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,CAAC,IAAI,EAAE,CAC7D,CAAC;SACH;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SACrD;IACH,CAAC;IAEO,mBAAmB,CACzB,IAAY,EACZ,KAAY,EACZ,MAAmB,EACnB,IAAyB;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,GAAG,CACT,GAAG,IAAI,MAAM,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAClF,CAAC;SACH;IACH,CAAC;CACF;AA1ED,wCA0EC"}
1
+ {"version":3,"file":"chart-validator.js","sourceRoot":"","sources":["../../../../../src/engine/chart/validation/chart-validator.ts"],"names":[],"mappings":";;;AAEA,2GAAiG;AACjG,+GAAqG;AACrG,+GAAqG;AACrG,+EAAuE;AACvE,+GAAqG;AACrG,uFAA+E;AAC/E,+DAAwD;AAIxD,MAAa,cAAc;IACR,eAAe,GAC9B,IAAI,GAAG,CAAoC;QACzC,CAAC,OAAO,EAAE,CAAC,IAAI,iCAAc,EAAE,EAAE,IAAI,wDAAyB,EAAE,CAAC,CAAC;QAClE;YACE,KAAK;YACL;gBACE,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,8EAAmC,EAAE;aAC1C;SACF;QACD,CAAC,YAAY,EAAE,CAAC,IAAI,0EAAiC,EAAE,CAAC,CAAC;QACzD;YACE,SAAS;YACT;gBACE,IAAI,wDAAyB,EAAE;gBAC/B,IAAI,8EAAmC,EAAE;aAC1C;SACF;QACD;YACE,YAAY;YACZ;gBACE,IAAI,wDAAyB,EAAE;gBAC/B,IAAI,8EAAmC,EAAE;aAC1C;SACF;QACD;YACE,UAAU;YACV;gBACE,IAAI,8EAAmC,EAAE;gBACzC,IAAI,8EAAmC,EAAE;gBACzC,IAAI,8EAAmC,EAAE;aAC1C;SACF;KACF,CAAC,CAAC;IAEE,QAAQ,CAAC,IAAY,EAAE,KAAY;QACxC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,IAAY,EACZ,KAAY,EACZ,MAAmB;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,CAAC,IAAI,EAAE,CAC7D,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAEO,mBAAmB,CACzB,IAAY,EACZ,KAAY,EACZ,MAAmB,EACnB,IAAyB;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CACT,GAAG,IAAI,MAAM,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAClF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA1ED,wCA0EC"}
@@ -1 +1 @@
1
- {"version":3,"file":"has-connection-source-and-target-value.js","sourceRoot":"","sources":["../../../../../../src/engine/chart/validation/rules/has-connection-source-and-target-value.ts"],"names":[],"mappings":";;;AAGA,MAAa,iCAAiC;IACrC,QAAQ,CAAC,MAAwB;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAE5C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;QAED,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;QACpE,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;QAEpE,OAAO,SAAS,IAAI,SAAS,CAAC;IAChC,CAAC;IAEM,yBAAyB;QAC9B,OAAO,kDAAkD,CAAC;IAC5D,CAAC;CACF;AAnBD,8EAmBC"}
1
+ {"version":3,"file":"has-connection-source-and-target-value.js","sourceRoot":"","sources":["../../../../../../src/engine/chart/validation/rules/has-connection-source-and-target-value.ts"],"names":[],"mappings":";;;AAGA,MAAa,iCAAiC;IACrC,QAAQ,CAAC,MAAwB;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;QACpE,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;QAEpE,OAAO,SAAS,IAAI,SAAS,CAAC;IAChC,CAAC;IAEM,yBAAyB;QAC9B,OAAO,kDAAkD,CAAC;IAC5D,CAAC;CACF;AAnBD,8EAmBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"has-connection-with-condition-or-default.js","sourceRoot":"","sources":["../../../../../../src/engine/chart/validation/rules/has-connection-with-condition-or-default.ts"],"names":[],"mappings":";;;AAKA,MAAa,mCAAmC;IAGvC,QAAQ,CAAC,MAAmB,EAAE,KAAY;QAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO;aACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;aAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAA0B,CAAC;aACzC,MAAM,CACL,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CACrE,CAAC;QAEJ,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,MAAM,CAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,GAAG,CACjE,CAAC;QAEF,MAAM,6BAA6B,GAAG,iBAAiB,CAAC,MAAM,CAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,CACpE,CAAC;QAEF,OAAO,CACL,2BAA2B,CAAC,MAAM,KAAK,CAAC;YACxC,6BAA6B,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACtE,CAAC;IACJ,CAAC;IAEM,yBAAyB;QAC9B,OAAO,mGAAmG,CAAC;IAC7G,CAAC;CACF;AAjCD,kFAiCC"}
1
+ {"version":3,"file":"has-connection-with-condition-or-default.js","sourceRoot":"","sources":["../../../../../../src/engine/chart/validation/rules/has-connection-with-condition-or-default.ts"],"names":[],"mappings":";;;AAKA,MAAa,mCAAmC;IAGvC,QAAQ,CAAC,MAAmB,EAAE,KAAY;QAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO;aACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;aAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAA0B,CAAC;aACzC,MAAM,CACL,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CACrE,CAAC;QAEJ,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,MAAM,CAC1D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,GAAG,CACjE,CAAC;QAEF,MAAM,6BAA6B,GAAG,iBAAiB,CAAC,MAAM,CAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,CACpE,CAAC;QAEF,OAAO,CACL,2BAA2B,CAAC,MAAM,KAAK,CAAC;YACxC,6BAA6B,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACtE,CAAC;IACJ,CAAC;IAEM,yBAAyB;QAC9B,OAAO,mGAAmG,CAAC;IAC7G,CAAC;CACF;AAjCD,kFAiCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-service.js","sourceRoot":"","sources":["../../../../src/engine/file/file-service.ts"],"names":[],"mappings":";;;AAAA,2BAAqD;AACrD,+BAA0B;AAE1B,MAAa,WAAW;IACL,mBAAmB,GAAG,SAAS,CAAC;IAE1C,mBAAmB,CAAC,SAAiB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAEO,gBAAgB,CAAC,SAAiB;QACxC,MAAM,OAAO,GAAG,IAAA,gBAAW,EAAC,SAAS,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACjD;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CACvB,SAAiB,EACjB,KAAa,EACb,KAAe;QAEf,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YACvB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAChD;aAAM,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;IACH,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzE,CAAC;CACF;AArCD,kCAqCC"}
1
+ {"version":3,"file":"file-service.js","sourceRoot":"","sources":["../../../../src/engine/file/file-service.ts"],"names":[],"mappings":";;;AAAA,2BAAqD;AACrD,+BAA0B;AAE1B,MAAa,WAAW;IACL,mBAAmB,GAAG,SAAS,CAAC;IAE1C,mBAAmB,CAAC,SAAiB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAEO,gBAAgB,CAAC,SAAiB;QACxC,MAAM,OAAO,GAAG,IAAA,gBAAW,EAAC,SAAS,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CACvB,SAAiB,EACjB,KAAa,EACb,KAAe;QAEf,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzE,CAAC;CACF;AArCD,kCAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executable-registry.js","sourceRoot":"","sources":["../../../../src/engine/registry/executable-registry.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACH,MAAa,kBAAkB;IACrB,MAAM,CAAC,SAAS,GAA8B,IAAI,CAAC;IAEnD,QAAQ,CAAiD;IAEjE;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,MAAM,KAAK,QAAQ;QACxB,IAAI,kBAAkB,CAAC,SAAS,KAAK,IAAI,EAAE;YACzC,kBAAkB,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;SACzD;QAED,OAAO,kBAAkB,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAClB,IAAY,EACZ,SAA4C;QAE5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEnC,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CACxB,IAAY;QAEZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;;AA/CH,gDAgDC"}
1
+ {"version":3,"file":"executable-registry.js","sourceRoot":"","sources":["../../../../src/engine/registry/executable-registry.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACH,MAAa,kBAAkB;IACrB,MAAM,CAAC,SAAS,GAA8B,IAAI,CAAC;IAEnD,QAAQ,CAAiD;IAEjE;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,MAAM,KAAK,QAAQ;QACxB,IAAI,kBAAkB,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC1C,kBAAkB,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,kBAAkB,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAClB,IAAY,EACZ,SAA4C;QAE5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEnC,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CACxB,IAAY;QAEZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;;AA/CH,gDAgDC"}
@@ -1,5 +1,6 @@
1
1
  import { SymbolChart } from '../types/symbol-chart.type';
2
2
  export interface ParsedDiagram {
3
+ id: string;
3
4
  name: string;
4
5
  mxGraphModel: {
5
6
  root: {
@@ -1,4 +1,4 @@
1
1
  import { Symbol } from './symbol.interface';
2
2
  export interface SymbolPredefinedProcess extends Symbol {
3
- name: string;
3
+ link: string;
4
4
  }
@@ -1,4 +1,5 @@
1
1
  import { Symbol } from './symbol.interface';
2
2
  export interface SymbolProcess extends Symbol {
3
3
  executable: string;
4
+ data?: string;
4
5
  }
package/package.json CHANGED
@@ -1,49 +1,58 @@
1
- {
2
- "name": "chartmind",
3
- "version": "1.0.4",
4
- "description": "Flowchart execution engine for drawio charts",
5
- "main": "build/src/index.js",
6
- "module": "build/src/index.js",
7
- "types": "build/src/index.d.ts",
8
- "scripts": {
9
- "test": "jest --coverage --verbose",
10
- "lint": "gts lint",
11
- "clean": "gts clean",
12
- "compile": "tsc",
13
- "fix": "gts fix",
14
- "prepare": "npm.cmd run compile",
15
- "pretest": "npm.cmd run compile",
16
- "posttest": "npm.cmd run lint"
17
- },
18
- "keywords": [
19
- "flow",
20
- "chart",
21
- "drawio",
22
- "draw",
23
- "diagram",
24
- "engine"
25
- ],
26
- "repository": {
27
- "type": "git",
28
- "url": "https://github.com/zniptr/chartmind"
29
- },
30
- "author": "Timo Martin",
31
- "license": "MIT",
32
- "type": "commonjs",
33
- "devDependencies": {
34
- "@types/jest": "^29.5.14",
35
- "gts": "^6.0.2",
36
- "jest": "^30.0.0",
37
- "ts-jest": "^29.4.0",
38
- "typescript": "^5.1.6"
39
- },
40
- "dependencies": {
41
- "fast-xml-parser": "^5.2.5"
42
- },
43
- "files": [
44
- "build/src"
45
- ],
46
- "engines": {
47
- "node": ">=10.10.0"
48
- }
49
- }
1
+ {
2
+ "name": "chartmind",
3
+ "version": "1.0.6",
4
+ "description": "Flowchart execution engine for drawio charts",
5
+ "main": "build/src/index.js",
6
+ "module": "build/src/index.js",
7
+ "types": "build/src/index.d.ts",
8
+ "scripts": {
9
+ "test": "npm run test:unit && npm run test:e2e",
10
+ "test:unit": "jest --config jest.unit.config.ts",
11
+ "test:e2e": "jest --config jest.e2e.config.ts",
12
+ "lint": "gts lint",
13
+ "clean": "gts clean",
14
+ "compile": "tsc",
15
+ "fix": "gts fix",
16
+ "prepare": "npm run compile",
17
+ "pretest": "npm run compile",
18
+ "posttest": "npm run lint"
19
+ },
20
+ "keywords": [
21
+ "flow",
22
+ "chart",
23
+ "flowchart",
24
+ "drawio",
25
+ "draw",
26
+ "diagram",
27
+ "diagrams",
28
+ "engine",
29
+ "workflow",
30
+ "typescript"
31
+ ],
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/zniptr/chartmind"
35
+ },
36
+ "author": "Timo Martin",
37
+ "license": "MIT",
38
+ "type": "commonjs",
39
+ "devDependencies": {
40
+ "@types/he": "^1.2.3",
41
+ "@types/jest": "^29.5.14",
42
+ "gts": "^6.0.2",
43
+ "jest": "^30.0.0",
44
+ "ts-jest": "^29.4.0",
45
+ "ts-node": "^10.9.2",
46
+ "typescript": "^5.8.3"
47
+ },
48
+ "dependencies": {
49
+ "fast-xml-parser": "^5.2.5",
50
+ "he": "^1.2.0"
51
+ },
52
+ "files": [
53
+ "build/src"
54
+ ],
55
+ "engines": {
56
+ "node": ">=10.10.0"
57
+ }
58
+ }
@@ -1,16 +0,0 @@
1
- import { ChartContext } from '../engine/chart/context/chart-context';
2
- /**
3
- * Represents an async executable action that can be performed within a chart context.
4
- *
5
- * @interface ExecutableAsync
6
- * @remarks
7
- * Implement this interface to define custom actions that operate on a given {@link ChartContext}.
8
- *
9
- * @method execute
10
- * Executes the action using the provided chart context.
11
- * @param chartContext - The context in which the action should be executed.
12
- * @returns A promise that resolves when the execution is complete.
13
- */
14
- export interface ExecutableAsync {
15
- execute(chartContext: ChartContext): Promise<void>;
16
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=executable-async.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executable-async.interface.js","sourceRoot":"","sources":["../../../src/interfaces/executable-async.interface.ts"],"names":[],"mappings":""}