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
|
@@ -1,41 +1,41 @@
|
|
|
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.buildModelInner = void 0;
|
|
13
|
-
const node_opcua_address_space_1 = require("node-opcua-address-space");
|
|
14
|
-
const generate_markdown_doc_1 = require("./generate_markdown_doc");
|
|
15
|
-
function buildModelInner(data) {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
try {
|
|
18
|
-
const addressSpace = node_opcua_address_space_1.AddressSpace.create();
|
|
19
|
-
// create own namespace (before loading other xml files)
|
|
20
|
-
const ns = addressSpace.registerNamespace(data.namespaceUri);
|
|
21
|
-
const nodeIdManager = ns._nodeIdManager;
|
|
22
|
-
if (data.presetSymbols) {
|
|
23
|
-
nodeIdManager.setSymbols(data.presetSymbols);
|
|
24
|
-
}
|
|
25
|
-
yield (0, node_opcua_address_space_1.generateAddressSpaceRaw)(addressSpace, data.xmlFiles, data.xmlLoader);
|
|
26
|
-
yield data.createModel(addressSpace);
|
|
27
|
-
const xmlModel = ns.toNodeset2XML();
|
|
28
|
-
const symbols = nodeIdManager.getSymbols();
|
|
29
|
-
const doc = yield (0, generate_markdown_doc_1.buildDocumentationToString)(ns);
|
|
30
|
-
addressSpace.dispose();
|
|
31
|
-
return { xmlModel, symbols, markdown: doc };
|
|
32
|
-
}
|
|
33
|
-
catch (err) {
|
|
34
|
-
// tslint:disable-next-line: no-console
|
|
35
|
-
console.log("Error", err);
|
|
36
|
-
throw err;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
exports.buildModelInner = buildModelInner;
|
|
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.buildModelInner = void 0;
|
|
13
|
+
const node_opcua_address_space_1 = require("node-opcua-address-space");
|
|
14
|
+
const generate_markdown_doc_1 = require("./generate_markdown_doc");
|
|
15
|
+
function buildModelInner(data) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
try {
|
|
18
|
+
const addressSpace = node_opcua_address_space_1.AddressSpace.create();
|
|
19
|
+
// create own namespace (before loading other xml files)
|
|
20
|
+
const ns = addressSpace.registerNamespace(data.namespaceUri);
|
|
21
|
+
const nodeIdManager = ns._nodeIdManager;
|
|
22
|
+
if (data.presetSymbols) {
|
|
23
|
+
nodeIdManager.setSymbols(data.presetSymbols);
|
|
24
|
+
}
|
|
25
|
+
yield (0, node_opcua_address_space_1.generateAddressSpaceRaw)(addressSpace, data.xmlFiles, data.xmlLoader);
|
|
26
|
+
yield data.createModel(addressSpace);
|
|
27
|
+
const xmlModel = ns.toNodeset2XML();
|
|
28
|
+
const symbols = nodeIdManager.getSymbols();
|
|
29
|
+
const doc = yield (0, generate_markdown_doc_1.buildDocumentationToString)(ns);
|
|
30
|
+
addressSpace.dispose();
|
|
31
|
+
return { xmlModel, symbols, markdown: doc };
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
// tslint:disable-next-line: no-console
|
|
35
|
+
console.log("Error", err);
|
|
36
|
+
throw err;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
exports.buildModelInner = buildModelInner;
|
|
41
41
|
//# sourceMappingURL=build_model_inner.js.map
|
package/dist/display.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
4
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
5
|
+
const Table = require("cli-table");
|
|
6
|
+
const a = 'ⓂⓄⓋⓥⓇ❗⟵ ⟶⟷';
|
|
7
|
+
function symbol(nodeClass) {
|
|
8
|
+
switch (nodeClass) {
|
|
9
|
+
case node_opcua_data_model_1.NodeClass.DataType: return "Ⓓ";
|
|
10
|
+
case node_opcua_data_model_1.NodeClass.ObjectType: return "<Ⓞ>";
|
|
11
|
+
case node_opcua_data_model_1.NodeClass.VariableType: return "<Ⓥ>";
|
|
12
|
+
case node_opcua_data_model_1.NodeClass.Method: return "Ⓜ";
|
|
13
|
+
case node_opcua_data_model_1.NodeClass.Object: return "Ⓞ";
|
|
14
|
+
case node_opcua_data_model_1.NodeClass.Variable: return "Ⓥ";
|
|
15
|
+
case node_opcua_data_model_1.NodeClass.View: return "⦖";
|
|
16
|
+
default: return "?";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function displayNodeElement(node) {
|
|
20
|
+
// instantiate
|
|
21
|
+
var table = new Table({
|
|
22
|
+
head: [
|
|
23
|
+
'ReferenceType', 'NodeId', 'BrowseName', 'ModellingRule', "TypeDefinition", "DataType", "Value"
|
|
24
|
+
],
|
|
25
|
+
});
|
|
26
|
+
table.push([
|
|
27
|
+
"BrowseName: ",
|
|
28
|
+
{ colSpan: 6, content: node.browseName.toString() },
|
|
29
|
+
]);
|
|
30
|
+
if (node.description) {
|
|
31
|
+
table.push([
|
|
32
|
+
"Description: ",
|
|
33
|
+
node.description.toString(),
|
|
34
|
+
]);
|
|
35
|
+
}
|
|
36
|
+
const alreadyDumped = {};
|
|
37
|
+
function dumpRefe(ref) {
|
|
38
|
+
if (!ref.isForward) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (!ref.node) {
|
|
42
|
+
console.log(" Halt ", ref.toString());
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const dir = ref.isForward ? "⟶" : "⟵";
|
|
46
|
+
const refNode = ref.node;
|
|
47
|
+
const refType = ref._referenceType;
|
|
48
|
+
// xx const r = refNode.findReferencesAsObject("HasModellingRule", true);
|
|
49
|
+
const modelingRule = refNode.modellingRule || ""; // r[0] ? r[0].browseName.toString() : "/";
|
|
50
|
+
let value = "";
|
|
51
|
+
let dataType = "";
|
|
52
|
+
if (refNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
|
|
53
|
+
const v = refNode;
|
|
54
|
+
const val = v.readValue().value.value;
|
|
55
|
+
if (v.isEnumeration() && val !== null) {
|
|
56
|
+
const a = v.readEnumValue();
|
|
57
|
+
value = a.value + " (" + a.name + ")";
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
value = val ? val.toString() : "null";
|
|
61
|
+
}
|
|
62
|
+
const actualDataType = node_opcua_variant_1.DataType[v.readValue().value.dataType];
|
|
63
|
+
dataType = v.dataTypeObj.browseName.toString();
|
|
64
|
+
//findBasicDataType(v.dataTypeObj);
|
|
65
|
+
}
|
|
66
|
+
table.push([
|
|
67
|
+
refType.browseName.toString() + dir + symbol(refNode.nodeClass),
|
|
68
|
+
refNode.nodeId.toString(),
|
|
69
|
+
refNode.browseName.toString(),
|
|
70
|
+
modelingRule,
|
|
71
|
+
refNode.typeDefinitionObj ? refNode.typeDefinitionObj.browseName.toString() : "",
|
|
72
|
+
dataType, value
|
|
73
|
+
]);
|
|
74
|
+
alreadyDumped[refNode.browseName.toString()] = 1;
|
|
75
|
+
}
|
|
76
|
+
const references = node.allReferences();
|
|
77
|
+
for (const ref of references) {
|
|
78
|
+
dumpRefe(ref);
|
|
79
|
+
}
|
|
80
|
+
// add property from derived type
|
|
81
|
+
if (node.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType || node.nodeClass === node_opcua_data_model_1.NodeClass.VariableType) {
|
|
82
|
+
const curNode = node;
|
|
83
|
+
let superType = curNode.subtypeOfObj;
|
|
84
|
+
while (superType) {
|
|
85
|
+
table.push([superType.browseName.toString() + ":", "--", "--", "--"]);
|
|
86
|
+
const references = superType.allReferences();
|
|
87
|
+
for (const ref of references) {
|
|
88
|
+
dumpRefe(ref);
|
|
89
|
+
}
|
|
90
|
+
superType = superType.subtypeOfObj;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
console.log(table.toString());
|
|
94
|
+
}
|
|
95
|
+
exports.displayNodeElement = displayNodeElement;
|
|
96
|
+
//# sourceMappingURL=display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../source/display.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseNode } from "node-opcua-address-space";
|
|
2
|
-
export interface DisplayNodeOptions {
|
|
3
|
-
format: "cli" | "markdown";
|
|
4
|
-
}
|
|
5
|
-
export declare function displayNodeElement(node: BaseNode, options?: DisplayNodeOptions): string;
|
|
1
|
+
import { BaseNode } from "node-opcua-address-space";
|
|
2
|
+
export interface DisplayNodeOptions {
|
|
3
|
+
format: "cli" | "markdown";
|
|
4
|
+
}
|
|
5
|
+
export declare function displayNodeElement(node: BaseNode, options?: DisplayNodeOptions): string;
|
|
@@ -1,157 +1,192 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.displayNodeElement = void 0;
|
|
4
|
-
const node_opcua_address_space_1 = require("node-opcua-address-space");
|
|
5
|
-
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
6
|
-
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
7
|
-
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
8
|
-
const tableHelper_1 = require("./tableHelper");
|
|
9
|
-
const a = "ⓂⓄⓋⓥⓇ❗⟵ ⟶⟷";
|
|
10
|
-
function symbol(nodeClass) {
|
|
11
|
-
switch (nodeClass) {
|
|
12
|
-
case node_opcua_data_model_1.NodeClass.DataType:
|
|
13
|
-
return "Ⓓ";
|
|
14
|
-
case node_opcua_data_model_1.NodeClass.ObjectType:
|
|
15
|
-
return "ⓄT";
|
|
16
|
-
case node_opcua_data_model_1.NodeClass.VariableType:
|
|
17
|
-
return "ⓋT";
|
|
18
|
-
case node_opcua_data_model_1.NodeClass.Method:
|
|
19
|
-
return "Ⓜ";
|
|
20
|
-
case node_opcua_data_model_1.NodeClass.Object:
|
|
21
|
-
return "Ⓞ";
|
|
22
|
-
case node_opcua_data_model_1.NodeClass.Variable:
|
|
23
|
-
return "Ⓥ";
|
|
24
|
-
case node_opcua_data_model_1.NodeClass.View:
|
|
25
|
-
return "⦖";
|
|
26
|
-
default:
|
|
27
|
-
return "?";
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
const hasSubtypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype");
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
if (
|
|
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
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
table.push([
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.displayNodeElement = void 0;
|
|
4
|
+
const node_opcua_address_space_1 = require("node-opcua-address-space");
|
|
5
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
6
|
+
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
7
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
8
|
+
const tableHelper_1 = require("./tableHelper");
|
|
9
|
+
const a = "ⓂⓄⓋⓥⓇ❗⟵ ⟶⟷";
|
|
10
|
+
function symbol(nodeClass) {
|
|
11
|
+
switch (nodeClass) {
|
|
12
|
+
case node_opcua_data_model_1.NodeClass.DataType:
|
|
13
|
+
return "Ⓓ";
|
|
14
|
+
case node_opcua_data_model_1.NodeClass.ObjectType:
|
|
15
|
+
return "ⓄT";
|
|
16
|
+
case node_opcua_data_model_1.NodeClass.VariableType:
|
|
17
|
+
return "ⓋT";
|
|
18
|
+
case node_opcua_data_model_1.NodeClass.Method:
|
|
19
|
+
return "Ⓜ";
|
|
20
|
+
case node_opcua_data_model_1.NodeClass.Object:
|
|
21
|
+
return "Ⓞ";
|
|
22
|
+
case node_opcua_data_model_1.NodeClass.Variable:
|
|
23
|
+
return "Ⓥ";
|
|
24
|
+
case node_opcua_data_model_1.NodeClass.View:
|
|
25
|
+
return "⦖";
|
|
26
|
+
default:
|
|
27
|
+
return "?";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const hasSubtypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype");
|
|
31
|
+
function encodeXML(s) {
|
|
32
|
+
return s.replace("&", "&").replace("<", "<").replace(">", ">");
|
|
33
|
+
}
|
|
34
|
+
function dumpReference(data, ref, filter) {
|
|
35
|
+
(0, node_opcua_address_space_1.resolveReferenceNode)(data.node.addressSpace, ref);
|
|
36
|
+
if (!ref.isForward) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (node_opcua_nodeid_1.NodeId.sameNodeId(ref.referenceType, hasSubtypeNodeId)) {
|
|
40
|
+
return; // ignore forward HasSubtype
|
|
41
|
+
}
|
|
42
|
+
// ignore subtype references
|
|
43
|
+
/* istanbul ignore next */
|
|
44
|
+
if (!ref.node) {
|
|
45
|
+
// tslint:disable-next-line: no-console
|
|
46
|
+
console.log(" Halt ", ref.toString({ addressSpace: data.node.addressSpace }));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const dir = ref.isForward ? " " : " ";
|
|
50
|
+
const refNode = ref.node;
|
|
51
|
+
const refType = (0, node_opcua_address_space_1.resolveReferenceType)(data.node.addressSpace, ref);
|
|
52
|
+
if (filter) {
|
|
53
|
+
if (refType.browseName.name !== filter) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const key = ref.nodeId.toString() + ref.referenceType.toString();
|
|
58
|
+
if (data.alreadyDumped[key]) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
// xx const r = refNode.findReferencesAsObject("HasModellingRule", true);
|
|
62
|
+
const modelingRule = refNode.modellingRule || ""; // r[0] ? r[0].browseName.toString() : "/";
|
|
63
|
+
let value = "";
|
|
64
|
+
let dataType = "";
|
|
65
|
+
if (refNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
|
|
66
|
+
const v = refNode;
|
|
67
|
+
const val = v.readValue().value.value;
|
|
68
|
+
if (v.isExtensionObject()) {
|
|
69
|
+
// don't do anything
|
|
70
|
+
}
|
|
71
|
+
else if (v.isEnumeration() && val !== null) {
|
|
72
|
+
const enumValue = v.readEnumValue();
|
|
73
|
+
value = enumValue.value + " (" + enumValue.name + ")";
|
|
74
|
+
}
|
|
75
|
+
else if (val instanceof Date) {
|
|
76
|
+
value = val ? val.toUTCString() : "";
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
value = val ? val.toString() : "null";
|
|
80
|
+
}
|
|
81
|
+
const actualDataType = node_opcua_variant_1.DataType[v.readValue().value.dataType];
|
|
82
|
+
const basicDataType = node_opcua_variant_1.DataType[v.dataTypeObj.basicDataType];
|
|
83
|
+
dataType = v.dataTypeObj.browseName.toString();
|
|
84
|
+
if (basicDataType !== dataType) {
|
|
85
|
+
dataType = dataType + "(" + basicDataType + ")";
|
|
86
|
+
}
|
|
87
|
+
// findBasicDataType(v.dataTypeObj);
|
|
88
|
+
}
|
|
89
|
+
const row = [
|
|
90
|
+
refType.browseName.toString() + dir + symbol(refNode.nodeClass),
|
|
91
|
+
refNode.nodeId.toString(),
|
|
92
|
+
encodeXML(refNode.browseName.toString()),
|
|
93
|
+
modelingRule,
|
|
94
|
+
refNode.typeDefinitionObj ? refNode.typeDefinitionObj.browseName.toString() : "",
|
|
95
|
+
dataType,
|
|
96
|
+
value
|
|
97
|
+
];
|
|
98
|
+
data.table.push(row);
|
|
99
|
+
data.descriptions.push({
|
|
100
|
+
description: refNode.description ? refNode.description.text || "" : "",
|
|
101
|
+
name: refNode.browseName.name,
|
|
102
|
+
type: dataType
|
|
103
|
+
});
|
|
104
|
+
data.alreadyDumped[key] = 1;
|
|
105
|
+
}
|
|
106
|
+
function dumpReferences(data, _references) {
|
|
107
|
+
// xx for (const ref of references) {
|
|
108
|
+
// xx dumpReference(ref, "HasSubtype");
|
|
109
|
+
// xx }
|
|
110
|
+
for (const ref of _references) {
|
|
111
|
+
dumpReference(data, ref, "HasTypeDefinition");
|
|
112
|
+
}
|
|
113
|
+
for (const ref of _references) {
|
|
114
|
+
dumpReference(data, ref, "HasEncoding");
|
|
115
|
+
}
|
|
116
|
+
for (const ref of _references) {
|
|
117
|
+
dumpReference(data, ref, "HasComponent");
|
|
118
|
+
}
|
|
119
|
+
for (const ref of _references) {
|
|
120
|
+
dumpReference(data, ref, "HasProperty");
|
|
121
|
+
}
|
|
122
|
+
for (const ref of _references) {
|
|
123
|
+
dumpReference(data, ref, "Organizes");
|
|
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];
|
|
132
|
+
}
|
|
133
|
+
function displayNodeElement(node, options) {
|
|
134
|
+
const head = ["ReferenceType", "NodeId", "BrowseName", "ModellingRule", "TypeDefinition", "DataType", "Value"];
|
|
135
|
+
function createTable() {
|
|
136
|
+
const table = new tableHelper_1.TableHelper(head);
|
|
137
|
+
table.push(["BrowseName: ", { colSpan: 6, content: node.browseName.toString() }]);
|
|
138
|
+
const superType = node.subtypeOfObj;
|
|
139
|
+
if (superType) {
|
|
140
|
+
table.push(["Base", superType.browseName.toString(), { colSpan: 6, content: node.browseName.toString() }]);
|
|
141
|
+
}
|
|
142
|
+
if (node.description) {
|
|
143
|
+
table.push(["Description", { colspan: 6, content: shortDescription(node.description.text || "") }]);
|
|
144
|
+
}
|
|
145
|
+
return table;
|
|
146
|
+
}
|
|
147
|
+
const table = createTable();
|
|
148
|
+
const alreadyDumped = {};
|
|
149
|
+
const descriptions = [];
|
|
150
|
+
const references = node.allReferences();
|
|
151
|
+
const m = {};
|
|
152
|
+
const data = { table, node, alreadyDumped, descriptions };
|
|
153
|
+
dumpReferences(data, references);
|
|
154
|
+
function toText(table) {
|
|
155
|
+
if (options && options.format === "markdown") {
|
|
156
|
+
return table.toMarkdownTable();
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
return table.toString();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
const str = [];
|
|
163
|
+
const tables = [];
|
|
164
|
+
tables.push(table);
|
|
165
|
+
if (node.description) {
|
|
166
|
+
str.push(node.description.text || "");
|
|
167
|
+
str.push("");
|
|
168
|
+
}
|
|
169
|
+
str.push(toText(table));
|
|
170
|
+
const str2 = [];
|
|
171
|
+
// add property from base object/variable type
|
|
172
|
+
if (node.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType || node.nodeClass === node_opcua_data_model_1.NodeClass.VariableType) {
|
|
173
|
+
const curNode = node;
|
|
174
|
+
let subtypeOf = curNode.subtypeOfObj;
|
|
175
|
+
while (subtypeOf) {
|
|
176
|
+
data.table = createTable();
|
|
177
|
+
data.table.push([subtypeOf.browseName.toString() + ":", "--", "--", "--"]);
|
|
178
|
+
const references2 = subtypeOf.allReferences();
|
|
179
|
+
dumpReferences(data, references2);
|
|
180
|
+
str.push("<details>");
|
|
181
|
+
str.push("<summary>Base type: " + subtypeOf.browseName.toString() + "</summary>");
|
|
182
|
+
str.push("");
|
|
183
|
+
str.push(toText(data.table));
|
|
184
|
+
str.push("");
|
|
185
|
+
str2.push("</details>");
|
|
186
|
+
subtypeOf = subtypeOf.subtypeOfObj;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return str.join("\n") + str2.join("\n");
|
|
190
|
+
}
|
|
191
|
+
exports.displayNodeElement = displayNodeElement;
|
|
157
192
|
//# sourceMappingURL=displayNodeElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayNodeElement.js","sourceRoot":"","sources":["../source/displayNodeElement.ts"],"names":[],"mappings":";;;AAAA,
|
|
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;
|