node-opcua-convert-nodeset-to-javascript 2.64.0 → 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/dist/cache.d.ts +62 -0
- package/dist/cache.js +273 -0
- package/dist/cache.js.map +1 -0
- package/dist/convert_namespace_to_typescript.d.ts +3 -3
- package/dist/convert_namespace_to_typescript.js +172 -172
- package/dist/convert_to_typescript.d.ts +109 -109
- package/dist/convert_to_typescript.js +884 -884
- package/dist/index.d.ts +3 -3
- package/dist/index.js +15 -15
- package/dist/main.d.ts +1 -1
- package/dist/main.js +74 -74
- package/dist/official_namespaces.d.ts +23 -23
- package/dist/official_namespaces.js +35 -35
- package/dist/options.d.ts +5 -5
- package/dist/options.js +2 -2
- package/dist/private/cache.d.ts +58 -58
- package/dist/private/cache.js +212 -212
- package/dist/private/to_filename.d.ts +1 -1
- package/dist/private/to_filename.js +9 -9
- package/dist/private/utils.d.ts +24 -24
- package/dist/private/utils.js +260 -260
- package/dist/private-stuff.d.ts +4 -4
- package/dist/private-stuff.js +16 -16
- package/dist/utils.d.ts +20 -0
- package/dist/utils.js +221 -0
- package/dist/utils.js.map +1 -0
- package/dist/walk_through.d.ts +13 -13
- package/dist/walk_through.js +86 -86
- package/package.json +57 -57
package/dist/utils.js
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
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.getChildrenOrFolderElements = exports.convertNodeIdToDataTypeAsync = exports.getTypeDefinition = exports.getTypeDefOrBaseType = exports.getSubtypeNodeId = exports.getSubtypeNodeIdIfAny = exports.getModellingRule = exports.getFolderElements = exports.getChildren = exports.getNodeClass = exports.getDescription = exports.getIsAbstract = exports.getBrowseName = exports.getDefinition = void 0;
|
|
13
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
14
|
+
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
15
|
+
const node_opcua_types_1 = require("node-opcua-types");
|
|
16
|
+
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
17
|
+
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
18
|
+
function getDefinition(session, nodeId) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const dataValue = yield session.read({ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.DataTypeDefinition });
|
|
21
|
+
return dataValue.value.value || null;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
exports.getDefinition = getDefinition;
|
|
25
|
+
function getBrowseName(session, nodeId) {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const dataValue = yield session.read({ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.BrowseName });
|
|
28
|
+
return dataValue.value.value;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
exports.getBrowseName = getBrowseName;
|
|
32
|
+
function getIsAbstract(session, nodeId) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const dataValue = yield session.read({ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.IsAbstract });
|
|
35
|
+
return dataValue.value.value;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.getIsAbstract = getIsAbstract;
|
|
39
|
+
function getDescription(session, nodeId) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const dataValue = yield session.read({ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.Description });
|
|
42
|
+
return dataValue.value.value;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
exports.getDescription = getDescription;
|
|
46
|
+
function getNodeClass(session, nodeId) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const dataValue = yield session.read({ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.NodeClass });
|
|
49
|
+
return dataValue.value.value;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
exports.getNodeClass = getNodeClass;
|
|
53
|
+
function getChildren(session, nodeId) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
const browseResult = yield session.browse({
|
|
56
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
|
|
57
|
+
includeSubtypes: true,
|
|
58
|
+
nodeClassMask: node_opcua_data_model_1.NodeClassMask.Method | node_opcua_data_model_1.NodeClassMask.Object | node_opcua_data_model_1.NodeClass.Variable,
|
|
59
|
+
nodeId,
|
|
60
|
+
referenceTypeId: node_opcua_nodeid_1.resolveNodeId("HasChild"),
|
|
61
|
+
resultMask: 0xffff
|
|
62
|
+
});
|
|
63
|
+
return browseResult.references || [];
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
exports.getChildren = getChildren;
|
|
67
|
+
function getFolderElements(session, nodeId) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const browseResult = yield session.browse({
|
|
70
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
|
|
71
|
+
includeSubtypes: true,
|
|
72
|
+
nodeClassMask: node_opcua_data_model_1.NodeClassMask.Method | node_opcua_data_model_1.NodeClassMask.Object | node_opcua_data_model_1.NodeClass.Variable,
|
|
73
|
+
nodeId,
|
|
74
|
+
referenceTypeId: node_opcua_nodeid_1.resolveNodeId("Organizes"),
|
|
75
|
+
resultMask: 0xffff
|
|
76
|
+
});
|
|
77
|
+
return browseResult.references || [];
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
exports.getFolderElements = getFolderElements;
|
|
81
|
+
function getModellingRule(session, nodeId) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const browseResult = yield session.browse({
|
|
84
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
|
|
85
|
+
includeSubtypes: true,
|
|
86
|
+
nodeClassMask: node_opcua_data_model_1.NodeClassMask.Method | node_opcua_data_model_1.NodeClassMask.Object | node_opcua_data_model_1.NodeClass.Variable,
|
|
87
|
+
nodeId,
|
|
88
|
+
referenceTypeId: node_opcua_nodeid_1.resolveNodeId("HasModellingRule"),
|
|
89
|
+
resultMask: 0xffff
|
|
90
|
+
});
|
|
91
|
+
if (!browseResult.references || browseResult.references.length === 0) {
|
|
92
|
+
return null;
|
|
93
|
+
console.log(nodeId.toString());
|
|
94
|
+
const browseName = yield getBrowseName(session, nodeId);
|
|
95
|
+
throw new Error("No modelling rule for " + nodeId.toString() + " " + browseName.toString());
|
|
96
|
+
}
|
|
97
|
+
return browseResult.references[0].browseName.name;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
exports.getModellingRule = getModellingRule;
|
|
101
|
+
function getSubtypeNodeIdIfAny(session, nodeId) {
|
|
102
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
if (nodeId.isEmpty()) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
const browseResult = yield session.browse({
|
|
107
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Inverse,
|
|
108
|
+
includeSubtypes: true,
|
|
109
|
+
nodeClassMask: 0,
|
|
110
|
+
nodeId,
|
|
111
|
+
referenceTypeId: node_opcua_nodeid_1.resolveNodeId("HasSubtype"),
|
|
112
|
+
resultMask: 0xffff
|
|
113
|
+
});
|
|
114
|
+
if (!browseResult.references || browseResult.references.length === 0) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
return browseResult.references[0];
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
exports.getSubtypeNodeIdIfAny = getSubtypeNodeIdIfAny;
|
|
121
|
+
function getSubtypeNodeId(session, nodeId) {
|
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
const r = yield getSubtypeNodeIdIfAny(session, nodeId);
|
|
124
|
+
if (!r) {
|
|
125
|
+
throw new Error("No Subtype");
|
|
126
|
+
}
|
|
127
|
+
return r;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
exports.getSubtypeNodeId = getSubtypeNodeId;
|
|
131
|
+
function getTypeDefOrBaseType(session, nodeId) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
let browseResult = yield session.browse({
|
|
134
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
|
|
135
|
+
includeSubtypes: true,
|
|
136
|
+
nodeClassMask: 0,
|
|
137
|
+
nodeId,
|
|
138
|
+
referenceTypeId: node_opcua_nodeid_1.resolveNodeId("HasTypeDefinition"),
|
|
139
|
+
resultMask: 0xffff
|
|
140
|
+
});
|
|
141
|
+
if (!browseResult.references || browseResult.references.length === 0) {
|
|
142
|
+
browseResult = yield session.browse({
|
|
143
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Inverse,
|
|
144
|
+
includeSubtypes: true,
|
|
145
|
+
nodeClassMask: 0,
|
|
146
|
+
nodeId,
|
|
147
|
+
referenceTypeId: node_opcua_nodeid_1.resolveNodeId("HasSubtype"),
|
|
148
|
+
resultMask: 0xffff
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
if (!browseResult.references || browseResult.references.length === 0) {
|
|
152
|
+
return new node_opcua_types_1.ReferenceDescription({});
|
|
153
|
+
}
|
|
154
|
+
return browseResult.references[0];
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
exports.getTypeDefOrBaseType = getTypeDefOrBaseType;
|
|
158
|
+
function getTypeDefinition(session, nodeId) {
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
const browseResult = yield session.browse({
|
|
161
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
|
|
162
|
+
includeSubtypes: true,
|
|
163
|
+
nodeClassMask: 0,
|
|
164
|
+
nodeId,
|
|
165
|
+
referenceTypeId: node_opcua_nodeid_1.resolveNodeId("HasTypeDefinition"),
|
|
166
|
+
resultMask: 0xffff
|
|
167
|
+
});
|
|
168
|
+
if (!browseResult.references || browseResult.references.length === 0) {
|
|
169
|
+
console.log(nodeId.toString());
|
|
170
|
+
throw new Error("No subtype");
|
|
171
|
+
}
|
|
172
|
+
return browseResult.references[0];
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
exports.getTypeDefinition = getTypeDefinition;
|
|
176
|
+
// see also client-proxy
|
|
177
|
+
function convertNodeIdToDataTypeAsync(session, dataTypeId) {
|
|
178
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
179
|
+
const nodeToRead = {
|
|
180
|
+
attributeId: node_opcua_data_model_1.AttributeIds.BrowseName,
|
|
181
|
+
nodeId: dataTypeId
|
|
182
|
+
};
|
|
183
|
+
const dataValue = yield session.read(nodeToRead);
|
|
184
|
+
let dataType;
|
|
185
|
+
// istanbul ignore next
|
|
186
|
+
if (dataValue.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
|
|
187
|
+
return (dataType = node_opcua_variant_1.DataType.Null);
|
|
188
|
+
}
|
|
189
|
+
const dataTypeName = dataValue.value.value;
|
|
190
|
+
if (dataTypeId.namespace === 0 && node_opcua_variant_1.DataType[dataTypeId.value]) {
|
|
191
|
+
dataType = dataTypeId.value;
|
|
192
|
+
return dataType;
|
|
193
|
+
}
|
|
194
|
+
/// example => Duration (i=290) => Double (i=11)
|
|
195
|
+
// read subTypeOf
|
|
196
|
+
const nodeToBrowse = {
|
|
197
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Inverse,
|
|
198
|
+
nodeId: dataTypeId,
|
|
199
|
+
referenceTypeId: node_opcua_nodeid_1.resolveNodeId("HasSubtype"),
|
|
200
|
+
resultMask: 0xff
|
|
201
|
+
};
|
|
202
|
+
// tslint:disable:no-shadowed-variable
|
|
203
|
+
const browseResult = yield session.browse(nodeToBrowse);
|
|
204
|
+
const references = browseResult.references;
|
|
205
|
+
if (!references || references.length !== 1) {
|
|
206
|
+
throw new Error("cannot find SuperType of " + dataTypeName.toString());
|
|
207
|
+
}
|
|
208
|
+
const nodeId = references[0].nodeId;
|
|
209
|
+
return convertNodeIdToDataTypeAsync(session, nodeId);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
exports.convertNodeIdToDataTypeAsync = convertNodeIdToDataTypeAsync;
|
|
213
|
+
function getChildrenOrFolderElements(session, nodeId) {
|
|
214
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
215
|
+
const c1 = yield getChildren(session, nodeId);
|
|
216
|
+
const c2 = yield getFolderElements(session, nodeId);
|
|
217
|
+
return [].concat(c1, c2);
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
exports.getChildrenOrFolderElements = getChildrenOrFolderElements;
|
|
221
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../source/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/walk_through.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { IBasicSession } from "node-opcua-pseudo-session";
|
|
2
|
-
import { ReferenceDescription } from "node-opcua-types";
|
|
3
|
-
export interface ReferenceDescriptionEx extends ReferenceDescription {
|
|
4
|
-
parent: ReferenceDescriptionEx;
|
|
5
|
-
}
|
|
6
|
-
export interface NodeVisitor {
|
|
7
|
-
visit(reference: ReferenceDescriptionEx, level: number): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
export declare function walkThroughReferenceTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
10
|
-
export declare function walkThroughDataTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
11
|
-
export declare function walkThroughInterfaceTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
12
|
-
export declare function walkThroughObjectTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
13
|
-
export declare function walkThroughVariableTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
1
|
+
import { IBasicSession } from "node-opcua-pseudo-session";
|
|
2
|
+
import { ReferenceDescription } from "node-opcua-types";
|
|
3
|
+
export interface ReferenceDescriptionEx extends ReferenceDescription {
|
|
4
|
+
parent: ReferenceDescriptionEx;
|
|
5
|
+
}
|
|
6
|
+
export interface NodeVisitor {
|
|
7
|
+
visit(reference: ReferenceDescriptionEx, level: number): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare function walkThroughReferenceTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
10
|
+
export declare function walkThroughDataTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
11
|
+
export declare function walkThroughInterfaceTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
12
|
+
export declare function walkThroughObjectTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
|
13
|
+
export declare function walkThroughVariableTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void>;
|
package/dist/walk_through.js
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
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.walkThroughVariableTypes = exports.walkThroughObjectTypes = exports.walkThroughInterfaceTypes = exports.walkThroughDataTypes = exports.walkThroughReferenceTypes = void 0;
|
|
13
|
-
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
14
|
-
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
15
|
-
const node_opcua_types_1 = require("node-opcua-types");
|
|
16
|
-
function _walkThroughTypes(session, nodeId, visitor, level, parent) {
|
|
17
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
-
level = level || 0;
|
|
19
|
-
if (!parent) {
|
|
20
|
-
const dataValues = yield session.read([
|
|
21
|
-
{ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.BrowseName },
|
|
22
|
-
{ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.NodeClass }
|
|
23
|
-
]);
|
|
24
|
-
const browseName = dataValues[0].value.value;
|
|
25
|
-
const nodeClass = dataValues[1].value.value;
|
|
26
|
-
parent = new node_opcua_types_1.ReferenceDescription({
|
|
27
|
-
isForward: true,
|
|
28
|
-
nodeId: nodeId,
|
|
29
|
-
browseName,
|
|
30
|
-
nodeClass,
|
|
31
|
-
referenceTypeId: (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype")
|
|
32
|
-
// typeDefinition,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
const browseResult = yield session.browse({
|
|
36
|
-
browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
|
|
37
|
-
nodeId,
|
|
38
|
-
includeSubtypes: true,
|
|
39
|
-
referenceTypeId: (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype"),
|
|
40
|
-
resultMask: 0xff
|
|
41
|
-
});
|
|
42
|
-
for (const reference of browseResult.references || []) {
|
|
43
|
-
if (visitor) {
|
|
44
|
-
const r = reference;
|
|
45
|
-
r.parent = parent;
|
|
46
|
-
yield visitor.visit(r, level);
|
|
47
|
-
}
|
|
48
|
-
yield _walkThroughTypes(session, reference.nodeId, visitor, level + 1, reference);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
function walkThroughReferenceTypes(session, nodeVisitor) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const baseReferenceTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("References");
|
|
55
|
-
yield _walkThroughTypes(session, baseReferenceTypeNodeId, nodeVisitor);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
exports.walkThroughReferenceTypes = walkThroughReferenceTypes;
|
|
59
|
-
function walkThroughDataTypes(session, nodeVisitor) {
|
|
60
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
const baseDataTypeTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("BaseDataType");
|
|
62
|
-
yield _walkThroughTypes(session, baseDataTypeTypeNodeId, nodeVisitor);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
exports.walkThroughDataTypes = walkThroughDataTypes;
|
|
66
|
-
function walkThroughInterfaceTypes(session, nodeVisitor) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const baseInterfaceTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("BaseInterfaceType");
|
|
69
|
-
yield _walkThroughTypes(session, baseInterfaceTypeNodeId, nodeVisitor);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
exports.walkThroughInterfaceTypes = walkThroughInterfaceTypes;
|
|
73
|
-
function walkThroughObjectTypes(session, nodeVisitor) {
|
|
74
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
-
const baseObjectType = (0, node_opcua_nodeid_1.resolveNodeId)("BaseObjectType");
|
|
76
|
-
yield _walkThroughTypes(session, baseObjectType, nodeVisitor);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
exports.walkThroughObjectTypes = walkThroughObjectTypes;
|
|
80
|
-
function walkThroughVariableTypes(session, nodeVisitor) {
|
|
81
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
const baseObjectType = (0, node_opcua_nodeid_1.resolveNodeId)("BaseVariableType");
|
|
83
|
-
yield _walkThroughTypes(session, baseObjectType, nodeVisitor);
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
exports.walkThroughVariableTypes = walkThroughVariableTypes;
|
|
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.walkThroughVariableTypes = exports.walkThroughObjectTypes = exports.walkThroughInterfaceTypes = exports.walkThroughDataTypes = exports.walkThroughReferenceTypes = void 0;
|
|
13
|
+
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
14
|
+
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
15
|
+
const node_opcua_types_1 = require("node-opcua-types");
|
|
16
|
+
function _walkThroughTypes(session, nodeId, visitor, level, parent) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
level = level || 0;
|
|
19
|
+
if (!parent) {
|
|
20
|
+
const dataValues = yield session.read([
|
|
21
|
+
{ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.BrowseName },
|
|
22
|
+
{ nodeId, attributeId: node_opcua_data_model_1.AttributeIds.NodeClass }
|
|
23
|
+
]);
|
|
24
|
+
const browseName = dataValues[0].value.value;
|
|
25
|
+
const nodeClass = dataValues[1].value.value;
|
|
26
|
+
parent = new node_opcua_types_1.ReferenceDescription({
|
|
27
|
+
isForward: true,
|
|
28
|
+
nodeId: nodeId,
|
|
29
|
+
browseName,
|
|
30
|
+
nodeClass,
|
|
31
|
+
referenceTypeId: (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype")
|
|
32
|
+
// typeDefinition,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
const browseResult = yield session.browse({
|
|
36
|
+
browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
|
|
37
|
+
nodeId,
|
|
38
|
+
includeSubtypes: true,
|
|
39
|
+
referenceTypeId: (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype"),
|
|
40
|
+
resultMask: 0xff
|
|
41
|
+
});
|
|
42
|
+
for (const reference of browseResult.references || []) {
|
|
43
|
+
if (visitor) {
|
|
44
|
+
const r = reference;
|
|
45
|
+
r.parent = parent;
|
|
46
|
+
yield visitor.visit(r, level);
|
|
47
|
+
}
|
|
48
|
+
yield _walkThroughTypes(session, reference.nodeId, visitor, level + 1, reference);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function walkThroughReferenceTypes(session, nodeVisitor) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const baseReferenceTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("References");
|
|
55
|
+
yield _walkThroughTypes(session, baseReferenceTypeNodeId, nodeVisitor);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
exports.walkThroughReferenceTypes = walkThroughReferenceTypes;
|
|
59
|
+
function walkThroughDataTypes(session, nodeVisitor) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const baseDataTypeTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("BaseDataType");
|
|
62
|
+
yield _walkThroughTypes(session, baseDataTypeTypeNodeId, nodeVisitor);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
exports.walkThroughDataTypes = walkThroughDataTypes;
|
|
66
|
+
function walkThroughInterfaceTypes(session, nodeVisitor) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
const baseInterfaceTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("BaseInterfaceType");
|
|
69
|
+
yield _walkThroughTypes(session, baseInterfaceTypeNodeId, nodeVisitor);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
exports.walkThroughInterfaceTypes = walkThroughInterfaceTypes;
|
|
73
|
+
function walkThroughObjectTypes(session, nodeVisitor) {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
const baseObjectType = (0, node_opcua_nodeid_1.resolveNodeId)("BaseObjectType");
|
|
76
|
+
yield _walkThroughTypes(session, baseObjectType, nodeVisitor);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
exports.walkThroughObjectTypes = walkThroughObjectTypes;
|
|
80
|
+
function walkThroughVariableTypes(session, nodeVisitor) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const baseObjectType = (0, node_opcua_nodeid_1.resolveNodeId)("BaseVariableType");
|
|
83
|
+
yield _walkThroughTypes(session, baseObjectType, nodeVisitor);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
exports.walkThroughVariableTypes = walkThroughVariableTypes;
|
|
87
87
|
//# sourceMappingURL=walk_through.js.map
|
package/package.json
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
}
|
|
2
|
+
"name": "node-opcua-convert-nodeset-to-javascript",
|
|
3
|
+
"version": "2.64.1",
|
|
4
|
+
"description": "pure nodejs OPCUA SDK - module -convert-nodeset-to-javascript",
|
|
5
|
+
"types": "dist/index.d.ts",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": "dist/main.js",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc -b",
|
|
10
|
+
"generate": "pnpm run build && ts-node source/main.ts",
|
|
11
|
+
"test": "mocha && pnpm run test-generated",
|
|
12
|
+
"test-generated": "tsc --build tsconfig-generated.json"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@types/wordwrap": "^1.0.1",
|
|
16
|
+
"case-anything": "1.1.3",
|
|
17
|
+
"node-opcua-address-space": "2.64.1",
|
|
18
|
+
"node-opcua-address-space-base": "2.64.1",
|
|
19
|
+
"node-opcua-assert": "2.64.1",
|
|
20
|
+
"node-opcua-basic-types": "2.64.1",
|
|
21
|
+
"node-opcua-constants": "2.64.1",
|
|
22
|
+
"node-opcua-data-access": "2.64.1",
|
|
23
|
+
"node-opcua-data-model": "2.64.1",
|
|
24
|
+
"node-opcua-data-value": "2.64.1",
|
|
25
|
+
"node-opcua-debug": "2.64.1",
|
|
26
|
+
"node-opcua-factory": "2.64.1",
|
|
27
|
+
"node-opcua-nodeid": "2.64.1",
|
|
28
|
+
"node-opcua-pseudo-session": "2.64.1",
|
|
29
|
+
"node-opcua-service-translate-browse-path": "2.64.1",
|
|
30
|
+
"node-opcua-status-code": "2.64.1",
|
|
31
|
+
"node-opcua-types": "2.64.1",
|
|
32
|
+
"node-opcua-utils": "2.64.1",
|
|
33
|
+
"wordwrap": "^1.0.0"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"node-opcua-leak-detector": "2.64.1",
|
|
37
|
+
"node-opcua-nodesets": "2.64.1",
|
|
38
|
+
"node-opcua-packet-analyzer": "2.64.1",
|
|
39
|
+
"node-opcua-variant": "2.64.1",
|
|
40
|
+
"should": "^13.2.3"
|
|
41
|
+
},
|
|
42
|
+
"author": "Etienne Rossignon",
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"repository": {
|
|
45
|
+
"type": "git",
|
|
46
|
+
"url": "git://github.com/node-opcua/node-opcua.git"
|
|
47
|
+
},
|
|
48
|
+
"keywords": [
|
|
49
|
+
"OPCUA",
|
|
50
|
+
"opcua",
|
|
51
|
+
"m2m",
|
|
52
|
+
"iot",
|
|
53
|
+
"opc ua",
|
|
54
|
+
"internet of things"
|
|
55
|
+
],
|
|
56
|
+
"homepage": "http://node-opcua.github.io/",
|
|
57
|
+
"gitHead": "b65b8738603cd475d7d99a2b20b0ae9d32b4110c"
|
|
58
|
+
}
|