@cardenelabs/dragon 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.cjs +116 -61
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -23
- package/dist/index.d.ts +25 -23
- package/dist/index.js +116 -61
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/compile/actor-ids.ts +1 -1
- package/src/compile/actor-option-notice.ts +1 -1
- package/src/compile/edge-option-notice.ts +1 -1
- package/src/compile/kinds.ts +7 -16
- package/src/compile/lanes.ts +1 -1
- package/src/compile/notice.ts +1 -1
- package/src/compile/order.ts +8 -13
- package/src/compile.ts +2 -6
- package/src/focus.ts +1 -1
- package/src/json-parser.ts +26 -9
- package/src/keywords.ts +11 -8
- package/src/schemas/diagram.json +2 -3
- package/src/types.ts +4 -4
- package/src/v05/parser.ts +47 -43
- package/src/v05/removed-syntax.ts +115 -0
package/README.md
CHANGED
|
@@ -53,7 +53,7 @@ flow:
|
|
|
53
53
|
| 欄 | 何を書くか |
|
|
54
54
|
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
55
55
|
| `title` | 図の題 |
|
|
56
|
-
| `type` | 図種 (`sequence` / `flow` / `flowchart` / `swimlane` / `record` / `topology` / `gantt` / `mind` / `tree` / `c4` / `chart` / その他)。 古い綴りは組に読み替える =
|
|
56
|
+
| `type` | 図種 (`sequence` / `flow` / `flowchart` / `swimlane` / `record` / `topology` / `gantt` / `mind` / `tree` / `c4` / `chart` / その他)。 古い綴りは組に読み替える = 数を描く 9 つ (`pie` 等) は `chart` と同じ綴りの `shape` |
|
|
57
57
|
| `actors` | 箱 |
|
|
58
58
|
| `flow` | 矢印 |
|
|
59
59
|
| `states` | 状態の初期値 |
|
package/dist/index.cjs
CHANGED
|
@@ -113,8 +113,8 @@ function resolveLegendMark(s) {
|
|
|
113
113
|
function \u610F\u5320\u306E\u5B57\u306E\u6E2C\u308A\u65B9(_theme) {
|
|
114
114
|
return "widest";
|
|
115
115
|
}
|
|
116
|
-
function \u610F\u5320\u306E\u5186\u306E\u533A\u753B\u306E\u9593(
|
|
117
|
-
return
|
|
116
|
+
function \u610F\u5320\u306E\u5186\u306E\u533A\u753B\u306E\u9593(_theme, _node) {
|
|
117
|
+
return void 0;
|
|
118
118
|
}
|
|
119
119
|
function \u68D2\u3092\u63CF\u304F\u7BC0\u304B(node) {
|
|
120
120
|
return node.kind === "chart-bar" || node.kind === "gantt-timeline" || node.kind === "chart-stacked-bar" || node.kind === "funnel-stages" && node.funnelForm === "proportional-bars";
|
|
@@ -552,17 +552,10 @@ function \u5F8C\u308D\u3078\u623B\u308B\u77E2\u5370\u304B(kind, fromId, toId, \u
|
|
|
552
552
|
|
|
553
553
|
// src/compile/order.ts
|
|
554
554
|
var \u7A2E\u985E\u306E\u6BB5 = {
|
|
555
|
-
eoa: 0,
|
|
556
555
|
actor: 0,
|
|
557
|
-
multisig: 0,
|
|
558
556
|
signer: 0,
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
proxy: 1,
|
|
562
|
-
library: 1,
|
|
563
|
-
interface: 1,
|
|
564
|
-
storage: 2,
|
|
565
|
-
event: 3
|
|
557
|
+
storage: 1,
|
|
558
|
+
event: 2
|
|
566
559
|
};
|
|
567
560
|
var \u8868\u306B\u7121\u3044\u7A2E\u985E\u306E\u6BB5 = 5;
|
|
568
561
|
var \u4E26\u3073\u9806\u3092\u9078\u3079\u308B\u56F3\u7A2E = /* @__PURE__ */ new Set(["sequence"]);
|
|
@@ -622,12 +615,6 @@ function \u59CB\u307E\u308A\u3068\u7D42\u308F\u308A\u306E\u6C7A\u3081\u65B9(doc,
|
|
|
622
615
|
var \u8A18\u6CD5\u3060\u3051\u306E\u7A2E\u985E\u306E\u8AAD\u307F\u66FF\u3048 = {
|
|
623
616
|
entity: "storage",
|
|
624
617
|
state: "card",
|
|
625
|
-
contract: "card",
|
|
626
|
-
proxy: "card",
|
|
627
|
-
library: "card",
|
|
628
|
-
interface: "card",
|
|
629
|
-
eoa: "person",
|
|
630
|
-
multisig: "signer",
|
|
631
618
|
loop: "card"
|
|
632
619
|
};
|
|
633
620
|
function \u63CF\u3051\u308B\u7A2E\u5225(kind) {
|
|
@@ -3359,6 +3346,79 @@ function \u7DE8\u96C6\u8DDD\u96E2(a, b, \u4E0A\u9650) {
|
|
|
3359
3346
|
return \u524D[b.length];
|
|
3360
3347
|
}
|
|
3361
3348
|
|
|
3349
|
+
// src/v05/removed-syntax.ts
|
|
3350
|
+
var \u5916\u3057\u305F\u56F3\u7A2E = /* @__PURE__ */ new Map([
|
|
3351
|
+
["solidity", "`type: sequence` \u3068 `order: \u7A2E\u985E`"]
|
|
3352
|
+
]);
|
|
3353
|
+
var \u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E = [
|
|
3354
|
+
"shape-kanban-card",
|
|
3355
|
+
"shape-message-bubble",
|
|
3356
|
+
"shape-gear",
|
|
3357
|
+
"shape-network-node",
|
|
3358
|
+
"shape-iot-sensor",
|
|
3359
|
+
"shape-robot-arm",
|
|
3360
|
+
"shape-satellite",
|
|
3361
|
+
"shape-website",
|
|
3362
|
+
"shape-cdn-edge",
|
|
3363
|
+
"shape-api-gateway",
|
|
3364
|
+
"shape-storefront",
|
|
3365
|
+
"shape-warehouse",
|
|
3366
|
+
"shape-online-shop",
|
|
3367
|
+
"shape-customer-service",
|
|
3368
|
+
"shape-lawyer",
|
|
3369
|
+
"shape-auditor",
|
|
3370
|
+
"shape-regulator",
|
|
3371
|
+
"shape-notary",
|
|
3372
|
+
"shape-trader",
|
|
3373
|
+
"shape-smart-contract",
|
|
3374
|
+
"shape-blockchain-block",
|
|
3375
|
+
"shape-blockchain",
|
|
3376
|
+
"shape-bitcoin-chain",
|
|
3377
|
+
"shape-ethereum-chain",
|
|
3378
|
+
"shape-blockchain-node",
|
|
3379
|
+
"shape-rpc-node",
|
|
3380
|
+
"shape-wallet",
|
|
3381
|
+
"shape-nft",
|
|
3382
|
+
"shape-token",
|
|
3383
|
+
"shape-bank",
|
|
3384
|
+
"shape-trust-bank",
|
|
3385
|
+
"shape-payment-provider",
|
|
3386
|
+
"shape-credit-card",
|
|
3387
|
+
"shape-brokerage",
|
|
3388
|
+
"shape-exchange",
|
|
3389
|
+
"shape-atm"
|
|
3390
|
+
];
|
|
3391
|
+
var \u633F\u7D75\u306E\u4EE3\u308F\u308A = "\u57FA\u672C\u306E\u5F62 (`shape-file` / `shape-cylinder` \u306A\u3069) \u3092\u4F7F\u3046\u304B\u3001\u7BB1\u306B `kindForm: icon` \u3068 `icon` \u3092\u66F8\u304F";
|
|
3392
|
+
var \u5916\u3057\u305F\u7A2E\u985E = new Map([
|
|
3393
|
+
["contract", "`card`"],
|
|
3394
|
+
["proxy", "`card`"],
|
|
3395
|
+
["library", "`card`"],
|
|
3396
|
+
["interface", "`card`"],
|
|
3397
|
+
["eoa", "`person`"],
|
|
3398
|
+
["multisig", "`signer`"],
|
|
3399
|
+
["alb", "`api`"],
|
|
3400
|
+
["ecs", "`microservice`"],
|
|
3401
|
+
["iam", "`admin`"],
|
|
3402
|
+
["kms", "`admin`"],
|
|
3403
|
+
["lambda", "`function`"],
|
|
3404
|
+
["rds", "`database`"],
|
|
3405
|
+
["s3", "`storage`"],
|
|
3406
|
+
...\u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E.map((k) => [k, \u633F\u7D75\u306E\u4EE3\u308F\u308A])
|
|
3407
|
+
]);
|
|
3408
|
+
function \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(kind) {
|
|
3409
|
+
const \u4EE3\u308F\u308A = \u5916\u3057\u305F\u7A2E\u985E.get(kind);
|
|
3410
|
+
if (\u4EE3\u308F\u308A === void 0) return void 0;
|
|
3411
|
+
return {
|
|
3412
|
+
message: `\u7BB1\u306E\u7A2E\u985E "${kind}" \u306F\u5916\u3057\u307E\u3057\u305F`,
|
|
3413
|
+
hint: \u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E.includes(kind) ? \u4EE3\u308F\u308A : `\u4EE3\u308F\u308A\u306B ${\u4EE3\u308F\u308A} \u3092\u66F8\u304F`
|
|
3414
|
+
};
|
|
3415
|
+
}
|
|
3416
|
+
function \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(type) {
|
|
3417
|
+
const \u4EE3\u308F\u308A = \u5916\u3057\u305F\u56F3\u7A2E.get(type);
|
|
3418
|
+
if (\u4EE3\u308F\u308A === void 0) return void 0;
|
|
3419
|
+
return { message: `\u56F3\u7A2E "${type}" \u306F\u5916\u3057\u307E\u3057\u305F`, hint: `\u4EE3\u308F\u308A\u306B ${\u4EE3\u308F\u308A} \u3092\u66F8\u304F` };
|
|
3420
|
+
}
|
|
3421
|
+
|
|
3362
3422
|
// src/relative-pos.ts
|
|
3363
3423
|
var RELATIVE_DIRECTIONS = ["right", "left", "above", "below"];
|
|
3364
3424
|
var RELATIVE_GAP_DEFAULT = 160;
|
|
@@ -5239,7 +5299,6 @@ var PRESET_TYPES = /* @__PURE__ */ new Set([
|
|
|
5239
5299
|
"mind"
|
|
5240
5300
|
]);
|
|
5241
5301
|
var TYPE_ALIASES = new Map([
|
|
5242
|
-
["solidity", { type: "sequence", order: "\u7A2E\u985E" }],
|
|
5243
5302
|
...SHAPES.map((s) => [s, { type: "chart", shape: s }])
|
|
5244
5303
|
]);
|
|
5245
5304
|
function shape\u306E\u6848\u5185(type) {
|
|
@@ -5251,34 +5310,14 @@ var NODE_KIND_DEFAULT = "actor";
|
|
|
5251
5310
|
var DSL_ONLY_KINDS = [
|
|
5252
5311
|
"entity",
|
|
5253
5312
|
"state",
|
|
5254
|
-
"contract",
|
|
5255
|
-
"eoa",
|
|
5256
|
-
"multisig",
|
|
5257
|
-
"proxy",
|
|
5258
|
-
"library",
|
|
5259
|
-
"interface",
|
|
5260
5313
|
// 繰り返しの箱 (#2523)。 描画側は分かれ道の図の形としてだけ持ち、種類としては持たないため
|
|
5261
5314
|
// ここに置く。 分かれ道の図では形に読み替わり (`compile/flowchart.ts`)、それ以外の図種では
|
|
5262
5315
|
// `記法だけの種類の読み替え` が札に落とす
|
|
5263
5316
|
"loop"
|
|
5264
5317
|
];
|
|
5265
5318
|
var INFRA_KIND_ALIAS = {
|
|
5266
|
-
alb: "shape-api-gateway",
|
|
5267
|
-
// 入口で振り分ける
|
|
5268
5319
|
browser: "frontend",
|
|
5269
5320
|
// 画面側
|
|
5270
|
-
ecs: "microservice",
|
|
5271
|
-
// コンテナ群
|
|
5272
|
-
iam: "admin",
|
|
5273
|
-
// 権限を守る
|
|
5274
|
-
kms: "admin",
|
|
5275
|
-
// 鍵を守る
|
|
5276
|
-
lambda: "function",
|
|
5277
|
-
// 呼ぶと動く
|
|
5278
|
-
rds: "database",
|
|
5279
|
-
// 表を持つ
|
|
5280
|
-
s3: "storage",
|
|
5281
|
-
// 置き場
|
|
5282
5321
|
secret: "storage",
|
|
5283
5322
|
// 機密の置き場
|
|
5284
5323
|
user: "person",
|
|
@@ -5945,12 +5984,12 @@ function parseTextDslV05(src) {
|
|
|
5945
5984
|
if (head.key === "type") {
|
|
5946
5985
|
const v = (head.value ?? "").trim().toLowerCase();
|
|
5947
5986
|
const \u5225\u540D = TYPE_ALIASES.get(v);
|
|
5948
|
-
|
|
5987
|
+
const \u5916\u3057\u305F = \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(v);
|
|
5988
|
+
if (\u5916\u3057\u305F !== void 0) {
|
|
5989
|
+
errors.push({ line: line.no, ...\u5916\u3057\u305F });
|
|
5990
|
+
type = "sequence";
|
|
5991
|
+
} else if (\u5225\u540D !== void 0) {
|
|
5949
5992
|
type = \u5225\u540D.type;
|
|
5950
|
-
if (order === null && \u5225\u540D.order !== void 0) {
|
|
5951
|
-
order = \u5225\u540D.order;
|
|
5952
|
-
orderLine = line.no;
|
|
5953
|
-
}
|
|
5954
5993
|
if (\u5225\u540D.shape !== void 0) {
|
|
5955
5994
|
aliasShape = \u5225\u540D.shape;
|
|
5956
5995
|
aliasShapeLine = line.no;
|
|
@@ -7709,6 +7748,12 @@ function reportV04Kind(kindRaw, line, errors) {
|
|
|
7709
7748
|
hint: `v0.5 \u3067\u306F\u82F1\u8A9E\u3067\u66F8\u304F (\`${\u82F1\u8A9E}\`)`
|
|
7710
7749
|
});
|
|
7711
7750
|
}
|
|
7751
|
+
function reportRemovedKind(kindRaw, line, errors) {
|
|
7752
|
+
const \u77E5\u3089\u305B = \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(kindRaw);
|
|
7753
|
+
if (\u77E5\u3089\u305B === void 0) return false;
|
|
7754
|
+
errors.push({ line, ...\u77E5\u3089\u305B });
|
|
7755
|
+
return true;
|
|
7756
|
+
}
|
|
7712
7757
|
var COLOR_KEYS = /* @__PURE__ */ new Set(["\u8272", "color", "tone"]);
|
|
7713
7758
|
var SCALE_KEYS = /* @__PURE__ */ new Set(["scale", "\u500D\u7387"]);
|
|
7714
7759
|
var SCALE_ORDER = ["scale", "\u500D\u7387"];
|
|
@@ -7758,9 +7803,10 @@ function applyContinuationLines(actor, rest, errors) {
|
|
|
7758
7803
|
case "\u7A2E\u985E": {
|
|
7759
7804
|
const k = stripQuotes(raw).toLowerCase();
|
|
7760
7805
|
reportV04Kind(k, ln.no, errors);
|
|
7761
|
-
const
|
|
7762
|
-
|
|
7763
|
-
out.
|
|
7806
|
+
const \u5916\u3057\u305F = reportRemovedKind(k, ln.no, errors);
|
|
7807
|
+
const isPart = k !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(k);
|
|
7808
|
+
out.kind = isPart || \u5916\u3057\u305F ? NODE_KIND_DEFAULT : resolveNodeKind(k);
|
|
7809
|
+
out.kindWritten = k !== "" && !isPart && !\u5916\u3057\u305F;
|
|
7764
7810
|
out.partId = isPart ? k : void 0;
|
|
7765
7811
|
break;
|
|
7766
7812
|
}
|
|
@@ -8578,7 +8624,8 @@ function parseActor2(line, errors) {
|
|
|
8578
8624
|
if (!namePart2) return null;
|
|
8579
8625
|
const opts = \u4E2D\u62EC\u5F27\u306E\u5225\u540D\u3092\u5BC4\u305B\u308B(parseInlineMapping(mapMatch.inner));
|
|
8580
8626
|
const kindRaw = (opts.kind ?? "").toLowerCase();
|
|
8581
|
-
const
|
|
8627
|
+
const \u5916\u3057\u305F = reportRemovedKind(kindRaw, line.no, errors);
|
|
8628
|
+
const isPart = kindRaw !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(kindRaw);
|
|
8582
8629
|
const inlineScale = resolveScale(writtenScaleFields(mapMatch.inner), line.no, errors);
|
|
8583
8630
|
reportScaleOnNonPart(isPart, inlineScale.keys[0], line.no, errors);
|
|
8584
8631
|
reportUnknownInlineKeys(isPart, mapMatch.inner, line.no, errors);
|
|
@@ -8624,7 +8671,7 @@ function parseActor2(line, errors) {
|
|
|
8624
8671
|
kind,
|
|
8625
8672
|
// parts 候補は `kind` を既定に倒して `partId` へ退避するため、 名札に載せる種類としては
|
|
8626
8673
|
// 「書かなかった」 と同じ扱いにする (#1058)
|
|
8627
|
-
kindWritten: kindRaw !== "" && !isPart,
|
|
8674
|
+
kindWritten: kindRaw !== "" && !isPart && !\u5916\u3057\u305F,
|
|
8628
8675
|
subtitle: opts.subtitle,
|
|
8629
8676
|
kindForm: \u9589\u3058\u305F\u7BB1\u306E\u5024("kindForm", KIND_FORM_VALUES),
|
|
8630
8677
|
icon: \u9589\u3058\u305F\u7BB1\u306E\u5024("icon", CDL_ICON_VALUES),
|
|
@@ -8695,7 +8742,8 @@ function parseActor2(line, errors) {
|
|
|
8695
8742
|
const rest = raw.slice(idx + 1).trim();
|
|
8696
8743
|
if (!namePart2) return null;
|
|
8697
8744
|
const v = classifyValues(splitValues(rest), line.no, errors);
|
|
8698
|
-
const
|
|
8745
|
+
const \u5916\u3057\u305F = reportRemovedKind(v.kind, line.no, errors);
|
|
8746
|
+
const isPart = v.kind !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(v.kind);
|
|
8699
8747
|
reportV04Kind(v.kind, line.no, errors);
|
|
8700
8748
|
reportScaleOnNonPart(isPart, v.scaleKeys?.[0], line.no, errors);
|
|
8701
8749
|
const kind = isPart ? NODE_KIND_DEFAULT : resolveNodeKind(NODE_KIND_VALID.has(v.kind) ? v.kind : "");
|
|
@@ -8704,7 +8752,7 @@ function parseActor2(line, errors) {
|
|
|
8704
8752
|
kind,
|
|
8705
8753
|
// parts 候補は `kind` を既定に倒して `partId` へ退避するため、 名札に載せる種類としては
|
|
8706
8754
|
// 「書かなかった」 と同じ扱いにする (#1058)
|
|
8707
|
-
kindWritten: v.kind !== "" && !isPart,
|
|
8755
|
+
kindWritten: v.kind !== "" && !isPart && !\u5916\u3057\u305F,
|
|
8708
8756
|
// parts では `tone` を状態の上書きとして扱うため、 色として渡さない
|
|
8709
8757
|
tone: isPart ? void 0 : v.tone,
|
|
8710
8758
|
subtitle: v.subtitle,
|
|
@@ -12725,8 +12773,6 @@ function \u914D\u8272\u3068\u7E1E\u3092\u5F53\u3066\u308B(diagram12, doc) {
|
|
|
12725
12773
|
if (\u914D\u8272 === void 0) return;
|
|
12726
12774
|
diagram12.palette = \u914D\u8272;
|
|
12727
12775
|
for (const node of diagram12.nodes) {
|
|
12728
|
-
const \u5186\u306E\u533A\u753B\u306E\u9593 = \u610F\u5320\u306E\u5186\u306E\u533A\u753B\u306E\u9593(\u914D\u8272, node);
|
|
12729
|
-
if (\u5186\u306E\u533A\u753B\u306E\u9593 !== void 0) node.chartPieSliceGap = \u5186\u306E\u533A\u753B\u306E\u9593;
|
|
12730
12776
|
if (\u68D2\u3092\u63CF\u304F\u7BC0\u304B(node)) {
|
|
12731
12777
|
const \u68D2\u306E\u89D2 = \u610F\u5320\u306E\u68D2\u306E\u89D2(\u914D\u8272, node);
|
|
12732
12778
|
if (\u68D2\u306E\u89D2 !== void 0) node.barCornerRadii = \u68D2\u306E\u89D2;
|
|
@@ -15283,7 +15329,12 @@ function \u5024\u3092\u691C\u67FB(v, \u578B, path, \u540D\u524D, errors) {
|
|
|
15283
15329
|
});
|
|
15284
15330
|
}
|
|
15285
15331
|
return;
|
|
15286
|
-
case "\u5FC5\u9808\u306E\u56F3\u7A2E":
|
|
15332
|
+
case "\u5FC5\u9808\u306E\u56F3\u7A2E": {
|
|
15333
|
+
const \u5916\u3057\u305F = typeof v === "string" ? \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(v) : void 0;
|
|
15334
|
+
if (\u5916\u3057\u305F !== void 0) {
|
|
15335
|
+
errors.push({ path, message: `${\u540D\u524D} "${String(v)}" was removed`, hint: \u5916\u3057\u305F.hint });
|
|
15336
|
+
return;
|
|
15337
|
+
}
|
|
15287
15338
|
if (typeof v !== "string" || !(VALID_PRESETS.includes(v) || VALID_ALIASES.includes(v))) {
|
|
15288
15339
|
errors.push({
|
|
15289
15340
|
path,
|
|
@@ -15292,6 +15343,7 @@ function \u5024\u3092\u691C\u67FB(v, \u578B, path, \u540D\u524D, errors) {
|
|
|
15292
15343
|
});
|
|
15293
15344
|
}
|
|
15294
15345
|
return;
|
|
15346
|
+
}
|
|
15295
15347
|
case "object":
|
|
15296
15348
|
case "\u4E26\u3073":
|
|
15297
15349
|
case "\u5FC5\u9808\u306E\u4E26\u3073":
|
|
@@ -15369,7 +15421,7 @@ function validateRelativeAnchors(actors, errors) {
|
|
|
15369
15421
|
}
|
|
15370
15422
|
function \u898B\u672C\u306E\u540D\u524D\u304B(kind) {
|
|
15371
15423
|
if (typeof kind !== "string" || kind.length === 0) return false;
|
|
15372
|
-
return kind !== "actor" && !VALID_KIND_SET.has(kind);
|
|
15424
|
+
return kind !== "actor" && !\u5916\u3057\u305F\u7A2E\u985E.has(kind) && !VALID_KIND_SET.has(kind);
|
|
15373
15425
|
}
|
|
15374
15426
|
function validateViewport(v, errors) {
|
|
15375
15427
|
if (v === void 0) return;
|
|
@@ -16554,6 +16606,10 @@ function validateJson(json) {
|
|
|
16554
16606
|
}
|
|
16555
16607
|
const ao = a;
|
|
16556
16608
|
checkUnknownKeys(ao, "actor", `$.actors[${i}]`, errors);
|
|
16609
|
+
const \u5916\u3057\u305F = typeof ao.kind === "string" ? \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(ao.kind) : void 0;
|
|
16610
|
+
if (\u5916\u3057\u305F !== void 0) {
|
|
16611
|
+
errors.push({ path: `$.actors[${i}].kind`, message: `kind "${String(ao.kind)}" was removed`, hint: \u5916\u3057\u305F.hint });
|
|
16612
|
+
}
|
|
16557
16613
|
\u8868\u3067\u691C\u67FB(ao, "actor", `$.actors[${i}]`, "actor", errors);
|
|
16558
16614
|
const actorEnum = (key, allowed) => {
|
|
16559
16615
|
const value = ao[key];
|
|
@@ -16907,15 +16963,16 @@ function jsonToDoc(json, \u884C\u306E\u8868) {
|
|
|
16907
16963
|
return { name: a, kind: "actor", kindWritten: false, pos: \u4F4D\u7F6E("actors", i) };
|
|
16908
16964
|
}
|
|
16909
16965
|
const kindStr = a.kind ?? "actor";
|
|
16910
|
-
const isPart =
|
|
16966
|
+
const isPart = \u898B\u672C\u306E\u540D\u524D\u304B(kindStr);
|
|
16967
|
+
const \u5916\u3057\u305F = \u5916\u3057\u305F\u7A2E\u985E.has(kindStr);
|
|
16911
16968
|
const \u8272 = a.color !== void 0 ? splitColorValue(a.color) : {};
|
|
16912
16969
|
const \u66F8\u3044\u305F\u5EA7\u6A19 = a.at ?? a.\u70B9\u306E\u4F4D\u7F6E;
|
|
16913
16970
|
return {
|
|
16914
16971
|
name: a.name,
|
|
16915
|
-
kind: isPart ? "actor" : resolveNodeKind(kindStr),
|
|
16972
|
+
kind: isPart || \u5916\u3057\u305F ? "actor" : resolveNodeKind(kindStr),
|
|
16916
16973
|
// parts 候補は `kind` を `actor` に倒して `partId` へ退避するため、 名札に載せる種類としては
|
|
16917
16974
|
// 「書かなかった」 と同じ扱いにする (#1058)
|
|
16918
|
-
kindWritten: a.kind !== void 0 && !isPart,
|
|
16975
|
+
kindWritten: a.kind !== void 0 && !isPart && !\u5916\u3057\u305F,
|
|
16919
16976
|
subtitle: a.subtitle,
|
|
16920
16977
|
kindForm: isPart ? void 0 : a.kindForm,
|
|
16921
16978
|
icon: isPart ? void 0 : a.icon,
|
|
@@ -17178,7 +17235,6 @@ function jsonToDoc(json, \u884C\u306E\u8868) {
|
|
|
17178
17235
|
...json.ganttSize !== void 0 ? { ganttSize: json.ganttSize } : {},
|
|
17179
17236
|
...json.quadrantLabelPosition !== void 0 ? { quadrantLabelPosition: json.quadrantLabelPosition } : {},
|
|
17180
17237
|
...json.quadrantSize !== void 0 ? { quadrantSize: json.quadrantSize } : {},
|
|
17181
|
-
...\u5225\u540D?.order !== void 0 ? { order: \u5225\u540D.order, orderPos: \u4F4D\u7F6E("type") } : {},
|
|
17182
17238
|
...\u5225\u540D?.shape !== void 0 ? { shape: \u5225\u540D.shape, shapePos: \u4F4D\u7F6E("type") } : {},
|
|
17183
17239
|
// 前後の空白を落としてから見る。 記法側 (`v05/parser.ts`) が `trim()` してから
|
|
17184
17240
|
// 空かどうかを判定するため、 揃えないと **空白だけの値で入口ごとに図が変わる**
|
|
@@ -17296,7 +17352,6 @@ var diagram_default = {
|
|
|
17296
17352
|
"swimlane",
|
|
17297
17353
|
"record",
|
|
17298
17354
|
"topology",
|
|
17299
|
-
"solidity",
|
|
17300
17355
|
"gantt",
|
|
17301
17356
|
"chart",
|
|
17302
17357
|
"pie",
|
|
@@ -17315,7 +17370,7 @@ var diagram_default = {
|
|
|
17315
17370
|
"c4",
|
|
17316
17371
|
"mind"
|
|
17317
17372
|
],
|
|
17318
|
-
description: '\u56F3\u306E\u7A2E\u985E\u3002 \u578B\u3054\u3068\u306B actors \u306E\u66F8\u304D\u65B9\u304C\u9055\u3046\u3002 [\u95A2\u4FC2\u3092\u63CF\u304F] sequence (\u6642\u7CFB\u5217\u306E\u547C\u3073\u51FA\u3057) / flow (\u51E6\u7406\u306E\u6D41\u308C) / flowchart (\u5206\u304B\u308C\u9053\u3068\u5224\u65AD\u3092\u542B\u3080\u624B\u9806) / swimlane (\u8CAC\u52D9\u3054\u3068\u306E\u6D41\u308C) / record (\u7BB1\u304C\u884C\u3092\u6301\u3061\u95A2\u4FC2\u3092\u6301\u3064\u56F3\u3002 \u8868\u306E\u3064\u306A\u304C\u308A\u3001\u79FB\u308A\u5909\u308F\u308A\u3001UML \u30AF\u30E9\u30B9\u95A2\u4FC2\u306B\u3082\u4F7F\u3046) / topology (network) / c4 (architecture) / mind (\u767A\u60F3\u306E\u679D\u5206\u304B\u308C) \u306F actors \u306B\u540D\u524D\u3092\u4E26\u3079 flow \u306B\u77E2\u5370\u3092\u66F8\u304F\u3002 [\u5024\u3092\u63CF\u304F] chart (\u6570\u306E\u4E26\u3073) \u306F actors \u306B `- \u540D\u524D: "45"` \u306E\u5F62\u3067\u6570\u3092\u66F8\u304D\u3001 shape \u3067\u5F62\u3092\u9078\u3076 (pie = \u5272\u5408 / bar = \u68D2\u306E\u9AD8\u3055 / line = \u7DDA\u306E\u9AD8\u3055\u3067\u66F8\u3044\u305F\u9806\u306B\u4E26\u3076 / gauge = \u5408\u8A08\u3092\u534A\u5186\u3067\u793A\u3059 / radial = \u5F27\u306E\u9577\u3055\u3067\u6BD4\u3079\u308B / stat = \u5024 1 \u3064\u3092\u5927\u304D\u304F\u793A\u3059 / waffle = \u5272\u5408\u3092 100 \u500B\u306E\u5370\u3067\u793A\u3059 / stacked = \u5185\u8A33\u3092\u5E2F\u3067\u793A\u3059 / slope = 2 \u6642\u70B9\u3092\u76F4\u7DDA\u3067\u3064\u306A\u304E\u5897\u6E1B\u3068\u9806\u4F4D\u306E\u5165\u308C\u66FF\u308F\u308A\u3092\u793A\u3059)\u3002 shape \u304C stat \u3068 stacked \u3068 slope \u306E\u6642\u306F `- \u540D\u524D: { value: "320", previous: "280" }` \u306E\u5F62\u3067\u524D\u306E\u6642\u70B9\u306E\u5024\u3082\u66F8\u3051\u308B\u3002 funnel (\u6BB5\u3054\u3068\u306B\u6E1B\u308B\u6570) \u3082\u540C\u3058\u5F62\u3002 [\u8A9E\u3092\u63CF\u304F] journey (\u4F53\u9A13\u306E\u8D77\u4F0F) \u306F `- \u767B\u9332: "\u4E0D\u6E80"` \u306E\u5F62\u3067 \u6700\u9AD8 / \u6E80\u8DB3 / \u666E\u901A / \u4E0D\u6E80 / \u6012\u308A \u306E\u3069\u308C\u304B\u3092\u66F8\u304F\u3002 quadrant (2 \u8EF8\u306E\u4ED5\u5206\u3051) \u306F `- \u91CD\u8907\u524A\u9664: "\u5DE6\u4E0A"` \u306E\u5F62\u3067 \u5DE6\u4E0A / \u53F3\u4E0A / \u5DE6\u4E0B / \u53F3\u4E0B \u306E\u3069\u308C\u304B\u3092\u66F8\u304F\u3002 [\u6642\u671F\u3092\u63CF\u304F] gantt (\u5DE5\u7A0B\u306E\u4E26\u3073) \u306F `- \u8A2D\u8A08: "1\u6708"` \u306E\u5F62\u3067\u59CB\u307E\u308A\u306E\u6642\u671F\u3092\u66F8\u304D\u3001 flow \u306E\u77E2\u5370\u3067\u524D\u5F8C\u95A2\u4FC2\u3092\u66F8\u304F\u3002 [\u89AA\u5B50\u3092\u63CF\u304F] tree (\u89AA\u5B50\u306E\u5165\u308C\u5B50) \u306F actors \u306B\u540D\u524D\u3092\u4E26\u3079 flow \u306E\u77E2\u5370\u3067\u89AA\u5B50\u3092\u66F8\u304F (\u77E2\u5370\u306E\u5148\u304C\u5B50)\u3002 [\u53E4\u3044\u7DB4\u308A]
|
|
17373
|
+
description: '\u56F3\u306E\u7A2E\u985E\u3002 \u578B\u3054\u3068\u306B actors \u306E\u66F8\u304D\u65B9\u304C\u9055\u3046\u3002 [\u95A2\u4FC2\u3092\u63CF\u304F] sequence (\u6642\u7CFB\u5217\u306E\u547C\u3073\u51FA\u3057) / flow (\u51E6\u7406\u306E\u6D41\u308C) / flowchart (\u5206\u304B\u308C\u9053\u3068\u5224\u65AD\u3092\u542B\u3080\u624B\u9806) / swimlane (\u8CAC\u52D9\u3054\u3068\u306E\u6D41\u308C) / record (\u7BB1\u304C\u884C\u3092\u6301\u3061\u95A2\u4FC2\u3092\u6301\u3064\u56F3\u3002 \u8868\u306E\u3064\u306A\u304C\u308A\u3001\u79FB\u308A\u5909\u308F\u308A\u3001UML \u30AF\u30E9\u30B9\u95A2\u4FC2\u306B\u3082\u4F7F\u3046) / topology (network) / c4 (architecture) / mind (\u767A\u60F3\u306E\u679D\u5206\u304B\u308C) \u306F actors \u306B\u540D\u524D\u3092\u4E26\u3079 flow \u306B\u77E2\u5370\u3092\u66F8\u304F\u3002 [\u5024\u3092\u63CF\u304F] chart (\u6570\u306E\u4E26\u3073) \u306F actors \u306B `- \u540D\u524D: "45"` \u306E\u5F62\u3067\u6570\u3092\u66F8\u304D\u3001 shape \u3067\u5F62\u3092\u9078\u3076 (pie = \u5272\u5408 / bar = \u68D2\u306E\u9AD8\u3055 / line = \u7DDA\u306E\u9AD8\u3055\u3067\u66F8\u3044\u305F\u9806\u306B\u4E26\u3076 / gauge = \u5408\u8A08\u3092\u534A\u5186\u3067\u793A\u3059 / radial = \u5F27\u306E\u9577\u3055\u3067\u6BD4\u3079\u308B / stat = \u5024 1 \u3064\u3092\u5927\u304D\u304F\u793A\u3059 / waffle = \u5272\u5408\u3092 100 \u500B\u306E\u5370\u3067\u793A\u3059 / stacked = \u5185\u8A33\u3092\u5E2F\u3067\u793A\u3059 / slope = 2 \u6642\u70B9\u3092\u76F4\u7DDA\u3067\u3064\u306A\u304E\u5897\u6E1B\u3068\u9806\u4F4D\u306E\u5165\u308C\u66FF\u308F\u308A\u3092\u793A\u3059)\u3002 shape \u304C stat \u3068 stacked \u3068 slope \u306E\u6642\u306F `- \u540D\u524D: { value: "320", previous: "280" }` \u306E\u5F62\u3067\u524D\u306E\u6642\u70B9\u306E\u5024\u3082\u66F8\u3051\u308B\u3002 funnel (\u6BB5\u3054\u3068\u306B\u6E1B\u308B\u6570) \u3082\u540C\u3058\u5F62\u3002 [\u8A9E\u3092\u63CF\u304F] journey (\u4F53\u9A13\u306E\u8D77\u4F0F) \u306F `- \u767B\u9332: "\u4E0D\u6E80"` \u306E\u5F62\u3067 \u6700\u9AD8 / \u6E80\u8DB3 / \u666E\u901A / \u4E0D\u6E80 / \u6012\u308A \u306E\u3069\u308C\u304B\u3092\u66F8\u304F\u3002 quadrant (2 \u8EF8\u306E\u4ED5\u5206\u3051) \u306F `- \u91CD\u8907\u524A\u9664: "\u5DE6\u4E0A"` \u306E\u5F62\u3067 \u5DE6\u4E0A / \u53F3\u4E0A / \u5DE6\u4E0B / \u53F3\u4E0B \u306E\u3069\u308C\u304B\u3092\u66F8\u304F\u3002 [\u6642\u671F\u3092\u63CF\u304F] gantt (\u5DE5\u7A0B\u306E\u4E26\u3073) \u306F `- \u8A2D\u8A08: "1\u6708"` \u306E\u5F62\u3067\u59CB\u307E\u308A\u306E\u6642\u671F\u3092\u66F8\u304D\u3001 flow \u306E\u77E2\u5370\u3067\u524D\u5F8C\u95A2\u4FC2\u3092\u66F8\u304F\u3002 [\u89AA\u5B50\u3092\u63CF\u304F] tree (\u89AA\u5B50\u306E\u5165\u308C\u5B50) \u306F actors \u306B\u540D\u524D\u3092\u4E26\u3079 flow \u306E\u77E2\u5370\u3067\u89AA\u5B50\u3092\u66F8\u304F (\u77E2\u5370\u306E\u5148\u304C\u5B50)\u3002 [\u53E4\u3044\u7DB4\u308A] pie / bar / line / gauge / radial / stat / waffle / stacked / slope \u306F chart \u3068\u540C\u3058\u7DB4\u308A\u306E shape \u306E\u7D44\u3068\u540C\u3058\u6271\u3044\u306B\u306A\u308B'
|
|
17319
17374
|
},
|
|
17320
17375
|
form: {
|
|
17321
17376
|
type: "string",
|
|
@@ -17677,7 +17732,7 @@ var diagram_default = {
|
|
|
17677
17732
|
},
|
|
17678
17733
|
kind: {
|
|
17679
17734
|
type: "string",
|
|
17680
|
-
description: "node kind\u3002 shape-* \u3092\u6307\u5B9A\
|
|
17735
|
+
description: "node kind\u3002 shape-* \u3092\u6307\u5B9A\u3059\u308B\u3068\u57FA\u672C\u306E\u5F62 (\u7BB1\u306E\u5F62\u305D\u306E\u3082\u306E\u3092\u63CF\u304F) \u3068\u6C4E\u7528\u306E\u633F\u7D75 (\u7A93 / \u7AEF\u672B / \u30B3\u30FC\u30C9\u306E\u672D / \u643A\u5E2F / \u30B5\u30FC\u30D0\u30FC\u306E\u68DA) \u304B\u3089\u9078\u3079\u308B\u3002 \u4F8B: 'shape-cloud' / 'shape-file' / 'shape-window' / 'actor' (default) / 'function' / 'storage' / 'event' \u7B49\u3002 \u7A2E\u5225\u306B\u7121\u3044\u540D\u524D\u306F\u90E8\u54C1\u306E\u540D\u524D\u3068\u3057\u3066\u90E8\u54C1\u306E\u4E00\u89A7 (partsCatalog) \u304B\u3089\u5F15\u304D\u3001\u4E00\u89A7\u306B\u3082\u7121\u3051\u308C\u3070\u7A2E\u5225\u3092\u66F8\u304B\u306A\u304B\u3063\u305F\u7BB1\u306B\u306A\u308B\u3002 \u90E8\u54C1\u3092\u6301\u3064\u4E00\u89A7\u3092\u6E21\u3057\u305F\u6642\u306F\u77E5\u3089\u305B\u3092\u51FA\u3057\u3001\u7DB4\u308A\u306E\u8FD1\u3044\u540D\u524D\u3092\u6848\u5185\u3059\u308B\u3002"
|
|
17681
17736
|
},
|
|
17682
17737
|
subtitle: {
|
|
17683
17738
|
type: "string",
|