@yorz/cli 0.1.4 → 0.1.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 (140) hide show
  1. package/dist/cli/index.js +133 -53
  2. package/dist/gui/assets/{abnfDiagram-VRR7QNED-BlILeZZA.js → abnfDiagram-VRR7QNED-Dk823f-p.js} +1 -1
  3. package/dist/gui/assets/{arc-C-xJpbjF.js → arc-CsAcQvy9.js} +1 -1
  4. package/dist/gui/assets/{architectureDiagram-ZJ3FMSHR-QdzNii0b.js → architectureDiagram-ZJ3FMSHR-9d29EB_v.js} +1 -1
  5. package/dist/gui/assets/{blockDiagram-677ZJIJ3-BQTAKTET.js → blockDiagram-677ZJIJ3-C_BdniYG.js} +1 -1
  6. package/dist/gui/assets/{c4Diagram-LMCZKHZV-YRh3fqeb.js → c4Diagram-LMCZKHZV-COHS5O60.js} +1 -1
  7. package/dist/gui/assets/channel-Cdj31qNd.js +1 -0
  8. package/dist/gui/assets/{chunk-2Q5K7J3B-Bgu-eeCS.js → chunk-2Q5K7J3B-CdpNMJAI.js} +1 -1
  9. package/dist/gui/assets/{chunk-32BRIVSS-DTLd8wsP.js → chunk-32BRIVSS-C-5zZ7Xl.js} +1 -1
  10. package/dist/gui/assets/{chunk-5VM5RSS4-Cct8HJoz.js → chunk-5VM5RSS4-DNMuZJaP.js} +1 -1
  11. package/dist/gui/assets/{chunk-EX3LRPZG-DBgaA_1N.js → chunk-EX3LRPZG-BGPzkMUB.js} +1 -1
  12. package/dist/gui/assets/{chunk-JWPE2WC7-DELoF8bV.js → chunk-JWPE2WC7-DKHh8QvM.js} +1 -1
  13. package/dist/gui/assets/{chunk-MOJQB5TN-Du6uREYs.js → chunk-MOJQB5TN-DjfrUCo1.js} +1 -1
  14. package/dist/gui/assets/{chunk-RYQCIY6F-CxO6cQdM.js → chunk-RYQCIY6F-CAOzG_fF.js} +1 -1
  15. package/dist/gui/assets/{chunk-V7JOEXUC-BiILBcGA.js → chunk-V7JOEXUC-CiYl0Zr6.js} +1 -1
  16. package/dist/gui/assets/{chunk-VR4S4FIN-BfY2RvG4.js → chunk-VR4S4FIN-C9R15N13.js} +1 -1
  17. package/dist/gui/assets/{chunk-XXDRQBXY-DmsZw6tB.js → chunk-XXDRQBXY-D08V--b4.js} +1 -1
  18. package/dist/gui/assets/classDiagram-OUVF2IWQ-BiCCYKL9.js +1 -0
  19. package/dist/gui/assets/classDiagram-v2-EOCWNBFH-BiCCYKL9.js +1 -0
  20. package/dist/gui/assets/{cose-bilkent-JH36ORCC-gX-8DSxS.js → cose-bilkent-JH36ORCC-h3WvWy31.js} +1 -1
  21. package/dist/gui/assets/{cynefin-VYW2F7L2-vOfRo7cL.js → cynefin-VYW2F7L2-BJJROAhw.js} +1 -1
  22. package/dist/gui/assets/{cynefinDiagram-TSTJHNR4-Dv66a7Rh.js → cynefinDiagram-TSTJHNR4-Cowr6YON.js} +1 -1
  23. package/dist/gui/assets/{dagre-VKFMJZFB-Rk64dDvT.js → dagre-VKFMJZFB-CHQSayFl.js} +1 -1
  24. package/dist/gui/assets/{diagram-FQU43EPY-CyW3IjmQ.js → diagram-FQU43EPY-Dkjm-gpD.js} +1 -1
  25. package/dist/gui/assets/{diagram-G47NLZAW-Caav47lW.js → diagram-G47NLZAW-CWzLjtMq.js} +1 -1
  26. package/dist/gui/assets/{diagram-NH7WQ7WH-_X3ihqNf.js → diagram-NH7WQ7WH-CJEfCmpn.js} +1 -1
  27. package/dist/gui/assets/{diagram-OA4YK3LP-CjbverOE.js → diagram-OA4YK3LP-DKXL4ZCg.js} +1 -1
  28. package/dist/gui/assets/{diagram-WEI45ONY-B93ZeTtT.js → diagram-WEI45ONY-CLvc8CSB.js} +1 -1
  29. package/dist/gui/assets/{ebnfDiagram-CCIWWBDH-CdDt4bWx.js → ebnfDiagram-CCIWWBDH-D6NViEZ2.js} +1 -1
  30. package/dist/gui/assets/{erDiagram-Q63AITRT-Bypq-rvj.js → erDiagram-Q63AITRT-B2mRc5jq.js} +1 -1
  31. package/dist/gui/assets/{flowDiagram-23GEKE2U-b-l8_7KP.js → flowDiagram-23GEKE2U-Bu2CgXeG.js} +1 -1
  32. package/dist/gui/assets/{ganttDiagram-NO4QXBWP-BeZFHLhX.js → ganttDiagram-NO4QXBWP-CLqVFiRj.js} +1 -1
  33. package/dist/gui/assets/{gitGraphDiagram-IHSO6WYX-C0siPGLA.js → gitGraphDiagram-IHSO6WYX-BCeVlEhg.js} +1 -1
  34. package/dist/gui/assets/index-BCf1jTQa.css +1 -0
  35. package/dist/gui/assets/index-BYq7_4Z-.js +663 -0
  36. package/dist/gui/assets/{infoDiagram-FWYZ7A6U-Bk8DNKgG.js → infoDiagram-FWYZ7A6U-CaGDhrD8.js} +1 -1
  37. package/dist/gui/assets/{ishikawaDiagram-FXEZZL3T-DyS4wmJu.js → ishikawaDiagram-FXEZZL3T-D-IBVo_N.js} +1 -1
  38. package/dist/gui/assets/{journeyDiagram-5HDEW3XC-4jUY7Bzi.js → journeyDiagram-5HDEW3XC-lxFR0Z8q.js} +1 -1
  39. package/dist/gui/assets/{kanban-definition-HUTT4EX6-BRiI4KbM.js → kanban-definition-HUTT4EX6-C1Quf86J.js} +1 -1
  40. package/dist/gui/assets/{linear-C5JkbjyJ.js → linear-BmiZLs2L.js} +1 -1
  41. package/dist/gui/assets/{mermaid.core-ImB_5gdE.js → mermaid.core-Qqp0pI8e.js} +4 -4
  42. package/dist/gui/assets/{mindmap-definition-LN4V7U3C-9_Awmd2W.js → mindmap-definition-LN4V7U3C-CiuAQSSr.js} +1 -1
  43. package/dist/gui/assets/{pegDiagram-2B236MQR-DF_vIYzp.js → pegDiagram-2B236MQR-BWjeZxVp.js} +1 -1
  44. package/dist/gui/assets/{pieDiagram-ENE6RG2P-3TPwXSjQ.js → pieDiagram-ENE6RG2P-C2aubU3s.js} +1 -1
  45. package/dist/gui/assets/{quadrantDiagram-ABIIQ3AL-jzJ30mNi.js → quadrantDiagram-ABIIQ3AL-l-nU_0aa.js} +1 -1
  46. package/dist/gui/assets/{railroadDiagram-RFXS5EU6-B-29q3CI.js → railroadDiagram-RFXS5EU6-CLs3ePNd.js} +1 -1
  47. package/dist/gui/assets/{requirementDiagram-TGXJPOKE-BanWpS6g.js → requirementDiagram-TGXJPOKE-noC5_aOI.js} +1 -1
  48. package/dist/gui/assets/{sankeyDiagram-HTMAVEWB-B_sxc9IV.js → sankeyDiagram-HTMAVEWB-CrVWROCY.js} +1 -1
  49. package/dist/gui/assets/{sequenceDiagram-DBY2YBRQ-BNVav9DA.js → sequenceDiagram-DBY2YBRQ-rrdT6eIu.js} +1 -1
  50. package/dist/gui/assets/{sizeCapture-X5ZJPWSS-DbaiKjno.js → sizeCapture-X5ZJPWSS-DvpoOhEJ.js} +1 -1
  51. package/dist/gui/assets/{stateDiagram-2N3HPSRC-jU5WBm6c.js → stateDiagram-2N3HPSRC-B2ui4ZZN.js} +1 -1
  52. package/dist/gui/assets/stateDiagram-v2-6OUMAXLB-B_Wcpq2b.js +1 -0
  53. package/dist/gui/assets/{swimlanes-5IMT3BWC-Dcmb64x2.js → swimlanes-5IMT3BWC-DRhf5jKL.js} +2 -2
  54. package/dist/gui/assets/swimlanesDiagram-G3AALYLV-C2fsQgny.js +8 -0
  55. package/dist/gui/assets/{timeline-definition-FHXFAJF6-COm9ow7j.js → timeline-definition-FHXFAJF6-rm68zqM2.js} +1 -1
  56. package/dist/gui/assets/{vennDiagram-L72KCM5P-DliDuTVY.js → vennDiagram-L72KCM5P-BKVMfPvL.js} +1 -1
  57. package/dist/gui/assets/{wardleyDiagram-EHGQE667-C2O_2cpw.js → wardleyDiagram-EHGQE667-eXN3NRZ7.js} +1 -1
  58. package/dist/gui/assets/{xychartDiagram-FW5EYKEG-Ldmt9hoc.js → xychartDiagram-FW5EYKEG-3VtYytF2.js} +1 -1
  59. package/dist/gui/index.html +2 -2
  60. package/package.json +13 -1
  61. package/dist/_commonjsHelpers-DyI1JsEH.js +0 -34
  62. package/dist/abnfDiagram-VRR7QNED-UQS77aUi.js +0 -119
  63. package/dist/api-DrYc_Ds_.js +0 -129852
  64. package/dist/arc-B1cAL3U1.js +0 -132
  65. package/dist/architectureDiagram-ZJ3FMSHR-CfWOhs-q.js +0 -8816
  66. package/dist/blockDiagram-677ZJIJ3-CLOAAFZa.js +0 -3796
  67. package/dist/c4Diagram-LMCZKHZV-BGdELGkb.js +0 -2483
  68. package/dist/certs-BeimSwB3.js +0 -14071
  69. package/dist/certs-C4t5lAmJ.js +0 -14071
  70. package/dist/certs-CLLngjpY.js +0 -14071
  71. package/dist/certs-D3fTB-0_.js +0 -14071
  72. package/dist/channel-_gQD3mZ8.js +0 -8
  73. package/dist/chunk-2Q5K7J3B-DIJkMPWD.js +0 -20
  74. package/dist/chunk-32BRIVSS-CIQb7-9I.js +0 -117
  75. package/dist/chunk-5VM5RSS4-DmlAsh6o.js +0 -20
  76. package/dist/chunk-EX3LRPZG-BEXyn5R-.js +0 -1989
  77. package/dist/chunk-JWPE2WC7-XiIefccF.js +0 -17
  78. package/dist/chunk-MOJQB5TN-CC5OBDWw.js +0 -861
  79. package/dist/chunk-RYQCIY6F-DQacsGpB.js +0 -475
  80. package/dist/chunk-V7JOEXUC-TLRsIUvf.js +0 -2027
  81. package/dist/chunk-VR4S4FIN-9AfN7RDF.js +0 -25
  82. package/dist/chunk-XXDRQBXY-DhWucSRr.js +0 -14
  83. package/dist/classDiagram-OUVF2IWQ-CN55rRkB.js +0 -20
  84. package/dist/classDiagram-v2-EOCWNBFH-CN55rRkB.js +0 -20
  85. package/dist/cose-bilkent-JH36ORCC-8uGYe6_d.js +0 -4944
  86. package/dist/cynefin-VYW2F7L2-BwTeE-TI.js +0 -32061
  87. package/dist/cynefinDiagram-TSTJHNR4-DM7ixE-v.js +0 -454
  88. package/dist/cytoscape.esm-BTopYfIb.js +0 -30347
  89. package/dist/dagre-VKFMJZFB-blEDoYen.js +0 -522
  90. package/dist/defaultLocale-wHUL1xE2.js +0 -207
  91. package/dist/diagram-FQU43EPY-MEZlmmdi.js +0 -633
  92. package/dist/diagram-G47NLZAW-DZOZvHqp.js +0 -857
  93. package/dist/diagram-NH7WQ7WH-ChpmPbZz.js +0 -213
  94. package/dist/diagram-OA4YK3LP-oy4yvrnL.js +0 -489
  95. package/dist/diagram-WEI45ONY-B3nx1cYt.js +0 -305
  96. package/dist/ebnfDiagram-CCIWWBDH-BASj7BoO.js +0 -139
  97. package/dist/erDiagram-Q63AITRT-lujHq-S9.js +0 -1239
  98. package/dist/flowDiagram-23GEKE2U-BdsAVPgU.js +0 -2349
  99. package/dist/ganttDiagram-NO4QXBWP-DUUP4lsu.js +0 -3733
  100. package/dist/gitGraphDiagram-IHSO6WYX-BdIPAtb0.js +0 -1374
  101. package/dist/graph-CE8jV7cI.js +0 -2043
  102. package/dist/gui/assets/channel-DGoXAS0B.js +0 -1
  103. package/dist/gui/assets/classDiagram-OUVF2IWQ-B4zeZ0PC.js +0 -1
  104. package/dist/gui/assets/classDiagram-v2-EOCWNBFH-B4zeZ0PC.js +0 -1
  105. package/dist/gui/assets/index-Bp9JnkhK.css +0 -1
  106. package/dist/gui/assets/index-DKVgyltQ.js +0 -21
  107. package/dist/gui/assets/stateDiagram-v2-6OUMAXLB-GXq_r-DG.js +0 -1
  108. package/dist/gui/assets/swimlanesDiagram-G3AALYLV-DDE-INgq.js +0 -8
  109. package/dist/index--GoVvfUP.js +0 -5447
  110. package/dist/index-3-WDiDAh.js +0 -5466
  111. package/dist/index-CHBXZAxg.js +0 -5460
  112. package/dist/index-DeCq8xn7.js +0 -5460
  113. package/dist/infoDiagram-FWYZ7A6U-D9wo93kg.js +0 -32
  114. package/dist/init-DDGa2CQM.js +0 -17
  115. package/dist/ishikawaDiagram-FXEZZL3T-DZh3_kt2.js +0 -968
  116. package/dist/journeyDiagram-5HDEW3XC-C8RWHIn0.js +0 -1256
  117. package/dist/kanban-definition-HUTT4EX6-B7qQtB5a.js +0 -1053
  118. package/dist/katex-WjDlQEfU.js +0 -14500
  119. package/dist/layout-DQAYh_L7.js +0 -2360
  120. package/dist/linear-C_kZRZXS.js +0 -341
  121. package/dist/map-BElV7BMC.js +0 -299
  122. package/dist/mermaid.core-Dy_tFRs7.js +0 -26495
  123. package/dist/mindmap-definition-LN4V7U3C-BzHCd5Ab.js +0 -1181
  124. package/dist/ordinal-C2kkg180.js +0 -77
  125. package/dist/pegDiagram-2B236MQR-B046bQWM.js +0 -127
  126. package/dist/pieDiagram-ENE6RG2P-B5_W2CZy.js +0 -316
  127. package/dist/quadrantDiagram-ABIIQ3AL-Bbpt496h.js +0 -1342
  128. package/dist/railroadDiagram-RFXS5EU6-10XIH3X0.js +0 -93
  129. package/dist/requirementDiagram-TGXJPOKE-Dt1QyccY.js +0 -1205
  130. package/dist/sankeyDiagram-HTMAVEWB-CnqRAq7M.js +0 -1274
  131. package/dist/sequenceDiagram-DBY2YBRQ-DtJLSXoz.js +0 -4515
  132. package/dist/sizeCapture-X5ZJPWSS-DUl5ZEo3.js +0 -63
  133. package/dist/stateDiagram-2N3HPSRC-b-qzcVNj.js +0 -449
  134. package/dist/stateDiagram-v2-6OUMAXLB-KjDlRfc7.js +0 -20
  135. package/dist/swimlanes-5IMT3BWC-CAjGnQLa.js +0 -8553
  136. package/dist/swimlanesDiagram-G3AALYLV-DiOi9bzU.js +0 -16
  137. package/dist/timeline-definition-FHXFAJF6-Bme2FWbh.js +0 -1597
  138. package/dist/vennDiagram-L72KCM5P-BUQgnZDB.js +0 -2516
  139. package/dist/wardleyDiagram-EHGQE667-DHR2Avlu.js +0 -976
  140. package/dist/xychartDiagram-FW5EYKEG-V4K5eBMS.js +0 -2000
@@ -1,633 +0,0 @@
1
- #!/usr/bin/env node
2
- import { p as populateCommonDb } from "./chunk-JWPE2WC7-XiIefccF.js";
3
- import { o as getDiagramTitle, n as setDiagramTitle, s as setAccDescription, g as getAccDescription, a as getAccTitle, b as setAccTitle, _ as __name, l as log, c as getConfig2, d as select, z as setupGraphViewbox2, p as clear, A as cleanAndMerge, y as getConfig, B as defaultConfig_default, i as sanitizeText, w as wrapLabel, ak as calculateTextDimensions } from "./mermaid.core-Dy_tFRs7.js";
4
- import { p as parse, i as isEmResetFrame } from "./cynefin-VYW2F7L2-BwTeE-TI.js";
5
- var PositionFrameKind = "position frame";
6
- var FramePositionedKind = "frame positioned";
7
- var PositionRelationKind = "position relation";
8
- var RelationPositionedKind = "relation positioned";
9
- var setOptions = /* @__PURE__ */ __name(function(_rawOptString) {
10
- log.debug("options str", _rawOptString);
11
- }, "setOptions");
12
- var getOptions = /* @__PURE__ */ __name(function() {
13
- return {};
14
- }, "getOptions");
15
- var clear2 = /* @__PURE__ */ __name(function() {
16
- reset();
17
- clear();
18
- }, "clear");
19
- function reset() {
20
- store = {};
21
- }
22
- __name(reset, "reset");
23
- var DEFAULT_EVENTMODELING_CONFIG = defaultConfig_default.eventmodeling;
24
- var getConfig3 = /* @__PURE__ */ __name(() => {
25
- const config = cleanAndMerge({
26
- ...DEFAULT_EVENTMODELING_CONFIG,
27
- ...getConfig().eventmodeling
28
- });
29
- return config;
30
- }, "getConfig");
31
- var store = {};
32
- function getState() {
33
- let state = initial;
34
- const { ast } = store;
35
- const diagramProps2 = getDiagramProps();
36
- if (!ast) {
37
- throw new Error("No data for EventModel");
38
- }
39
- ast.frames.forEach((frame, index) => {
40
- const textProps = calculateTextProps(frame, ast.dataEntities, diagramProps2);
41
- state = dispatch(state, {
42
- $kind: PositionFrameKind,
43
- index,
44
- frame,
45
- textProps
46
- });
47
- let sourceFrames = void 0;
48
- if (hasSourceFrame(frame)) {
49
- log.debug(`source frame`, frame.sourceFrames);
50
- sourceFrames = ast.frames.filter((currentFrame) => {
51
- return frame.sourceFrames.some((sf) => sf.$refText === currentFrame.name);
52
- });
53
- sourceFrames.forEach((sourceFrame) => {
54
- state = dispatch(state, {
55
- $kind: PositionRelationKind,
56
- index,
57
- frame,
58
- sourceFrame
59
- });
60
- });
61
- } else {
62
- state = dispatch(state, {
63
- $kind: PositionRelationKind,
64
- index,
65
- frame
66
- });
67
- }
68
- });
69
- state = {
70
- ...state,
71
- sortedSwimlanesArray: sortedSwimlanesArray(state.swimlanes)
72
- };
73
- return state;
74
- }
75
- __name(getState, "getState");
76
- function setAst(ast) {
77
- store.ast = ast;
78
- }
79
- __name(setAst, "setAst");
80
- var diagramProps = {
81
- swimlaneMinHeight: 70,
82
- swimlanePadding: 15,
83
- swimlaneGap: 10,
84
- boxPadding: 10,
85
- boxOverlap: 90,
86
- boxDefaultY: 0,
87
- boxMinWidth: 80,
88
- boxMaxWidth: 450,
89
- boxMinHeight: 80,
90
- boxMaxHeight: 750,
91
- contentStartX: 250,
92
- textMaxWidth: 450 - 2 * 10,
93
- boxTextFontWeight: "bold",
94
- boxTextPadding: 10,
95
- swimlaneTextFontWeight: "bold",
96
- labelUiAutomation: "UI/Automation",
97
- labelUiAutomationPrefix: "UI/A: ",
98
- labelCommandReadModel: "Command/Read Model",
99
- labelCommandReadModelPrefix: "C/RM: ",
100
- labelEvents: "Events",
101
- labelEventsPrefix: "Stream: "
102
- };
103
- function getDiagramProps() {
104
- return diagramProps;
105
- }
106
- __name(getDiagramProps, "getDiagramProps");
107
- var initial = {
108
- boxes: [],
109
- swimlanes: {},
110
- relations: [],
111
- maxR: 0,
112
- sortedSwimlanesArray: []
113
- };
114
- function extractNamespace(entityIdentifier) {
115
- const spl = entityIdentifier.split(".");
116
- if (spl.length === 2) {
117
- return spl[0];
118
- }
119
- return void 0;
120
- }
121
- __name(extractNamespace, "extractNamespace");
122
- function extractName(entityIdentifier) {
123
- const spl = entityIdentifier.split(".");
124
- if (spl.length === 2) {
125
- return spl[1];
126
- }
127
- return entityIdentifier;
128
- }
129
- __name(extractName, "extractName");
130
- function findSwimlaneByNamespace(swimlanes, namespace) {
131
- if (!namespace || namespace.length === 0) {
132
- return void 0;
133
- }
134
- return Object.values(swimlanes).find((swimlane) => swimlane.namespace === namespace);
135
- }
136
- __name(findSwimlaneByNamespace, "findSwimlaneByNamespace");
137
- function findNextAvailableIndex(swimlanes, boundaryMin, boundaryMax) {
138
- return Math.max(
139
- boundaryMin,
140
- ...Object.keys(swimlanes).filter((key) => {
141
- const index = Number.parseInt(key);
142
- return index > boundaryMin && index < boundaryMax;
143
- }).map((key) => Number.parseInt(key))
144
- ) + 1;
145
- }
146
- __name(findNextAvailableIndex, "findNextAvailableIndex");
147
- function calculateSwimlaneProps(frame, swimlanes) {
148
- const namespace = extractNamespace(frame.entityIdentifier);
149
- const sw = findSwimlaneByNamespace(swimlanes, namespace);
150
- switch (frame.modelEntityType) {
151
- case "ui":
152
- case "pcr":
153
- case "processor":
154
- if (sw) {
155
- return {
156
- index: sw.index,
157
- label: sw.namespace || diagramProps.labelUiAutomation
158
- };
159
- } else if (namespace) {
160
- return {
161
- index: findNextAvailableIndex(swimlanes, 0, 100),
162
- label: diagramProps.labelUiAutomationPrefix + namespace
163
- };
164
- }
165
- return { index: 0, label: diagramProps.labelUiAutomation };
166
- case "rmo":
167
- case "readmodel":
168
- case "cmd":
169
- case "command":
170
- if (sw) {
171
- return {
172
- index: sw.index,
173
- label: sw.namespace || diagramProps.labelCommandReadModel
174
- };
175
- } else if (namespace) {
176
- return {
177
- index: findNextAvailableIndex(swimlanes, 100, 200),
178
- label: diagramProps.labelCommandReadModelPrefix + namespace
179
- };
180
- }
181
- return { index: 100, label: diagramProps.labelCommandReadModel };
182
- case "evt":
183
- case "event":
184
- default:
185
- if (sw) {
186
- return {
187
- index: sw.index,
188
- label: sw.namespace || diagramProps.labelEvents
189
- };
190
- } else if (namespace) {
191
- return {
192
- index: findNextAvailableIndex(swimlanes, 200, 300),
193
- label: diagramProps.labelEventsPrefix + namespace
194
- };
195
- }
196
- return { index: 200, label: diagramProps.labelEvents };
197
- }
198
- }
199
- __name(calculateSwimlaneProps, "calculateSwimlaneProps");
200
- function calculateEntityVisualProps(frame) {
201
- const { themeVariables } = getConfig();
202
- switch (frame.modelEntityType) {
203
- case "ui":
204
- return {
205
- fill: themeVariables.emUiFill ?? "white",
206
- stroke: themeVariables.emUiStroke ?? "#dbdada"
207
- };
208
- case "pcr":
209
- case "processor":
210
- return {
211
- fill: themeVariables.emProcessorFill ?? "#edb3f6",
212
- stroke: themeVariables.emProcessorStroke ?? "#b88cbf"
213
- };
214
- case "rmo":
215
- case "readmodel":
216
- return {
217
- fill: themeVariables.emReadModelFill ?? "#d3f1a2",
218
- stroke: themeVariables.emReadModelStroke ?? "#a3b732"
219
- };
220
- case "cmd":
221
- case "command":
222
- return {
223
- fill: themeVariables.emCommandFill ?? "#bcd6fe",
224
- stroke: themeVariables.emCommandStroke ?? "#679ac3"
225
- };
226
- case "evt":
227
- case "event":
228
- return {
229
- fill: themeVariables.emEventFill ?? "#ffb778",
230
- stroke: themeVariables.emEventStroke ?? "#c19a0f"
231
- };
232
- default:
233
- return {
234
- fill: "red",
235
- stroke: "black"
236
- };
237
- }
238
- }
239
- __name(calculateEntityVisualProps, "calculateEntityVisualProps");
240
- function calculateTextProps(frame, dataEntities, diagramProps2) {
241
- const config = getConfig();
242
- const name = sanitizeText(extractName(frame.entityIdentifier) ?? "", config);
243
- let toHtml;
244
- const wrapLabelConfig = {
245
- fontSize: 16,
246
- fontWeight: 700,
247
- fontFamily: '"trebuchet ms", verdana, arial, sans-serif',
248
- joinWith: "<br/>"
249
- };
250
- const wrappedName = wrapLabel(name, diagramProps2.textMaxWidth, wrapLabelConfig);
251
- let content = `<b>${wrappedName}</b>`;
252
- if (frame.dataInlineValue) {
253
- toHtml = frame.dataInlineValue;
254
- toHtml = toHtml.substring(toHtml.indexOf("{") + 1);
255
- toHtml = toHtml.substring(0, toHtml.lastIndexOf("}") - 1);
256
- toHtml = sanitizeText(toHtml, config);
257
- toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);
258
- toHtml = toHtml.replaceAll(" ", "&nbsp;");
259
- }
260
- if (frame.dataReference) {
261
- const dataEntity = dataEntities.find(
262
- (dataEntity2) => dataEntity2.name === frame.dataReference?.$refText
263
- );
264
- if (dataEntity) {
265
- toHtml = dataEntity.dataBlockValue;
266
- toHtml = toHtml.substring(toHtml.indexOf("{\n") + 2);
267
- toHtml = toHtml.substring(0, toHtml.lastIndexOf("}") - 1);
268
- toHtml = sanitizeText(toHtml, config);
269
- toHtml = wrapLabel(toHtml, diagramProps2.textMaxWidth, wrapLabelConfig);
270
- toHtml = toHtml.replaceAll(" ", "&nbsp;");
271
- toHtml += `<br/>`;
272
- }
273
- }
274
- const hasRenderedData = toHtml !== void 0;
275
- if (hasRenderedData) {
276
- content += `<br/><br/><code style="text-align: left; display: block;max-width:${diagramProps2.textMaxWidth}px">${toHtml}</code>`;
277
- }
278
- const textDimensionConfig = {
279
- fontSize: wrapLabelConfig.fontSize,
280
- fontWeight: wrapLabelConfig.fontWeight,
281
- fontFamily: wrapLabelConfig.fontFamily
282
- };
283
- const dimensions = calculateTextDimensions(content, textDimensionConfig);
284
- const calculatedWidthFix = hasRenderedData ? dimensions.width / 3 : dimensions.width;
285
- const props = {
286
- content,
287
- width: calculatedWidthFix,
288
- height: dimensions.height
289
- };
290
- log.debug(`[${frame.name}] ${frame.entityIdentifier} text`, props);
291
- return props;
292
- }
293
- __name(calculateTextProps, "calculateTextProps");
294
- function decidePositionFrame(state, _command) {
295
- const command = _command;
296
- const visual = calculateEntityVisualProps(command.frame);
297
- const dimension = {
298
- width: command.textProps.width + 2 * diagramProps.boxTextPadding,
299
- height: command.textProps.height + 2 * diagramProps.boxTextPadding
300
- };
301
- const event = {
302
- $kind: FramePositionedKind,
303
- frame: command.frame,
304
- index: command.index,
305
- visual,
306
- dimension,
307
- textProps: command.textProps
308
- };
309
- return [event];
310
- }
311
- __name(decidePositionFrame, "decidePositionFrame");
312
- function calculateX(swimlane, previousSwimlane, lastBox) {
313
- if (previousSwimlane === void 0) {
314
- return diagramProps.contentStartX;
315
- }
316
- if (previousSwimlane.index === swimlane.index && swimlane.r) {
317
- return swimlane.r + diagramProps.boxPadding;
318
- }
319
- if (lastBox === void 0) {
320
- return diagramProps.contentStartX;
321
- }
322
- return lastBox.r - diagramProps.boxOverlap + diagramProps.boxPadding;
323
- }
324
- __name(calculateX, "calculateX");
325
- function calculateMaxRight(swimlanes, swimlaneR) {
326
- const rs = [...swimlanes.map((s) => s.r), swimlaneR];
327
- return Math.max(...rs);
328
- }
329
- __name(calculateMaxRight, "calculateMaxRight");
330
- function sortedSwimlanesArray(swimlanes) {
331
- return Object.values(swimlanes).sort((a, b) => a.index - b.index);
332
- }
333
- __name(sortedSwimlanesArray, "sortedSwimlanesArray");
334
- function evolveFramePositioned(state, _event) {
335
- const event = _event;
336
- const swimlaneProps = calculateSwimlaneProps(event.frame, state.swimlanes);
337
- let swimlane;
338
- if (swimlaneProps.index in state.swimlanes) {
339
- swimlane = state.swimlanes[swimlaneProps.index];
340
- } else {
341
- swimlane = {
342
- index: swimlaneProps.index,
343
- label: swimlaneProps.label,
344
- r: 0,
345
- y: swimlaneProps.index * diagramProps.swimlaneMinHeight + diagramProps.swimlaneGap,
346
- height: diagramProps.swimlaneMinHeight,
347
- maxHeight: diagramProps.swimlaneMinHeight
348
- };
349
- }
350
- const lastBox = state.boxes.length > 0 ? state.boxes[state.boxes.length - 1] : void 0;
351
- const previousSwimlane = state.previousSwimlaneNumber !== void 0 ? state.swimlanes[state.previousSwimlaneNumber] : void 0;
352
- const dimension = {
353
- width: Math.max(
354
- diagramProps.boxMinWidth,
355
- Math.min(diagramProps.boxMaxWidth, event.dimension.width)
356
- ) + 2 * diagramProps.boxPadding,
357
- height: Math.max(
358
- diagramProps.boxMinHeight,
359
- Math.min(diagramProps.boxMaxHeight, event.dimension.height)
360
- ) + 2 * diagramProps.boxPadding
361
- };
362
- const x = calculateX(swimlane, previousSwimlane, lastBox);
363
- const r = x + dimension.width + diagramProps.boxPadding;
364
- const maxR = calculateMaxRight(Object.values(state.swimlanes), r);
365
- swimlane.r = x + dimension.width;
366
- swimlane.maxHeight = Math.max(swimlane.maxHeight, dimension.height);
367
- swimlane.height = Math.max(diagramProps.swimlaneMinHeight, swimlane.maxHeight) + 2 * diagramProps.swimlanePadding;
368
- const box = {
369
- x,
370
- y: diagramProps.swimlanePadding + swimlane.y,
371
- // y: diagramProps.swimlanePadding + (swimlane.y || diagramProps.boxDefaultY),
372
- r,
373
- dimension,
374
- leftSibling: false,
375
- swimlane,
376
- visual: event.visual,
377
- text: event.textProps.content,
378
- frame: event.frame,
379
- index: event.index
380
- };
381
- const newState = {
382
- ...state,
383
- boxes: [...state.boxes, box],
384
- swimlanes: {
385
- ...state.swimlanes,
386
- [`${swimlane.index}`]: swimlane
387
- },
388
- previousSwimlaneNumber: swimlaneProps.index,
389
- previousFrame: event.frame,
390
- maxR
391
- };
392
- const swimlanes = sortedSwimlanesArray(newState.swimlanes);
393
- if (swimlanes.length > 0) {
394
- swimlanes[0].y = 0;
395
- }
396
- for (let i = 1; i < swimlanes.length; i++) {
397
- const sw = swimlanes[i];
398
- const prevSw = swimlanes[i - 1];
399
- sw.y = prevSw.y + prevSw.height + diagramProps.swimlaneGap;
400
- }
401
- return newState;
402
- }
403
- __name(evolveFramePositioned, "evolveFramePositioned");
404
- function isFirstFrame(index, frame) {
405
- if (index === 0 && frame.sourceFrames.length === 0) {
406
- return true;
407
- }
408
- return false;
409
- }
410
- __name(isFirstFrame, "isFirstFrame");
411
- function hasSourceFrame(frame) {
412
- return frame.sourceFrames !== void 0 && frame.sourceFrames !== null && frame.sourceFrames.length > 0;
413
- }
414
- __name(hasSourceFrame, "hasSourceFrame");
415
- function findBoxByFrame(boxes, frame) {
416
- if (frame === void 0 || frame === null) {
417
- return void 0;
418
- }
419
- return boxes.find((box) => box.frame.name === frame.name);
420
- }
421
- __name(findBoxByFrame, "findBoxByFrame");
422
- function findBoxByLineIndex(boxes, targetSwimlane, lineIndex) {
423
- if (lineIndex < 0) {
424
- return void 0;
425
- }
426
- for (let i = lineIndex; i >= 0; i--) {
427
- const box = boxes[i];
428
- if (box.swimlane.index !== targetSwimlane) {
429
- return box;
430
- }
431
- }
432
- return void 0;
433
- }
434
- __name(findBoxByLineIndex, "findBoxByLineIndex");
435
- function decidePositionRelation(state, _command) {
436
- const command = _command;
437
- if (isEmResetFrame(command.frame) || isFirstFrame(command.index, command.frame)) {
438
- return [];
439
- }
440
- const targetBox = findBoxByFrame(state.boxes, command.frame);
441
- if (targetBox === void 0) {
442
- throw new Error(`Target box not found for frame ${command.frame.name}`);
443
- }
444
- let sourceBox;
445
- if (command.sourceFrame) {
446
- sourceBox = findBoxByFrame(state.boxes, command.sourceFrame);
447
- } else {
448
- sourceBox = findBoxByLineIndex(state.boxes, targetBox.swimlane.index, command.index - 1);
449
- }
450
- if (sourceBox === void 0) {
451
- return [];
452
- }
453
- const event = {
454
- $kind: RelationPositionedKind,
455
- frame: command.frame,
456
- index: command.index,
457
- sourceBox,
458
- targetBox
459
- };
460
- return [event];
461
- }
462
- __name(decidePositionRelation, "decidePositionRelation");
463
- function evolveRelationPositioned(state, _event) {
464
- const event = _event;
465
- const relation = {
466
- visual: {
467
- fill: "none",
468
- stroke: "#000"
469
- },
470
- source: {
471
- x: event.sourceBox.x,
472
- y: event.sourceBox.y
473
- },
474
- target: {
475
- x: event.targetBox.x,
476
- y: event.targetBox.y
477
- },
478
- sourceBox: event.sourceBox,
479
- targetBox: event.targetBox
480
- };
481
- const newState = {
482
- ...state,
483
- relations: [...state.relations, relation]
484
- };
485
- return newState;
486
- }
487
- __name(evolveRelationPositioned, "evolveRelationPositioned");
488
- var deciders = {
489
- [PositionFrameKind]: decidePositionFrame,
490
- [PositionRelationKind]: decidePositionRelation
491
- };
492
- var evolvers = {
493
- [FramePositionedKind]: evolveFramePositioned,
494
- [RelationPositionedKind]: evolveRelationPositioned
495
- };
496
- function decide(state, command) {
497
- const fn = deciders[command.$kind];
498
- if (fn === void 0 || fn === null) {
499
- return [];
500
- }
501
- const events = fn(state, command);
502
- log.debug(`decided events`, events);
503
- return events;
504
- }
505
- __name(decide, "decide");
506
- function evolve(state, events) {
507
- const newState = events.reduce((previousState, event) => {
508
- const fn = evolvers[event.$kind];
509
- if (fn === void 0 || fn === null) {
510
- return previousState;
511
- }
512
- return fn(previousState, event);
513
- }, state);
514
- log.debug(`evolve events`, { state, newState, events });
515
- return newState;
516
- }
517
- __name(evolve, "evolve");
518
- function dispatch(state, command) {
519
- const events = decide(state, command);
520
- const newState = evolve(state, events);
521
- return newState;
522
- }
523
- __name(dispatch, "dispatch");
524
- var db = {
525
- getConfig: getConfig3,
526
- setOptions,
527
- getOptions,
528
- clear: clear2,
529
- setAccTitle,
530
- getAccTitle,
531
- getAccDescription,
532
- setAccDescription,
533
- setDiagramTitle,
534
- getDiagramTitle,
535
- setAst,
536
- getDiagramProps,
537
- getState
538
- };
539
- var parser = {
540
- parse: /* @__PURE__ */ __name(async (input) => {
541
- const ast = await parse("eventmodeling", input);
542
- log.debug(ast);
543
- db.setAst(ast);
544
- populateCommonDb(ast, db);
545
- }, "parse")
546
- };
547
- var DEFAULT_CONFIG = getConfig2();
548
- var DEFAULT_EVENTMODELING_CONFIG2 = DEFAULT_CONFIG?.eventmodeling;
549
- function renderD3Box(diagram2, diagramProps2) {
550
- return (box) => {
551
- const y = box.swimlane.y + diagramProps2.swimlanePadding;
552
- const g = diagram2.append("g").attr("class", "em-box");
553
- g.append("rect").attr("x", box.x).attr("y", y).attr("rx", "3").attr("width", box.dimension.width).attr("height", box.dimension.height).attr("stroke", box.visual.stroke).attr("fill", box.visual.fill);
554
- const f = g.append("foreignObject").attr("x", box.x + diagramProps2.boxPadding).attr("y", y + 10).attr("width", box.dimension.width - 2 * diagramProps2.boxPadding).attr("height", box.dimension.height - 2 * diagramProps2.boxPadding);
555
- const text = f.append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%");
556
- text.append("span").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").html(box.text);
557
- };
558
- }
559
- __name(renderD3Box, "renderD3Box");
560
- function dirUpwards(sourceY, targetY) {
561
- return sourceY > targetY;
562
- }
563
- __name(dirUpwards, "dirUpwards");
564
- function renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables) {
565
- return (relation) => {
566
- const sourceBoxY = relation.sourceBox.swimlane.y + diagramProps2.swimlanePadding;
567
- const targetBoxY = relation.targetBox.swimlane.y + diagramProps2.swimlanePadding;
568
- const upwards = dirUpwards(sourceBoxY, targetBoxY);
569
- const sourceX = relation.sourceBox.x + relation.sourceBox.dimension.width * 2 / 3;
570
- const targetX = relation.targetBox.x + relation.targetBox.dimension.width / 3;
571
- let sourceY;
572
- let targetY;
573
- log.debug(`rendering relation up=${upwards} for `, {
574
- sourceBox: relation.sourceBox,
575
- targetBox: relation.targetBox
576
- });
577
- if (upwards) {
578
- sourceY = sourceBoxY;
579
- targetY = targetBoxY + relation.targetBox.dimension.height;
580
- } else {
581
- sourceY = sourceBoxY + relation.sourceBox.dimension.height;
582
- targetY = targetBoxY;
583
- }
584
- const relationStroke = themeVariables.emRelationStroke ?? relation.visual.stroke;
585
- diagram2.append("path").attr("class", "em-relation").attr("fill", relation.visual.fill).attr("stroke", relationStroke).attr("stroke-width", "1").attr("marker-end", `url(#${arrowheadId})`).attr("d", `M${sourceX} ${sourceY} L${targetX} ${targetY}`);
586
- };
587
- }
588
- __name(renderD3Relation, "renderD3Relation");
589
- function renderD3Swimlane(diagram2, maxR, diagramProps2, themeVariables) {
590
- return (swimlane) => {
591
- const g = diagram2.append("g").attr("class", "em-swimlane");
592
- const oddBackground = themeVariables.emSwimlaneBackgroundOdd ?? "rgb(250,250,250)";
593
- const backgroundStroke = themeVariables.emSwimlaneBackgroundStroke ?? "rgb(240,240,240)";
594
- g.append("rect").attr("x", 0).attr("y", swimlane.y).attr("rx", "3").attr("width", maxR + diagramProps2.swimlanePadding).attr("height", swimlane.height).attr("fill", oddBackground).attr("stroke", backgroundStroke);
595
- g.append("text").attr("font-weight", diagramProps2.swimlaneTextFontWeight).attr("x", 30).attr("y", swimlane.y + 30).text(swimlane.label);
596
- };
597
- }
598
- __name(renderD3Swimlane, "renderD3Swimlane");
599
- var draw = /* @__PURE__ */ __name(function(txt, id, ver, diagObj) {
600
- log.debug("in eventmodeling renderer", txt + "\n", "id:", id, ver);
601
- if (!DEFAULT_EVENTMODELING_CONFIG2) {
602
- throw new Error("EventModeling config not found");
603
- }
604
- const db2 = diagObj.db;
605
- const { themeVariables, eventmodeling: config } = getConfig2();
606
- const diagram2 = select(`[id="${id}"]`);
607
- const diagramProps2 = db2.getDiagramProps();
608
- const state = db2.getState();
609
- const arrowheadId = `em-arrowhead-${id}`;
610
- const arrowheadColor = themeVariables.emArrowhead ?? "#000000";
611
- state.sortedSwimlanesArray.forEach(
612
- renderD3Swimlane(diagram2, state.maxR, diagramProps2, themeVariables)
613
- );
614
- state.boxes.forEach(renderD3Box(diagram2, diagramProps2));
615
- state.relations.forEach(renderD3Relation(diagram2, diagramProps2, arrowheadId, themeVariables));
616
- const marker = diagram2.append("defs").append("marker").attr("id", arrowheadId).attr("markerWidth", "10").attr("markerHeight", "7").attr("refX", "10").attr("refY", "3.5").attr("orient", "auto");
617
- marker.append("polygon").attr("points", "0 0, 10 3.5, 0 7").attr("fill", arrowheadColor);
618
- setupGraphViewbox2(void 0, diagram2, config?.padding ?? 30, config?.useMaxWidth);
619
- }, "draw");
620
- var renderer_default = {
621
- draw
622
- };
623
- var getStyles = /* @__PURE__ */ __name((_options) => ``, "getStyles");
624
- var styles_default = getStyles;
625
- var diagram = {
626
- parser,
627
- db,
628
- renderer: renderer_default,
629
- styles: styles_default
630
- };
631
- export {
632
- diagram
633
- };