@zenuml/core 4.5.0 → 4.6.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/dist/cli/assets/Arch_AWS-Elastic-Beanstalk_16-BQhSFqRk.mjs +4 -0
- package/dist/cli/assets/Arch_Amazon-Cognito_16-BGlE6NnW.mjs +4 -0
- package/dist/cli/assets/Arch_Amazon-Kinesis_16-C_nCVk3q.mjs +4 -0
- package/dist/cli/assets/Arch_Amazon-Lightsail_16-Caj6kl2R.mjs +4 -0
- package/dist/cli/assets/Arch_Amazon-SageMaker_16-DrLi5pZN.mjs +4 -0
- package/dist/cli/assets/CloudIcons-qEDx5IlS.mjs +1500 -0
- package/dist/cli/zenuml.mjs +112 -36
- package/dist/zenuml.esm.mjs +10837 -10363
- package/dist/zenuml.js +523 -523
- package/package.json +1 -1
- package/types/index.d.ts +8 -0
package/dist/cli/zenuml.mjs
CHANGED
|
@@ -2158,7 +2158,7 @@ class sequenceParser extends antlr4.Parser {
|
|
|
2158
2158
|
|
|
2159
2159
|
|
|
2160
2160
|
group() {
|
|
2161
|
-
let localctx = new GroupContext(this, this._ctx, this.state);
|
|
2161
|
+
let localctx = new GroupContext$1(this, this._ctx, this.state);
|
|
2162
2162
|
this.enterRule(localctx, 6, sequenceParser.RULE_group);
|
|
2163
2163
|
var _la = 0; // Token type
|
|
2164
2164
|
try {
|
|
@@ -5224,9 +5224,9 @@ class HeadContext extends antlr4.ParserRuleContext {
|
|
|
5224
5224
|
i = null;
|
|
5225
5225
|
}
|
|
5226
5226
|
if(i===null) {
|
|
5227
|
-
return this.getTypedRuleContexts(GroupContext);
|
|
5227
|
+
return this.getTypedRuleContexts(GroupContext$1);
|
|
5228
5228
|
} else {
|
|
5229
|
-
return this.getTypedRuleContext(GroupContext,i);
|
|
5229
|
+
return this.getTypedRuleContext(GroupContext$1,i);
|
|
5230
5230
|
}
|
|
5231
5231
|
};
|
|
5232
5232
|
|
|
@@ -5262,7 +5262,7 @@ class HeadContext extends antlr4.ParserRuleContext {
|
|
|
5262
5262
|
|
|
5263
5263
|
|
|
5264
5264
|
|
|
5265
|
-
class GroupContext extends antlr4.ParserRuleContext {
|
|
5265
|
+
let GroupContext$1 = class GroupContext extends antlr4.ParserRuleContext {
|
|
5266
5266
|
|
|
5267
5267
|
constructor(parser, parent, invokingState) {
|
|
5268
5268
|
if(parent===undefined) {
|
|
@@ -5316,7 +5316,7 @@ class GroupContext extends antlr4.ParserRuleContext {
|
|
|
5316
5316
|
}
|
|
5317
5317
|
|
|
5318
5318
|
|
|
5319
|
-
}
|
|
5319
|
+
};
|
|
5320
5320
|
|
|
5321
5321
|
|
|
5322
5322
|
|
|
@@ -8702,7 +8702,7 @@ class TextExprContext extends antlr4.ParserRuleContext {
|
|
|
8702
8702
|
sequenceParser.ProgContext = ProgContext$3;
|
|
8703
8703
|
sequenceParser.TitleContext = TitleContext$1;
|
|
8704
8704
|
sequenceParser.HeadContext = HeadContext;
|
|
8705
|
-
sequenceParser.GroupContext = GroupContext;
|
|
8705
|
+
sequenceParser.GroupContext = GroupContext$1;
|
|
8706
8706
|
sequenceParser.StarterExpContext = StarterExpContext;
|
|
8707
8707
|
sequenceParser.StarterContext = StarterContext;
|
|
8708
8708
|
sequenceParser.ParticipantContext = ParticipantContext;
|
|
@@ -9691,7 +9691,7 @@ function validate(code) {
|
|
|
9691
9691
|
|
|
9692
9692
|
sequenceParser.ProgContext;
|
|
9693
9693
|
const RootContext = rootContext;
|
|
9694
|
-
sequenceParser.GroupContext;
|
|
9694
|
+
const GroupContext = sequenceParser.GroupContext;
|
|
9695
9695
|
sequenceParser.ParticipantContext;
|
|
9696
9696
|
const Participants = function (ctx) {
|
|
9697
9697
|
const toCollector = ToCollector;
|
|
@@ -11335,21 +11335,19 @@ function buildLifelines(participants, diagramHeight) {
|
|
|
11335
11335
|
dashed: true
|
|
11336
11336
|
}));
|
|
11337
11337
|
}
|
|
11338
|
-
function
|
|
11338
|
+
function collectGroupSpecs(head) {
|
|
11339
|
+
return (head?.children ?? []).filter((c) => c instanceof GroupContext).map((g) => ({
|
|
11340
|
+
// getFormattedText is installed on every context in src/parser/index.js
|
|
11341
|
+
name: g.name()?.getFormattedText() ?? "",
|
|
11342
|
+
participantNames: Participants(g).Array().map((e) => e.name)
|
|
11343
|
+
}));
|
|
11344
|
+
}
|
|
11345
|
+
function buildGroups(participants, diagramHeight, groupSpecs) {
|
|
11339
11346
|
const GROUP_OUTLINE_MARGIN = -2;
|
|
11340
|
-
const
|
|
11341
|
-
for (const p of participants) {
|
|
11342
|
-
if (p.groupId != null) {
|
|
11343
|
-
const existing = groupMap.get(p.groupId);
|
|
11344
|
-
if (existing) {
|
|
11345
|
-
existing.push(p);
|
|
11346
|
-
} else {
|
|
11347
|
-
groupMap.set(p.groupId, [p]);
|
|
11348
|
-
}
|
|
11349
|
-
}
|
|
11350
|
-
}
|
|
11347
|
+
const byName = new Map(participants.map((p) => [p.name, p]));
|
|
11351
11348
|
const groups = [];
|
|
11352
|
-
for (const
|
|
11349
|
+
for (const spec of groupSpecs) {
|
|
11350
|
+
const members = spec.participantNames.map((n) => byName.get(n)).filter((p) => p !== void 0);
|
|
11353
11351
|
if (members.length === 0) continue;
|
|
11354
11352
|
let minLeft = Infinity;
|
|
11355
11353
|
let maxRight = -Infinity;
|
|
@@ -11366,7 +11364,7 @@ function buildGroups(participants, diagramHeight) {
|
|
|
11366
11364
|
const y = minY - 20 + 1.5;
|
|
11367
11365
|
const height = Math.max(0, diagramHeight - y + 13);
|
|
11368
11366
|
groups.push({
|
|
11369
|
-
name:
|
|
11367
|
+
name: spec.name,
|
|
11370
11368
|
x,
|
|
11371
11369
|
y,
|
|
11372
11370
|
width,
|
|
@@ -12573,7 +12571,11 @@ function buildGeometry(input) {
|
|
|
12573
12571
|
inner.x + inner.width - frameBorder.right
|
|
12574
12572
|
);
|
|
12575
12573
|
}
|
|
12576
|
-
const groups = buildGroups(
|
|
12574
|
+
const groups = buildGroups(
|
|
12575
|
+
participants,
|
|
12576
|
+
diagramHeight,
|
|
12577
|
+
collectGroupSpecs(rootContext?.head?.())
|
|
12578
|
+
);
|
|
12577
12579
|
return {
|
|
12578
12580
|
width: diagramWidth,
|
|
12579
12581
|
height: diagramHeight,
|
|
@@ -12596,25 +12598,76 @@ function buildGeometry(input) {
|
|
|
12596
12598
|
|
|
12597
12599
|
const ActorSvg = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n <path d=\"M15.5489 4.19771C15.5489 5.18773 15.1485 6.13721 14.4358 6.83726C13.7231 7.53731 12.7565 7.93058 11.7486 7.93058C10.7407 7.93058 9.77403 7.53731 9.06133 6.83726C8.34863 6.13721 7.94824 5.18773 7.94824 4.19771C7.94824 3.20768 8.34863 2.25822 9.06133 1.55818C9.77403 0.858126 10.7407 0.464844 11.7486 0.464844C12.7565 0.464844 13.7231 0.858126 14.4358 1.55818C15.1485 2.25822 15.5489 3.20768 15.5489 4.19771Z\" stroke=\"currentColor\"/>\n <path d=\"M6.54883 11.2152L17.2025 11.2073M11.7471 8.06641V19.5806V8.06641ZM11.7471 19.4385L6.79789 23.5738L11.7471 19.4385ZM11.7551 19.4385L17.1864 23.3055L11.7551 19.4385Z\" stroke=\"currentColor\"/>\n </g>\n</svg>\n";
|
|
12598
12600
|
|
|
12601
|
+
const actor = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12602
|
+
__proto__: null,
|
|
12603
|
+
default: ActorSvg
|
|
12604
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12605
|
+
|
|
12599
12606
|
const BoundarySvg = "<svg width=\"101\" height=\"78\" viewBox=\"0 0 101 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M96.3563 39.4479C96.3563 48.4904 92.6755 57.1625 86.1237 63.5566C79.5718 69.9506 70.6856 73.5427 61.4199 73.5427C52.1541 73.5427 43.2679 69.9506 36.7161 63.5566C30.1642 57.1625 26.4834 48.4904 26.4834 39.4479C26.4834 30.147 30.1642 21.2271 36.7161 14.6504C43.2679 8.07366 52.1541 4.37891 61.4199 4.37891C70.6856 4.37891 79.5718 8.07366 86.1237 14.6504C92.6755 21.2271 96.3563 30.147 96.3563 39.4479V39.4479Z\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n\t<path d=\"M27.3611 39.4482H3.93945\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n\t<path d=\"M4.91504 4.37891V74.5168\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n</svg>\n";
|
|
12600
12607
|
|
|
12608
|
+
const Robustness_Diagram_Boundary = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12609
|
+
__proto__: null,
|
|
12610
|
+
default: BoundarySvg
|
|
12611
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12612
|
+
|
|
12601
12613
|
const ControlSvg = "<svg width=\"77\" height=\"86\" viewBox=\"0 0 77 86\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<g>\n\t\t<path d=\"M74.0149 46.8888C74.0149 51.5755 73.0918 56.2163 71.2983 60.5463C69.5048 64.8762 66.876 68.8105 63.562 72.1245C60.248 75.4385 56.3137 78.0673 51.9838 79.8608C47.6538 81.6543 43.013 82.5774 38.3263 82.5774C33.6396 82.5774 28.9988 81.6543 24.6689 79.8608C20.3389 78.0673 16.4046 75.4385 13.0907 72.1245C9.77666 68.8105 7.14785 64.8762 5.35433 60.5463C3.56081 56.2163 2.6377 51.5755 2.6377 46.8888C2.6377 42.2021 3.56081 37.5613 5.35433 33.2314C7.14785 28.9014 9.77666 24.9671 13.0907 21.6532C16.4046 18.3392 20.3389 15.7104 24.6689 13.9168C28.9988 12.1233 33.6396 11.2002 38.3263 11.2002C43.013 11.2002 47.6538 12.1233 51.9838 13.9168C56.3137 15.7104 60.248 18.3392 63.562 21.6532C66.876 24.9671 69.5048 28.9014 71.2983 33.2314C73.0918 37.5613 74.0149 42.2021 74.0149 46.8888V46.8888Z\" stroke=\"currentColor\" stroke-width=\"3.5833\"/>\n\t\t<path d=\"M47.5352 2.30371L37.5352 11.5001L47.5352 20.6966\" stroke=\"currentColor\" stroke-width=\"3.5833\"/>\n\t</g>\n</svg>\n";
|
|
12602
12614
|
|
|
12615
|
+
const Robustness_Diagram_Control = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12616
|
+
__proto__: null,
|
|
12617
|
+
default: ControlSvg
|
|
12618
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12619
|
+
|
|
12603
12620
|
const DatabaseSvg = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <ellipse cx=\"12\" cy=\"4.5\" rx=\"9.75\" ry=\"2.75\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 4.5v15a9.75 2.75 0 0 0 19.5 0v-15\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 9.5a9.75 2.75 0 0 0 19.5 0\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 14.5a9.75 2.75 0 0 0 19.5 0\" stroke=\"currentColor\" stroke-width=\"1\"/>\n</svg>\n";
|
|
12604
12621
|
|
|
12622
|
+
const database = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12623
|
+
__proto__: null,
|
|
12624
|
+
default: DatabaseSvg
|
|
12625
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12626
|
+
|
|
12605
12627
|
const EntitySvg = "<svg width=\"77\" height=\"80\" viewBox=\"0 0 77 80\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<g>\n\t\t<path d=\"M74.0149 38.8888C74.0149 43.5755 73.0918 48.2163 71.2983 52.5463C69.5048 56.8762 66.876 60.8105 63.562 64.1245C60.248 67.4385 56.3137 70.0673 51.9838 71.8608C47.6538 73.6543 43.013 74.5774 38.3263 74.5774C33.6396 74.5774 28.9988 73.6543 24.6689 71.8608C20.3389 70.0673 16.4046 67.4385 13.0907 64.1245C9.77666 60.8105 7.14785 56.8762 5.35433 52.5463C3.56081 48.2163 2.6377 43.5755 2.6377 38.8888C2.6377 34.2021 3.56081 29.5613 5.35433 25.2314C7.14785 20.9014 9.77666 16.9671 13.0907 13.6532C16.4046 10.3392 20.3389 7.71035 24.6689 5.91683C28.9988 4.12331 33.6396 3.2002 38.3263 3.2002C43.013 3.2002 47.6538 4.12331 51.9838 5.91683C56.3137 7.71035 60.248 10.3392 63.562 13.6532C66.876 16.9671 69.5048 20.9014 71.2983 25.2314C73.0918 29.5613 74.0149 34.2021 74.0149 38.8888V38.8888Z\" stroke=\"currentColor\" stroke-width=\"3.3333\"/>\n\t\t<path d=\"M2.69922 75.4727L75.6992 75.5154\" stroke=\"currentColor\" stroke-width=\"3.3333\"/>\n\t</g>\n</svg>\n";
|
|
12606
12628
|
|
|
12607
|
-
const
|
|
12629
|
+
const Robustness_Diagram_Entity = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12630
|
+
__proto__: null,
|
|
12631
|
+
default: EntitySvg
|
|
12632
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12633
|
+
|
|
12634
|
+
const icon_374 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Compute/Res_Amazon-EC2_Instance_48</title>\n <g id=\"Icon-Resource/Compute/Res_Amazon-EC2_Instance_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M9,39 L39,39 L39,9 L9,9 L9,39 Z M46,13 L46,11 L41,11 L41,8 C41,7.448 40.552,7 40,7 L37,7 L37,2 L35,2 L35,7 L31,7 L31,2 L29,2 L29,7 L25,7 L25,2 L23,2 L23,7 L19,7 L19,2 L17,2 L17,7 L13,7 L13,2 L11,2 L11,7 L8,7 C7.447,7 7,7.448 7,8 L7,11 L2,11 L2,13 L7,13 L7,17 L2,17 L2,19 L7,19 L7,23 L2,23 L2,25 L7,25 L7,29 L2,29 L2,31 L7,31 L7,35 L2,35 L2,37 L7,37 L7,40 C7,40.553 7.447,41 8,41 L11,41 L11,46 L13,46 L13,41 L17,41 L17,46 L19,46 L19,41 L23,41 L23,46 L25,46 L25,41 L29,41 L29,46 L31,46 L31,41 L35,41 L35,46 L37,46 L37,41 L40,41 C40.552,41 41,40.553 41,40 L41,37 L46,37 L46,35 L41,35 L41,31 L46,31 L46,29 L41,29 L41,25 L46,25 L46,23 L41,23 L41,19 L46,19 L46,17 L41,17 L41,13 L46,13 Z\" id=\"Amazon-EC2-Instance_Resource-Icon_light-bg\" fill=\"#ED7100\"></path>\n </g>\n</svg>\n";
|
|
12608
12635
|
|
|
12609
|
-
const
|
|
12636
|
+
const icon_160 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Security-Identity-and-Compliance/Res_AWS-Identity-Access-Management_IAM-Access-Analyzer_48</title>\n <g id=\"Icon-Resource/Security-Identity-and-Compliance/Res_AWS-Identity-Access-Management_IAM-Access-Analyzer_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M15,25.001 L19,25.001 L19,23.001 L15,23.001 L15,25.001 Z M4,27.001 L11,27.001 L11,20.001 L4,20.001 L4,27.001 Z M12,29.001 L3,29.001 C2.448,29.001 2,28.553 2,28.001 L2,19.001 C2,18.448 2.448,18.001 3,18.001 L12,18.001 C12.552,18.001 13,18.448 13,19.001 L13,28.001 C13,28.553 12.552,29.001 12,29.001 L12,29.001 Z M43.2,27.001 L40,21.891 L36.8,27.001 L43.2,27.001 Z M45.87,28.481 C45.696,28.799 45.362,28.998 45,29.0010017 L35,29.0010017 C34.448,29.002 33.999,28.555 33.9979861,28.003 C33.997,27.815 34.05,27.631 34.149,27.471 L39.149,19.471 C39.44,19.001 40.058,18.857 40.526,19.148 C40.658,19.229 40.769,19.34 40.851,19.471 L45.851,27.471 C46.038,27.779 46.046,28.165 45.87,28.481 L45.87,28.481 Z M43,41.001 C43,39.344 41.657,38.001 40,38.001 C38.343,38.001 37,39.344 37,41.001 C37,42.658 38.343,44.001 40,44.001 C41.657,44.001 43,42.658 43,41.001 L43,41.001 Z M45,41.001 C45.003,43.762 42.767,46.003 40.005,46.0060018 C37.625,46.008 35.573,44.333 35.101,42.001 L7,42.001 C6.448,42.001 6,41.553 6,41.001 L6,31.001 L8,31.001 L8,40.001 L35.101,40.001 C35.649,37.295 38.288,35.546 40.995,36.096 C43.327,36.569 45.003,38.621 45,41.001 L45,41.001 Z M22,25.001 L26,25.001 L26,23.001 L22,23.001 L22,25.001 Z M37,7.001 C37,8.658 38.343,10.001 40,10.001 C41.657,10.001 43,8.658 43,7.001 C43,5.344 41.657,4.001 40,4.001 C38.343,4.001 37,5.344 37,7.001 L37,7.001 Z M8,16.001 L6,16.001 L6,7.001 C6,6.448 6.448,6.001 7,6.001 L35.101,6.001 C35.652,3.295 38.294,1.55 40.999,2.102 C43.704,2.654 45.45,5.295 44.897,8.001 C44.346,10.706 41.704,12.452 38.999,11.9 C37.035,11.499 35.501,9.965 35.101,8.001 L8,8.001 L8,16.001 Z M29,25.001 L33,25.001 L33,23.001 L29,23.001 L29,25.001 Z\" id=\"AWS-Identity-and-Access-Management_AWS-IAM-Access-Analyzer_Resource-Icon_light-bg\" fill=\"#DD344C\"></path>\n </g>\n</svg>";
|
|
12610
12637
|
|
|
12611
|
-
const
|
|
12638
|
+
const icon_372 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Compute/Res_AWS-Lambda_Lambda-Function_48</title>\n <g id=\"Icon-Resource/Compute/Res_AWS-Lambda_Lambda-Function_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M24,44 C12.972,44 4,35.028 4,24 C4,12.972 12.972,4 24,4 C35.028,4 44,12.972 44,24 C44,35.028 35.028,44 24,44 L24,44 Z M24,2 C11.869,2 2,11.869 2,24 C2,36.131 11.869,46 24,46 C36.131,46 46,36.131 46,24 C46,11.869 36.131,2 24,2 L24,2 Z M17.231,35.25 L11.876,35.25 L18.221,21.959 L20.902,27.492 L17.231,35.25 Z M19.114,19.215 C18.946,18.87 18.597,18.651 18.214,18.651 L18.211,18.651 C17.826,18.652 17.477,18.874 17.312,19.221 L9.389,35.819 C9.24,36.129 9.262,36.493 9.445,36.783 C9.628,37.074 9.947,37.25 10.291,37.25 L17.864,37.25 C18.251,37.25 18.603,37.027 18.769,36.678 L22.915,27.915 C23.044,27.642 23.043,27.323 22.911,27.051 L19.114,19.215 Z M36.125,35.25 L30.673,35.25 L20.761,13.953 C20.597,13.601 20.243,13.375 19.854,13.375 L16.251,13.375 L16.255,9.25 L23.475,9.25 L33.339,30.545 C33.503,30.898 33.856,31.125 34.246,31.125 L36.125,31.125 L36.125,35.25 Z M37.125,29.125 L34.885,29.125 L25.021,7.83 C24.856,7.477 24.503,7.25 24.113,7.25 L15.256,7.25 C14.704,7.25 14.257,7.697 14.256,8.249 L14.25,14.374 C14.25,14.64 14.355,14.894 14.543,15.082 C14.73,15.27 14.984,15.375 15.25,15.375 L19.217,15.375 L29.129,36.672 C29.293,37.024 29.646,37.25 30.035,37.25 L37.125,37.25 C37.678,37.25 38.125,36.803 38.125,36.25 L38.125,30.125 C38.125,29.572 37.678,29.125 37.125,29.125 L37.125,29.125 Z\" id=\"Amazon-Lambda-Lambda-Function_Resource-Icon_light-bg\" fill=\"#ED7100\"></path>\n </g>\n</svg>\n";
|
|
12612
12639
|
|
|
12613
|
-
const
|
|
12640
|
+
const icon_185 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Application-Integration/Res_Amazon-Simple-Notification-Service_Topic_48</title>\n <g id=\"Icon-Resource/Application-Integration/Res_Amazon-Simple-Notification-Service_Topic_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M44,38.5 L46,38.5 L46,36.5 L44,36.5 L44,38.5 Z M46,33 L46,34.5 L44,34.5 L44,34 L43.5,34 L43.5,32 L45,32 C45.553,32 46,32.447 46,33 L46,33 Z M13.5,34 L16.5,34 L16.5,32 L13.5,32 L13.5,34 Z M37.5,34 L40.5,34 L40.5,32 L37.5,32 L37.5,34 Z M19.5,34 L22.5,34 L22.5,32 L19.5,32 L19.5,34 Z M7.5,34 L10.5,34 L10.5,32 L7.5,32 L7.5,34 Z M31.5,34 L34.5,34 L34.5,32 L31.5,32 L31.5,34 Z M25.5,34 L28.5,34 L28.5,32 L25.5,32 L25.5,34 Z M3,32 L4.5,32 L4.5,34 L4,34 L4,34.5 L2,34.5 L2,33 C2,32.447 2.447,32 3,32 L3,32 Z M2,38.5 L4,38.5 L4,36.5 L2,36.5 L2,38.5 Z M4,41 L4.5,41 L4.5,43 L3,43 C2.447,43 2,42.553 2,42 L2,40.5 L4,40.5 L4,41 Z M19.5,43 L22.5,43 L22.5,41 L19.5,41 L19.5,43 Z M31.5,43 L34.5,43 L34.5,41 L31.5,41 L31.5,43 Z M37.5,43 L40.5,43 L40.5,41 L37.5,41 L37.5,43 Z M7.5,43 L10.5,43 L10.5,41 L7.5,41 L7.5,43 Z M25.5,43 L28.5,43 L28.5,41 L25.5,41 L25.5,43 Z M13.5,43 L16.5,43 L16.5,41 L13.5,41 L13.5,43 Z M44,40.5 L46,40.5 L46,42 C46,42.553 45.553,43 45,43 L43.5,43 L43.5,41 L44,41 L44,40.5 Z M44,25.5 L46,25.5 L46,23.5 L44,23.5 L44,25.5 Z M46,20 L46,21.5 L44,21.5 L44,21 L43.5,21 L43.5,19 L45,19 C45.553,19 46,19.447 46,20 L46,20 Z M31.5,21 L34.5,21 L34.5,19 L31.5,19 L31.5,21 Z M7.5,21 L10.5,21 L10.5,19 L7.5,19 L7.5,21 Z M37.5,21 L40.5,21 L40.5,19 L37.5,19 L37.5,21 Z M13.5,21 L16.5,21 L16.5,19 L13.5,19 L13.5,21 Z M19.5,21 L22.5,21 L22.5,19 L19.5,19 L19.5,21 Z M25.5,21 L28.5,21 L28.5,19 L25.5,19 L25.5,21 Z M3,19 L4.5,19 L4.5,21 L4,21 L4,21.5 L2,21.5 L2,20 C2,19.447 2.447,19 3,19 L3,19 Z M2,25.5 L4,25.5 L4,23.5 L2,23.5 L2,25.5 Z M4,28 L4.5,28 L4.5,30 L3,30 C2.447,30 2,29.553 2,29 L2,27.5 L4,27.5 L4,28 Z M19.5,30 L22.5,30 L22.5,28 L19.5,28 L19.5,30 Z M31.5,30 L34.5,30 L34.5,28 L31.5,28 L31.5,30 Z M7.5,30 L10.5,30 L10.5,28 L7.5,28 L7.5,30 Z M13.5,30 L16.5,30 L16.5,28 L13.5,28 L13.5,30 Z M37.5,30 L40.5,30 L40.5,28 L37.5,28 L37.5,30 Z M25.5,30 L28.5,30 L28.5,28 L25.5,28 L25.5,30 Z M44,27.5 L46,27.5 L46,29 C46,29.553 45.553,30 45,30 L43.5,30 L43.5,28 L44,28 L44,27.5 Z M4,15 L44,15 L44,7 L4,7 L4,15 Z M45,5 L3,5 C2.447,5 2,5.447 2,6 L2,16 C2,16.553 2.447,17 3,17 L45,17 C45.553,17 46,16.553 46,16 L46,6 C46,5.447 45.553,5 45,5 L45,5 Z\" id=\"Amazon-Simple-Notification-Service_Topic_Resource-Icon_light-bg\" fill=\"#E7157B\"></path>\n </g>\n</svg>";
|
|
12614
12641
|
|
|
12615
|
-
const
|
|
12642
|
+
const icon_181 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Application-Integration/Res_Amazon-Simple-Queue-Service_Queue_48</title>\n <g id=\"Icon-Resource/Application-Integration/Res_Amazon-Simple-Queue-Service_Queue_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M37.449,22.261 L37.449,26.221 L35.026,24.207 L37.449,22.261 Z M37.81,29.121 C37.993,29.273 38.22,29.352 38.449,29.352 C38.594,29.352 38.738,29.321 38.874,29.257 C39.224,29.092 39.449,28.74 39.449,28.352 L39.449,20.176 C39.449,19.791 39.228,19.441 38.882,19.275 C38.535,19.108 38.123,19.156 37.823,19.397 L32.819,23.414 C32.585,23.602 32.448,23.885 32.4449503,24.185 C32.442,24.486 32.575,24.771 32.806,24.963 L37.81,29.121 Z M10.527,22.307 L12.951,24.322 L10.527,26.267 L10.527,22.307 Z M9.095,29.253 C9.232,29.32 9.38,29.352 9.527,29.352 C9.751,29.352 9.972,29.277 10.153,29.132 L15.158,25.115 C15.392,24.927 15.529,24.644 15.5320497,24.344 C15.535,24.043 15.402,23.758 15.171,23.566 L10.166,19.407 C9.868,19.16 9.453,19.107 9.102,19.271 C8.752,19.436 8.527,19.788 8.527,20.176 L8.527,28.352 C8.527,28.737 8.748,29.087 9.095,29.253 L9.095,29.253 Z M28.368,34.027 L30.368,34.027 L30.368,14.747 L28.368,14.747 L28.368,34.027 Z M23.121,34.027 L25.121,34.027 L25.121,14.747 L23.121,14.747 L23.121,34.027 Z M17.711,34.027 L19.711,34.027 L19.711,14.747 L17.711,14.747 L17.711,34.027 Z M3.999,35.773 L43.977,35.773 L43.977,13.001 L3.999,13.001 L3.999,35.773 Z M44.977,11 L3,11 C2.447,11 2,11.448 2,12 L2,36.773 C2,37.325 2.447,37.773 3,37.773 L44.977,37.773 C45.53,37.773 45.977,37.325 45.977,36.773 L45.977,12 C45.977,11.448 45.53,11 44.977,11 L44.977,11 Z\" id=\"Amazon-Simple-Notification-Service_Queue\" fill=\"#E7157B\"></path>\n </g>\n</svg>";
|
|
12616
12643
|
|
|
12617
|
-
const
|
|
12644
|
+
const icon_461 = "<svg id=\"a2c88306-fa03-4e5b-b192-401f0b77808b\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><defs><linearGradient id=\"b403aca7-f387-4434-96b4-ae157edc835f\" x1=\"-175.993\" y1=\"-343.723\" x2=\"-175.993\" y2=\"-359.232\" gradientTransform=\"translate(212.573 370.548) scale(1.156 1.029)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#fea11b\" /><stop offset=\"0.284\" stop-color=\"#fea51a\" /><stop offset=\"0.547\" stop-color=\"#feb018\" /><stop offset=\"0.8\" stop-color=\"#ffc314\" /><stop offset=\"1\" stop-color=\"#ffd70f\" /></linearGradient></defs><title>Icon-compute-29</title><g><path d=\"M2.37,7.475H3.2a.267.267,0,0,1,.267.267v6.148a.533.533,0,0,1-.533.533H2.1a0,0,0,0,1,0,0V7.741a.267.267,0,0,1,.267-.267Z\" transform=\"translate(12.507 16.705) rotate(134.919)\" fill=\"#50e6ff\" /><path d=\"M2.325,3.6h.833a.267.267,0,0,1,.267.267v6.583a0,0,0,0,1,0,0H2.591a.533.533,0,0,1-.533-.533V3.865A.267.267,0,0,1,2.325,3.6Z\" transform=\"translate(5.759 0.114) rotate(44.919)\" fill=\"#1490df\" /></g><g><path d=\"M14.53,7.475h.833a.533.533,0,0,1,.533.533v6.148a.267.267,0,0,1-.267.267H14.8a.267.267,0,0,1-.267-.267V7.475a0,0,0,0,1,0,0Z\" transform=\"translate(12.223 -7.555) rotate(45.081)\" fill=\"#50e6ff\" /><path d=\"M15.108,3.6h.833a0,0,0,0,1,0,0v6.583a.267.267,0,0,1-.267.267h-.833a.267.267,0,0,1-.267-.267V4.131a.533.533,0,0,1,.533-.533Z\" transform=\"translate(31.022 1.222) rotate(135.081)\" fill=\"#1490df\" /></g><path d=\"M8.459,9.9H4.87a.193.193,0,0,1-.2-.181.166.166,0,0,1,.018-.075L8.991,1.13a.206.206,0,0,1,.186-.106h4.245a.193.193,0,0,1,.2.181.165.165,0,0,1-.035.1L8.534,7.966h4.928a.193.193,0,0,1,.2.181.176.176,0,0,1-.052.122L5.421,16.788c-.077.046-.624.5-.356-.189h0Z\" fill=\"url(#b403aca7-f387-4434-96b4-ae157edc835f)\" /></svg>";
|
|
12645
|
+
|
|
12646
|
+
const coreIcons = {
|
|
12647
|
+
actor: () => Promise.resolve().then(() => actor),
|
|
12648
|
+
boundary: () => Promise.resolve().then(() => Robustness_Diagram_Boundary),
|
|
12649
|
+
control: () => Promise.resolve().then(() => Robustness_Diagram_Control),
|
|
12650
|
+
database: () => Promise.resolve().then(() => database),
|
|
12651
|
+
entity: () => Promise.resolve().then(() => Robustness_Diagram_Entity),
|
|
12652
|
+
cognito: () => import('./assets/Arch_Amazon-Cognito_16-BGlE6NnW.mjs'),
|
|
12653
|
+
elasticbeantalk: () => import('./assets/Arch_AWS-Elastic-Beanstalk_16-BQhSFqRk.mjs'),
|
|
12654
|
+
kinesis: () => import('./assets/Arch_Amazon-Kinesis_16-C_nCVk3q.mjs'),
|
|
12655
|
+
lightsail: () => import('./assets/Arch_Amazon-Lightsail_16-Caj6kl2R.mjs'),
|
|
12656
|
+
sagemaker: () => import('./assets/Arch_Amazon-SageMaker_16-DrLi5pZN.mjs')
|
|
12657
|
+
};
|
|
12658
|
+
const loadCloudIcon = async (key) => {
|
|
12659
|
+
const { cloudIcons } = await import('./assets/CloudIcons-qEDx5IlS.mjs');
|
|
12660
|
+
return cloudIcons[key] ?? null;
|
|
12661
|
+
};
|
|
12662
|
+
const loadIcon = async (iconKey) => {
|
|
12663
|
+
if (!iconKey) return null;
|
|
12664
|
+
const normalizedKey = iconKey.toLowerCase();
|
|
12665
|
+
const coreLoader = coreIcons[iconKey] ?? coreIcons[normalizedKey];
|
|
12666
|
+
if (coreLoader) {
|
|
12667
|
+
return (await coreLoader()).default;
|
|
12668
|
+
}
|
|
12669
|
+
return loadCloudIcon(normalizedKey);
|
|
12670
|
+
};
|
|
12618
12671
|
|
|
12619
12672
|
const PRESENTATION_ATTRIBUTES = /* @__PURE__ */ new Set([
|
|
12620
12673
|
"fill",
|
|
@@ -12648,20 +12701,41 @@ function parseRawSvg(raw) {
|
|
|
12648
12701
|
const ICONS = {
|
|
12649
12702
|
actor: parseRawSvg(ActorSvg),
|
|
12650
12703
|
database: parseRawSvg(DatabaseSvg),
|
|
12651
|
-
ec2: parseRawSvg(
|
|
12652
|
-
lambda: parseRawSvg(
|
|
12653
|
-
azurefunction: parseRawSvg(
|
|
12654
|
-
sqs: parseRawSvg(
|
|
12655
|
-
sns: parseRawSvg(
|
|
12656
|
-
iam: parseRawSvg(
|
|
12704
|
+
ec2: parseRawSvg(icon_374),
|
|
12705
|
+
lambda: parseRawSvg(icon_372),
|
|
12706
|
+
azurefunction: parseRawSvg(icon_461),
|
|
12707
|
+
sqs: parseRawSvg(icon_181),
|
|
12708
|
+
sns: parseRawSvg(icon_185),
|
|
12709
|
+
iam: parseRawSvg(icon_160),
|
|
12657
12710
|
boundary: parseRawSvg(BoundarySvg),
|
|
12658
12711
|
control: parseRawSvg(ControlSvg),
|
|
12659
12712
|
entity: parseRawSvg(EntitySvg)
|
|
12660
12713
|
};
|
|
12714
|
+
const loadedIcons = /* @__PURE__ */ new Map();
|
|
12715
|
+
const iconLoads = /* @__PURE__ */ new Map();
|
|
12716
|
+
function loadExtraIcon(key) {
|
|
12717
|
+
let load = iconLoads.get(key);
|
|
12718
|
+
if (!load) {
|
|
12719
|
+
load = loadIcon(key).then((raw) => {
|
|
12720
|
+
if (raw) loadedIcons.set(key, parseRawSvg(raw));
|
|
12721
|
+
}).catch(() => {
|
|
12722
|
+
});
|
|
12723
|
+
iconLoads.set(key, load);
|
|
12724
|
+
}
|
|
12725
|
+
return load;
|
|
12726
|
+
}
|
|
12727
|
+
async function ensureDiagramIconsLoaded(code) {
|
|
12728
|
+
const keys = /* @__PURE__ */ new Set();
|
|
12729
|
+
for (const match of code.matchAll(/@([A-Za-z][\w]*)/g)) {
|
|
12730
|
+
const key = match[1].toLowerCase();
|
|
12731
|
+
if (!ICONS[key]) keys.add(key);
|
|
12732
|
+
}
|
|
12733
|
+
await Promise.all([...keys].map(loadExtraIcon));
|
|
12734
|
+
}
|
|
12661
12735
|
function getIcon(type) {
|
|
12662
12736
|
if (!type) return void 0;
|
|
12663
12737
|
const key = type.toLowerCase();
|
|
12664
|
-
return ICONS[key];
|
|
12738
|
+
return ICONS[key] ?? loadedIcons.get(key);
|
|
12665
12739
|
}
|
|
12666
12740
|
|
|
12667
12741
|
function esc(s) {
|
|
@@ -13931,6 +14005,7 @@ async function renderMarkdownFile(inputArg, args, config) {
|
|
|
13931
14005
|
const imageFilePath = join(imageDir, imageFilename);
|
|
13932
14006
|
let result;
|
|
13933
14007
|
try {
|
|
14008
|
+
await ensureDiagramIconsLoaded(block.code);
|
|
13934
14009
|
result = renderToSvg(block.code, renderOptions);
|
|
13935
14010
|
} catch (err) {
|
|
13936
14011
|
throw new Error(
|
|
@@ -14191,6 +14266,7 @@ async function renderOneFile(inputArg, args, config) {
|
|
|
14191
14266
|
let svgWidth;
|
|
14192
14267
|
let svgHeight;
|
|
14193
14268
|
try {
|
|
14269
|
+
await ensureDiagramIconsLoaded(code);
|
|
14194
14270
|
const result = renderToSvg(code, renderOptions);
|
|
14195
14271
|
svg = result.svg;
|
|
14196
14272
|
svgWidth = result.width;
|
|
@@ -14336,5 +14412,5 @@ if (import.meta.main) {
|
|
|
14336
14412
|
main().finally(() => closeBrowser());
|
|
14337
14413
|
}
|
|
14338
14414
|
|
|
14339
|
-
export { extractZenumlBlocks, startWatchMode };
|
|
14415
|
+
export { icon_374 as a, icon_372 as b, icon_185 as c, icon_181 as d, icon_160 as e, extractZenumlBlocks, icon_461 as i, startWatchMode };
|
|
14340
14416
|
//# sourceMappingURL=zenuml.mjs.map
|