opcua-webapi-ts 1.1.23 → 1.1.25

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.
Files changed (34) hide show
  1. package/dist/cjs/client/utils/UaDataTypeDictionary.js +1 -1
  2. package/dist/cjs/client/utils/UaModelling.js +2 -2
  3. package/dist/cjs/client/utils/UaNodeBrowser.js +7 -36
  4. package/dist/cjs/client/utils/UaNodeReader.js +102 -144
  5. package/dist/cjs/client/utils/UaNodeSerializer.js +166 -0
  6. package/dist/cjs/client/utils/UaObjectTypeDictionary.js +1 -1
  7. package/dist/cjs/client/utils/UaReferenceTypeDictionary.js +1 -1
  8. package/dist/cjs/client/utils/index.js +1 -0
  9. package/dist/cjs/common/nodes/UaMethod.js +22 -0
  10. package/dist/cjs/common/nodes/UaNode.js +0 -13
  11. package/dist/cjs/common/nodes/UaObject.js +3 -10
  12. package/dist/cjs/common/nodes/UaObjectType.js +3 -12
  13. package/dist/cjs/common/nodes/UaVariable.js +12 -5
  14. package/dist/client/utils/UaDataTypeDictionary.js +1 -1
  15. package/dist/client/utils/UaModelling.js +2 -2
  16. package/dist/client/utils/UaNodeBrowser.d.ts +3 -8
  17. package/dist/client/utils/UaNodeBrowser.js +7 -36
  18. package/dist/client/utils/UaNodeReader.d.ts +15 -18
  19. package/dist/client/utils/UaNodeReader.js +102 -144
  20. package/dist/client/utils/UaNodeSerializer.d.ts +14 -0
  21. package/dist/client/utils/UaNodeSerializer.js +166 -0
  22. package/dist/client/utils/UaObjectTypeDictionary.js +1 -1
  23. package/dist/client/utils/UaReferenceTypeDictionary.js +1 -1
  24. package/dist/client/utils/index.d.ts +1 -0
  25. package/dist/client/utils/index.js +1 -0
  26. package/dist/common/nodes/UaMethod.d.ts +1 -0
  27. package/dist/common/nodes/UaMethod.js +22 -0
  28. package/dist/common/nodes/UaNode.d.ts +0 -5
  29. package/dist/common/nodes/UaNode.js +0 -13
  30. package/dist/common/nodes/UaObject.js +3 -10
  31. package/dist/common/nodes/UaObjectType.js +3 -12
  32. package/dist/common/nodes/UaVariable.d.ts +4 -1
  33. package/dist/common/nodes/UaVariable.js +12 -5
  34. package/package.json +1 -1
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UaObjectTypeSerializer = exports.UaObjectSerializer = void 0;
4
+ class UaObjectSerializer {
5
+ constructor(objectDictionary, dataTypeDictionary) {
6
+ this._objectDictionary = objectDictionary;
7
+ this._dataTypeDictionary = dataTypeDictionary;
8
+ }
9
+ toJson(object) {
10
+ let variableMembers = object.variableMembers;
11
+ let methodMembers = object.methodMembers;
12
+ let objectType = this._objectDictionary.getObjectType(object.typeDefinitionId);
13
+ let variables = [];
14
+ let properties = [];
15
+ let methods = [];
16
+ for (let variable of variableMembers) {
17
+ if (variable.isProperty) {
18
+ let propertyJson = {
19
+ name: variable.browseName,
20
+ displayName: variable.displayName.text,
21
+ value: (variable.value) ? variable.value.value : null
22
+ };
23
+ properties.push(propertyJson);
24
+ }
25
+ else {
26
+ let dataType = this._dataTypeDictionary.getDataType(variable.dataType);
27
+ if (!dataType)
28
+ continue;
29
+ let variableJson = {
30
+ id: variable.nodeId.toString(),
31
+ name: variable.browseName,
32
+ displayName: variable.displayName.text,
33
+ dataType: dataType.browseName,
34
+ accessLevel: variable.accessLevel,
35
+ historizing: (variable.historizing) ? variable.historizing : undefined,
36
+ valueRank: (-1 != variable.valueRank) ? variable.valueRank : undefined
37
+ };
38
+ variables.push(variableJson);
39
+ }
40
+ }
41
+ for (let method of methodMembers) {
42
+ let inputArguments = [];
43
+ let outputArguments = [];
44
+ if (method.inputArguments) {
45
+ for (let inputArgument of method.inputArguments) {
46
+ let dataType = this._dataTypeDictionary.getDataType(inputArgument.dataType);
47
+ if (!dataType)
48
+ continue;
49
+ let inputArgumentJson = {
50
+ name: inputArgument.name,
51
+ dataType: dataType.browseName
52
+ };
53
+ inputArguments.push(inputArgumentJson);
54
+ }
55
+ }
56
+ if (method.outputArguments) {
57
+ for (let outputArgument of method.outputArguments) {
58
+ let dataType = this._dataTypeDictionary.getDataType(outputArgument.dataType);
59
+ if (!dataType)
60
+ continue;
61
+ let outputArgumentJson = {
62
+ name: outputArgument.name,
63
+ dataType: dataType.browseName
64
+ };
65
+ outputArguments.push(outputArgumentJson);
66
+ }
67
+ }
68
+ let methodJson = {
69
+ id: method.nodeId.toString(),
70
+ name: method.browseName,
71
+ displayName: method.displayName.text,
72
+ inputArguments: (inputArguments.length > 0) ? inputArguments : undefined,
73
+ outputArguments: (outputArguments.length > 0) ? outputArguments : undefined
74
+ };
75
+ methods.push(methodJson);
76
+ }
77
+ let ret = {
78
+ id: object.nodeId.toString(),
79
+ name: object.browseName,
80
+ displayName: object.displayName.text,
81
+ description: (object.description) ? object.description.text : undefined,
82
+ objectType: objectType.browseName,
83
+ variables: (variables.length > 0) ? variables : undefined,
84
+ properties: (properties.length > 0) ? properties : undefined,
85
+ methods: (methods.length > 0) ? methods : undefined
86
+ };
87
+ return ret;
88
+ }
89
+ }
90
+ exports.UaObjectSerializer = UaObjectSerializer;
91
+ class UaObjectTypeSerializer {
92
+ constructor(dataTypeDictionary) {
93
+ this._dataTypeDictionary = dataTypeDictionary;
94
+ }
95
+ toJson(objectType) {
96
+ let variableMembers = objectType.variableMembers;
97
+ let methodMembers = objectType.methodMembers;
98
+ let variables = [];
99
+ let properties = [];
100
+ let methods = [];
101
+ for (let variable of variableMembers) {
102
+ let dataType = this._dataTypeDictionary.getDataType(variable.dataType);
103
+ if (!dataType)
104
+ continue;
105
+ let variableJson = {
106
+ id: variable.nodeId.toString(),
107
+ name: variable.browseName,
108
+ displayName: variable.displayName.text,
109
+ dataType: dataType.browseName,
110
+ accessLevel: variable.accessLevel,
111
+ historizing: (variable.historizing) ? variable.historizing : undefined,
112
+ valueRank: (-1 != variable.valueRank) ? variable.valueRank : undefined
113
+ };
114
+ if (variable.isProperty) {
115
+ properties.push(variableJson);
116
+ }
117
+ else {
118
+ variables.push(variableJson);
119
+ }
120
+ }
121
+ for (let method of methodMembers) {
122
+ let inputArguments = [];
123
+ let outputArguments = [];
124
+ for (let inputArgument of method.inputArguments) {
125
+ let dataType = this._dataTypeDictionary.getDataType(inputArgument.dataType);
126
+ if (!dataType)
127
+ continue;
128
+ let inputArgumentJson = {
129
+ name: inputArgument.name,
130
+ dataType: dataType.browseName
131
+ };
132
+ inputArguments.push(inputArgumentJson);
133
+ }
134
+ for (let outputArgument of method.outputArguments) {
135
+ let dataType = this._dataTypeDictionary.getDataType(outputArgument.dataType);
136
+ if (!dataType)
137
+ continue;
138
+ let outputArgumentJson = {
139
+ name: outputArgument.name,
140
+ dataType: dataType.browseName
141
+ };
142
+ outputArguments.push(outputArgumentJson);
143
+ }
144
+ let methodJson = {
145
+ id: method.nodeId.toString(),
146
+ name: method.browseName,
147
+ displayName: method.displayName.text,
148
+ inputArguments: (inputArguments.length > 0) ? inputArguments : undefined,
149
+ outputArguments: (outputArguments.length > 0) ? outputArguments : undefined
150
+ };
151
+ methods.push(methodJson);
152
+ }
153
+ let ret = {
154
+ id: objectType.nodeId.toString(),
155
+ name: objectType.browseName,
156
+ displayName: objectType.displayName.text,
157
+ description: (objectType.description) ? objectType.description.text : undefined,
158
+ objectType: objectType.browseName,
159
+ variables: (variables.length > 0) ? variables : undefined,
160
+ properties: (properties.length > 0) ? properties : undefined,
161
+ methods: (methods.length > 0) ? methods : undefined
162
+ };
163
+ return ret;
164
+ }
165
+ }
166
+ exports.UaObjectTypeSerializer = UaObjectTypeSerializer;
@@ -48,7 +48,7 @@ class UaObjectTypeDictionary {
48
48
  return;
49
49
  // Read child type
50
50
  let nodeIdsToBrowse = [];
51
- let nodeReader = new UaNodeReader_1.UaNodeReader(this._client, false, false, false, false, false);
51
+ let nodeReader = new UaNodeReader_1.UaNodeReader(this._client, false, false, false, common_1.UaNodeId.from(common_1.ReferenceTypeIds.Aggregates), false, false, false, false, true);
52
52
  let nodes = yield nodeReader.readByReferences(referencesToRead);
53
53
  for (let node of nodes) {
54
54
  if (opcua_webapi_1.NodeClass.ObjectType != node.nodeClass)
@@ -48,7 +48,7 @@ class UaReferenceTypeDictionary {
48
48
  return;
49
49
  // Read child type
50
50
  let nodeIdsToBrowse = [];
51
- let nodeReader = new UaNodeReader_1.UaNodeReader(this._client, false, false, false, false, false);
51
+ let nodeReader = new UaNodeReader_1.UaNodeReader(this._client, false, false, false, common_1.UaNodeId.from(common_1.ReferenceTypeIds.Aggregates), false, false, false, false, false);
52
52
  let nodes = yield nodeReader.readByReferences(referencesToRead);
53
53
  for (let node of nodes) {
54
54
  if (opcua_webapi_1.NodeClass.ReferenceType != node.nodeClass)
@@ -21,3 +21,4 @@ __exportStar(require("./UaNodeBrowser"), exports);
21
21
  __exportStar(require("./UaNodeReader"), exports);
22
22
  __exportStar(require("./UaModelling"), exports);
23
23
  __exportStar(require("./UaReferenceToNode"), exports);
24
+ __exportStar(require("./UaNodeSerializer"), exports);
@@ -71,6 +71,28 @@ class UaMethod extends _1.UaInstanceNode {
71
71
  };
72
72
  return ret;
73
73
  }
74
+ toReadableJson() {
75
+ let inputArgs = [];
76
+ let outputArgs = [];
77
+ if (this._inputArguments) {
78
+ for (let item of this._inputArguments) {
79
+ inputArgs.push(item.toJson());
80
+ }
81
+ }
82
+ if (this._outputArguments) {
83
+ for (let item of this._outputArguments) {
84
+ outputArgs.push(item.toJson());
85
+ }
86
+ }
87
+ return {
88
+ id: this._nodeId.toString(),
89
+ name: this._browseName,
90
+ displayName: this._displayName.text,
91
+ description: (this._description) ? this._description.text : undefined,
92
+ inputArguments: (inputArgs.length != 0) ? inputArgs : undefined,
93
+ outputArguments: (outputArgs.length != 0) ? outputArgs : undefined
94
+ };
95
+ }
74
96
  }
75
97
  exports.UaMethod = UaMethod;
76
98
  UaMethod.InputArguments = "InputArguments";
@@ -12,7 +12,6 @@ class UaNode {
12
12
  this._writeMask = null;
13
13
  this._parent = null;
14
14
  this._children = [];
15
- this._refToParent = null;
16
15
  }
17
16
  get nodeId() {
18
17
  return this._nodeId;
@@ -35,12 +34,6 @@ class UaNode {
35
34
  set description(description) {
36
35
  this._description = description;
37
36
  }
38
- get refToParent() {
39
- return this._refToParent;
40
- }
41
- set refToParent(referenceTypeId) {
42
- this._refToParent = referenceTypeId;
43
- }
44
37
  }
45
38
  exports.UaNode = UaNode;
46
39
  class UaDefintionNode extends UaNode {
@@ -51,12 +44,6 @@ class UaDefintionNode extends UaNode {
51
44
  get isAbstract() {
52
45
  return this._isAbstract;
53
46
  }
54
- get refToParent() {
55
- return (this._refToParent) ? this._refToParent : null;
56
- }
57
- set refToParent(referenceTypeId) {
58
- this._refToParent = referenceTypeId;
59
- }
60
47
  setParentType(parentType) {
61
48
  if (parentType.nodeClass != this.nodeClass ||
62
49
  null != this._parent)
@@ -49,15 +49,9 @@ class UaObject extends _1.UaInstanceNode {
49
49
  return ret;
50
50
  }
51
51
  toJson() {
52
- let variables = [];
53
- let methods = [];
52
+ let members = [];
54
53
  for (let item of this._children) {
55
- if (opcua_webapi_1.NodeClass.Variable == item.nodeClass) {
56
- variables.push(item.toJson());
57
- }
58
- else if (opcua_webapi_1.NodeClass.Method == item.nodeClass) {
59
- methods.push(item.toJson());
60
- }
54
+ members.push(item.toJson());
61
55
  }
62
56
  let ret = {
63
57
  nodeId: this._nodeId.toString(),
@@ -67,8 +61,7 @@ class UaObject extends _1.UaInstanceNode {
67
61
  description: (this._description) ? this._description.text : undefined,
68
62
  typeDefinitionId: this._typeDefinitionId.toString(),
69
63
  eventNotifier: (this._eventNotifier != 0) ? this._eventNotifier : undefined,
70
- variables: (variables.length != 0) ? variables : undefined,
71
- methods: (methods.length != 0) ? methods : undefined
64
+ members: (members.length != 0) ? members : undefined
72
65
  };
73
66
  return ret;
74
67
  }
@@ -48,17 +48,9 @@ class UaObjectType extends _1.UaDefintionNode {
48
48
  this._isObjectMemberRead = value;
49
49
  }
50
50
  toJson() {
51
- let variables = [];
52
- let methods = [];
51
+ let members = [];
53
52
  for (let item of this._children) {
54
- if (item.nodeClass == opcua_webapi_1.NodeClass.ObjectType)
55
- continue;
56
- if (opcua_webapi_1.NodeClass.Variable == item.nodeClass) {
57
- variables.push(item.toJson());
58
- }
59
- else if (opcua_webapi_1.NodeClass.Method == item.nodeClass) {
60
- methods.push(item.toJson());
61
- }
53
+ members.push(item.toJson());
62
54
  }
63
55
  let ret = {
64
56
  nodeId: this._nodeId.toString(),
@@ -67,8 +59,7 @@ class UaObjectType extends _1.UaDefintionNode {
67
59
  displayName: this._displayName.text,
68
60
  description: (this._description) ? this._description.text : undefined,
69
61
  isAbstract: this._isAbstract,
70
- variables: (variables.length != 0) ? variables : undefined,
71
- methods: (methods.length != 0) ? methods : undefined
62
+ members: (members.length != 0) ? members : undefined
72
63
  };
73
64
  return ret;
74
65
  }
@@ -13,6 +13,7 @@ class UaVariable extends _1.UaInstanceNode {
13
13
  this._historizing = historizing;
14
14
  this._typeDefinitionId = typeDefinitionId;
15
15
  this._dataValue = null;
16
+ this._isProperty = false;
16
17
  }
17
18
  get nodeClass() {
18
19
  return opcua_webapi_1.NodeClass.Variable;
@@ -32,6 +33,9 @@ class UaVariable extends _1.UaInstanceNode {
32
33
  get historizing() {
33
34
  return this._historizing;
34
35
  }
36
+ get typeDefinitionId() {
37
+ return this._typeDefinitionId;
38
+ }
35
39
  get value() {
36
40
  return (this._dataValue && this._dataValue.statusCode.isGood()) ? this._dataValue.value : null;
37
41
  }
@@ -41,8 +45,11 @@ class UaVariable extends _1.UaInstanceNode {
41
45
  set dataValue(value) {
42
46
  this._dataValue = value;
43
47
  }
44
- get typeDefinitionId() {
45
- return this._typeDefinitionId;
48
+ get isProperty() {
49
+ return this._isProperty;
50
+ }
51
+ set isProperty(value) {
52
+ this._isProperty = value;
46
53
  }
47
54
  addMember(node) {
48
55
  this._children.push(node);
@@ -55,11 +62,11 @@ class UaVariable extends _1.UaInstanceNode {
55
62
  return ret;
56
63
  }
57
64
  toJson() {
58
- let children = [];
65
+ let members = [];
59
66
  for (let item of this._children) {
60
67
  if (item.nodeClass != opcua_webapi_1.NodeClass.Variable)
61
68
  continue;
62
- children.push(item.toJson());
69
+ members.push(item.toJson());
63
70
  }
64
71
  let ret = {
65
72
  nodeId: this._nodeId.toString(),
@@ -72,7 +79,7 @@ class UaVariable extends _1.UaInstanceNode {
72
79
  accessLevel: this._accessLevel,
73
80
  historizing: (this._historizing) ? true : undefined,
74
81
  value: this._dataValue ? this._dataValue.value.value : undefined,
75
- children: (children.length != 0) ? children : undefined
82
+ members: (members.length != 0) ? members : undefined
76
83
  };
77
84
  return ret;
78
85
  }
@@ -50,7 +50,7 @@ class UaDataTypeDictionary {
50
50
  return;
51
51
  // Read child type
52
52
  let nodeIdsToBrowse = [];
53
- let nodeReader = new __1.UaNodeReader(this._client, false, needToReadEnumValue, false, false, true);
53
+ let nodeReader = new __1.UaNodeReader(this._client, false, needToReadEnumValue, false, common_1.UaNodeId.from(common_1.ReferenceTypeIds.HasProperty), false, false, false, false, false);
54
54
  let nodes = yield nodeReader.readByReferences(referencesToRead);
55
55
  for (let node of nodes) {
56
56
  if (opcua_webapi_1.NodeClass.DataType != node.nodeClass)
@@ -98,7 +98,7 @@ class UaModelling {
98
98
  return null;
99
99
  if (objectType.isObjectMemberRead)
100
100
  return objectType;
101
- let typeMemberBrowser = new __1.UaNodeBrowser(this._client, [objectType.nodeId], common_1.UaNodeId.from(common_1.ReferenceTypeIds.Aggregates), opcua_webapi_1.NodeClass.Object, false);
101
+ let typeMemberBrowser = new __1.UaNodeBrowser(this._client, [objectType.nodeId], common_1.UaNodeId.from(common_1.ReferenceTypeIds.Aggregates), opcua_webapi_1.NodeClass.Object);
102
102
  yield typeMemberBrowser.browse();
103
103
  let browseMemberResults = typeMemberBrowser.results();
104
104
  let instanceNodes = new Map();
@@ -113,7 +113,7 @@ class UaModelling {
113
113
  for (let node of instanceNodes) {
114
114
  memberObjectIds.push(node[1].nodeId);
115
115
  }
116
- let modellingRuleBrowser = new __1.UaNodeBrowser(this._client, memberObjectIds, common_1.UaNodeId.from(common_1.ReferenceTypeIds.HasModellingRule), opcua_webapi_1.NodeClass.Object, false);
116
+ let modellingRuleBrowser = new __1.UaNodeBrowser(this._client, memberObjectIds, common_1.UaNodeId.from(common_1.ReferenceTypeIds.HasModellingRule), opcua_webapi_1.NodeClass.Object);
117
117
  yield modellingRuleBrowser.browse();
118
118
  let browseModellingRuleResults = modellingRuleBrowser.results();
119
119
  for (let item of browseModellingRuleResults) {
@@ -10,25 +10,20 @@ export declare class UaNodeBrowser {
10
10
  private _continuationPointToBrowse;
11
11
  private _referenceType;
12
12
  private _nodeClassToReturn;
13
- private _returnDescription;
14
13
  private _maxNodesPerBrowse;
15
14
  private _maxReferencesPerNode;
16
15
  private _readResults;
17
- constructor(client: UaWebClient, nodeIds: Array<UaNodeId>, referenceType: UaNodeId, nodeClassToReturn: number, returnDescription?: boolean, maxNodesPerBrowse?: number | null, maxReferencesPerNode?: number | null);
16
+ constructor(client: UaWebClient, nodeIds: Array<UaNodeId>, referenceType: UaNodeId, nodeClassToReturn: number, maxNodesPerBrowse?: number | null, maxReferencesPerNode?: number | null);
18
17
  browse(): Promise<void>;
19
18
  browseOnce(): Promise<void>;
20
19
  results(): Array<BrowseReferenceResult>;
21
20
  isFinish(): boolean;
22
21
  private _browseNodes;
23
22
  private _browseContinuationPoints;
24
- private _readDescriptions;
25
23
  }
26
24
  export declare class UaObjectBrowser extends UaNodeBrowser {
27
- constructor(client: UaWebClient, nodeIds: Array<UaNodeId>, returnDescription?: boolean);
28
- }
29
- export declare class UaLinkBrowser extends UaNodeBrowser {
30
- constructor(client: UaWebClient, nodeIds: Array<UaNodeId>, returnDescription?: boolean);
25
+ constructor(client: UaWebClient, nodeIds: Array<UaNodeId>, referenceType?: UaNodeId);
31
26
  }
32
27
  export declare class UaTypeBrowser extends UaNodeBrowser {
33
- constructor(client: UaWebClient, nodeIds: Array<UaNodeId>, returnDescription?: boolean);
28
+ constructor(client: UaWebClient, nodeIds: Array<UaNodeId>);
34
29
  }
@@ -9,17 +9,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UaTypeBrowser = exports.UaLinkBrowser = exports.UaObjectBrowser = exports.UaNodeBrowser = void 0;
12
+ exports.UaTypeBrowser = exports.UaObjectBrowser = exports.UaNodeBrowser = void 0;
13
13
  const opcua_webapi_1 = require("opcua-webapi");
14
14
  const common_1 = require("../../common");
15
15
  class UaNodeBrowser {
16
- constructor(client, nodeIds, referenceType, nodeClassToReturn, returnDescription, maxNodesPerBrowse, maxReferencesPerNode) {
16
+ constructor(client, nodeIds, referenceType, nodeClassToReturn, maxNodesPerBrowse, maxReferencesPerNode) {
17
17
  this._client = client;
18
18
  this._nodesToBrowse = [];
19
19
  this._referenceType = referenceType;
20
20
  this._nodeClassToReturn = nodeClassToReturn;
21
21
  this._continuationPointToBrowse = [];
22
- this._returnDescription = returnDescription !== null && returnDescription !== void 0 ? returnDescription : false;
23
22
  this._maxNodesPerBrowse = (null == maxNodesPerBrowse || maxNodesPerBrowse <= 0) ? 50 : maxNodesPerBrowse;
24
23
  this._maxReferencesPerNode = (null == maxReferencesPerNode || maxReferencesPerNode < 0) ? 50 : maxReferencesPerNode;
25
24
  this._readResults = new Map();
@@ -63,7 +62,7 @@ class UaNodeBrowser {
63
62
  return results;
64
63
  }
65
64
  isFinish() {
66
- return (this._nodesToBrowse.length == 0) && (this._continuationPointToBrowse.length == 0);
65
+ return ((this._nodesToBrowse.length == 0) && (this._continuationPointToBrowse.length == 0)) || 0 == this._nodeClassToReturn;
67
66
  }
68
67
  _browseNodes() {
69
68
  return __awaiter(this, void 0, void 0, function* () {
@@ -101,8 +100,6 @@ class UaNodeBrowser {
101
100
  continuationPoint: currentResult.continuationPoint
102
101
  });
103
102
  }
104
- if (this._returnDescription)
105
- yield this._readDescriptions(newReferences);
106
103
  }
107
104
  });
108
105
  }
@@ -141,46 +138,20 @@ class UaNodeBrowser {
141
138
  continuationPoint: currentResult.continuationPoint
142
139
  });
143
140
  }
144
- if (this._returnDescription)
145
- yield this._readDescriptions(newReferences);
146
- }
147
- });
148
- }
149
- _readDescriptions(references) {
150
- return __awaiter(this, void 0, void 0, function* () {
151
- if (references.length === 0)
152
- return;
153
- let nodesToRead = [];
154
- for (let item of references) {
155
- nodesToRead.push(new common_1.UaReadValueId(item.nodeId, opcua_webapi_1.Attributes.Description));
156
- }
157
- let dataValues = yield this._client.read(nodesToRead);
158
- for (let i = 0; i < references.length; ++i) {
159
- if (dataValues[i].statusCode.isGood()) {
160
- let description = dataValues[i].value.toLocalizedText();
161
- if (description)
162
- references[i].description = description;
163
- }
164
141
  }
165
142
  });
166
143
  }
167
144
  }
168
145
  exports.UaNodeBrowser = UaNodeBrowser;
169
146
  class UaObjectBrowser extends UaNodeBrowser {
170
- constructor(client, nodeIds, returnDescription) {
171
- super(client, nodeIds, common_1.UaNodeId.from(common_1.ReferenceTypeIds.HierarchicalReferences), opcua_webapi_1.NodeClass.Object, returnDescription !== null && returnDescription !== void 0 ? returnDescription : false, 20);
147
+ constructor(client, nodeIds, referenceType = common_1.UaNodeId.from(common_1.ReferenceTypeIds.HierarchicalReferences)) {
148
+ super(client, nodeIds, referenceType, opcua_webapi_1.NodeClass.Object, 20);
172
149
  }
173
150
  }
174
151
  exports.UaObjectBrowser = UaObjectBrowser;
175
- class UaLinkBrowser extends UaNodeBrowser {
176
- constructor(client, nodeIds, returnDescription) {
177
- super(client, nodeIds, common_1.UaNodeId.from(common_1.ReferenceTypeIds.NonHierarchicalReferences), opcua_webapi_1.NodeClass.Object, returnDescription !== null && returnDescription !== void 0 ? returnDescription : false, 20);
178
- }
179
- }
180
- exports.UaLinkBrowser = UaLinkBrowser;
181
152
  class UaTypeBrowser extends UaNodeBrowser {
182
- constructor(client, nodeIds, returnDescription) {
183
- super(client, nodeIds, common_1.UaNodeId.from(common_1.ReferenceTypeIds.HierarchicalReferences), opcua_webapi_1.NodeClass.ObjectType | opcua_webapi_1.NodeClass.VariableType | opcua_webapi_1.NodeClass.DataType | opcua_webapi_1.NodeClass.ReferenceType, returnDescription !== null && returnDescription !== void 0 ? returnDescription : false, 20);
153
+ constructor(client, nodeIds) {
154
+ super(client, nodeIds, common_1.UaNodeId.from(common_1.ReferenceTypeIds.HierarchicalReferences), opcua_webapi_1.NodeClass.ObjectType | opcua_webapi_1.NodeClass.VariableType | opcua_webapi_1.NodeClass.DataType | opcua_webapi_1.NodeClass.ReferenceType, 20);
184
155
  }
185
156
  }
186
157
  exports.UaTypeBrowser = UaTypeBrowser;
@@ -1,15 +1,18 @@
1
- import { UaNode, UaNodeId, UaObject, UaReference, UaDefintionNode } from "../../common";
1
+ import { UaNode, UaNodeId, UaReference } from "../../common";
2
2
  import { UaWebClient } from "../UaWebClient";
3
3
  export declare class UaNodeReader {
4
4
  private _client;
5
5
  private _nodeClassToReturn;
6
6
  private _returnDescription;
7
- private _returnAttributes;
8
- private _returnValue;
9
7
  private _referenceTypeToReturn;
8
+ private _returnObjectAttributes;
9
+ private _returnVariableAttributes;
10
+ private _returnVariableValue;
11
+ private _returnPropertyAttributes;
12
+ private _returnPropertyValue;
10
13
  private static s_variableTypeWithoutMember;
11
14
  private static s_variablesNameToRead;
12
- constructor(client: UaWebClient, returnDescription?: boolean | null, returnVariable?: boolean | null, returnMethod?: boolean | null, returnAttributes?: boolean | null, returnValue?: boolean | null, referenceTypeToReturn?: UaNodeId);
15
+ constructor(client: UaWebClient, returnDescription: boolean, returnVariable: boolean, returnMethod: boolean, referenceTypeToReturn: UaNodeId, returnObjectAttributes: boolean, returnVariableAttributes: boolean, returnVariableValue: boolean, returnPropertyAttributes: boolean, returnPropertyValue: boolean);
13
16
  read(nodeIds: Array<UaNodeId>): Promise<Array<UaNode>>;
14
17
  readByReferences(references: Array<UaReference>): Promise<Array<UaNode>>;
15
18
  private _readRootNodes;
@@ -21,20 +24,14 @@ export declare class UaNodeReader {
21
24
  private _buildNodeTree;
22
25
  }
23
26
  export declare class UaObjectReader extends UaNodeReader {
24
- constructor(client: UaWebClient, returnDescription?: boolean | null, returnValue?: boolean | null);
25
- read(nodeIds: Array<UaNodeId>): Promise<Array<UaObject>>;
26
- readByReferences(references: Array<UaReference>): Promise<Array<UaObject>>;
27
- private _processResult;
27
+ constructor(client: UaWebClient, returnVariable?: boolean, returnMethod?: boolean, returnDescription?: boolean);
28
+ readByReferences(references: Array<UaReference>): Promise<Array<UaNode>>;
28
29
  }
29
- export declare class UaTypeReader extends UaNodeReader {
30
- constructor(client: UaWebClient);
31
- read(nodeIds: Array<UaNodeId>): Promise<Array<UaDefintionNode>>;
32
- readByReferences(references: Array<UaReference>): Promise<Array<UaDefintionNode>>;
33
- private _processResult;
30
+ export declare class UaFullObjectReader extends UaNodeReader {
31
+ constructor(client: UaWebClient, returnDescription?: boolean, returnValue?: boolean);
32
+ readByReferences(references: Array<UaReference>): Promise<Array<UaNode>>;
34
33
  }
35
- export declare class UaObjectDataReader extends UaNodeReader {
36
- constructor(client: UaWebClient);
37
- readValues(nodeIds: Array<UaNodeId>): Promise<Map<string, any>>;
38
- readValuesByReferences(references: Array<UaReference>): Promise<Map<string, any>>;
39
- private _processResult;
34
+ export declare class UaTypeReader extends UaNodeReader {
35
+ constructor(client: UaWebClient, returnDescription?: boolean);
36
+ readByReferences(references: Array<UaReference>): Promise<Array<UaNode>>;
40
37
  }