From 9232b8d817d4cd4122947375156fa2fa1e9fba14 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Mon, 13 Jan 2025 13:16:06 +0100 Subject: vault backup: 2025-01-13 13:16:06 --- 3 resources/MermaidJS.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 3 resources/MermaidJS.md (limited to '3 resources/MermaidJS.md') diff --git a/3 resources/MermaidJS.md b/3 resources/MermaidJS.md new file mode 100644 index 0000000..2e4b71e --- /dev/null +++ b/3 resources/MermaidJS.md @@ -0,0 +1,24 @@ +#resource + +--- +**ZenUML** +Optional **Title** +**Participants** can be declared when used or at the start. +**Annotators** give **participants** a special icon, defined at the doc site. +**Aliases** give a short **participant** name a more descriptive name when rendered, e.g: A as Alice <- Alice will be rendered, but the code can use A. +**Messages** between **participants** can be **sync, async, creation or reply**. +**Sync** use A.\ have a block {} for nested messages +**Async** use an arrow A->B: How are you? +**Creation** new keyword new A(optional params) +**Reply** three ways to define: +* Assign var from **Sync** message, e.g: OptionalType a = A.SyncMessage() +* Return A.SyncMessage { return blaat } +* @return or @reply on an **async** message +**Nesting** can be done on both creation and sync messages using blocks {}. +**Comments** can be added using `// comment` and support markdown. +**Loops** can be defined using keywords: **while, for, foreach and loop**. +**Alternative** paths can be sequenced using **if, else** statements. if(blaat) { A.syncMessage(B) } +**Opt** fragments rendered via `opt { ... }`. This can be useful for optional responses or paths. +**Parallel** paths can be defined using `par { ... }`. +**Try/catch/finally** statements are supported as well. +**@Starter(participant)** to make the line start from a **participant** \ No newline at end of file -- cgit v1.2.3