@cardenelabs/dragon 0.33.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 +114 -57
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +19 -21
- package/dist/index.d.ts +19 -21
- package/dist/index.js +114 -57
- 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 -3
- package/src/focus.ts +1 -1
- package/src/json-parser.ts +26 -9
- package/src/keywords.ts +2 -3
- 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/dist/index.d.cts
CHANGED
|
@@ -26,9 +26,8 @@ declare const DIRECTION_ALIAS: Record<string, DslDirection>;
|
|
|
26
26
|
*
|
|
27
27
|
* 書かなければ **書いた順** のまま。 `種類` と書くと箱の種類で並べ替えてから置く。
|
|
28
28
|
*
|
|
29
|
-
* これは図の型として持っていた差を語に出したもの。
|
|
30
|
-
*
|
|
31
|
-
* 書いていた。 **型が 1 つ増えるたびに条件を 2 つ並べる形**になるので、差が並べ替えだけなら
|
|
29
|
+
* これは図の型として持っていた差を語に出したもの。 並べ替えの鍵しか持たない型が在り、
|
|
30
|
+
* `compile.ts` は「順序図 または その型」 という条件を 6 か所で書いていた。 **型が 1 つ増えるたびに条件を 2 つ並べる形**になるので、差が並べ替えだけなら
|
|
32
31
|
* 型ではなく語で表す。
|
|
33
32
|
*/
|
|
34
33
|
declare const ORDERS: readonly ["種類"];
|
|
@@ -187,16 +186,15 @@ declare const PRESET_TYPES: ReadonlySet<PresetType>;
|
|
|
187
186
|
* 図種の別名 (#2655 / #2657)。
|
|
188
187
|
*
|
|
189
188
|
* **差が語 1 つしかない図種を、畳んだ先の型とその語に読み替える**。
|
|
189
|
+
* 数を描く 9 つは `chart` + `shape: <綴り>` に読み替える = 同じ組み立て関数に渡す文字列 2 つ
|
|
190
|
+
* しか違わない。
|
|
190
191
|
*
|
|
191
|
-
*
|
|
192
|
-
* |---|---|---|
|
|
193
|
-
* | `solidity` | `sequence` + `order: 種類` | 箱を種類で並べ替えるだけで、独自の組み立てを持たない |
|
|
194
|
-
* | 数を描く 9 つ | `chart` + `shape: <綴り>` | 同じ組み立て関数に渡す文字列 2 つしか違わない |
|
|
195
|
-
*
|
|
196
|
-
* 型として持つと、同じ扱いをする条件と表が型の数だけ増える。 `solidity` は
|
|
197
|
-
* 「順序図 または その型」 という条件を 12 か所に増やし、数を描く 9 つは 4 つの表に
|
|
192
|
+
* 型として持つと、同じ扱いをする条件と表が型の数だけ増える。 数を描く 9 つは 4 つの表に
|
|
198
193
|
* 同じ値の行を 9 行ずつ並べていた (足す人が 1 か所書き忘れると黙って外れる)。
|
|
199
194
|
*
|
|
195
|
+
* `solidity` も `sequence` + `order: 種類` への別名だったが、特定の技術に向けた図種なので
|
|
196
|
+
* 外した (#2947)。 書いた人には `removed-syntax.ts` の表が置き換え先を返す。
|
|
197
|
+
*
|
|
200
198
|
* **読み替えは読み取りの入口 1 か所に閉じる**。 ここを通った後は古い綴りが
|
|
201
199
|
* どこにも残らないので、組み立て側は畳んだ先の型として 1 通りに扱える。
|
|
202
200
|
*
|
|
@@ -204,21 +202,20 @@ declare const PRESET_TYPES: ReadonlySet<PresetType>;
|
|
|
204
202
|
*/
|
|
205
203
|
type 読み替え先 = {
|
|
206
204
|
type: PresetType;
|
|
207
|
-
order?: DslOrder;
|
|
208
205
|
shape?: DslShape;
|
|
209
206
|
};
|
|
210
207
|
declare const TYPE_ALIASES: ReadonlyMap<string, 読み替え先>;
|
|
211
208
|
/**
|
|
212
209
|
* 記法だけが持つ種類。 描画側には無いが、 図種ごとの組み立てで意味を持つ。
|
|
213
210
|
*
|
|
214
|
-
* `
|
|
215
|
-
*
|
|
211
|
+
* `entity` / `state` は ER 図と状態遷移図に使う。 Solidity の図の役割分け
|
|
212
|
+
* (`contract` / `eoa` など) は外した (#2947、置き換え先は `removed-syntax.ts`)。
|
|
216
213
|
*
|
|
217
214
|
* **描画側へ渡す前に必ず読み替える** (`compile.ts` の `描ける種別`)。 読み替えを通さずに渡すと
|
|
218
215
|
* 図の組み立てが落ちる = 描画側は知らない種類の大きさを引けない (#1420 で実測、
|
|
219
216
|
* `Cannot read properties of undefined (reading 'h')`)。
|
|
220
217
|
*/
|
|
221
|
-
declare const DSL_ONLY_KINDS: readonly ["entity", "state", "
|
|
218
|
+
declare const DSL_ONLY_KINDS: readonly ["entity", "state", "loop"];
|
|
222
219
|
/** 記法だけが持つ種類。 描画側の `NodeKind` には含まれない */
|
|
223
220
|
type DslOnlyKind = (typeof DSL_ONLY_KINDS)[number];
|
|
224
221
|
/**
|
|
@@ -389,8 +386,8 @@ declare function orderByDependency(items: ReadonlyArray<{
|
|
|
389
386
|
/**
|
|
390
387
|
* 記法が書ける箱の種類 (#1420)。
|
|
391
388
|
*
|
|
392
|
-
* 描画できる種類 (`NodeKind`) に、**記法だけが持つ種類** (`
|
|
393
|
-
* 後者は図種ごとの役割分け (
|
|
389
|
+
* 描画できる種類 (`NodeKind`) に、**記法だけが持つ種類** (`entity` / `state` など) を足す。
|
|
390
|
+
* 後者は図種ごとの役割分け (ER 図の実体など) に使い、描画側へ渡す手前で
|
|
394
391
|
* `compile.ts` の `描ける種別` が読み替える。
|
|
395
392
|
*
|
|
396
393
|
* `NodeKind` だけに縛っていた間、記法が受ける値を型が表せていなかった。
|
|
@@ -741,8 +738,8 @@ type DslDocument = {
|
|
|
741
738
|
* 効くのは順序図だけで、他の図種は並び方そのものが読み方を担うため書いても効かない
|
|
742
739
|
* (知らせを出す)。
|
|
743
740
|
*
|
|
744
|
-
*
|
|
745
|
-
*
|
|
741
|
+
* 並べ替えの鍵しか持たない図種を畳んだ先。 その図種 (`solidity`) は特定の技術に向けた
|
|
742
|
+
* 名前なので外した (#2947)。
|
|
746
743
|
*/
|
|
747
744
|
order?: DslOrder;
|
|
748
745
|
/** `order:` を書いた行。 効かない時の知らせで、書いた場所を指すために持つ */
|
|
@@ -2087,7 +2084,7 @@ declare function 書いた場所の鍵(...道: readonly (string | number)[]): st
|
|
|
2087
2084
|
*/
|
|
2088
2085
|
|
|
2089
2086
|
/** 古い綴りで書いた図種 (#2655 / #2657)。 受ける値は `TYPE_ALIASES` が SSOT */
|
|
2090
|
-
type 図種の別名 =
|
|
2087
|
+
type 図種の別名 = DslShape;
|
|
2091
2088
|
/**
|
|
2092
2089
|
* LLM 向け JSON DSL の入力 shape。 YAML DSL と 1:1 対応、 top-level は flat な object。
|
|
2093
2090
|
*/
|
|
@@ -2097,8 +2094,9 @@ interface DragonJson {
|
|
|
2097
2094
|
/**
|
|
2098
2095
|
* preset type (必須)。 受け付ける値は `PRESET_TYPES` と `TYPE_ALIASES` が SSOT。
|
|
2099
2096
|
*
|
|
2100
|
-
* 別名 (#2655 / #2657) は読み取りで図種と語の 2 つに開く = `
|
|
2101
|
-
*
|
|
2097
|
+
* 別名 (#2655 / #2657) は読み取りで図種と語の 2 つに開く = `pie` と書いた JSON は
|
|
2098
|
+
* 数を描く図 + 円の形 として読まれる。 外した図種 (`solidity`) は置き換え先を誤りとして返す
|
|
2099
|
+
* (#2947、`v05/removed-syntax.ts`)。
|
|
2102
2100
|
*/
|
|
2103
2101
|
type: PresetType | 図種の別名;
|
|
2104
2102
|
/** 円グラフの見せ方。 */
|
package/dist/index.d.ts
CHANGED
|
@@ -26,9 +26,8 @@ declare const DIRECTION_ALIAS: Record<string, DslDirection>;
|
|
|
26
26
|
*
|
|
27
27
|
* 書かなければ **書いた順** のまま。 `種類` と書くと箱の種類で並べ替えてから置く。
|
|
28
28
|
*
|
|
29
|
-
* これは図の型として持っていた差を語に出したもの。
|
|
30
|
-
*
|
|
31
|
-
* 書いていた。 **型が 1 つ増えるたびに条件を 2 つ並べる形**になるので、差が並べ替えだけなら
|
|
29
|
+
* これは図の型として持っていた差を語に出したもの。 並べ替えの鍵しか持たない型が在り、
|
|
30
|
+
* `compile.ts` は「順序図 または その型」 という条件を 6 か所で書いていた。 **型が 1 つ増えるたびに条件を 2 つ並べる形**になるので、差が並べ替えだけなら
|
|
32
31
|
* 型ではなく語で表す。
|
|
33
32
|
*/
|
|
34
33
|
declare const ORDERS: readonly ["種類"];
|
|
@@ -187,16 +186,15 @@ declare const PRESET_TYPES: ReadonlySet<PresetType>;
|
|
|
187
186
|
* 図種の別名 (#2655 / #2657)。
|
|
188
187
|
*
|
|
189
188
|
* **差が語 1 つしかない図種を、畳んだ先の型とその語に読み替える**。
|
|
189
|
+
* 数を描く 9 つは `chart` + `shape: <綴り>` に読み替える = 同じ組み立て関数に渡す文字列 2 つ
|
|
190
|
+
* しか違わない。
|
|
190
191
|
*
|
|
191
|
-
*
|
|
192
|
-
* |---|---|---|
|
|
193
|
-
* | `solidity` | `sequence` + `order: 種類` | 箱を種類で並べ替えるだけで、独自の組み立てを持たない |
|
|
194
|
-
* | 数を描く 9 つ | `chart` + `shape: <綴り>` | 同じ組み立て関数に渡す文字列 2 つしか違わない |
|
|
195
|
-
*
|
|
196
|
-
* 型として持つと、同じ扱いをする条件と表が型の数だけ増える。 `solidity` は
|
|
197
|
-
* 「順序図 または その型」 という条件を 12 か所に増やし、数を描く 9 つは 4 つの表に
|
|
192
|
+
* 型として持つと、同じ扱いをする条件と表が型の数だけ増える。 数を描く 9 つは 4 つの表に
|
|
198
193
|
* 同じ値の行を 9 行ずつ並べていた (足す人が 1 か所書き忘れると黙って外れる)。
|
|
199
194
|
*
|
|
195
|
+
* `solidity` も `sequence` + `order: 種類` への別名だったが、特定の技術に向けた図種なので
|
|
196
|
+
* 外した (#2947)。 書いた人には `removed-syntax.ts` の表が置き換え先を返す。
|
|
197
|
+
*
|
|
200
198
|
* **読み替えは読み取りの入口 1 か所に閉じる**。 ここを通った後は古い綴りが
|
|
201
199
|
* どこにも残らないので、組み立て側は畳んだ先の型として 1 通りに扱える。
|
|
202
200
|
*
|
|
@@ -204,21 +202,20 @@ declare const PRESET_TYPES: ReadonlySet<PresetType>;
|
|
|
204
202
|
*/
|
|
205
203
|
type 読み替え先 = {
|
|
206
204
|
type: PresetType;
|
|
207
|
-
order?: DslOrder;
|
|
208
205
|
shape?: DslShape;
|
|
209
206
|
};
|
|
210
207
|
declare const TYPE_ALIASES: ReadonlyMap<string, 読み替え先>;
|
|
211
208
|
/**
|
|
212
209
|
* 記法だけが持つ種類。 描画側には無いが、 図種ごとの組み立てで意味を持つ。
|
|
213
210
|
*
|
|
214
|
-
* `
|
|
215
|
-
*
|
|
211
|
+
* `entity` / `state` は ER 図と状態遷移図に使う。 Solidity の図の役割分け
|
|
212
|
+
* (`contract` / `eoa` など) は外した (#2947、置き換え先は `removed-syntax.ts`)。
|
|
216
213
|
*
|
|
217
214
|
* **描画側へ渡す前に必ず読み替える** (`compile.ts` の `描ける種別`)。 読み替えを通さずに渡すと
|
|
218
215
|
* 図の組み立てが落ちる = 描画側は知らない種類の大きさを引けない (#1420 で実測、
|
|
219
216
|
* `Cannot read properties of undefined (reading 'h')`)。
|
|
220
217
|
*/
|
|
221
|
-
declare const DSL_ONLY_KINDS: readonly ["entity", "state", "
|
|
218
|
+
declare const DSL_ONLY_KINDS: readonly ["entity", "state", "loop"];
|
|
222
219
|
/** 記法だけが持つ種類。 描画側の `NodeKind` には含まれない */
|
|
223
220
|
type DslOnlyKind = (typeof DSL_ONLY_KINDS)[number];
|
|
224
221
|
/**
|
|
@@ -389,8 +386,8 @@ declare function orderByDependency(items: ReadonlyArray<{
|
|
|
389
386
|
/**
|
|
390
387
|
* 記法が書ける箱の種類 (#1420)。
|
|
391
388
|
*
|
|
392
|
-
* 描画できる種類 (`NodeKind`) に、**記法だけが持つ種類** (`
|
|
393
|
-
* 後者は図種ごとの役割分け (
|
|
389
|
+
* 描画できる種類 (`NodeKind`) に、**記法だけが持つ種類** (`entity` / `state` など) を足す。
|
|
390
|
+
* 後者は図種ごとの役割分け (ER 図の実体など) に使い、描画側へ渡す手前で
|
|
394
391
|
* `compile.ts` の `描ける種別` が読み替える。
|
|
395
392
|
*
|
|
396
393
|
* `NodeKind` だけに縛っていた間、記法が受ける値を型が表せていなかった。
|
|
@@ -741,8 +738,8 @@ type DslDocument = {
|
|
|
741
738
|
* 効くのは順序図だけで、他の図種は並び方そのものが読み方を担うため書いても効かない
|
|
742
739
|
* (知らせを出す)。
|
|
743
740
|
*
|
|
744
|
-
*
|
|
745
|
-
*
|
|
741
|
+
* 並べ替えの鍵しか持たない図種を畳んだ先。 その図種 (`solidity`) は特定の技術に向けた
|
|
742
|
+
* 名前なので外した (#2947)。
|
|
746
743
|
*/
|
|
747
744
|
order?: DslOrder;
|
|
748
745
|
/** `order:` を書いた行。 効かない時の知らせで、書いた場所を指すために持つ */
|
|
@@ -2087,7 +2084,7 @@ declare function 書いた場所の鍵(...道: readonly (string | number)[]): st
|
|
|
2087
2084
|
*/
|
|
2088
2085
|
|
|
2089
2086
|
/** 古い綴りで書いた図種 (#2655 / #2657)。 受ける値は `TYPE_ALIASES` が SSOT */
|
|
2090
|
-
type 図種の別名 =
|
|
2087
|
+
type 図種の別名 = DslShape;
|
|
2091
2088
|
/**
|
|
2092
2089
|
* LLM 向け JSON DSL の入力 shape。 YAML DSL と 1:1 対応、 top-level は flat な object。
|
|
2093
2090
|
*/
|
|
@@ -2097,8 +2094,9 @@ interface DragonJson {
|
|
|
2097
2094
|
/**
|
|
2098
2095
|
* preset type (必須)。 受け付ける値は `PRESET_TYPES` と `TYPE_ALIASES` が SSOT。
|
|
2099
2096
|
*
|
|
2100
|
-
* 別名 (#2655 / #2657) は読み取りで図種と語の 2 つに開く = `
|
|
2101
|
-
*
|
|
2097
|
+
* 別名 (#2655 / #2657) は読み取りで図種と語の 2 つに開く = `pie` と書いた JSON は
|
|
2098
|
+
* 数を描く図 + 円の形 として読まれる。 外した図種 (`solidity`) は置き換え先を誤りとして返す
|
|
2099
|
+
* (#2947、`v05/removed-syntax.ts`)。
|
|
2102
2100
|
*/
|
|
2103
2101
|
type: PresetType | 図種の別名;
|
|
2104
2102
|
/** 円グラフの見せ方。 */
|
package/dist/index.js
CHANGED
|
@@ -550,17 +550,10 @@ function \u5F8C\u308D\u3078\u623B\u308B\u77E2\u5370\u304B(kind, fromId, toId, \u
|
|
|
550
550
|
|
|
551
551
|
// src/compile/order.ts
|
|
552
552
|
var \u7A2E\u985E\u306E\u6BB5 = {
|
|
553
|
-
eoa: 0,
|
|
554
553
|
actor: 0,
|
|
555
|
-
multisig: 0,
|
|
556
554
|
signer: 0,
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
proxy: 1,
|
|
560
|
-
library: 1,
|
|
561
|
-
interface: 1,
|
|
562
|
-
storage: 2,
|
|
563
|
-
event: 3
|
|
555
|
+
storage: 1,
|
|
556
|
+
event: 2
|
|
564
557
|
};
|
|
565
558
|
var \u8868\u306B\u7121\u3044\u7A2E\u985E\u306E\u6BB5 = 5;
|
|
566
559
|
var \u4E26\u3073\u9806\u3092\u9078\u3079\u308B\u56F3\u7A2E = /* @__PURE__ */ new Set(["sequence"]);
|
|
@@ -620,12 +613,6 @@ function \u59CB\u307E\u308A\u3068\u7D42\u308F\u308A\u306E\u6C7A\u3081\u65B9(doc,
|
|
|
620
613
|
var \u8A18\u6CD5\u3060\u3051\u306E\u7A2E\u985E\u306E\u8AAD\u307F\u66FF\u3048 = {
|
|
621
614
|
entity: "storage",
|
|
622
615
|
state: "card",
|
|
623
|
-
contract: "card",
|
|
624
|
-
proxy: "card",
|
|
625
|
-
library: "card",
|
|
626
|
-
interface: "card",
|
|
627
|
-
eoa: "person",
|
|
628
|
-
multisig: "signer",
|
|
629
616
|
loop: "card"
|
|
630
617
|
};
|
|
631
618
|
function \u63CF\u3051\u308B\u7A2E\u5225(kind) {
|
|
@@ -3357,6 +3344,79 @@ function \u7DE8\u96C6\u8DDD\u96E2(a, b, \u4E0A\u9650) {
|
|
|
3357
3344
|
return \u524D[b.length];
|
|
3358
3345
|
}
|
|
3359
3346
|
|
|
3347
|
+
// src/v05/removed-syntax.ts
|
|
3348
|
+
var \u5916\u3057\u305F\u56F3\u7A2E = /* @__PURE__ */ new Map([
|
|
3349
|
+
["solidity", "`type: sequence` \u3068 `order: \u7A2E\u985E`"]
|
|
3350
|
+
]);
|
|
3351
|
+
var \u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E = [
|
|
3352
|
+
"shape-kanban-card",
|
|
3353
|
+
"shape-message-bubble",
|
|
3354
|
+
"shape-gear",
|
|
3355
|
+
"shape-network-node",
|
|
3356
|
+
"shape-iot-sensor",
|
|
3357
|
+
"shape-robot-arm",
|
|
3358
|
+
"shape-satellite",
|
|
3359
|
+
"shape-website",
|
|
3360
|
+
"shape-cdn-edge",
|
|
3361
|
+
"shape-api-gateway",
|
|
3362
|
+
"shape-storefront",
|
|
3363
|
+
"shape-warehouse",
|
|
3364
|
+
"shape-online-shop",
|
|
3365
|
+
"shape-customer-service",
|
|
3366
|
+
"shape-lawyer",
|
|
3367
|
+
"shape-auditor",
|
|
3368
|
+
"shape-regulator",
|
|
3369
|
+
"shape-notary",
|
|
3370
|
+
"shape-trader",
|
|
3371
|
+
"shape-smart-contract",
|
|
3372
|
+
"shape-blockchain-block",
|
|
3373
|
+
"shape-blockchain",
|
|
3374
|
+
"shape-bitcoin-chain",
|
|
3375
|
+
"shape-ethereum-chain",
|
|
3376
|
+
"shape-blockchain-node",
|
|
3377
|
+
"shape-rpc-node",
|
|
3378
|
+
"shape-wallet",
|
|
3379
|
+
"shape-nft",
|
|
3380
|
+
"shape-token",
|
|
3381
|
+
"shape-bank",
|
|
3382
|
+
"shape-trust-bank",
|
|
3383
|
+
"shape-payment-provider",
|
|
3384
|
+
"shape-credit-card",
|
|
3385
|
+
"shape-brokerage",
|
|
3386
|
+
"shape-exchange",
|
|
3387
|
+
"shape-atm"
|
|
3388
|
+
];
|
|
3389
|
+
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";
|
|
3390
|
+
var \u5916\u3057\u305F\u7A2E\u985E = new Map([
|
|
3391
|
+
["contract", "`card`"],
|
|
3392
|
+
["proxy", "`card`"],
|
|
3393
|
+
["library", "`card`"],
|
|
3394
|
+
["interface", "`card`"],
|
|
3395
|
+
["eoa", "`person`"],
|
|
3396
|
+
["multisig", "`signer`"],
|
|
3397
|
+
["alb", "`api`"],
|
|
3398
|
+
["ecs", "`microservice`"],
|
|
3399
|
+
["iam", "`admin`"],
|
|
3400
|
+
["kms", "`admin`"],
|
|
3401
|
+
["lambda", "`function`"],
|
|
3402
|
+
["rds", "`database`"],
|
|
3403
|
+
["s3", "`storage`"],
|
|
3404
|
+
...\u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E.map((k) => [k, \u633F\u7D75\u306E\u4EE3\u308F\u308A])
|
|
3405
|
+
]);
|
|
3406
|
+
function \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(kind) {
|
|
3407
|
+
const \u4EE3\u308F\u308A = \u5916\u3057\u305F\u7A2E\u985E.get(kind);
|
|
3408
|
+
if (\u4EE3\u308F\u308A === void 0) return void 0;
|
|
3409
|
+
return {
|
|
3410
|
+
message: `\u7BB1\u306E\u7A2E\u985E "${kind}" \u306F\u5916\u3057\u307E\u3057\u305F`,
|
|
3411
|
+
hint: \u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E.includes(kind) ? \u4EE3\u308F\u308A : `\u4EE3\u308F\u308A\u306B ${\u4EE3\u308F\u308A} \u3092\u66F8\u304F`
|
|
3412
|
+
};
|
|
3413
|
+
}
|
|
3414
|
+
function \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(type) {
|
|
3415
|
+
const \u4EE3\u308F\u308A = \u5916\u3057\u305F\u56F3\u7A2E.get(type);
|
|
3416
|
+
if (\u4EE3\u308F\u308A === void 0) return void 0;
|
|
3417
|
+
return { message: `\u56F3\u7A2E "${type}" \u306F\u5916\u3057\u307E\u3057\u305F`, hint: `\u4EE3\u308F\u308A\u306B ${\u4EE3\u308F\u308A} \u3092\u66F8\u304F` };
|
|
3418
|
+
}
|
|
3419
|
+
|
|
3360
3420
|
// src/relative-pos.ts
|
|
3361
3421
|
var RELATIVE_DIRECTIONS = ["right", "left", "above", "below"];
|
|
3362
3422
|
var RELATIVE_GAP_DEFAULT = 160;
|
|
@@ -5237,7 +5297,6 @@ var PRESET_TYPES = /* @__PURE__ */ new Set([
|
|
|
5237
5297
|
"mind"
|
|
5238
5298
|
]);
|
|
5239
5299
|
var TYPE_ALIASES = new Map([
|
|
5240
|
-
["solidity", { type: "sequence", order: "\u7A2E\u985E" }],
|
|
5241
5300
|
...SHAPES.map((s) => [s, { type: "chart", shape: s }])
|
|
5242
5301
|
]);
|
|
5243
5302
|
function shape\u306E\u6848\u5185(type) {
|
|
@@ -5249,34 +5308,14 @@ var NODE_KIND_DEFAULT = "actor";
|
|
|
5249
5308
|
var DSL_ONLY_KINDS = [
|
|
5250
5309
|
"entity",
|
|
5251
5310
|
"state",
|
|
5252
|
-
"contract",
|
|
5253
|
-
"eoa",
|
|
5254
|
-
"multisig",
|
|
5255
|
-
"proxy",
|
|
5256
|
-
"library",
|
|
5257
|
-
"interface",
|
|
5258
5311
|
// 繰り返しの箱 (#2523)。 描画側は分かれ道の図の形としてだけ持ち、種類としては持たないため
|
|
5259
5312
|
// ここに置く。 分かれ道の図では形に読み替わり (`compile/flowchart.ts`)、それ以外の図種では
|
|
5260
5313
|
// `記法だけの種類の読み替え` が札に落とす
|
|
5261
5314
|
"loop"
|
|
5262
5315
|
];
|
|
5263
5316
|
var INFRA_KIND_ALIAS = {
|
|
5264
|
-
alb: "shape-api-gateway",
|
|
5265
|
-
// 入口で振り分ける
|
|
5266
5317
|
browser: "frontend",
|
|
5267
5318
|
// 画面側
|
|
5268
|
-
ecs: "microservice",
|
|
5269
|
-
// コンテナ群
|
|
5270
|
-
iam: "admin",
|
|
5271
|
-
// 権限を守る
|
|
5272
|
-
kms: "admin",
|
|
5273
|
-
// 鍵を守る
|
|
5274
|
-
lambda: "function",
|
|
5275
|
-
// 呼ぶと動く
|
|
5276
|
-
rds: "database",
|
|
5277
|
-
// 表を持つ
|
|
5278
|
-
s3: "storage",
|
|
5279
|
-
// 置き場
|
|
5280
5319
|
secret: "storage",
|
|
5281
5320
|
// 機密の置き場
|
|
5282
5321
|
user: "person",
|
|
@@ -5943,12 +5982,12 @@ function parseTextDslV05(src) {
|
|
|
5943
5982
|
if (head.key === "type") {
|
|
5944
5983
|
const v = (head.value ?? "").trim().toLowerCase();
|
|
5945
5984
|
const \u5225\u540D = TYPE_ALIASES.get(v);
|
|
5946
|
-
|
|
5985
|
+
const \u5916\u3057\u305F = \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(v);
|
|
5986
|
+
if (\u5916\u3057\u305F !== void 0) {
|
|
5987
|
+
errors.push({ line: line.no, ...\u5916\u3057\u305F });
|
|
5988
|
+
type = "sequence";
|
|
5989
|
+
} else if (\u5225\u540D !== void 0) {
|
|
5947
5990
|
type = \u5225\u540D.type;
|
|
5948
|
-
if (order === null && \u5225\u540D.order !== void 0) {
|
|
5949
|
-
order = \u5225\u540D.order;
|
|
5950
|
-
orderLine = line.no;
|
|
5951
|
-
}
|
|
5952
5991
|
if (\u5225\u540D.shape !== void 0) {
|
|
5953
5992
|
aliasShape = \u5225\u540D.shape;
|
|
5954
5993
|
aliasShapeLine = line.no;
|
|
@@ -7707,6 +7746,12 @@ function reportV04Kind(kindRaw, line, errors) {
|
|
|
7707
7746
|
hint: `v0.5 \u3067\u306F\u82F1\u8A9E\u3067\u66F8\u304F (\`${\u82F1\u8A9E}\`)`
|
|
7708
7747
|
});
|
|
7709
7748
|
}
|
|
7749
|
+
function reportRemovedKind(kindRaw, line, errors) {
|
|
7750
|
+
const \u77E5\u3089\u305B = \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(kindRaw);
|
|
7751
|
+
if (\u77E5\u3089\u305B === void 0) return false;
|
|
7752
|
+
errors.push({ line, ...\u77E5\u3089\u305B });
|
|
7753
|
+
return true;
|
|
7754
|
+
}
|
|
7710
7755
|
var COLOR_KEYS = /* @__PURE__ */ new Set(["\u8272", "color", "tone"]);
|
|
7711
7756
|
var SCALE_KEYS = /* @__PURE__ */ new Set(["scale", "\u500D\u7387"]);
|
|
7712
7757
|
var SCALE_ORDER = ["scale", "\u500D\u7387"];
|
|
@@ -7756,9 +7801,10 @@ function applyContinuationLines(actor, rest, errors) {
|
|
|
7756
7801
|
case "\u7A2E\u985E": {
|
|
7757
7802
|
const k = stripQuotes(raw).toLowerCase();
|
|
7758
7803
|
reportV04Kind(k, ln.no, errors);
|
|
7759
|
-
const
|
|
7760
|
-
|
|
7761
|
-
out.
|
|
7804
|
+
const \u5916\u3057\u305F = reportRemovedKind(k, ln.no, errors);
|
|
7805
|
+
const isPart = k !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(k);
|
|
7806
|
+
out.kind = isPart || \u5916\u3057\u305F ? NODE_KIND_DEFAULT : resolveNodeKind(k);
|
|
7807
|
+
out.kindWritten = k !== "" && !isPart && !\u5916\u3057\u305F;
|
|
7762
7808
|
out.partId = isPart ? k : void 0;
|
|
7763
7809
|
break;
|
|
7764
7810
|
}
|
|
@@ -8576,7 +8622,8 @@ function parseActor2(line, errors) {
|
|
|
8576
8622
|
if (!namePart2) return null;
|
|
8577
8623
|
const opts = \u4E2D\u62EC\u5F27\u306E\u5225\u540D\u3092\u5BC4\u305B\u308B(parseInlineMapping(mapMatch.inner));
|
|
8578
8624
|
const kindRaw = (opts.kind ?? "").toLowerCase();
|
|
8579
|
-
const
|
|
8625
|
+
const \u5916\u3057\u305F = reportRemovedKind(kindRaw, line.no, errors);
|
|
8626
|
+
const isPart = kindRaw !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(kindRaw);
|
|
8580
8627
|
const inlineScale = resolveScale(writtenScaleFields(mapMatch.inner), line.no, errors);
|
|
8581
8628
|
reportScaleOnNonPart(isPart, inlineScale.keys[0], line.no, errors);
|
|
8582
8629
|
reportUnknownInlineKeys(isPart, mapMatch.inner, line.no, errors);
|
|
@@ -8622,7 +8669,7 @@ function parseActor2(line, errors) {
|
|
|
8622
8669
|
kind,
|
|
8623
8670
|
// parts 候補は `kind` を既定に倒して `partId` へ退避するため、 名札に載せる種類としては
|
|
8624
8671
|
// 「書かなかった」 と同じ扱いにする (#1058)
|
|
8625
|
-
kindWritten: kindRaw !== "" && !isPart,
|
|
8672
|
+
kindWritten: kindRaw !== "" && !isPart && !\u5916\u3057\u305F,
|
|
8626
8673
|
subtitle: opts.subtitle,
|
|
8627
8674
|
kindForm: \u9589\u3058\u305F\u7BB1\u306E\u5024("kindForm", KIND_FORM_VALUES),
|
|
8628
8675
|
icon: \u9589\u3058\u305F\u7BB1\u306E\u5024("icon", CDL_ICON_VALUES),
|
|
@@ -8693,7 +8740,8 @@ function parseActor2(line, errors) {
|
|
|
8693
8740
|
const rest = raw.slice(idx + 1).trim();
|
|
8694
8741
|
if (!namePart2) return null;
|
|
8695
8742
|
const v = classifyValues(splitValues(rest), line.no, errors);
|
|
8696
|
-
const
|
|
8743
|
+
const \u5916\u3057\u305F = reportRemovedKind(v.kind, line.no, errors);
|
|
8744
|
+
const isPart = v.kind !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(v.kind);
|
|
8697
8745
|
reportV04Kind(v.kind, line.no, errors);
|
|
8698
8746
|
reportScaleOnNonPart(isPart, v.scaleKeys?.[0], line.no, errors);
|
|
8699
8747
|
const kind = isPart ? NODE_KIND_DEFAULT : resolveNodeKind(NODE_KIND_VALID.has(v.kind) ? v.kind : "");
|
|
@@ -8702,7 +8750,7 @@ function parseActor2(line, errors) {
|
|
|
8702
8750
|
kind,
|
|
8703
8751
|
// parts 候補は `kind` を既定に倒して `partId` へ退避するため、 名札に載せる種類としては
|
|
8704
8752
|
// 「書かなかった」 と同じ扱いにする (#1058)
|
|
8705
|
-
kindWritten: v.kind !== "" && !isPart,
|
|
8753
|
+
kindWritten: v.kind !== "" && !isPart && !\u5916\u3057\u305F,
|
|
8706
8754
|
// parts では `tone` を状態の上書きとして扱うため、 色として渡さない
|
|
8707
8755
|
tone: isPart ? void 0 : v.tone,
|
|
8708
8756
|
subtitle: v.subtitle,
|
|
@@ -15279,7 +15327,12 @@ function \u5024\u3092\u691C\u67FB(v, \u578B, path, \u540D\u524D, errors) {
|
|
|
15279
15327
|
});
|
|
15280
15328
|
}
|
|
15281
15329
|
return;
|
|
15282
|
-
case "\u5FC5\u9808\u306E\u56F3\u7A2E":
|
|
15330
|
+
case "\u5FC5\u9808\u306E\u56F3\u7A2E": {
|
|
15331
|
+
const \u5916\u3057\u305F = typeof v === "string" ? \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(v) : void 0;
|
|
15332
|
+
if (\u5916\u3057\u305F !== void 0) {
|
|
15333
|
+
errors.push({ path, message: `${\u540D\u524D} "${String(v)}" was removed`, hint: \u5916\u3057\u305F.hint });
|
|
15334
|
+
return;
|
|
15335
|
+
}
|
|
15283
15336
|
if (typeof v !== "string" || !(VALID_PRESETS.includes(v) || VALID_ALIASES.includes(v))) {
|
|
15284
15337
|
errors.push({
|
|
15285
15338
|
path,
|
|
@@ -15288,6 +15341,7 @@ function \u5024\u3092\u691C\u67FB(v, \u578B, path, \u540D\u524D, errors) {
|
|
|
15288
15341
|
});
|
|
15289
15342
|
}
|
|
15290
15343
|
return;
|
|
15344
|
+
}
|
|
15291
15345
|
case "object":
|
|
15292
15346
|
case "\u4E26\u3073":
|
|
15293
15347
|
case "\u5FC5\u9808\u306E\u4E26\u3073":
|
|
@@ -15365,7 +15419,7 @@ function validateRelativeAnchors(actors, errors) {
|
|
|
15365
15419
|
}
|
|
15366
15420
|
function \u898B\u672C\u306E\u540D\u524D\u304B(kind) {
|
|
15367
15421
|
if (typeof kind !== "string" || kind.length === 0) return false;
|
|
15368
|
-
return kind !== "actor" && !VALID_KIND_SET.has(kind);
|
|
15422
|
+
return kind !== "actor" && !\u5916\u3057\u305F\u7A2E\u985E.has(kind) && !VALID_KIND_SET.has(kind);
|
|
15369
15423
|
}
|
|
15370
15424
|
function validateViewport(v, errors) {
|
|
15371
15425
|
if (v === void 0) return;
|
|
@@ -16550,6 +16604,10 @@ function validateJson(json) {
|
|
|
16550
16604
|
}
|
|
16551
16605
|
const ao = a;
|
|
16552
16606
|
checkUnknownKeys(ao, "actor", `$.actors[${i}]`, errors);
|
|
16607
|
+
const \u5916\u3057\u305F = typeof ao.kind === "string" ? \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(ao.kind) : void 0;
|
|
16608
|
+
if (\u5916\u3057\u305F !== void 0) {
|
|
16609
|
+
errors.push({ path: `$.actors[${i}].kind`, message: `kind "${String(ao.kind)}" was removed`, hint: \u5916\u3057\u305F.hint });
|
|
16610
|
+
}
|
|
16553
16611
|
\u8868\u3067\u691C\u67FB(ao, "actor", `$.actors[${i}]`, "actor", errors);
|
|
16554
16612
|
const actorEnum = (key, allowed) => {
|
|
16555
16613
|
const value = ao[key];
|
|
@@ -16903,15 +16961,16 @@ function jsonToDoc(json, \u884C\u306E\u8868) {
|
|
|
16903
16961
|
return { name: a, kind: "actor", kindWritten: false, pos: \u4F4D\u7F6E("actors", i) };
|
|
16904
16962
|
}
|
|
16905
16963
|
const kindStr = a.kind ?? "actor";
|
|
16906
|
-
const isPart =
|
|
16964
|
+
const isPart = \u898B\u672C\u306E\u540D\u524D\u304B(kindStr);
|
|
16965
|
+
const \u5916\u3057\u305F = \u5916\u3057\u305F\u7A2E\u985E.has(kindStr);
|
|
16907
16966
|
const \u8272 = a.color !== void 0 ? splitColorValue(a.color) : {};
|
|
16908
16967
|
const \u66F8\u3044\u305F\u5EA7\u6A19 = a.at ?? a.\u70B9\u306E\u4F4D\u7F6E;
|
|
16909
16968
|
return {
|
|
16910
16969
|
name: a.name,
|
|
16911
|
-
kind: isPart ? "actor" : resolveNodeKind(kindStr),
|
|
16970
|
+
kind: isPart || \u5916\u3057\u305F ? "actor" : resolveNodeKind(kindStr),
|
|
16912
16971
|
// parts 候補は `kind` を `actor` に倒して `partId` へ退避するため、 名札に載せる種類としては
|
|
16913
16972
|
// 「書かなかった」 と同じ扱いにする (#1058)
|
|
16914
|
-
kindWritten: a.kind !== void 0 && !isPart,
|
|
16973
|
+
kindWritten: a.kind !== void 0 && !isPart && !\u5916\u3057\u305F,
|
|
16915
16974
|
subtitle: a.subtitle,
|
|
16916
16975
|
kindForm: isPart ? void 0 : a.kindForm,
|
|
16917
16976
|
icon: isPart ? void 0 : a.icon,
|
|
@@ -17174,7 +17233,6 @@ function jsonToDoc(json, \u884C\u306E\u8868) {
|
|
|
17174
17233
|
...json.ganttSize !== void 0 ? { ganttSize: json.ganttSize } : {},
|
|
17175
17234
|
...json.quadrantLabelPosition !== void 0 ? { quadrantLabelPosition: json.quadrantLabelPosition } : {},
|
|
17176
17235
|
...json.quadrantSize !== void 0 ? { quadrantSize: json.quadrantSize } : {},
|
|
17177
|
-
...\u5225\u540D?.order !== void 0 ? { order: \u5225\u540D.order, orderPos: \u4F4D\u7F6E("type") } : {},
|
|
17178
17236
|
...\u5225\u540D?.shape !== void 0 ? { shape: \u5225\u540D.shape, shapePos: \u4F4D\u7F6E("type") } : {},
|
|
17179
17237
|
// 前後の空白を落としてから見る。 記法側 (`v05/parser.ts`) が `trim()` してから
|
|
17180
17238
|
// 空かどうかを判定するため、 揃えないと **空白だけの値で入口ごとに図が変わる**
|
|
@@ -17292,7 +17350,6 @@ var diagram_default = {
|
|
|
17292
17350
|
"swimlane",
|
|
17293
17351
|
"record",
|
|
17294
17352
|
"topology",
|
|
17295
|
-
"solidity",
|
|
17296
17353
|
"gantt",
|
|
17297
17354
|
"chart",
|
|
17298
17355
|
"pie",
|
|
@@ -17311,7 +17368,7 @@ var diagram_default = {
|
|
|
17311
17368
|
"c4",
|
|
17312
17369
|
"mind"
|
|
17313
17370
|
],
|
|
17314
|
-
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]
|
|
17371
|
+
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'
|
|
17315
17372
|
},
|
|
17316
17373
|
form: {
|
|
17317
17374
|
type: "string",
|
|
@@ -17673,7 +17730,7 @@ var diagram_default = {
|
|
|
17673
17730
|
},
|
|
17674
17731
|
kind: {
|
|
17675
17732
|
type: "string",
|
|
17676
|
-
description: "node kind\u3002 shape-* \u3092\u6307\u5B9A\
|
|
17733
|
+
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"
|
|
17677
17734
|
},
|
|
17678
17735
|
subtitle: {
|
|
17679
17736
|
type: "string",
|