@agilewallaby/c4-model 2.0.0 → 2.2.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.
@@ -1,162 +0,0 @@
1
- const INDENT_SIZE = 2;
2
- export class StructurizrDSLWriter {
3
- model;
4
- views;
5
- constructor(model, views) {
6
- this.model = model;
7
- this.views = views;
8
- }
9
- writeElement(elementType, element, level, closeElement = true) {
10
- let elementDsl = '';
11
- elementDsl += this.writeLine(`${element.canonicalName} = ${elementType} "${element.name}" {`, level);
12
- if (element.description) {
13
- elementDsl += this.writeLine(`description "${element.description}"`, level + 1);
14
- }
15
- elementDsl += this.writeLine(`tags ${element.tags.map((tag) => `"${tag}"`).join(' ')}`, level + 1);
16
- if (closeElement) {
17
- elementDsl += this.writeLine(`}`, level);
18
- }
19
- return elementDsl;
20
- }
21
- writeComponent(component, level) {
22
- let componentDsl = '';
23
- componentDsl += this.writeElement('component', component, level, false);
24
- componentDsl += this.writeLine(`technology "${component.technology}"`, level + 1);
25
- componentDsl += this.writeLine(`}`, level);
26
- return componentDsl;
27
- }
28
- writeContainerGroup(group, level) {
29
- let containerGroupDsl = '';
30
- containerGroupDsl += this.writeLine(`${group.name} = group "${group.name}" {`, level);
31
- group.getComponents().forEach((component) => {
32
- containerGroupDsl += this.writeComponent(component, level + 1);
33
- });
34
- containerGroupDsl += this.writeLine(`}`, level);
35
- return containerGroupDsl;
36
- }
37
- writeContainer(container, level) {
38
- let containerDsl = '';
39
- containerDsl += this.writeElement('container', container, level, false);
40
- containerDsl += this.writeLine(`technology "${container.technology}"`, level + 1);
41
- container.getComponentsNotInGroups().forEach((component) => {
42
- containerDsl += this.writeComponent(component, level + 1);
43
- });
44
- container.getGroups().forEach((group) => {
45
- containerDsl += this.writeContainerGroup(group, level + 1);
46
- });
47
- containerDsl += this.writeLine(`}`, level);
48
- return containerDsl;
49
- }
50
- writeSoftwareSystemGroup(group, level) {
51
- let softwareSystemGroupDsl = '';
52
- softwareSystemGroupDsl += this.writeLine(`${group.name} = group "${group.name}" {`, level);
53
- group.getContainers().forEach((container) => {
54
- softwareSystemGroupDsl += this.writeContainer(container, level + 1);
55
- });
56
- softwareSystemGroupDsl += this.writeLine(`}`, level);
57
- return softwareSystemGroupDsl;
58
- }
59
- writeSoftwareSystem(softwareSystem, level) {
60
- let softwareSystemDsl = '';
61
- softwareSystemDsl += this.writeElement('softwareSystem', softwareSystem, level, false);
62
- softwareSystem.getContainersNotInGroups().forEach((container) => {
63
- softwareSystemDsl += this.writeContainer(container, level + 1);
64
- });
65
- softwareSystem.getGroups().forEach((group) => {
66
- softwareSystemDsl += this.writeSoftwareSystemGroup(group, level + 1);
67
- });
68
- softwareSystemDsl += this.writeLine(`}`, level);
69
- return softwareSystemDsl;
70
- }
71
- writeRelationships(elements, level) {
72
- let relationshipsDsl = '';
73
- elements.forEach((element) => {
74
- element.getRelationshipsInHierarchy().forEach((relationship) => {
75
- const tech = relationship.technology ? ` "${relationship.technology}"` : '';
76
- relationshipsDsl += this.writeLine(`${relationship.source.canonicalName} -> ${relationship.destination.canonicalName} "${relationship.description ?? 'uses'}"${tech} {`, level);
77
- relationshipsDsl += this.writeLine(`tags ${relationship.tags.map((tag) => `"${tag}"`).join(' ')}`, level + 1);
78
- relationshipsDsl += this.writeLine(`}`, level);
79
- });
80
- });
81
- return relationshipsDsl;
82
- }
83
- writeModelGroup(group, level) {
84
- let modelGroupDsl = '';
85
- modelGroupDsl += this.writeLine(`${group.name} = group "${group.name}" {`, level);
86
- group.getPeople().forEach((person) => {
87
- modelGroupDsl += this.writeElement('person', person, level + 1);
88
- });
89
- group.getSoftwareSystems().forEach((softwareSystem) => {
90
- modelGroupDsl += this.writeSoftwareSystem(softwareSystem, level + 1);
91
- });
92
- modelGroupDsl += this.writeLine(`}`, level);
93
- return modelGroupDsl;
94
- }
95
- writeModel(model, level) {
96
- let modelDsl = '';
97
- modelDsl += this.writeLine(`model {`, level);
98
- modelDsl += this.writeLine('// Elements', level + 1);
99
- model.getPeopleNotInGroups().forEach((person) => {
100
- modelDsl += this.writeElement('person', person, level + 1);
101
- });
102
- model.getSoftwareSystemsNotInGroups().forEach((softwareSystem) => {
103
- modelDsl += this.writeSoftwareSystem(softwareSystem, level + 1);
104
- });
105
- model.getGroups().forEach((group) => {
106
- modelDsl += this.writeModelGroup(group, level + 1);
107
- });
108
- modelDsl += this.writeLine('// Relationships', level + 1);
109
- modelDsl += this.writeRelationships(model.getPeople().concat(model.getSoftwareSystems()), level + 1);
110
- modelDsl += this.writeLine(`}`, level);
111
- return modelDsl;
112
- }
113
- writeView(view, viewType, level) {
114
- let viewDsl = this.writeLine(`${viewType}${view.subject ? ' "' + view.subject.canonicalName + '"' : ''} "${view.key}" {`, level);
115
- viewDsl += this.writeLine(`description "${view.description}"`, level + 1);
116
- if (view.title) {
117
- viewDsl += this.writeLine(`title "${view.title}"`, level + 1);
118
- }
119
- view.scopes.forEach((scope) => {
120
- viewDsl += this.writeLine(`${scope}`, level + 1);
121
- });
122
- viewDsl += this.writeLine(`}`, level);
123
- return viewDsl;
124
- }
125
- writeViews(views, level) {
126
- let viewDsl = '';
127
- viewDsl += this.writeLine(`views {`, level);
128
- viewDsl += this.writeLine('// System Landscape Views', level + 1);
129
- views.systemLandscapeViews.forEach((view) => {
130
- viewDsl += this.writeView(view, 'systemLandscape', level + 1);
131
- });
132
- viewDsl += this.writeLine('// System Context Views', level + 1);
133
- views.systemContextViews.forEach((view) => {
134
- viewDsl += this.writeView(view, 'systemContext', level + 1);
135
- });
136
- viewDsl += this.writeLine('// Container Views', level + 1);
137
- views.containerViews.forEach((view) => {
138
- viewDsl += this.writeView(view, 'container', level + 1);
139
- });
140
- viewDsl += this.writeLine('// Component Views', level + 1);
141
- views.componentViews.forEach((view) => {
142
- viewDsl += this.writeView(view, 'component', level + 1);
143
- });
144
- viewDsl += this.writeLine(`theme default`, level + 1);
145
- viewDsl += this.writeLine(`}`, level);
146
- return viewDsl;
147
- }
148
- write() {
149
- let dsl = '';
150
- this.model.validate();
151
- dsl += this.writeLine(`workspace "${this.model.name}" {`, 0);
152
- dsl += this.writeModel(this.model, 1);
153
- dsl += this.writeViews(this.views, 1);
154
- dsl += this.writeLine(`}`, 0);
155
- return dsl;
156
- }
157
- writeLine(line, level) {
158
- const indent = ' '.repeat(level * INDENT_SIZE);
159
- return `${indent}${line}\n`;
160
- }
161
- }
162
- //# sourceMappingURL=structurizrDslWriter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"structurizrDslWriter.js","sourceRoot":"","sources":["../../../../libs/c4-model/src/structurizrDslWriter.ts"],"names":[],"mappings":"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"}
package/src/views.js DELETED
@@ -1,73 +0,0 @@
1
- export class View {
2
- key;
3
- subject;
4
- description;
5
- title;
6
- _scopes = [];
7
- constructor(key, viewDefinition) {
8
- this.key = key;
9
- this.description = viewDefinition.description;
10
- this.subject = viewDefinition.subject;
11
- this.title = viewDefinition.title;
12
- }
13
- includeAll() {
14
- this._scopes.push('include *');
15
- }
16
- includeElement(element) {
17
- this._scopes.push(`include ${element.canonicalName}`);
18
- }
19
- includeExpression(expression) {
20
- this._scopes.push(`include ${expression}`);
21
- }
22
- excludeAll() {
23
- this._scopes.push('exclude *');
24
- }
25
- excludeElement(element) {
26
- this._scopes.push(`exclude ${element.canonicalName}`);
27
- }
28
- excludeExpression(expression) {
29
- this._scopes.push(`exclude ${expression}`);
30
- }
31
- get scopes() {
32
- return this._scopes;
33
- }
34
- }
35
- export class Views {
36
- _systemLandscapeViews = new Map();
37
- _systemContextViews = new Map();
38
- _containerViews = new Map();
39
- _componentViews = new Map();
40
- addSystemLandscapeView(key, definition) {
41
- const view = new View(key, { subject: undefined, description: definition.description, title: definition.title });
42
- this._systemLandscapeViews.set(key, view);
43
- return view;
44
- }
45
- addSystemContextView(key, definition) {
46
- const view = new View(key, definition);
47
- this._systemContextViews.set(key, view);
48
- return view;
49
- }
50
- addContainerView(key, definition) {
51
- const view = new View(key, definition);
52
- this._containerViews.set(key, view);
53
- return view;
54
- }
55
- addComponentView(key, definition) {
56
- const view = new View(key, definition);
57
- this._componentViews.set(key, view);
58
- return view;
59
- }
60
- get systemLandscapeViews() {
61
- return Array.from(this._systemLandscapeViews.values());
62
- }
63
- get systemContextViews() {
64
- return Array.from(this._systemContextViews.values());
65
- }
66
- get containerViews() {
67
- return Array.from(this._containerViews.values());
68
- }
69
- get componentViews() {
70
- return Array.from(this._componentViews.values());
71
- }
72
- }
73
- //# sourceMappingURL=views.js.map
package/src/views.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../libs/c4-model/src/views.ts"],"names":[],"mappings":"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"}