node-opcua-modeler 2.63.1 → 2.64.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.
- package/MyModel.NodeSet2.xml +125 -0
- package/dist/addExtensionObjectDataType.d.ts +21 -21
- package/dist/addExtensionObjectDataType.js +130 -130
- package/dist/buildModel.d.ts +16 -0
- package/dist/buildModel.js +91 -0
- package/dist/buildModel.js.map +1 -0
- package/dist/build_model_inner.d.ts +17 -17
- package/dist/build_model_inner.js +40 -40
- package/dist/display.d.ts +2 -0
- package/dist/display.js +96 -0
- package/dist/display.js.map +1 -0
- package/dist/displayNodeElement.d.ts +5 -5
- package/dist/displayNodeElement.js +191 -156
- package/dist/displayNodeElement.js.map +1 -1
- package/dist/dump_state_machine_to_graphviz.d.ts +6 -0
- package/dist/dump_state_machine_to_graphviz.js +120 -0
- package/dist/dump_state_machine_to_graphviz.js.map +1 -0
- package/dist/generate_markdown_doc.d.ts +6 -6
- package/dist/generate_markdown_doc.js +266 -155
- package/dist/generate_markdown_doc.js.map +1 -1
- package/dist/index.d.ts +24 -24
- package/dist/index.js +48 -48
- package/dist/promoteToMandatory.d.ts +8 -8
- package/dist/promoteToMandatory.js +97 -97
- package/dist/setNamespaceMetaData.d.ts +1 -1
- package/dist/setNamespaceMetaData.js +5 -5
- package/dist/symbol.d.ts +1 -1
- package/dist/symbol.js +2 -2
- package/dist/tableHelper.d.ts +9 -9
- package/dist/tableHelper.js +60 -60
- package/dist/to_cvs.d.ts +2 -2
- package/dist/to_cvs.js +11 -11
- package/dist/to_graphivz.d.ts +14 -13
- package/dist/to_graphivz.js +294 -235
- package/dist/to_graphivz.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +2 -2
- package/distNodeJS/build_documentation_to_file.d.ts +2 -2
- package/distNodeJS/build_documentation_to_file.js +26 -26
- package/distNodeJS/build_model.d.ts +7 -7
- package/distNodeJS/build_model.js +21 -21
- package/distNodeJS/index.d.ts +5 -5
- package/distNodeJS/index.js +19 -19
- package/distNodeJS/symbol_cvs.d.ts +3 -3
- package/distNodeJS/symbol_cvs.js +63 -63
- package/examples/make_model.ts +4 -3
- package/package.json +19 -19
- package/source/displayNodeElement.ts +165 -112
- package/source/dump_state_machine_to_graphviz.ts +164 -0
- package/source/generate_markdown_doc.ts +217 -82
- package/source/to_graphivz.ts +129 -48
|
@@ -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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Namespace } from "node-opcua-address-space";
|
|
2
|
-
export interface IWriter {
|
|
3
|
-
writeLine(...args: any[]): void;
|
|
4
|
-
}
|
|
5
|
-
export declare function buildDocumentationToString(namespace: Namespace): Promise<string>;
|
|
6
|
-
export declare function buildDocumentation(namespace: Namespace, writer: IWriter): Promise<void>;
|
|
1
|
+
import { Namespace } from "node-opcua-address-space";
|
|
2
|
+
export interface IWriter {
|
|
3
|
+
writeLine(...args: any[]): void;
|
|
4
|
+
}
|
|
5
|
+
export declare function buildDocumentationToString(namespace: Namespace): Promise<string>;
|
|
6
|
+
export declare function buildDocumentation(namespace: Namespace, writer: IWriter): Promise<void>;
|
|
@@ -1,156 +1,267 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.buildDocumentation = exports.buildDocumentationToString = void 0;
|
|
13
|
-
const node_opcua_basic_types_1 = require("node-opcua-basic-types");
|
|
14
|
-
const
|
|
15
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
16
|
-
const displayNodeElement_1 = require("./displayNodeElement");
|
|
17
|
-
const tableHelper_1 = require("./tableHelper");
|
|
18
|
-
const to_graphivz_1 = require("./to_graphivz");
|
|
19
|
-
class Writer {
|
|
20
|
-
constructor() {
|
|
21
|
-
this.stream = [];
|
|
22
|
-
/* empty */
|
|
23
|
-
}
|
|
24
|
-
writeLine(str) {
|
|
25
|
-
this.stream.push(str);
|
|
26
|
-
}
|
|
27
|
-
toString() {
|
|
28
|
-
return this.stream.join("\n");
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function buildDocumentationToString(namespace) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const writer = new Writer();
|
|
34
|
-
yield buildDocumentation(namespace, writer);
|
|
35
|
-
return writer.toString();
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
exports.buildDocumentationToString = buildDocumentationToString;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
writer.writeLine("");
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.buildDocumentation = exports.buildDocumentationToString = void 0;
|
|
13
|
+
const node_opcua_basic_types_1 = require("node-opcua-basic-types");
|
|
14
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
15
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
16
|
+
const displayNodeElement_1 = require("./displayNodeElement");
|
|
17
|
+
const tableHelper_1 = require("./tableHelper");
|
|
18
|
+
const to_graphivz_1 = require("./to_graphivz");
|
|
19
|
+
class Writer {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.stream = [];
|
|
22
|
+
/* empty */
|
|
23
|
+
}
|
|
24
|
+
writeLine(str) {
|
|
25
|
+
this.stream.push(str);
|
|
26
|
+
}
|
|
27
|
+
toString() {
|
|
28
|
+
return this.stream.join("\n");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function buildDocumentationToString(namespace) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const writer = new Writer();
|
|
34
|
+
yield buildDocumentation(namespace, writer);
|
|
35
|
+
return writer.toString();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.buildDocumentationToString = buildDocumentationToString;
|
|
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) {
|
|
54
|
+
const addressSpace = dataType.addressSpace;
|
|
55
|
+
const writer = new Writer();
|
|
56
|
+
writer.writeLine("");
|
|
57
|
+
if (dataType.description) {
|
|
58
|
+
writer.writeLine(dataType.description.text || "");
|
|
59
|
+
}
|
|
60
|
+
writer.writeLine(`\nThe fields of the ${dataType.browseName.name} DataType are defined in the following table:`);
|
|
61
|
+
writer.writeLine("");
|
|
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]);
|
|
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("");
|
|
122
|
+
writer.writeLine(table.toMarkdownTable());
|
|
123
|
+
writer.writeLine("");
|
|
124
|
+
}
|
|
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 += "[]";
|
|
143
|
+
}
|
|
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);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
const writer = new Writer();
|
|
170
|
+
writer.writeLine("");
|
|
171
|
+
if (dataType.description) {
|
|
172
|
+
writer.writeLine(dataType.description.text || "");
|
|
173
|
+
}
|
|
174
|
+
writer.writeLine("\nBasic Type: " + node_opcua_variant_1.DataType[dataType.basicDataType]);
|
|
175
|
+
writer.writeLine("");
|
|
176
|
+
return writer.toString();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
function dumpReferenceType(referenceType) {
|
|
180
|
+
const writer = new Writer();
|
|
181
|
+
const str = dumpTypeRepresentation(referenceType);
|
|
182
|
+
writer.writeLine(str);
|
|
183
|
+
return writer.toString();
|
|
184
|
+
}
|
|
185
|
+
function buildDocumentation(namespace, writer) {
|
|
186
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
+
const addressSpace = namespace.addressSpace;
|
|
188
|
+
const namespaceUri = namespace.namespaceUri;
|
|
189
|
+
// -------- Documentation
|
|
190
|
+
const nsIndex = addressSpace.getNamespaceIndex(namespaceUri);
|
|
191
|
+
writer.writeLine("");
|
|
192
|
+
writer.writeLine("# Namespace " + namespaceUri);
|
|
193
|
+
writer.writeLine("");
|
|
194
|
+
const namespacePriv = namespace;
|
|
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
|
+
}
|
|
204
|
+
}
|
|
205
|
+
function d(node) {
|
|
206
|
+
return node.description ? node.description.text.toString() : "";
|
|
207
|
+
}
|
|
208
|
+
// -------------- writeDataType
|
|
209
|
+
if (namespacePriv._dataTypeCount() > 0) {
|
|
210
|
+
writer.writeLine("");
|
|
211
|
+
writer.writeLine("## DataTypes");
|
|
212
|
+
writer.writeLine("");
|
|
213
|
+
for (const dataType of namespacePriv._dataTypeIterator()) {
|
|
214
|
+
writer.writeLine("\n\n### " + dataType.browseName.name.toString());
|
|
215
|
+
writer.writeLine("");
|
|
216
|
+
writer.writeLine(dataTypeToMarkdown(dataType));
|
|
217
|
+
}
|
|
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
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// -------------- writeVariableType
|
|
244
|
+
if (namespacePriv._variableTypeCount() > 0) {
|
|
245
|
+
writer.writeLine("");
|
|
246
|
+
writer.writeLine("## VariableTypes");
|
|
247
|
+
writer.writeLine("");
|
|
248
|
+
for (const variableType of namespacePriv._variableTypeIterator()) {
|
|
249
|
+
writer.writeLine("\n\n### " + variableType.browseName.name.toString());
|
|
250
|
+
writer.writeLine(d(variableType));
|
|
251
|
+
writer.writeLine("");
|
|
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
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
exports.buildDocumentation = buildDocumentation;
|
|
156
267
|
//# sourceMappingURL=generate_markdown_doc.js.map
|
|
@@ -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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"}
|