@zombie-mermaid/ascii-renderer 2.2.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.
Files changed (232) hide show
  1. package/LICENSE +22 -0
  2. package/dist/index.cjs +8 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +146 -0
  5. package/dist/index.d.ts +146 -0
  6. package/dist/index.js +5392 -0
  7. package/dist/index.js.map +1 -0
  8. package/package.json +36 -0
  9. package/src/__tests__/ascii-arrowhead-direction-1083.test.ts +51 -0
  10. package/src/__tests__/ascii-canvas-first-claim-wins-1093.test.ts +89 -0
  11. package/src/__tests__/ascii-canvas-size-offset-1093.test.ts +95 -0
  12. package/src/__tests__/ascii-canvas-write.test.ts +132 -0
  13. package/src/__tests__/ascii-chain-edge-overlap-1067.test.ts +100 -0
  14. package/src/__tests__/ascii-charset-border-junctions.test.ts +63 -0
  15. package/src/__tests__/ascii-cjk-width.test.ts +150 -0
  16. package/src/__tests__/ascii-class-box-occupancy.test.ts +462 -0
  17. package/src/__tests__/ascii-class-column-width-488-489.test.ts +639 -0
  18. package/src/__tests__/ascii-class-cross-level-jog-corruption.test.ts +187 -0
  19. package/src/__tests__/ascii-class-detour-label-routing-487.test.ts +114 -0
  20. package/src/__tests__/ascii-class-diagram-compartments.test.ts +70 -0
  21. package/src/__tests__/ascii-class-label-box-collision.test.ts +60 -0
  22. package/src/__tests__/ascii-class-label-row-collision-531.test.ts +135 -0
  23. package/src/__tests__/ascii-class-label-territory-row-awareness.test.ts +57 -0
  24. package/src/__tests__/ascii-class-padding.test.ts +104 -0
  25. package/src/__tests__/ascii-class-parent-alignment-971.test.ts +139 -0
  26. package/src/__tests__/ascii-class-parent-alignment-972.test.ts +208 -0
  27. package/src/__tests__/ascii-class-reciprocal-relationships-448.test.ts +169 -0
  28. package/src/__tests__/ascii-combining-mark-width.test.ts +70 -0
  29. package/src/__tests__/ascii-coords-overlay.test.ts +64 -0
  30. package/src/__tests__/ascii-decision-lr-box-start.test.ts +106 -0
  31. package/src/__tests__/ascii-display-width-unit.test.ts +154 -0
  32. package/src/__tests__/ascii-draw-arrows-coverage.test.ts +224 -0
  33. package/src/__tests__/ascii-draw-arrows-single-point-path.test.ts +105 -0
  34. package/src/__tests__/ascii-edge-bundling-rank-violation-454.test.ts +72 -0
  35. package/src/__tests__/ascii-edge-ending-glyphs.test.ts +206 -0
  36. package/src/__tests__/ascii-edge-label-diagonal-fallback-418.test.ts +95 -0
  37. package/src/__tests__/ascii-edge-routing-fixes.test.ts +178 -0
  38. package/src/__tests__/ascii-edge-routing-single-point-path.test.ts +103 -0
  39. package/src/__tests__/ascii-edge-style-consistency-1067.test.ts +89 -0
  40. package/src/__tests__/ascii-edge-styles.test.ts +149 -0
  41. package/src/__tests__/ascii-emoji-cluster-width.test.ts +101 -0
  42. package/src/__tests__/ascii-er-box-occupancy.test.ts +251 -0
  43. package/src/__tests__/ascii-er-cardinality.test.ts +40 -0
  44. package/src/__tests__/ascii-er-corner-glyphs.test.ts +249 -0
  45. package/src/__tests__/ascii-er-jog-stray-line.test.ts +111 -0
  46. package/src/__tests__/ascii-er-label-padding.test.ts +118 -0
  47. package/src/__tests__/ascii-er-padding.test.ts +114 -0
  48. package/src/__tests__/ascii-er-relationship-label-corruption-350.test.ts +458 -0
  49. package/src/__tests__/ascii-er-relationship-overwrite.test.ts +325 -0
  50. package/src/__tests__/ascii-er-stray-connectors.test.ts +344 -0
  51. package/src/__tests__/ascii-er-unrelated-stem-separation-411.test.ts +98 -0
  52. package/src/__tests__/ascii-er-vertical-one-marker.test.ts +110 -0
  53. package/src/__tests__/ascii-label-line-terminal-fallback.test.ts +168 -0
  54. package/src/__tests__/ascii-lane-search.test.ts +207 -0
  55. package/src/__tests__/ascii-multibox-cjk-width.test.ts +184 -0
  56. package/src/__tests__/ascii-multiline.test.ts +288 -0
  57. package/src/__tests__/ascii-padding-edge-cases.test.ts +154 -0
  58. package/src/__tests__/ascii-pathfinder-route-edge.test.ts +184 -0
  59. package/src/__tests__/ascii-sequence-alt-else-label.test.ts +236 -0
  60. package/src/__tests__/ascii-sequence-block-wall-clearance.test.ts +217 -0
  61. package/src/__tests__/ascii-sequence-box-group.test.ts +159 -0
  62. package/src/__tests__/ascii-sequence-cjk-width.test.ts +235 -0
  63. package/src/__tests__/ascii-sequence-create-destroy.test.ts +114 -0
  64. package/src/__tests__/ascii-sequence-form-invariants.test.ts +432 -0
  65. package/src/__tests__/ascii-sequence-mermaid-parity.test.ts +219 -0
  66. package/src/__tests__/ascii-sequence-notes.test.ts +61 -0
  67. package/src/__tests__/ascii-sequence-padding.test.ts +119 -0
  68. package/src/__tests__/ascii-sequence-self-arrow.test.ts +206 -0
  69. package/src/__tests__/ascii-shape-diamond.test.ts +38 -0
  70. package/src/__tests__/ascii-shape-rectangle.test.ts +258 -0
  71. package/src/__tests__/ascii-shape-rounded.test.ts +36 -0
  72. package/src/__tests__/ascii-shapes-circle.test.ts +41 -0
  73. package/src/__tests__/ascii-shapes-hexagon.test.ts +42 -0
  74. package/src/__tests__/ascii-shapes-special.test.ts +344 -0
  75. package/src/__tests__/ascii-shapes-stadium.test.ts +217 -0
  76. package/src/__tests__/ascii-shapes-state.test.ts +224 -0
  77. package/src/__tests__/ascii-state-bidirectional-label-swap-530.test.ts +130 -0
  78. package/src/__tests__/ascii-subgraph-direction-honored-445.test.ts +90 -0
  79. package/src/__tests__/ascii-subgraph-label-border-clip.test.ts +152 -0
  80. package/src/__tests__/ascii-subgraph-title-padding.test.ts +77 -0
  81. package/src/__tests__/ascii-territory-unit.test.ts +219 -0
  82. package/src/__tests__/ascii-validate.test.ts +220 -0
  83. package/src/__tests__/ascii.test.ts +325 -0
  84. package/src/__tests__/class-arrow-directions.test.ts +505 -0
  85. package/src/__tests__/draw-lines.test.ts +93 -0
  86. package/src/__tests__/edge-cell-styles.test.ts +278 -0
  87. package/src/__tests__/grid-occupancy.test.ts +240 -0
  88. package/src/__tests__/helpers/ascii-form.ts +142 -0
  89. package/src/__tests__/helpers/terminal-display-width.ts +74 -0
  90. package/src/__tests__/pathfinder.test.ts +239 -0
  91. package/src/__tests__/testdata/ascii/ampersand_lhs.txt +18 -0
  92. package/src/__tests__/testdata/ascii/ampersand_lhs_and_rhs.txt +18 -0
  93. package/src/__tests__/testdata/ascii/ampersand_rhs.txt +18 -0
  94. package/src/__tests__/testdata/ascii/ampersand_td_fanin.txt +18 -0
  95. package/src/__tests__/testdata/ascii/ampersand_td_fanout.txt +18 -0
  96. package/src/__tests__/testdata/ascii/ampersand_without_edge.txt +18 -0
  97. package/src/__tests__/testdata/ascii/back_reference_from_child.txt +10 -0
  98. package/src/__tests__/testdata/ascii/backlink_from_bottom.txt +22 -0
  99. package/src/__tests__/testdata/ascii/backlink_from_top.txt +22 -0
  100. package/src/__tests__/testdata/ascii/backlink_with_short_y_padding.txt +20 -0
  101. package/src/__tests__/testdata/ascii/cls_all_relationships.txt +19 -0
  102. package/src/__tests__/testdata/ascii/cls_annotation.txt +29 -0
  103. package/src/__tests__/testdata/ascii/cls_association.txt +14 -0
  104. package/src/__tests__/testdata/ascii/cls_basic.txt +15 -0
  105. package/src/__tests__/testdata/ascii/cls_dependency.txt +14 -0
  106. package/src/__tests__/testdata/ascii/cls_inheritance.txt +20 -0
  107. package/src/__tests__/testdata/ascii/cls_methods.txt +21 -0
  108. package/src/__tests__/testdata/ascii/comments.txt +23 -0
  109. package/src/__tests__/testdata/ascii/custom_padding.txt +10 -0
  110. package/src/__tests__/testdata/ascii/duplicate_labels.txt +19 -0
  111. package/src/__tests__/testdata/ascii/er_attributes.txt +21 -0
  112. package/src/__tests__/testdata/ascii/er_basic.txt +8 -0
  113. package/src/__tests__/testdata/ascii/er_identifying.txt +18 -0
  114. package/src/__tests__/testdata/ascii/flowchart_tb_simple.txt +29 -0
  115. package/src/__tests__/testdata/ascii/graph_bt_direction.txt +28 -0
  116. package/src/__tests__/testdata/ascii/graph_tb_direction.txt +26 -0
  117. package/src/__tests__/testdata/ascii/nested_subgraphs_with_labels.txt +36 -0
  118. package/src/__tests__/testdata/ascii/preserve_order_of_definition.txt +23 -0
  119. package/src/__tests__/testdata/ascii/self_reference.txt +10 -0
  120. package/src/__tests__/testdata/ascii/self_reference_with_edge.txt +10 -0
  121. package/src/__tests__/testdata/ascii/seq_basic.txt +17 -0
  122. package/src/__tests__/testdata/ascii/seq_multiple_messages.txt +25 -0
  123. package/src/__tests__/testdata/ascii/seq_self_message.txt +18 -0
  124. package/src/__tests__/testdata/ascii/single_node.txt +8 -0
  125. package/src/__tests__/testdata/ascii/single_node_longer_name.txt +8 -0
  126. package/src/__tests__/testdata/ascii/subgraph_complex_mixed.txt +38 -0
  127. package/src/__tests__/testdata/ascii/subgraph_complex_nested.txt +49 -0
  128. package/src/__tests__/testdata/ascii/subgraph_direction_override.txt +47 -0
  129. package/src/__tests__/testdata/ascii/subgraph_empty.txt +10 -0
  130. package/src/__tests__/testdata/ascii/subgraph_mixed_nodes.txt +20 -0
  131. package/src/__tests__/testdata/ascii/subgraph_mixed_nodes_td.txt +48 -0
  132. package/src/__tests__/testdata/ascii/subgraph_multiple_edges.txt +32 -0
  133. package/src/__tests__/testdata/ascii/subgraph_multiple_nodes.txt +16 -0
  134. package/src/__tests__/testdata/ascii/subgraph_nested.txt +24 -0
  135. package/src/__tests__/testdata/ascii/subgraph_nested_with_external.txt +30 -0
  136. package/src/__tests__/testdata/ascii/subgraph_node_outside_lr.txt +17 -0
  137. package/src/__tests__/testdata/ascii/subgraph_single_node.txt +16 -0
  138. package/src/__tests__/testdata/ascii/subgraph_td_direction.txt +26 -0
  139. package/src/__tests__/testdata/ascii/subgraph_td_multiple.txt +44 -0
  140. package/src/__tests__/testdata/ascii/subgraph_td_multiple_paddingy.txt +42 -0
  141. package/src/__tests__/testdata/ascii/subgraph_three_levels_nested.txt +32 -0
  142. package/src/__tests__/testdata/ascii/subgraph_three_separate.txt +24 -0
  143. package/src/__tests__/testdata/ascii/subgraph_two_separate.txt +20 -0
  144. package/src/__tests__/testdata/ascii/subgraph_with_labels.txt +20 -0
  145. package/src/__tests__/testdata/ascii/three_nodes.txt +9 -0
  146. package/src/__tests__/testdata/ascii/three_nodes_single_line.txt +8 -0
  147. package/src/__tests__/testdata/ascii/two_layer_single_graph.txt +19 -0
  148. package/src/__tests__/testdata/ascii/two_layer_single_graph_longer_names.txt +19 -0
  149. package/src/__tests__/testdata/ascii/two_nodes_linked.txt +8 -0
  150. package/src/__tests__/testdata/ascii/two_nodes_longer_names.txt +8 -0
  151. package/src/__tests__/testdata/ascii/two_root_nodes.txt +19 -0
  152. package/src/__tests__/testdata/ascii/two_root_nodes_longer_names.txt +19 -0
  153. package/src/__tests__/testdata/ascii/two_single_root_nodes.txt +19 -0
  154. package/src/__tests__/testdata/unicode/ampersand_lhs.txt +18 -0
  155. package/src/__tests__/testdata/unicode/ampersand_lhs_and_rhs.txt +18 -0
  156. package/src/__tests__/testdata/unicode/ampersand_rhs.txt +18 -0
  157. package/src/__tests__/testdata/unicode/ampersand_without_edge.txt +18 -0
  158. package/src/__tests__/testdata/unicode/back_reference_from_child.txt +10 -0
  159. package/src/__tests__/testdata/unicode/backlink_from_bottom.txt +22 -0
  160. package/src/__tests__/testdata/unicode/backlink_from_top.txt +22 -0
  161. package/src/__tests__/testdata/unicode/cls_all_relationships.txt +19 -0
  162. package/src/__tests__/testdata/unicode/cls_annotation.txt +29 -0
  163. package/src/__tests__/testdata/unicode/cls_association.txt +14 -0
  164. package/src/__tests__/testdata/unicode/cls_basic.txt +15 -0
  165. package/src/__tests__/testdata/unicode/cls_dependency.txt +14 -0
  166. package/src/__tests__/testdata/unicode/cls_inheritance.txt +20 -0
  167. package/src/__tests__/testdata/unicode/cls_methods.txt +21 -0
  168. package/src/__tests__/testdata/unicode/comments.txt +23 -0
  169. package/src/__tests__/testdata/unicode/duplicate_labels.txt +19 -0
  170. package/src/__tests__/testdata/unicode/er_attributes.txt +21 -0
  171. package/src/__tests__/testdata/unicode/er_basic.txt +8 -0
  172. package/src/__tests__/testdata/unicode/er_identifying.txt +18 -0
  173. package/src/__tests__/testdata/unicode/graph_bt_direction.txt +28 -0
  174. package/src/__tests__/testdata/unicode/preserve_order_of_definition.txt +23 -0
  175. package/src/__tests__/testdata/unicode/self_reference.txt +10 -0
  176. package/src/__tests__/testdata/unicode/self_reference_with_edge.txt +10 -0
  177. package/src/__tests__/testdata/unicode/seq_basic.txt +17 -0
  178. package/src/__tests__/testdata/unicode/seq_multiple_messages.txt +25 -0
  179. package/src/__tests__/testdata/unicode/seq_self_message.txt +18 -0
  180. package/src/__tests__/testdata/unicode/single_node.txt +8 -0
  181. package/src/__tests__/testdata/unicode/single_node_longer_name.txt +8 -0
  182. package/src/__tests__/testdata/unicode/three_nodes.txt +9 -0
  183. package/src/__tests__/testdata/unicode/three_nodes_single_line.txt +8 -0
  184. package/src/__tests__/testdata/unicode/two_layer_single_graph.txt +19 -0
  185. package/src/__tests__/testdata/unicode/two_layer_single_graph_longer_names.txt +19 -0
  186. package/src/__tests__/testdata/unicode/two_nodes_linked.txt +8 -0
  187. package/src/__tests__/testdata/unicode/two_nodes_longer_names.txt +8 -0
  188. package/src/__tests__/testdata/unicode/two_root_nodes.txt +19 -0
  189. package/src/__tests__/testdata/unicode/two_root_nodes_longer_names.txt +19 -0
  190. package/src/__tests__/testdata/unicode/two_single_root_nodes.txt +19 -0
  191. package/src/__tests__/xychart-ascii.test.ts +376 -0
  192. package/src/ansi.ts +490 -0
  193. package/src/canvas.ts +757 -0
  194. package/src/class-diagram.ts +2001 -0
  195. package/src/converter.ts +446 -0
  196. package/src/coords.ts +58 -0
  197. package/src/display-width.ts +151 -0
  198. package/src/draw-arrows.ts +593 -0
  199. package/src/draw-boxes.ts +267 -0
  200. package/src/draw-bundles.ts +611 -0
  201. package/src/draw-lines.ts +174 -0
  202. package/src/draw-subgraphs.ts +108 -0
  203. package/src/draw.ts +350 -0
  204. package/src/edge-bundling.ts +435 -0
  205. package/src/edge-cell-styles.ts +209 -0
  206. package/src/edge-routing.ts +1070 -0
  207. package/src/er-diagram.ts +1488 -0
  208. package/src/flowchart.ts +94 -0
  209. package/src/grid-occupancy.ts +234 -0
  210. package/src/grid.ts +1309 -0
  211. package/src/hyperlinks.ts +248 -0
  212. package/src/index.ts +163 -0
  213. package/src/lane-search.ts +68 -0
  214. package/src/multiline-utils.ts +82 -0
  215. package/src/pathfinder.ts +448 -0
  216. package/src/registry.ts +88 -0
  217. package/src/sequence.ts +1318 -0
  218. package/src/shapes/circle.ts +31 -0
  219. package/src/shapes/corners.ts +273 -0
  220. package/src/shapes/diamond.ts +31 -0
  221. package/src/shapes/hexagon.ts +35 -0
  222. package/src/shapes/index.ts +123 -0
  223. package/src/shapes/rectangle.ts +199 -0
  224. package/src/shapes/rounded.ts +31 -0
  225. package/src/shapes/special.ts +360 -0
  226. package/src/shapes/stadium.ts +122 -0
  227. package/src/shapes/state.ts +204 -0
  228. package/src/shapes/types.ts +78 -0
  229. package/src/territory.ts +136 -0
  230. package/src/types.ts +454 -0
  231. package/src/validate.ts +189 -0
  232. package/src/xychart.ts +1085 -0
@@ -0,0 +1,26 @@
1
+ graph TD
2
+ subgraph one
3
+ A --> B
4
+ end
5
+ ---
6
+ +-------+
7
+ | one |
8
+ | |
9
+ | |
10
+ | +---+ |
11
+ | | | |
12
+ | | A | |
13
+ | | | |
14
+ | +-+-+ |
15
+ | | |
16
+ | | |
17
+ | | |
18
+ | | |
19
+ | v |
20
+ | +---+ |
21
+ | | | |
22
+ | | B | |
23
+ | | | |
24
+ | +---+ |
25
+ | |
26
+ +-------+
@@ -0,0 +1,44 @@
1
+ graph TD
2
+ subgraph Frontend
3
+ UI --> API
4
+ end
5
+ subgraph Backend
6
+ API --> Database
7
+ API --> Cache
8
+ end
9
+ ---
10
+ +--------------+
11
+ | Frontend |
12
+ | |
13
+ | |
14
+ | +----------+ |
15
+ | | | |
16
+ | | UI | |
17
+ | | | |
18
+ | +-----+----+ |
19
+ | | |
20
+ | | |
21
+ | | |
22
+ | | |
23
+ | v |
24
+ | +----------+ |
25
+ | | | |
26
+ | | API +---------+
27
+ | | | | |
28
+ | +-----+----+ | |
29
+ | | | |
30
+ +-------|------+ |
31
+ | |
32
+ | |
33
+ | |
34
+ +-------|--------------|-----+
35
+ | | Backend | |
36
+ | | | |
37
+ | v v |
38
+ | +----------+ +-------+ |
39
+ | | | | | |
40
+ | | Database | | Cache | |
41
+ | | | | | |
42
+ | +----------+ +-------+ |
43
+ | |
44
+ +----------------------------+
@@ -0,0 +1,42 @@
1
+ paddingX=3
2
+ paddingY=3
3
+ graph TD
4
+ subgraph Frontend
5
+ UI --> API
6
+ end
7
+ subgraph Backend
8
+ API --> Database
9
+ API --> Cache
10
+ end
11
+ ---
12
+ +--------------+
13
+ | Frontend |
14
+ | |
15
+ | |
16
+ | +----------+ |
17
+ | | | |
18
+ | | UI | |
19
+ | | | |
20
+ | +-----+----+ |
21
+ | | |
22
+ | | |
23
+ | v |
24
+ | +----------+ |
25
+ | | | |
26
+ | | API +-------+
27
+ | | | | |
28
+ | +-----+----+ | |
29
+ | | | |
30
+ +-------|------+ |
31
+ | |
32
+ +-------|------------|-----+
33
+ | | Backend | |
34
+ | | | |
35
+ | v v |
36
+ | +----------+ +-------+ |
37
+ | | | | | |
38
+ | | Database | | Cache | |
39
+ | | | | | |
40
+ | +----------+ +-------+ |
41
+ | |
42
+ +--------------------------+
@@ -0,0 +1,32 @@
1
+ graph LR
2
+ subgraph level1
3
+ subgraph level2
4
+ subgraph level3
5
+ A
6
+ end
7
+ end
8
+ end
9
+ ---
10
+ +---------------+
11
+ | level1 |
12
+ | |
13
+ | |
14
+ | +-----------+ |
15
+ | | level2 | |
16
+ | | | |
17
+ | | | |
18
+ | | +-------+ | |
19
+ | | | level3| | |
20
+ | | | | | |
21
+ | | | | | |
22
+ | | | +---+ | | |
23
+ | | | | | | | |
24
+ | | | | A | | | |
25
+ | | | | | | | |
26
+ | | | +---+ | | |
27
+ | | | | | |
28
+ | | +-------+ | |
29
+ | | | |
30
+ | +-----------+ |
31
+ | |
32
+ +---------------+
@@ -0,0 +1,24 @@
1
+ graph LR
2
+ subgraph Frontend
3
+ UI
4
+ end
5
+ subgraph Backend
6
+ API
7
+ end
8
+ subgraph Database
9
+ DB
10
+ end
11
+ UI --> API
12
+ API --> DB
13
+ ---
14
+ +--------+ +---------+ +--------+
15
+ |Frontend| | Backend | |Database|
16
+ | | | | | |
17
+ | | | | | |
18
+ | +----+ | | +-----+ | | +----+ |
19
+ | | | | | | | | | | | |
20
+ | | UI +---->| API +---->| DB | |
21
+ | | | | | | | | | | | |
22
+ | +----+ | | +-----+ | | +----+ |
23
+ | | | | | |
24
+ +--------+ +---------+ +--------+
@@ -0,0 +1,20 @@
1
+ graph LR
2
+ subgraph one
3
+ A
4
+ end
5
+ subgraph two
6
+ B
7
+ end
8
+ A --> B
9
+ ---
10
+ +-------+ +-------+
11
+ | one | | two |
12
+ | | | |
13
+ | | | |
14
+ | +---+ | | +---+ |
15
+ | | | | | | | |
16
+ | | A +---->| B | |
17
+ | | | | | | | |
18
+ | +---+ | | +---+ |
19
+ | | | |
20
+ +-------+ +-------+
@@ -0,0 +1,20 @@
1
+ graph LR
2
+ subgraph one
3
+ A -->|sends| B
4
+ end
5
+ subgraph two
6
+ C -->|receives| D
7
+ end
8
+ B -->|data| C
9
+ ---
10
+ +-------------------+ +----------------------+
11
+ | one | | two |
12
+ | | | |
13
+ | | | |
14
+ | +---+ +---+ | | +---+ +---+ |
15
+ | | | | | | | | | | | |
16
+ | | A +-sends>| B +data->| C +receives->| D | |
17
+ | | | | | | | | | | | |
18
+ | +---+ +---+ | | +---+ +---+ |
19
+ | | | |
20
+ +-------------------+ +----------------------+
@@ -0,0 +1,9 @@
1
+ graph LR
2
+ A --> B
3
+ B --> C
4
+ ---
5
+ +---+ +---+ +---+
6
+ | | | | | |
7
+ | A +---->| B +---->| C |
8
+ | | | | | |
9
+ +---+ +---+ +---+
@@ -0,0 +1,8 @@
1
+ graph LR
2
+ A --> B --> C
3
+ ---
4
+ +---+ +---+ +---+
5
+ | | | | | |
6
+ | A +---->| B +---->| C |
7
+ | | | | | |
8
+ +---+ +---+ +---+
@@ -0,0 +1,19 @@
1
+ graph LR
2
+ A --> B
3
+ A --> C
4
+ ---
5
+ +---+ +---+
6
+ | | | |
7
+ | A +---->| B |
8
+ | | | |
9
+ +-+-+ +---+
10
+ |
11
+ |
12
+ |
13
+ |
14
+ |
15
+ | +---+
16
+ | | |
17
+ +------>| C |
18
+ | |
19
+ +---+
@@ -0,0 +1,19 @@
1
+ graph LR
2
+ ABC --> BCDEFG
3
+ ABC --> CDEFGHI
4
+ ---
5
+ +-----+ +---------+
6
+ | | | |
7
+ | ABC +---->| BCDEFG |
8
+ | | | |
9
+ +--+--+ +---------+
10
+ |
11
+ |
12
+ |
13
+ |
14
+ |
15
+ | +---------+
16
+ | | |
17
+ +------->| CDEFGHI |
18
+ | |
19
+ +---------+
@@ -0,0 +1,8 @@
1
+ graph LR
2
+ A --> B
3
+ ---
4
+ +---+ +---+
5
+ | | | |
6
+ | A +---->| B |
7
+ | | | |
8
+ +---+ +---+
@@ -0,0 +1,8 @@
1
+ graph LR
2
+ LongerName1 --> LongerName2
3
+ ---
4
+ +-------------+ +-------------+
5
+ | | | |
6
+ | LongerName1 +---->| LongerName2 |
7
+ | | | |
8
+ +-------------+ +-------------+
@@ -0,0 +1,19 @@
1
+ graph LR
2
+ A --> B
3
+ C --> D
4
+ ---
5
+ +---+ +---+
6
+ | | | |
7
+ | A +---->| B |
8
+ | | | |
9
+ +---+ +---+
10
+
11
+
12
+
13
+
14
+
15
+ +---+ +---+
16
+ | | | |
17
+ | C +---->| D |
18
+ | | | |
19
+ +---+ +---+
@@ -0,0 +1,19 @@
1
+ graph LR
2
+ ABC --> BCDEFG
3
+ CDEFGH --> DEF
4
+ ---
5
+ +--------+ +--------+
6
+ | | | |
7
+ | ABC +---->| BCDEFG |
8
+ | | | |
9
+ +--------+ +--------+
10
+
11
+
12
+
13
+
14
+
15
+ +--------+ +--------+
16
+ | | | |
17
+ | CDEFGH +---->| DEF |
18
+ | | | |
19
+ +--------+ +--------+
@@ -0,0 +1,19 @@
1
+ graph LR
2
+ A
3
+ B
4
+ ---
5
+ +---+
6
+ | |
7
+ | A |
8
+ | |
9
+ +---+
10
+
11
+
12
+
13
+
14
+
15
+ +---+
16
+ | |
17
+ | B |
18
+ | |
19
+ +---+
@@ -0,0 +1,18 @@
1
+ graph LR
2
+ A --> B & C
3
+ ---
4
+ ┌───┐ ┌───┐
5
+ │ │ │ │
6
+ │ A ├────►│ B │
7
+ │ │ │ │
8
+ └─┬─┘ └───┘
9
+ │
10
+ │
11
+ │
12
+ │
13
+ │
14
+ │ ┌───┐
15
+ │ │ │
16
+ └──────►│ C │
17
+ │ │
18
+ └───┘
@@ -0,0 +1,18 @@
1
+ graph LR
2
+ A & B --> C & D
3
+ ---
4
+ ┌───┐ ┌───┐
5
+ │ │ │ │
6
+ │ A ├──┬─►│ C │
7
+ │ │ │ │ │
8
+ └─┬─┘ │ └───┘
9
+ │ │
10
+ │ │
11
+ ├────┤
12
+ │ │
13
+ │ │
14
+ ┌─┴─┐ │ ┌───┐
15
+ │ │ │ │ │
16
+ │ B ├──┴─►│ D │
17
+ │ │ │ │
18
+ └───┘ └───┘
@@ -0,0 +1,18 @@
1
+ graph LR
2
+ A & B --> C
3
+ ---
4
+ ┌───┐ ┌───┐
5
+ │ │ │ │
6
+ │ A ├────►│ C │
7
+ │ │ │ │
8
+ └───┘ └───┘
9
+ ▲
10
+ │
11
+ │
12
+ │
13
+ │
14
+ ┌───┐ │
15
+ │ │ │
16
+ │ B ├───────┘
17
+ │ │
18
+ └───┘
@@ -0,0 +1,18 @@
1
+ graph LR
2
+ A & B
3
+ ---
4
+ ┌───┐
5
+ │ │
6
+ │ A │
7
+ │ │
8
+ └───┘
9
+
10
+
11
+
12
+
13
+
14
+ ┌───┐
15
+ │ │
16
+ │ B │
17
+ │ │
18
+ └───┘
@@ -0,0 +1,10 @@
1
+ graph LR
2
+ A --> B --> C --> A
3
+ ---
4
+ ┌───┐ ┌───┐ ┌───┐
5
+ │ │ │ │ │ │
6
+ │ A ├────►│ B ├────►│ C │
7
+ │ │ │ │ │ │
8
+ └───┘ └───┘ └─┬─┘
9
+ ▲ │
10
+ └───────────────────┘
@@ -0,0 +1,22 @@
1
+ graph LR
2
+ A --> B
3
+ B --> C
4
+ A --> C
5
+ B --> D
6
+ C --> D
7
+ ---
8
+ ┌───┐ ┌───┐ ┌───┐
9
+ │ │ │ │ │ │
10
+ │ A ├────►│ B ├────►│ D │
11
+ │ │ │ │ │ │
12
+ └─┬─┘ └─┬─┘ └───┘
13
+ │ │ ▲
14
+ │ │ │
15
+ │ │ │
16
+ │ │ │
17
+ │ ▼ │
18
+ │ ┌───┐ │
19
+ │ │ │ │
20
+ └──────►│ C ├───────┘
21
+ │ │
22
+ └───┘
@@ -0,0 +1,22 @@
1
+ graph LR
2
+ A --> B
3
+ B --> C
4
+ A --> C
5
+ B --> D
6
+ D --> C
7
+ ---
8
+ ┌───┐ ┌───┐ ┌───┐
9
+ │ │ │ │ │ │
10
+ │ A ├────►│ B ├──┬─►┤ D │
11
+ │ │ │ │ │ │ │
12
+ └─┬─┘ └─┬─┘ │ └───┘
13
+ │ │ │
14
+ │ │ │
15
+ │ ├────┘
16
+ │ │
17
+ │ ▼
18
+ │ ┌───┐
19
+ │ │ │
20
+ └──────►│ C │
21
+ │ │
22
+ └───┘
@@ -0,0 +1,19 @@
1
+ classDiagram
2
+ A <|-- B : inherits
3
+ C *-- D : owns
4
+ E o-- F : has
5
+ G --> H : uses
6
+ I ..> J : depends
7
+ K ..|> L : implements
8
+ ---
9
+ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐
10
+ │ A │ │ C │ │ E │ │ G │ │ I │ │ K │
11
+ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘
12
+ △ ◆ ◇ │ ┊ ┊
13
+ inherits owns has uses depends implements
14
+ │ │ │ ▼ ▼ ▽
15
+ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐
16
+ │ B │ │ D │ │ F │ │ H │ │ J │ │ L │
17
+ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘
18
+
19
+
@@ -0,0 +1,29 @@
1
+ classDiagram
2
+ class Shape {
3
+ <<abstract>>
4
+ +draw() void
5
+ }
6
+ class Circle {
7
+ +radius int
8
+ +draw() void
9
+ }
10
+ Shape <|-- Circle
11
+ ---
12
+ ┌────────────────┐
13
+ │ <<abstract>> │
14
+ │ Shape │
15
+ ├────────────────┤
16
+ │ + draw(): void │
17
+ └────────────────┘
18
+ △
19
+ │
20
+ │
21
+ ┌────────────────┐
22
+ │ Circle │
23
+ ├────────────────┤
24
+ │ + int: radius │
25
+ ├────────────────┤
26
+ │ + draw(): void │
27
+ └────────────────┘
28
+
29
+
@@ -0,0 +1,14 @@
1
+ classDiagram
2
+ Student --> Course : enrolls
3
+ ---
4
+ ┌─────────┐
5
+ │ Student │
6
+ └─────────┘
7
+ │
8
+ enrolls
9
+ ▼
10
+ ┌────────┐
11
+ │ Course │
12
+ └────────┘
13
+
14
+
@@ -0,0 +1,15 @@
1
+ classDiagram
2
+ class Animal {
3
+ +String name
4
+ +eat() void
5
+ }
6
+ ---
7
+ ┌────────────────┐
8
+ │ Animal │
9
+ ├────────────────┤
10
+ │ + name: String │
11
+ ├────────────────┤
12
+ │ + eat(): void │
13
+ └────────────────┘
14
+
15
+
@@ -0,0 +1,14 @@
1
+ classDiagram
2
+ Client ..> Server : uses
3
+ ---
4
+ ┌────────┐
5
+ │ Client │
6
+ └────────┘
7
+ ┊
8
+ uses
9
+ ▼
10
+ ┌────────┐
11
+ │ Server │
12
+ └────────┘
13
+
14
+
@@ -0,0 +1,20 @@
1
+ classDiagram
2
+ Animal <|-- Dog
3
+ Animal : +String name
4
+ Dog : +bark() void
5
+ ---
6
+ ┌────────────────┐
7
+ │ Animal │
8
+ ├────────────────┤
9
+ │ + name: String │
10
+ └────────────────┘
11
+ △
12
+ │
13
+ │
14
+ ┌────────────────┐
15
+ │ Dog │
16
+ ├────────────────┤
17
+ │ + bark(): void │
18
+ └────────────────┘
19
+
20
+
@@ -0,0 +1,21 @@
1
+ classDiagram
2
+ class BankAccount {
3
+ +String owner
4
+ -int balance
5
+ +deposit(int amount) void
6
+ +withdraw(int amount) bool
7
+ -validate() bool
8
+ }
9
+ ---
10
+ ┌──────────────────────────────┐
11
+ │ BankAccount │
12
+ ├──────────────────────────────┤
13
+ │ + owner: String │
14
+ │ - balance: int │
15
+ ├──────────────────────────────┤
16
+ │ + deposit(int amount): void │
17
+ │ + withdraw(int amount): bool │
18
+ │ - validate(): bool │
19
+ └──────────────────────────────┘
20
+
21
+
@@ -0,0 +1,23 @@
1
+ graph LR
2
+ %% This is a comment
3
+ A --> B
4
+ %% Another comment
5
+ B --> C
6
+ A --> C
7
+ %% Final comment
8
+ ---
9
+ ┌───┐ ┌───┐
10
+ │ │ │ │
11
+ │ A ├────►│ B │
12
+ │ │ │ │
13
+ └─┬─┘ └─┬─┘
14
+ │ │
15
+ │ │
16
+ │ │
17
+ │ │
18
+ │ ▼
19
+ │ ┌───┐
20
+ │ │ │
21
+ └──────►│ C │
22
+ │ │
23
+ └───┘
@@ -0,0 +1,19 @@
1
+ graph TD
2
+ A[Server] --> B[Client]
3
+ C[Server] --> D[Client]
4
+ ---
5
+ ┌────────┐ ┌────────┐
6
+ │ │ │ │
7
+ │ Server │ │ Server │
8
+ │ │ │ │
9
+ └────┬───┘ └────┬───┘
10
+ │ │
11
+ │ │
12
+ │ │
13
+ │ │
14
+ ▼ ▼
15
+ ┌────────┐ ┌────────┐
16
+ │ │ │ │
17
+ │ Client │ │ Client │
18
+ │ │ │ │
19
+ └────────┘ └────────┘