mermaid-ast 0.2.0 → 0.4.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 +194 -7
- package/dist/builder/class-builder.d.ts +148 -0
- package/dist/builder/class-builder.d.ts.map +1 -0
- package/dist/builder/class-builder.js +318 -0
- package/dist/builder/flowchart-builder.d.ts +123 -0
- package/dist/builder/flowchart-builder.d.ts.map +1 -0
- package/dist/builder/flowchart-builder.js +257 -0
- package/dist/builder/index.d.ts +10 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/builder/index.js +9 -0
- package/dist/builder/sequence-builder.d.ts +174 -0
- package/dist/builder/sequence-builder.d.ts.map +1 -0
- package/dist/builder/sequence-builder.js +443 -0
- package/dist/builder/state-builder.d.ts +156 -0
- package/dist/builder/state-builder.d.ts.map +1 -0
- package/dist/builder/state-builder.js +314 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/parser/class-parser.d.ts +1 -1
- package/dist/parser/class-parser.d.ts.map +1 -1
- package/dist/parser/class-parser.js +36 -32
- package/dist/parser/flowchart-parser.d.ts +1 -1
- package/dist/parser/flowchart-parser.d.ts.map +1 -1
- package/dist/parser/flowchart-parser.js +51 -53
- package/dist/parser/index.d.ts +4 -4
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +13 -13
- package/dist/parser/sequence-parser.d.ts +1 -1
- package/dist/parser/sequence-parser.d.ts.map +1 -1
- package/dist/parser/sequence-parser.js +88 -82
- package/dist/parser/state-parser.d.ts +1 -1
- package/dist/parser/state-parser.d.ts.map +1 -1
- package/dist/parser/state-parser.js +35 -36
- package/dist/renderer/class-renderer.d.ts +3 -2
- package/dist/renderer/class-renderer.d.ts.map +1 -1
- package/dist/renderer/class-renderer.js +101 -140
- package/dist/renderer/doc.d.ts +318 -0
- package/dist/renderer/doc.d.ts.map +1 -0
- package/dist/renderer/doc.js +300 -0
- package/dist/renderer/flowchart-renderer.d.ts +3 -2
- package/dist/renderer/flowchart-renderer.d.ts.map +1 -1
- package/dist/renderer/flowchart-renderer.js +275 -131
- package/dist/renderer/index.d.ts +5 -5
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/index.js +11 -11
- package/dist/renderer/sequence-renderer.d.ts +3 -6
- package/dist/renderer/sequence-renderer.d.ts.map +1 -1
- package/dist/renderer/sequence-renderer.js +147 -171
- package/dist/renderer/state-renderer.d.ts +3 -2
- package/dist/renderer/state-renderer.d.ts.map +1 -1
- package/dist/renderer/state-renderer.js +81 -100
- package/dist/types/class.d.ts +6 -6
- package/dist/types/class.js +2 -2
- package/dist/types/flowchart.d.ts +8 -8
- package/dist/types/flowchart.js +2 -2
- package/dist/types/index.d.ts +8 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -6
- package/dist/types/render-options.d.ts +57 -0
- package/dist/types/render-options.d.ts.map +1 -0
- package/dist/types/render-options.js +37 -0
- package/dist/types/sequence.d.ts +20 -20
- package/dist/types/sequence.js +1 -1
- package/dist/types/state.d.ts +12 -12
- package/dist/types/state.js +2 -2
- package/dist/utils.d.ts +29 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +30 -0
- package/dist/vendored/LICENSE +21 -0
- package/package.json +11 -3
package/README.md
CHANGED
|
@@ -17,9 +17,25 @@ This library provides a way to programmatically work with Mermaid diagrams by pa
|
|
|
17
17
|
|
|
18
18
|
## Supported Diagram Types
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
| Diagram Type | Parse | Render | Builder |
|
|
21
|
+
|--------------|-------|--------|---------|
|
|
22
|
+
| Flowchart (`flowchart`, `graph`) | ✅ | ✅ | ✅ |
|
|
23
|
+
| Sequence (`sequenceDiagram`) | ✅ | ✅ | ✅ |
|
|
24
|
+
| Class (`classDiagram`) | ✅ | ✅ | ✅ |
|
|
25
|
+
| State (`stateDiagram`) | ✅ | ✅ | ✅ |
|
|
26
|
+
| ER Diagram (`erDiagram`) | ❌ | ❌ | ❌ |
|
|
27
|
+
| Gantt (`gantt`) | ❌ | ❌ | ❌ |
|
|
28
|
+
| Journey (`journey`) | ❌ | ❌ | ❌ |
|
|
29
|
+
| Mindmap (`mindmap`) | ❌ | ❌ | ❌ |
|
|
30
|
+
| Timeline (`timeline`) | ❌ | ❌ | ❌ |
|
|
31
|
+
| Pie (`pie`) | ❌ | ❌ | ❌ |
|
|
32
|
+
| Quadrant (`quadrantChart`) | ❌ | ❌ | ❌ |
|
|
33
|
+
| Requirement (`requirementDiagram`) | ❌ | ❌ | ❌ |
|
|
34
|
+
| Git Graph (`gitGraph`) | ❌ | ❌ | ❌ |
|
|
35
|
+
| C4 (`C4Context`, etc.) | ❌ | ❌ | ❌ |
|
|
36
|
+
| Sankey (`sankey`) | ❌ | ❌ | ❌ |
|
|
37
|
+
| XY Chart (`xychart`) | ❌ | ❌ | ❌ |
|
|
38
|
+
| Block (`block`) | ❌ | ❌ | ❌ |
|
|
23
39
|
|
|
24
40
|
## Installation
|
|
25
41
|
|
|
@@ -131,6 +147,156 @@ detectDiagramType("classDiagram\n class Animal"); // "class"
|
|
|
131
147
|
detectDiagramType("unknown diagram"); // null
|
|
132
148
|
```
|
|
133
149
|
|
|
150
|
+
## Fluent Builder API
|
|
151
|
+
|
|
152
|
+
Build diagrams programmatically with a chainable, type-safe API:
|
|
153
|
+
|
|
154
|
+
### Flowchart Builder
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
import { flowchart, render } from "mermaid-ast";
|
|
158
|
+
|
|
159
|
+
const ast = flowchart("LR")
|
|
160
|
+
.node("A", "Start", { shape: "stadium" })
|
|
161
|
+
.node("B", "Process")
|
|
162
|
+
.node("C", "End", { shape: "circle" })
|
|
163
|
+
.link("A", "B", { text: "begin" })
|
|
164
|
+
.link("B", "C", { stroke: "dotted" })
|
|
165
|
+
.subgraph("sub1", "My Group", (s) => {
|
|
166
|
+
s.node("D", "Inner").link("D", "B");
|
|
167
|
+
})
|
|
168
|
+
.classDef("highlight", { fill: "#f9f" })
|
|
169
|
+
.class("A", "highlight")
|
|
170
|
+
.build();
|
|
171
|
+
|
|
172
|
+
const text = render(ast);
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Sequence Builder
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
import { sequence, render } from "mermaid-ast";
|
|
179
|
+
|
|
180
|
+
const ast = sequence()
|
|
181
|
+
.participant("A", "Alice")
|
|
182
|
+
.actor("B", "Bob")
|
|
183
|
+
.message("A", "B", "Hello!", { arrow: "solid" })
|
|
184
|
+
.loop("Every minute", (l) => {
|
|
185
|
+
l.message("B", "A", "Ping");
|
|
186
|
+
})
|
|
187
|
+
.alt([
|
|
188
|
+
{ condition: "Success", build: (b) => b.message("A", "B", "OK") },
|
|
189
|
+
{ condition: "Failure", build: (b) => b.message("A", "B", "Error") },
|
|
190
|
+
])
|
|
191
|
+
.note("A", "Important!", { placement: "right_of" })
|
|
192
|
+
.build();
|
|
193
|
+
|
|
194
|
+
const text = render(ast);
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Class Diagram Builder
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
import { classDiagram, render } from "mermaid-ast";
|
|
201
|
+
|
|
202
|
+
const ast = classDiagram()
|
|
203
|
+
.class("Animal", (c) => {
|
|
204
|
+
c.property("name: string", "+")
|
|
205
|
+
.property("age: int", "-")
|
|
206
|
+
.method("speak()", "+");
|
|
207
|
+
})
|
|
208
|
+
.class("Dog")
|
|
209
|
+
.extends("Dog", "Animal")
|
|
210
|
+
.composition("Dog", "Tail")
|
|
211
|
+
.class("Tail")
|
|
212
|
+
.build();
|
|
213
|
+
|
|
214
|
+
const text = render(ast);
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### State Diagram Builder
|
|
218
|
+
|
|
219
|
+
```typescript
|
|
220
|
+
import { stateDiagram, render } from "mermaid-ast";
|
|
221
|
+
|
|
222
|
+
const ast = stateDiagram()
|
|
223
|
+
.state("Idle", { description: "Waiting for input" })
|
|
224
|
+
.state("Running")
|
|
225
|
+
.state("Done")
|
|
226
|
+
.initial("Idle")
|
|
227
|
+
.transition("Idle", "Running", { label: "start" })
|
|
228
|
+
.transition("Running", "Done", { label: "complete" })
|
|
229
|
+
.final("Done")
|
|
230
|
+
.composite("Running", (c) => {
|
|
231
|
+
c.state("Step1").state("Step2").transition("Step1", "Step2");
|
|
232
|
+
})
|
|
233
|
+
.build();
|
|
234
|
+
|
|
235
|
+
const text = render(ast);
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Builder Validation
|
|
239
|
+
|
|
240
|
+
By default, `.build()` validates the diagram (e.g., ensures links reference existing nodes):
|
|
241
|
+
|
|
242
|
+
```typescript
|
|
243
|
+
// This throws FlowchartValidationError
|
|
244
|
+
flowchart().node("A").link("A", "B").build();
|
|
245
|
+
// Error: Link target node 'B' does not exist
|
|
246
|
+
|
|
247
|
+
// Skip validation if needed
|
|
248
|
+
flowchart().node("A").link("A", "B").build({ validate: false });
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Render Options (Pretty-Print)
|
|
252
|
+
|
|
253
|
+
All render functions accept an optional `RenderOptions` object to customize output formatting:
|
|
254
|
+
|
|
255
|
+
```typescript
|
|
256
|
+
import { renderFlowchart, parseFlowchart } from "mermaid-ast";
|
|
257
|
+
import type { RenderOptions } from "mermaid-ast";
|
|
258
|
+
|
|
259
|
+
const ast = parseFlowchart(`flowchart LR
|
|
260
|
+
A[Start] --> B[Middle] --> C[End]
|
|
261
|
+
classDef highlight fill:#f9f
|
|
262
|
+
class A highlight`);
|
|
263
|
+
|
|
264
|
+
// Default output (4-space indent)
|
|
265
|
+
renderFlowchart(ast);
|
|
266
|
+
|
|
267
|
+
// Custom indent (2 spaces)
|
|
268
|
+
renderFlowchart(ast, { indent: 2 });
|
|
269
|
+
|
|
270
|
+
// Tab indent
|
|
271
|
+
renderFlowchart(ast, { indent: "tab" });
|
|
272
|
+
|
|
273
|
+
// Sort nodes alphabetically
|
|
274
|
+
renderFlowchart(ast, { sortNodes: true });
|
|
275
|
+
|
|
276
|
+
// Flowchart-specific: inline classes (A:::highlight instead of separate class statement)
|
|
277
|
+
renderFlowchart(ast, { inlineClasses: true });
|
|
278
|
+
|
|
279
|
+
// Flowchart-specific: chain links (A --> B --> C on one line)
|
|
280
|
+
renderFlowchart(ast, { compactLinks: true });
|
|
281
|
+
|
|
282
|
+
// Combine options
|
|
283
|
+
renderFlowchart(ast, {
|
|
284
|
+
indent: 2,
|
|
285
|
+
sortNodes: true,
|
|
286
|
+
inlineClasses: true,
|
|
287
|
+
compactLinks: true,
|
|
288
|
+
});
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
#### Available Options
|
|
292
|
+
|
|
293
|
+
| Option | Type | Default | Description |
|
|
294
|
+
|--------|------|---------|-------------|
|
|
295
|
+
| `indent` | `number \| "tab"` | `4` | Number of spaces for indentation, or `"tab"` for tabs |
|
|
296
|
+
| `sortNodes` | `boolean` | `false` | Sort node/actor/class declarations alphabetically |
|
|
297
|
+
| `inlineClasses` | `boolean` | `false` | (Flowchart only) Use `A:::className` instead of separate `class` statements |
|
|
298
|
+
| `compactLinks` | `boolean` | `false` | (Flowchart only) Chain consecutive links: `A --> B --> C` |
|
|
299
|
+
|
|
134
300
|
## API Reference
|
|
135
301
|
|
|
136
302
|
### Core Functions
|
|
@@ -138,7 +304,7 @@ detectDiagramType("unknown diagram"); // null
|
|
|
138
304
|
| Function | Description |
|
|
139
305
|
|----------|-------------|
|
|
140
306
|
| `parse(input: string): MermaidAST` | Parse any supported diagram |
|
|
141
|
-
| `render(ast: MermaidAST): string` | Render any supported AST |
|
|
307
|
+
| `render(ast: MermaidAST, options?: RenderOptions): string` | Render any supported AST |
|
|
142
308
|
| `detectDiagramType(input: string): DiagramType \| null` | Detect diagram type |
|
|
143
309
|
|
|
144
310
|
### Flowchart Functions
|
|
@@ -146,7 +312,7 @@ detectDiagramType("unknown diagram"); // null
|
|
|
146
312
|
| Function | Description |
|
|
147
313
|
|----------|-------------|
|
|
148
314
|
| `parseFlowchart(input: string): FlowchartAST` | Parse flowchart diagram |
|
|
149
|
-
| `renderFlowchart(ast: FlowchartAST): string` | Render flowchart AST |
|
|
315
|
+
| `renderFlowchart(ast: FlowchartAST, options?: RenderOptions): string` | Render flowchart AST |
|
|
150
316
|
| `isFlowchartDiagram(input: string): boolean` | Check if input is flowchart |
|
|
151
317
|
|
|
152
318
|
### Sequence Diagram Functions
|
|
@@ -154,7 +320,7 @@ detectDiagramType("unknown diagram"); // null
|
|
|
154
320
|
| Function | Description |
|
|
155
321
|
|----------|-------------|
|
|
156
322
|
| `parseSequence(input: string): SequenceAST` | Parse sequence diagram |
|
|
157
|
-
| `renderSequence(ast: SequenceAST): string` | Render sequence AST |
|
|
323
|
+
| `renderSequence(ast: SequenceAST, options?: RenderOptions): string` | Render sequence AST |
|
|
158
324
|
| `isSequenceDiagram(input: string): boolean` | Check if input is sequence |
|
|
159
325
|
|
|
160
326
|
### Class Diagram Functions
|
|
@@ -162,7 +328,7 @@ detectDiagramType("unknown diagram"); // null
|
|
|
162
328
|
| Function | Description |
|
|
163
329
|
|----------|-------------|
|
|
164
330
|
| `parseClassDiagram(input: string): ClassDiagramAST` | Parse class diagram |
|
|
165
|
-
| `renderClassDiagram(ast: ClassDiagramAST): string` | Render class diagram AST |
|
|
331
|
+
| `renderClassDiagram(ast: ClassDiagramAST, options?: RenderOptions): string` | Render class diagram AST |
|
|
166
332
|
| `isClassDiagram(input: string): boolean` | Check if input is class diagram |
|
|
167
333
|
|
|
168
334
|
## Supported Flowchart Features
|
|
@@ -186,6 +352,25 @@ detectDiagramType("unknown diagram"); // null
|
|
|
186
352
|
- **Notes**: `note left of`, `note right of`, `note over`
|
|
187
353
|
- **Actor lifecycle**: `create`, `destroy`
|
|
188
354
|
|
|
355
|
+
## Limitations
|
|
356
|
+
|
|
357
|
+
### Comments Not Preserved
|
|
358
|
+
|
|
359
|
+
Mermaid supports `%%` line comments, but **comments are not preserved** during parsing. The JISON parsers discard comments during lexing, so they are not included in the AST and will not appear in rendered output.
|
|
360
|
+
|
|
361
|
+
```mermaid
|
|
362
|
+
flowchart LR
|
|
363
|
+
%% This comment will be lost
|
|
364
|
+
A --> B
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
After round-trip, the comment is gone:
|
|
368
|
+
|
|
369
|
+
```mermaid
|
|
370
|
+
flowchart LR
|
|
371
|
+
A --> B
|
|
372
|
+
```
|
|
373
|
+
|
|
189
374
|
## Supported Class Diagram Features
|
|
190
375
|
|
|
191
376
|
- **Classes**: With labels, members (attributes and methods)
|
|
@@ -296,6 +481,8 @@ mermaid-ast/
|
|
|
296
481
|
|
|
297
482
|
MIT
|
|
298
483
|
|
|
484
|
+
This project includes JISON parsers from [mermaid.js](https://github.com/mermaid-js/mermaid) (MIT License, Copyright (c) 2014 - 2022 Knut Sveidqvist). See [THIRD-PARTY-NOTICES.md](./THIRD-PARTY-NOTICES.md) for details.
|
|
485
|
+
|
|
299
486
|
---
|
|
300
487
|
|
|
301
488
|
## How This Library Was Built
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class Diagram Builder
|
|
3
|
+
*
|
|
4
|
+
* Fluent API for constructing Class Diagram ASTs programmatically.
|
|
5
|
+
*/
|
|
6
|
+
import { type ClassDiagramAST, type ClassDirection, type ClassMember, type LineType, type RelationType } from '../types/class.js';
|
|
7
|
+
/**
|
|
8
|
+
* Options for adding a class
|
|
9
|
+
*/
|
|
10
|
+
export interface ClassOptions {
|
|
11
|
+
label?: string;
|
|
12
|
+
annotations?: string[];
|
|
13
|
+
cssClasses?: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Options for adding a relation
|
|
17
|
+
*/
|
|
18
|
+
export interface RelationOptions {
|
|
19
|
+
type1?: RelationType;
|
|
20
|
+
type2?: RelationType;
|
|
21
|
+
lineType?: LineType;
|
|
22
|
+
label1?: string;
|
|
23
|
+
label2?: string;
|
|
24
|
+
label?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Options for build()
|
|
28
|
+
*/
|
|
29
|
+
export interface ClassBuildOptions {
|
|
30
|
+
validate?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Validation error for invalid AST
|
|
34
|
+
*/
|
|
35
|
+
export declare class ClassDiagramValidationError extends Error {
|
|
36
|
+
constructor(message: string);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Builder for class members
|
|
40
|
+
*/
|
|
41
|
+
export declare class ClassMemberBuilder {
|
|
42
|
+
private members;
|
|
43
|
+
/**
|
|
44
|
+
* Add a property/attribute
|
|
45
|
+
*/
|
|
46
|
+
property(text: string, visibility?: '+' | '-' | '#' | '~'): this;
|
|
47
|
+
/**
|
|
48
|
+
* Add a method
|
|
49
|
+
*/
|
|
50
|
+
method(text: string, visibility?: '+' | '-' | '#' | '~'): this;
|
|
51
|
+
/**
|
|
52
|
+
* Get the members
|
|
53
|
+
*/
|
|
54
|
+
getMembers(): ClassMember[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Fluent builder for Class Diagram ASTs
|
|
58
|
+
*/
|
|
59
|
+
export declare class ClassDiagramBuilder {
|
|
60
|
+
private ast;
|
|
61
|
+
private currentNamespace;
|
|
62
|
+
constructor(direction?: ClassDirection);
|
|
63
|
+
/**
|
|
64
|
+
* Set the direction
|
|
65
|
+
*/
|
|
66
|
+
direction(direction: ClassDirection): this;
|
|
67
|
+
/**
|
|
68
|
+
* Add a class
|
|
69
|
+
*/
|
|
70
|
+
class(id: string, builderFn?: (builder: ClassMemberBuilder) => void, options?: ClassOptions): this;
|
|
71
|
+
/**
|
|
72
|
+
* Add a relation between two classes
|
|
73
|
+
*/
|
|
74
|
+
relation(id1: string, id2: string, options?: RelationOptions): this;
|
|
75
|
+
/**
|
|
76
|
+
* Add an inheritance/extension relation (A extends B)
|
|
77
|
+
*/
|
|
78
|
+
extends(child: string, parent: string, label?: string): this;
|
|
79
|
+
/**
|
|
80
|
+
* Add an implementation relation (A implements B)
|
|
81
|
+
*/
|
|
82
|
+
implements(implementer: string, interface_: string, label?: string): this;
|
|
83
|
+
/**
|
|
84
|
+
* Add a composition relation (A has B, strong ownership)
|
|
85
|
+
*/
|
|
86
|
+
composition(owner: string, owned: string, label?: string): this;
|
|
87
|
+
/**
|
|
88
|
+
* Add an aggregation relation (A has B, weak ownership)
|
|
89
|
+
*/
|
|
90
|
+
aggregation(owner: string, owned: string, label?: string): this;
|
|
91
|
+
/**
|
|
92
|
+
* Add a dependency relation (A depends on B)
|
|
93
|
+
*/
|
|
94
|
+
dependency(dependent: string, dependency: string, label?: string): this;
|
|
95
|
+
/**
|
|
96
|
+
* Add a namespace
|
|
97
|
+
*/
|
|
98
|
+
namespace(name: string, builderFn: (builder: ClassDiagramBuilder) => void): this;
|
|
99
|
+
/**
|
|
100
|
+
* Add a note
|
|
101
|
+
*/
|
|
102
|
+
note(text: string, forClass?: string): this;
|
|
103
|
+
/**
|
|
104
|
+
* Define a CSS class style
|
|
105
|
+
*/
|
|
106
|
+
classDef(name: string, styles: string[]): this;
|
|
107
|
+
/**
|
|
108
|
+
* Apply a CSS class to a class
|
|
109
|
+
*/
|
|
110
|
+
cssClass(classId: string, cssClassName: string): this;
|
|
111
|
+
/**
|
|
112
|
+
* Add a link to a class
|
|
113
|
+
*/
|
|
114
|
+
link(classId: string, url: string, target?: string): this;
|
|
115
|
+
/**
|
|
116
|
+
* Add a callback to a class
|
|
117
|
+
*/
|
|
118
|
+
callback(classId: string, callback: string, args?: string): this;
|
|
119
|
+
/**
|
|
120
|
+
* Add a tooltip to a class
|
|
121
|
+
*/
|
|
122
|
+
tooltip(classId: string, tooltip: string): this;
|
|
123
|
+
/**
|
|
124
|
+
* Add an annotation to a class (e.g., <<interface>>, <<abstract>>)
|
|
125
|
+
*/
|
|
126
|
+
annotate(classId: string, annotation: string): this;
|
|
127
|
+
/**
|
|
128
|
+
* Set the accessibility title
|
|
129
|
+
*/
|
|
130
|
+
accTitle(title: string): this;
|
|
131
|
+
/**
|
|
132
|
+
* Set the accessibility description
|
|
133
|
+
*/
|
|
134
|
+
accDescription(description: string): this;
|
|
135
|
+
/**
|
|
136
|
+
* Validate the AST
|
|
137
|
+
*/
|
|
138
|
+
private validate;
|
|
139
|
+
/**
|
|
140
|
+
* Build and return the ClassDiagramAST
|
|
141
|
+
*/
|
|
142
|
+
build(options?: ClassBuildOptions): ClassDiagramAST;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Create a new ClassDiagramBuilder
|
|
146
|
+
*/
|
|
147
|
+
export declare function classDiagram(direction?: ClassDirection): ClassDiagramBuilder;
|
|
148
|
+
//# sourceMappingURL=class-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-builder.d.ts","sourceRoot":"","sources":["../../src/builder/class-builder.ts"],"names":[],"mappings":"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"}
|