node-opcua-modeler 2.63.2 → 2.64.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.
@@ -28,6 +28,9 @@ function symbol(nodeClass) {
28
28
  }
29
29
  }
30
30
  const hasSubtypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype");
31
+ function encodeXML(s) {
32
+ return s.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;");
33
+ }
31
34
  function dumpReference(data, ref, filter) {
32
35
  (0, node_opcua_address_space_1.resolveReferenceNode)(data.node.addressSpace, ref);
33
36
  if (!ref.isForward) {
@@ -47,11 +50,12 @@ function dumpReference(data, ref, filter) {
47
50
  const refNode = ref.node;
48
51
  const refType = (0, node_opcua_address_space_1.resolveReferenceType)(data.node.addressSpace, ref);
49
52
  if (filter) {
50
- if (refType.browseName.toString() !== filter) {
53
+ if (refType.browseName.name !== filter) {
51
54
  return;
52
55
  }
53
56
  }
54
- if (data.alreadyDumped[refNode.nodeId.toString()]) {
57
+ const key = ref.nodeId.toString() + ref.referenceType.toString();
58
+ if (data.alreadyDumped[key]) {
55
59
  return;
56
60
  }
57
61
  // xx const r = refNode.findReferencesAsObject("HasModellingRule", true);
@@ -85,7 +89,7 @@ function dumpReference(data, ref, filter) {
85
89
  const row = [
86
90
  refType.browseName.toString() + dir + symbol(refNode.nodeClass),
87
91
  refNode.nodeId.toString(),
88
- refNode.browseName.toString(),
92
+ encodeXML(refNode.browseName.toString()),
89
93
  modelingRule,
90
94
  refNode.typeDefinitionObj ? refNode.typeDefinitionObj.browseName.toString() : "",
91
95
  dataType,
@@ -93,11 +97,11 @@ function dumpReference(data, ref, filter) {
93
97
  ];
94
98
  data.table.push(row);
95
99
  data.descriptions.push({
96
- description: refNode.description ? refNode.description.toString() : "",
100
+ description: refNode.description ? refNode.description.text || "" : "",
97
101
  name: refNode.browseName.name,
98
102
  type: dataType
99
103
  });
100
- data.alreadyDumped[refNode.nodeId.toString()] = 1;
104
+ data.alreadyDumped[key] = 1;
101
105
  }
102
106
  function dumpReferences(data, _references) {
103
107
  // xx for (const ref of references) {
@@ -118,6 +122,13 @@ function dumpReferences(data, _references) {
118
122
  for (const ref of _references) {
119
123
  dumpReference(data, ref, "Organizes");
120
124
  }
125
+ for (const ref of _references) {
126
+ console.log(data.node.addressSpace.findReferenceType(ref.referenceType).toString());
127
+ dumpReference(data, ref, undefined);
128
+ }
129
+ }
130
+ function shortDescription(d) {
131
+ return d.split(/\.|\n/)[0];
121
132
  }
122
133
  function displayNodeElement(node, options) {
123
134
  const head = ["ReferenceType", "NodeId", "BrowseName", "ModellingRule", "TypeDefinition", "DataType", "Value"];
@@ -129,7 +140,7 @@ function displayNodeElement(node, options) {
129
140
  table.push(["Base", superType.browseName.toString(), { colSpan: 6, content: node.browseName.toString() }]);
130
141
  }
131
142
  if (node.description) {
132
- table.push(["Description", node.description.toString(), { colSpan: 6, content: node.browseName.toString() }]);
143
+ table.push(["Description", { colspan: 6, content: shortDescription(node.description.text || "") }]);
133
144
  }
134
145
  return table;
135
146
  }
@@ -151,6 +162,10 @@ function displayNodeElement(node, options) {
151
162
  const str = [];
152
163
  const tables = [];
153
164
  tables.push(table);
165
+ if (node.description) {
166
+ str.push(node.description.text || "");
167
+ str.push("");
168
+ }
154
169
  str.push(toText(table));
155
170
  const str2 = [];
156
171
  // add property from base object/variable type
@@ -159,13 +174,13 @@ function displayNodeElement(node, options) {
159
174
  let subtypeOf = curNode.subtypeOfObj;
160
175
  while (subtypeOf) {
161
176
  data.table = createTable();
162
- table.push([subtypeOf.browseName.toString() + ":", "--", "--", "--"]);
177
+ data.table.push([subtypeOf.browseName.toString() + ":", "--", "--", "--"]);
163
178
  const references2 = subtypeOf.allReferences();
164
179
  dumpReferences(data, references2);
165
180
  str.push("<details>");
166
181
  str.push("<summary>Base type: " + subtypeOf.browseName.toString() + "</summary>");
167
182
  str.push("");
168
- str.push(toText(table));
183
+ str.push(toText(data.table));
169
184
  str.push("");
170
185
  str2.push("</details>");
171
186
  subtypeOf = subtypeOf.subtypeOfObj;
@@ -1 +1 @@
1
- {"version":3,"file":"displayNodeElement.js","sourceRoot":"","sources":["../source/displayNodeElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"displayNodeElement.js","sourceRoot":"","sources":["../source/displayNodeElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { UAStateMachineEx } from "node-opcua-address-space";
5
+ export declare function dumpStateMachineToPlantUML(stateMachineType: UAStateMachineEx): string;
6
+ export declare function dumpStateMachineToGraphViz(stateMachineType: UAStateMachineEx): string;
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dumpStateMachineToGraphViz = exports.dumpStateMachineToPlantUML = void 0;
4
+ function dumpStateMachineToPlantUML(stateMachineType) {
5
+ const lines = [];
6
+ function w(str) {
7
+ lines.push(str);
8
+ }
9
+ function s(state) {
10
+ return state ? state.nodeId.value.toString() : "";
11
+ }
12
+ function n(state) {
13
+ return state ? state.browseName.name.toString() : "";
14
+ }
15
+ //w("@startuml "); // + stateMachineType.browseName.toString() + ".png");
16
+ // initial state if any
17
+ if (stateMachineType.initialState) {
18
+ w(" [*] --> " + s(stateMachineType.initialState));
19
+ w(" " + s(stateMachineType.initialState) + ":" + n(stateMachineType.initialState));
20
+ }
21
+ else {
22
+ w("[*] --> [*]");
23
+ }
24
+ function t(transition) {
25
+ let name = n(transition);
26
+ name = name.replace(":", "");
27
+ name = name.replace("To", "\\nTo\\n");
28
+ name = name.replace("Transition", "\\nTransition");
29
+ return name;
30
+ }
31
+ stateMachineType.states && stateMachineType.states.forEach((state) => w(" " + s(state) + ": " + n(state)));
32
+ stateMachineType.transitions && stateMachineType.transitions.forEach((transition) => w(" " + s(transition.fromStateNode) + " --> " + s(transition.toStateNode) + " : " + t(transition)));
33
+ // w("@enduml");
34
+ return lines.join("\n");
35
+ }
36
+ exports.dumpStateMachineToPlantUML = dumpStateMachineToPlantUML;
37
+ /*
38
+ @startuml
39
+
40
+ 2930: Unshelved
41
+
42
+ 2932: TimedShelved
43
+
44
+ 2933: OneShotShelved
45
+
46
+ 2930 --> 2932 : "2935\nUnshelvedToTimedShelved"
47
+
48
+ 2930 --> 2933 : "2936\nUnshelvedToOneShotShelved"
49
+
50
+ 2932 --> 2930 : "2940\nTimedShelvedToUnshelved"
51
+
52
+ 2932 --> 2933 : "2942\nTimedShelvedToOneShotShelved"
53
+
54
+ 2933 --> 2930 : "2943\nOneShotShelvedToUnshelved"
55
+
56
+ 2933 --> 2932 : "2945\nOneShotShelvedToTimedShelved"
57
+
58
+ @enduml
59
+
60
+ */
61
+ /*
62
+ digraph finite_state_machine {
63
+ rankdir=LR;
64
+ size="8,5"
65
+ node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
66
+ node [shape = circle];
67
+ LR_0 -> LR_2 [ label = "SS(B)" ];
68
+ LR_0 -> LR_1 [ label = "SS(S)" ];
69
+ LR_1 -> LR_3 [ label = "S($end)" ];
70
+ LR_2 -> LR_6 [ label = "SS(b)" ];
71
+ LR_2 -> LR_5 [ label = "SS(a)" ];
72
+ LR_2 -> LR_4 [ label = "S(A)" ];
73
+ LR_5 -> LR_7 [ label = "S(b)" ];
74
+ LR_5 -> LR_5 [ label = "S(a)" ];
75
+ LR_6 -> LR_6 [ label = "S(b)" ];
76
+ LR_6 -> LR_5 [ label = "S(a)" ];
77
+ LR_7 -> LR_8 [ label = "S(b)" ];
78
+ LR_7 -> LR_5 [ label = "S(a)" ];
79
+ LR_8 -> LR_6 [ label = "S(b)" ];
80
+ LR_8 -> LR_5 [ label = "S(a)" ];
81
+ }
82
+ */
83
+ function dumpStateMachineToGraphViz(
84
+ /*StateMachineProxy*/
85
+ stateMachineType) {
86
+ const lines = [];
87
+ function w(str) {
88
+ lines.push(str);
89
+ }
90
+ function s(state) {
91
+ return state.nodeId.value.toString();
92
+ }
93
+ function n(state) {
94
+ return state.browseName.name.toString();
95
+ }
96
+ function s_full(state) {
97
+ return s(state) + ' [ label = "' + n(state) + '" ]';
98
+ }
99
+ w("digraph finite_state_machine {");
100
+ // initial state if any
101
+ if (stateMachineType.initialState) {
102
+ w("node [ shape = doublecircle];");
103
+ w(" _" + s_full(stateMachineType.initialState) + " ;");
104
+ }
105
+ w("node [ shape = circle];");
106
+ stateMachineType.states.forEach((state) => w(" _" + s_full(state)));
107
+ stateMachineType.transitions.forEach((transition) => w(" _" +
108
+ s(transition.fromStateNode) +
109
+ " -> _" +
110
+ s(transition.toStateNode) +
111
+ " [ " +
112
+ // " labeltooltip = \"" + i(transition) + "\" " +
113
+ ', label = "' +
114
+ n(transition) +
115
+ '" ];'));
116
+ w("}");
117
+ return lines.join("\n");
118
+ }
119
+ exports.dumpStateMachineToGraphViz = dumpStateMachineToGraphViz;
120
+ //# sourceMappingURL=dump_state_machine_to_graphviz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dump_state_machine_to_graphviz.js","sourceRoot":"","sources":["../source/dump_state_machine_to_graphviz.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.buildDocumentation = exports.buildDocumentationToString = void 0;
13
13
  const node_opcua_basic_types_1 = require("node-opcua-basic-types");
14
- const node_opcua_types_1 = require("node-opcua-types");
14
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
15
15
  const node_opcua_variant_1 = require("node-opcua-variant");
16
16
  const displayNodeElement_1 = require("./displayNodeElement");
17
17
  const tableHelper_1 = require("./tableHelper");
@@ -36,45 +36,150 @@ function buildDocumentationToString(namespace) {
36
36
  });
37
37
  }
38
38
  exports.buildDocumentationToString = buildDocumentationToString;
39
- function dataTypeToMarkdown(dataType) {
40
- var _a;
39
+ const toDataTypeStr = (p) => {
40
+ if (p.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
41
+ const v = p;
42
+ const arr = v.valueRank == 1 ? "[]" : "";
43
+ const brn = toDataTypeStr(p.dataTypeObj);
44
+ return brn + arr;
45
+ }
46
+ if (p.nodeClass === node_opcua_data_model_1.NodeClass.DataType) {
47
+ const dataType = p;
48
+ const brn = dataType.browseName.toString();
49
+ return brn;
50
+ }
51
+ return "";
52
+ };
53
+ function dataTypeEnumerationToMarkdown(dataType) {
41
54
  const addressSpace = dataType.addressSpace;
42
55
  const writer = new Writer();
43
- const definition = dataType.getDefinition();
44
- writer.writeLine("\nisAbstract: " + (dataType.isAbstract ? "Yes" : "No"));
45
- if (dataType.subtypeOfObj) {
46
- writer.writeLine("\nSubtype of " + ((_a = dataType.subtypeOfObj) === null || _a === void 0 ? void 0 : _a.browseName.toString()));
56
+ writer.writeLine("");
57
+ if (dataType.description) {
58
+ writer.writeLine(dataType.description.text || "");
47
59
  }
60
+ writer.writeLine(`\nThe fields of the ${dataType.browseName.name} DataType are defined in the following table:`);
48
61
  writer.writeLine("");
49
- if (definition instanceof node_opcua_types_1.EnumDefinition) {
50
- writer.writeLine("\nBasic Type: " + node_opcua_variant_1.DataType[node_opcua_variant_1.DataType.UInt32]);
51
- writer.writeLine("");
52
- const table = new tableHelper_1.TableHelper(["Name", "Value", "Description"]);
53
- for (const f of definition.fields || []) {
54
- table.push([f.name, (0, node_opcua_basic_types_1.coerceUInt32)(f.value[1]), f.description.text || ""]);
62
+ const definition = dataType.getEnumDefinition();
63
+ writer.writeLine("\nBasic Type: " + node_opcua_variant_1.DataType[node_opcua_variant_1.DataType.Int32]);
64
+ writer.writeLine("");
65
+ const table = new tableHelper_1.TableHelper(["Name", "Value", "Description"]);
66
+ for (const f of definition.fields || []) {
67
+ table.push([f.name, (0, node_opcua_basic_types_1.coerceUInt32)(f.value[1]), f.description.text || ""]);
68
+ }
69
+ writer.writeLine(table.toMarkdownTable());
70
+ const str = dumpTypeRepresentation(dataType);
71
+ writer.writeLine(str);
72
+ return writer.toString();
73
+ }
74
+ function dumpTypeRepresentation(uaType) {
75
+ var _a;
76
+ const className = node_opcua_data_model_1.NodeClass[uaType.nodeClass];
77
+ const writer = new Writer();
78
+ writer.writeLine("\n");
79
+ writer.writeLine(`\nThe representation of the ${uaType.browseName.name} ${className} in the address space is shown in the following table:`);
80
+ const table = new tableHelper_1.TableHelper(["Name", "Attribute"]);
81
+ table.push(["NodeId", uaType.nodeId.toString()]);
82
+ table.push(["NamespaceUri", uaType.addressSpace.getNamespaceUri(uaType.nodeId.namespace)]);
83
+ table.push(["BrowseName", uaType.browseName.name.toString()]);
84
+ table.push(["NodeClass", node_opcua_data_model_1.NodeClass[uaType.nodeClass]]);
85
+ if (uaType.nodeClass === node_opcua_data_model_1.NodeClass.ReferenceType) {
86
+ table.push(["InverseName", uaType.inverseName.text]);
87
+ // table.push(["IsSymmetric", (uaType as UAReferenceType).isSymetric ? "Yes" : "No"]);
88
+ }
89
+ table.push(["IsAbstract", uaType.isAbstract ? "Yes" : "No"]);
90
+ table.push(["SubtypeOf", uaType.subtypeOfObj ? uaType.subtypeOfObj.browseName.toString() : ""]);
91
+ writer.writeLine("");
92
+ writer.writeLine(table.toMarkdownTable());
93
+ writer.writeLine("");
94
+ // forward refereces
95
+ {
96
+ const properties = uaType.findReferencesExAsObject("HasProperty");
97
+ const table = new tableHelper_1.TableHelper(["Reference", "NodeClass", "BrowseName", "DataType", "TypeDefinition", "ModellingRule"]);
98
+ if (uaType.subtypeOfObj) {
99
+ const referenceName = "HasSubType";
100
+ const p = uaType.subtypeOfObj;
101
+ const nodeClass = node_opcua_data_model_1.NodeClass[p.nodeClass];
102
+ const browseName = p.browseName.toString();
103
+ const dataTypeStr = toDataTypeStr(p);
104
+ const modellingRule = p.modellingRule || "";
105
+ const typeDefinitionName = "";
106
+ table.push([referenceName, nodeClass, browseName, dataTypeStr, typeDefinitionName, modellingRule]);
55
107
  }
108
+ if (properties.length > 0) {
109
+ writer.writeLine(`\nThe reference of the ${uaType.browseName.name} ${className} is shown in the following table:`);
110
+ writer.writeLine("");
111
+ for (const p of properties) {
112
+ const referenceName = "HasProperty";
113
+ const nodeClass = node_opcua_data_model_1.NodeClass[p.nodeClass];
114
+ const browseName = p.browseName.toString();
115
+ const dataTypeStr = toDataTypeStr(p);
116
+ const typeDefinitionName = (_a = p.typeDefinitionObj) === null || _a === void 0 ? void 0 : _a.browseName.toString();
117
+ const modellingRule = p.modellingRule || "";
118
+ table.push([referenceName, nodeClass, browseName, dataTypeStr, typeDefinitionName, modellingRule]);
119
+ }
120
+ }
121
+ writer.writeLine("");
56
122
  writer.writeLine(table.toMarkdownTable());
123
+ writer.writeLine("");
57
124
  }
58
- else if (definition instanceof node_opcua_types_1.StructureDefinition) {
59
- writer.writeLine("\nBasic Type: " + node_opcua_variant_1.DataType[dataType.basicDataType]);
60
- const table = new tableHelper_1.TableHelper(["Name", "data type", "value rank", "maxStringLength", "Dimensions", "Description"]);
61
- for (const f of definition.fields || []) {
62
- const dataTypeString = addressSpace.findDataType(f.dataType).browseName.toString();
63
- table.push([
64
- f.name,
65
- dataTypeString,
66
- f.valueRank ? f.valueRank : "",
67
- f.maxStringLength ? f.maxStringLength : "",
68
- f.arrayDimensions ? f.arrayDimensions : "",
69
- (f.description.text || "").replace(/\n/g, "<br>"),
70
- ]);
125
+ return writer.toString();
126
+ }
127
+ function dataTypeStructureToMarkdown(dataType) {
128
+ const addressSpace = dataType.addressSpace;
129
+ const writer = new Writer();
130
+ writer.writeLine("");
131
+ if (dataType.description) {
132
+ writer.writeLine(dataType.description.text || "");
133
+ }
134
+ const definition = dataType.getStructureDefinition();
135
+ writer.writeLine("\nBasic Type: " + node_opcua_variant_1.DataType[dataType.basicDataType]);
136
+ writer.writeLine("");
137
+ writer.writeLine(`The fields of the ${dataType.browseName.name} DataType are defined in the following table:`);
138
+ const c = (f) => {
139
+ var _a;
140
+ let dataTypeString = addressSpace.findDataType(f.dataType).browseName.toString();
141
+ if (f.valueRank === 1) {
142
+ dataTypeString += "[]";
71
143
  }
72
- writer.writeLine(table.toMarkdownTable());
144
+ else if (f.valueRank >= 2) {
145
+ dataTypeString += "[" + ((_a = f.arrayDimensions) === null || _a === void 0 ? void 0 : _a.map((d) => "" + d).join(" ")) + "]";
146
+ }
147
+ // f.maxStringLength ? f.maxStringLength : "",
148
+ // f.arrayDimensions ? f.arrayDimensions : "",
149
+ return dataTypeString;
150
+ };
151
+ const table = new tableHelper_1.TableHelper(["Name", "Type", "Description"]);
152
+ table.push([dataType.browseName.name, "Structure"]);
153
+ for (const f of definition.fields || []) {
154
+ table.push([" " + f.name, c(f), (f.description.text || "").replace(/\n/g, "<br>")]);
155
+ }
156
+ writer.writeLine(table.toMarkdownTable());
157
+ const str = dumpTypeRepresentation(dataType);
158
+ writer.writeLine(str);
159
+ return writer.toString();
160
+ }
161
+ function dataTypeToMarkdown(dataType) {
162
+ if (dataType.isEnumeration()) {
163
+ return dataTypeEnumerationToMarkdown(dataType);
164
+ }
165
+ else if (dataType.isStructure()) {
166
+ return dataTypeStructureToMarkdown(dataType);
73
167
  }
74
168
  else {
169
+ const writer = new Writer();
170
+ writer.writeLine("");
171
+ if (dataType.description) {
172
+ writer.writeLine(dataType.description.text || "");
173
+ }
75
174
  writer.writeLine("\nBasic Type: " + node_opcua_variant_1.DataType[dataType.basicDataType]);
76
175
  writer.writeLine("");
176
+ return writer.toString();
77
177
  }
178
+ }
179
+ function dumpReferenceType(referenceType) {
180
+ const writer = new Writer();
181
+ const str = dumpTypeRepresentation(referenceType);
182
+ writer.writeLine(str);
78
183
  return writer.toString();
79
184
  }
80
185
  function buildDocumentation(namespace, writer) {
@@ -86,65 +191,74 @@ function buildDocumentation(namespace, writer) {
86
191
  writer.writeLine("");
87
192
  writer.writeLine("# Namespace " + namespaceUri);
88
193
  writer.writeLine("");
89
- // -------------- writeReferences
90
194
  const namespacePriv = namespace;
91
- writer.writeLine("");
92
- writer.writeLine("## References ");
93
- writer.writeLine("");
94
- for (const referenceType of namespacePriv._referenceTypeIterator()) {
95
- writer.writeLine("\n\n### reference " + referenceType.browseName.name);
195
+ // -------------- writeReferences
196
+ if (namespacePriv._referenceTypeCount() > 0) {
197
+ writer.writeLine("");
198
+ writer.writeLine("## References ");
199
+ writer.writeLine("");
200
+ for (const referenceType of namespacePriv._referenceTypeIterator()) {
201
+ writer.writeLine("\n\n### reference " + referenceType.browseName.name);
202
+ dumpReferenceType(referenceType);
203
+ }
96
204
  }
97
205
  function d(node) {
98
206
  return node.description ? node.description.text.toString() : "";
99
207
  }
100
208
  // -------------- writeDataType
101
- writer.writeLine("");
102
- writer.writeLine("## DataTypes");
103
- writer.writeLine("");
104
- for (const dataType of namespacePriv._dataTypeIterator()) {
105
- writer.writeLine("\n\n### " + dataType.browseName.name.toString());
209
+ if (namespacePriv._dataTypeCount() > 0) {
106
210
  writer.writeLine("");
107
- writer.writeLine(dataTypeToMarkdown(dataType));
108
- }
109
- // -------------- writeObjectType
110
- writer.writeLine("");
111
- writer.writeLine("## ObjectTypes");
112
- writer.writeLine("");
113
- for (const objectType of namespacePriv._objectTypeIterator()) {
114
- writer.writeLine("\n\n### " + objectType.browseName.name.toString());
115
- writer.writeLine(d(objectType));
116
- writer.writeLine((0, to_graphivz_1.graphVizToPlantUml)((0, to_graphivz_1.dumpClassHierachry)(objectType, { showBaseType: true, depth: 2 })));
117
- writer.writeLine((0, to_graphivz_1.graphVizToPlantUml)((0, to_graphivz_1.opcuaToDot)(objectType)));
118
- // enumerate components
119
- writer.writeLine((0, displayNodeElement_1.displayNodeElement)(objectType, { format: "markdown" }));
120
- for (const comp of objectType.getComponents()) {
121
- writer.writeLine("\n\n#### " + comp.browseName.name.toString());
211
+ writer.writeLine("## DataTypes");
212
+ writer.writeLine("");
213
+ for (const dataType of namespacePriv._dataTypeIterator()) {
214
+ writer.writeLine("\n\n### " + dataType.browseName.name.toString());
122
215
  writer.writeLine("");
123
- writer.writeLine(d(comp));
216
+ writer.writeLine(dataTypeToMarkdown(dataType));
124
217
  }
125
- for (const comp of objectType.getProperties()) {
126
- writer.writeLine("\n\n#### " + comp.browseName.name.toString());
127
- writer.writeLine("");
128
- writer.writeLine(d(comp));
218
+ }
219
+ // -------------- writeObjectType
220
+ if (namespacePriv._objectTypeCount() > 0) {
221
+ writer.writeLine("");
222
+ writer.writeLine("## ObjectTypes");
223
+ writer.writeLine("");
224
+ for (const objectType of namespacePriv._objectTypeIterator()) {
225
+ writer.writeLine("\n\n### " + objectType.browseName.name.toString());
226
+ writer.writeLine(d(objectType));
227
+ writer.writeLine((0, to_graphivz_1.graphVizToPlantUml)((0, to_graphivz_1.dumpClassHierachry)(objectType, { showBaseType: true, depth: 2 })));
228
+ writer.writeLine((0, to_graphivz_1.graphVizToPlantUml)((0, to_graphivz_1.opcuaToDot)(objectType)));
229
+ // enumerate components
230
+ writer.writeLine((0, displayNodeElement_1.displayNodeElement)(objectType, { format: "markdown" }));
231
+ for (const comp of objectType.getComponents()) {
232
+ writer.writeLine("\n\n#### " + comp.browseName.name.toString());
233
+ writer.writeLine("");
234
+ writer.writeLine(d(comp));
235
+ }
236
+ for (const comp of objectType.getProperties()) {
237
+ writer.writeLine("\n\n#### " + comp.browseName.name.toString());
238
+ writer.writeLine("");
239
+ writer.writeLine(d(comp));
240
+ }
129
241
  }
130
242
  }
131
243
  // -------------- writeVariableType
132
- writer.writeLine("");
133
- writer.writeLine("## VariableTypes");
134
- writer.writeLine("");
135
- for (const variableType of namespacePriv._variableTypeIterator()) {
136
- writer.writeLine("\n\n### " + variableType.browseName.name.toString());
137
- writer.writeLine(d(variableType));
244
+ if (namespacePriv._variableTypeCount() > 0) {
245
+ writer.writeLine("");
246
+ writer.writeLine("## VariableTypes");
138
247
  writer.writeLine("");
139
- writer.writeLine((0, to_graphivz_1.graphVizToPlantUml)((0, to_graphivz_1.dumpClassHierachry)(variableType, { showBaseType: true, depth: 2 })));
140
- writer.writeLine((0, to_graphivz_1.graphVizToPlantUml)((0, to_graphivz_1.opcuaToDot)(variableType)));
141
- // enumerate components
142
- writer.writeLine((0, displayNodeElement_1.displayNodeElement)(variableType, { format: "markdown" }));
143
- for (const reference of variableType.allReferences()) {
144
- const n = reference.node;
145
- writer.writeLine("\n\n#### " + n.browseName.name.toString());
248
+ for (const variableType of namespacePriv._variableTypeIterator()) {
249
+ writer.writeLine("\n\n### " + variableType.browseName.name.toString());
250
+ writer.writeLine(d(variableType));
146
251
  writer.writeLine("");
147
- writer.writeLine(d(n));
252
+ writer.writeLine((0, to_graphivz_1.graphVizToPlantUml)((0, to_graphivz_1.dumpClassHierachry)(variableType, { showBaseType: true, depth: 2 })));
253
+ writer.writeLine((0, to_graphivz_1.graphVizToPlantUml)((0, to_graphivz_1.opcuaToDot)(variableType)));
254
+ // enumerate components
255
+ writer.writeLine((0, displayNodeElement_1.displayNodeElement)(variableType, { format: "markdown" }));
256
+ for (const reference of variableType.allReferences()) {
257
+ const n = reference.node;
258
+ writer.writeLine("\n\n#### " + n.browseName.name.toString());
259
+ writer.writeLine("");
260
+ writer.writeLine(d(n));
261
+ }
148
262
  }
149
263
  }
150
264
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generate_markdown_doc.js","sourceRoot":"","sources":["../source/generate_markdown_doc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate_markdown_doc.js","sourceRoot":"","sources":["../source/generate_markdown_doc.ts"],"names":[],"mappings":"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"}