opcua-webapi-ts 1.0.19

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 (230) hide show
  1. package/README.md +34 -0
  2. package/dist/cjs/client/UaClientConfigure.d.ts +9 -0
  3. package/dist/cjs/client/UaClientConfigure.js +24 -0
  4. package/dist/cjs/client/UaWebClient.d.ts +38 -0
  5. package/dist/cjs/client/UaWebClient.js +590 -0
  6. package/dist/cjs/client/index.d.ts +3 -0
  7. package/dist/cjs/client/index.js +19 -0
  8. package/dist/cjs/client/utils/UaDataTypeDictionary.d.ts +15 -0
  9. package/dist/cjs/client/utils/UaDataTypeDictionary.js +149 -0
  10. package/dist/cjs/client/utils/UaNodeReader.d.ts +83 -0
  11. package/dist/cjs/client/utils/UaNodeReader.js +714 -0
  12. package/dist/cjs/client/utils/UaObjectTypeDictionary.d.ts +12 -0
  13. package/dist/cjs/client/utils/UaObjectTypeDictionary.js +80 -0
  14. package/dist/cjs/client/utils/UaReferenceTypeDictionary.d.ts +12 -0
  15. package/dist/cjs/client/utils/UaReferenceTypeDictionary.js +80 -0
  16. package/dist/cjs/client/utils/index.d.ts +4 -0
  17. package/dist/cjs/client/utils/index.js +20 -0
  18. package/dist/cjs/common/index.d.ts +4 -0
  19. package/dist/cjs/common/index.js +20 -0
  20. package/dist/cjs/common/mapper/UaPayloadMapper.d.ts +18 -0
  21. package/dist/cjs/common/mapper/UaPayloadMapper.js +481 -0
  22. package/dist/cjs/common/mapper/index.d.ts +1 -0
  23. package/dist/cjs/common/mapper/index.js +17 -0
  24. package/dist/cjs/common/nodes/Identifiers.d.ts +2458 -0
  25. package/dist/cjs/common/nodes/Identifiers.js +2470 -0
  26. package/dist/cjs/common/nodes/UaAttributes.d.ts +18 -0
  27. package/dist/cjs/common/nodes/UaAttributes.js +2 -0
  28. package/dist/cjs/common/nodes/UaDataType.d.ts +15 -0
  29. package/dist/cjs/common/nodes/UaDataType.js +93 -0
  30. package/dist/cjs/common/nodes/UaMethod.d.ts +16 -0
  31. package/dist/cjs/common/nodes/UaMethod.js +77 -0
  32. package/dist/cjs/common/nodes/UaNode.d.ts +38 -0
  33. package/dist/cjs/common/nodes/UaNode.js +94 -0
  34. package/dist/cjs/common/nodes/UaObject.d.ts +16 -0
  35. package/dist/cjs/common/nodes/UaObject.js +69 -0
  36. package/dist/cjs/common/nodes/UaObjectType.d.ts +12 -0
  37. package/dist/cjs/common/nodes/UaObjectType.js +62 -0
  38. package/dist/cjs/common/nodes/UaReferenceType.d.ts +12 -0
  39. package/dist/cjs/common/nodes/UaReferenceType.js +33 -0
  40. package/dist/cjs/common/nodes/UaVariable.d.ts +25 -0
  41. package/dist/cjs/common/nodes/UaVariable.js +76 -0
  42. package/dist/cjs/common/nodes/UaVariableType.d.ts +14 -0
  43. package/dist/cjs/common/nodes/UaVariableType.js +50 -0
  44. package/dist/cjs/common/nodes/index.d.ts +10 -0
  45. package/dist/cjs/common/nodes/index.js +26 -0
  46. package/dist/cjs/common/structure/UaArgument.d.ts +19 -0
  47. package/dist/cjs/common/structure/UaArgument.js +65 -0
  48. package/dist/cjs/common/structure/UaContentFilter.d.ts +13 -0
  49. package/dist/cjs/common/structure/UaContentFilter.js +48 -0
  50. package/dist/cjs/common/structure/UaContentFilterElement.d.ts +12 -0
  51. package/dist/cjs/common/structure/UaContentFilterElement.js +43 -0
  52. package/dist/cjs/common/structure/UaEUInformation.d.ts +18 -0
  53. package/dist/cjs/common/structure/UaEUInformation.js +56 -0
  54. package/dist/cjs/common/structure/UaElementOperand.d.ts +12 -0
  55. package/dist/cjs/common/structure/UaElementOperand.js +36 -0
  56. package/dist/cjs/common/structure/UaEnumValueType.d.ts +16 -0
  57. package/dist/cjs/common/structure/UaEnumValueType.js +48 -0
  58. package/dist/cjs/common/structure/UaEventFilter.d.ts +14 -0
  59. package/dist/cjs/common/structure/UaEventFilter.js +49 -0
  60. package/dist/cjs/common/structure/UaHistoryData.d.ts +12 -0
  61. package/dist/cjs/common/structure/UaHistoryData.js +43 -0
  62. package/dist/cjs/common/structure/UaHistoryEvent.d.ts +12 -0
  63. package/dist/cjs/common/structure/UaHistoryEvent.js +59 -0
  64. package/dist/cjs/common/structure/UaLiteralOperand.d.ts +12 -0
  65. package/dist/cjs/common/structure/UaLiteralOperand.js +43 -0
  66. package/dist/cjs/common/structure/UaRange.d.ts +14 -0
  67. package/dist/cjs/common/structure/UaRange.js +44 -0
  68. package/dist/cjs/common/structure/UaReadAtTimeDetails.d.ts +14 -0
  69. package/dist/cjs/common/structure/UaReadAtTimeDetails.js +41 -0
  70. package/dist/cjs/common/structure/UaReadEventDetails.d.ts +19 -0
  71. package/dist/cjs/common/structure/UaReadEventDetails.js +57 -0
  72. package/dist/cjs/common/structure/UaReadRawModifiedDetails.d.ts +20 -0
  73. package/dist/cjs/common/structure/UaReadRawModifiedDetails.js +58 -0
  74. package/dist/cjs/common/structure/UaSimpleAttributeOperand.d.ts +14 -0
  75. package/dist/cjs/common/structure/UaSimpleAttributeOperand.js +43 -0
  76. package/dist/cjs/common/structure/index.d.ts +15 -0
  77. package/dist/cjs/common/structure/index.js +31 -0
  78. package/dist/cjs/common/types/UaDataValue.d.ts +14 -0
  79. package/dist/cjs/common/types/UaDataValue.js +28 -0
  80. package/dist/cjs/common/types/UaError.d.ts +6 -0
  81. package/dist/cjs/common/types/UaError.js +15 -0
  82. package/dist/cjs/common/types/UaExpandedNodeId.d.ts +15 -0
  83. package/dist/cjs/common/types/UaExpandedNodeId.js +51 -0
  84. package/dist/cjs/common/types/UaExtensionObject.d.ts +9 -0
  85. package/dist/cjs/common/types/UaExtensionObject.js +19 -0
  86. package/dist/cjs/common/types/UaHistoryDataResult.d.ts +8 -0
  87. package/dist/cjs/common/types/UaHistoryDataResult.js +16 -0
  88. package/dist/cjs/common/types/UaHistoryEventFieldList.d.ts +7 -0
  89. package/dist/cjs/common/types/UaHistoryEventFieldList.js +23 -0
  90. package/dist/cjs/common/types/UaHistoryEventResult.d.ts +8 -0
  91. package/dist/cjs/common/types/UaHistoryEventResult.js +16 -0
  92. package/dist/cjs/common/types/UaLink.d.ts +12 -0
  93. package/dist/cjs/common/types/UaLink.js +24 -0
  94. package/dist/cjs/common/types/UaLocalizedText.d.ts +9 -0
  95. package/dist/cjs/common/types/UaLocalizedText.js +20 -0
  96. package/dist/cjs/common/types/UaNodeId.d.ts +23 -0
  97. package/dist/cjs/common/types/UaNodeId.js +154 -0
  98. package/dist/cjs/common/types/UaQuery.d.ts +11 -0
  99. package/dist/cjs/common/types/UaQuery.js +82 -0
  100. package/dist/cjs/common/types/UaQueryFilter.d.ts +27 -0
  101. package/dist/cjs/common/types/UaQueryFilter.js +74 -0
  102. package/dist/cjs/common/types/UaRequestPatameters.d.ts +11 -0
  103. package/dist/cjs/common/types/UaRequestPatameters.js +29 -0
  104. package/dist/cjs/common/types/UaServiceTypes.d.ts +18 -0
  105. package/dist/cjs/common/types/UaServiceTypes.js +2 -0
  106. package/dist/cjs/common/types/UaStatusCode.d.ts +24 -0
  107. package/dist/cjs/common/types/UaStatusCode.js +76 -0
  108. package/dist/cjs/common/types/UaTypes.d.ts +12 -0
  109. package/dist/cjs/common/types/UaTypes.js +2 -0
  110. package/dist/cjs/common/types/UaVariant.d.ts +89 -0
  111. package/dist/cjs/common/types/UaVariant.js +384 -0
  112. package/dist/cjs/common/types/index.d.ts +17 -0
  113. package/dist/cjs/common/types/index.js +33 -0
  114. package/dist/cjs/index.d.ts +2 -0
  115. package/dist/cjs/index.js +18 -0
  116. package/dist/client/UaClientConfigure.d.ts +9 -0
  117. package/dist/client/UaClientConfigure.js +24 -0
  118. package/dist/client/UaWebClient.d.ts +38 -0
  119. package/dist/client/UaWebClient.js +590 -0
  120. package/dist/client/index.d.ts +3 -0
  121. package/dist/client/index.js +19 -0
  122. package/dist/client/utils/UaDataTypeDictionary.d.ts +15 -0
  123. package/dist/client/utils/UaDataTypeDictionary.js +149 -0
  124. package/dist/client/utils/UaNodeReader.d.ts +83 -0
  125. package/dist/client/utils/UaNodeReader.js +714 -0
  126. package/dist/client/utils/UaObjectTypeDictionary.d.ts +12 -0
  127. package/dist/client/utils/UaObjectTypeDictionary.js +80 -0
  128. package/dist/client/utils/UaReferenceTypeDictionary.d.ts +12 -0
  129. package/dist/client/utils/UaReferenceTypeDictionary.js +80 -0
  130. package/dist/client/utils/index.d.ts +4 -0
  131. package/dist/client/utils/index.js +20 -0
  132. package/dist/common/index.d.ts +4 -0
  133. package/dist/common/index.js +20 -0
  134. package/dist/common/mapper/UaPayloadMapper.d.ts +18 -0
  135. package/dist/common/mapper/UaPayloadMapper.js +481 -0
  136. package/dist/common/mapper/index.d.ts +1 -0
  137. package/dist/common/mapper/index.js +17 -0
  138. package/dist/common/nodes/Identifiers.d.ts +2458 -0
  139. package/dist/common/nodes/Identifiers.js +2470 -0
  140. package/dist/common/nodes/UaAttributes.d.ts +18 -0
  141. package/dist/common/nodes/UaAttributes.js +2 -0
  142. package/dist/common/nodes/UaDataType.d.ts +15 -0
  143. package/dist/common/nodes/UaDataType.js +93 -0
  144. package/dist/common/nodes/UaMethod.d.ts +16 -0
  145. package/dist/common/nodes/UaMethod.js +77 -0
  146. package/dist/common/nodes/UaNode.d.ts +38 -0
  147. package/dist/common/nodes/UaNode.js +94 -0
  148. package/dist/common/nodes/UaObject.d.ts +16 -0
  149. package/dist/common/nodes/UaObject.js +69 -0
  150. package/dist/common/nodes/UaObjectType.d.ts +12 -0
  151. package/dist/common/nodes/UaObjectType.js +62 -0
  152. package/dist/common/nodes/UaReferenceType.d.ts +12 -0
  153. package/dist/common/nodes/UaReferenceType.js +33 -0
  154. package/dist/common/nodes/UaVariable.d.ts +25 -0
  155. package/dist/common/nodes/UaVariable.js +76 -0
  156. package/dist/common/nodes/UaVariableType.d.ts +14 -0
  157. package/dist/common/nodes/UaVariableType.js +50 -0
  158. package/dist/common/nodes/index.d.ts +10 -0
  159. package/dist/common/nodes/index.js +26 -0
  160. package/dist/common/structure/UaArgument.d.ts +19 -0
  161. package/dist/common/structure/UaArgument.js +65 -0
  162. package/dist/common/structure/UaContentFilter.d.ts +13 -0
  163. package/dist/common/structure/UaContentFilter.js +48 -0
  164. package/dist/common/structure/UaContentFilterElement.d.ts +12 -0
  165. package/dist/common/structure/UaContentFilterElement.js +43 -0
  166. package/dist/common/structure/UaEUInformation.d.ts +18 -0
  167. package/dist/common/structure/UaEUInformation.js +56 -0
  168. package/dist/common/structure/UaElementOperand.d.ts +12 -0
  169. package/dist/common/structure/UaElementOperand.js +36 -0
  170. package/dist/common/structure/UaEnumValueType.d.ts +16 -0
  171. package/dist/common/structure/UaEnumValueType.js +48 -0
  172. package/dist/common/structure/UaEventFilter.d.ts +14 -0
  173. package/dist/common/structure/UaEventFilter.js +49 -0
  174. package/dist/common/structure/UaHistoryData.d.ts +12 -0
  175. package/dist/common/structure/UaHistoryData.js +43 -0
  176. package/dist/common/structure/UaHistoryEvent.d.ts +12 -0
  177. package/dist/common/structure/UaHistoryEvent.js +59 -0
  178. package/dist/common/structure/UaLiteralOperand.d.ts +12 -0
  179. package/dist/common/structure/UaLiteralOperand.js +43 -0
  180. package/dist/common/structure/UaRange.d.ts +14 -0
  181. package/dist/common/structure/UaRange.js +44 -0
  182. package/dist/common/structure/UaReadAtTimeDetails.d.ts +14 -0
  183. package/dist/common/structure/UaReadAtTimeDetails.js +41 -0
  184. package/dist/common/structure/UaReadEventDetails.d.ts +19 -0
  185. package/dist/common/structure/UaReadEventDetails.js +57 -0
  186. package/dist/common/structure/UaReadRawModifiedDetails.d.ts +20 -0
  187. package/dist/common/structure/UaReadRawModifiedDetails.js +58 -0
  188. package/dist/common/structure/UaSimpleAttributeOperand.d.ts +14 -0
  189. package/dist/common/structure/UaSimpleAttributeOperand.js +43 -0
  190. package/dist/common/structure/index.d.ts +15 -0
  191. package/dist/common/structure/index.js +31 -0
  192. package/dist/common/types/UaDataValue.d.ts +14 -0
  193. package/dist/common/types/UaDataValue.js +28 -0
  194. package/dist/common/types/UaError.d.ts +6 -0
  195. package/dist/common/types/UaError.js +15 -0
  196. package/dist/common/types/UaExpandedNodeId.d.ts +15 -0
  197. package/dist/common/types/UaExpandedNodeId.js +51 -0
  198. package/dist/common/types/UaExtensionObject.d.ts +9 -0
  199. package/dist/common/types/UaExtensionObject.js +19 -0
  200. package/dist/common/types/UaHistoryDataResult.d.ts +8 -0
  201. package/dist/common/types/UaHistoryDataResult.js +16 -0
  202. package/dist/common/types/UaHistoryEventFieldList.d.ts +7 -0
  203. package/dist/common/types/UaHistoryEventFieldList.js +23 -0
  204. package/dist/common/types/UaHistoryEventResult.d.ts +8 -0
  205. package/dist/common/types/UaHistoryEventResult.js +16 -0
  206. package/dist/common/types/UaLink.d.ts +12 -0
  207. package/dist/common/types/UaLink.js +24 -0
  208. package/dist/common/types/UaLocalizedText.d.ts +9 -0
  209. package/dist/common/types/UaLocalizedText.js +20 -0
  210. package/dist/common/types/UaNodeId.d.ts +23 -0
  211. package/dist/common/types/UaNodeId.js +154 -0
  212. package/dist/common/types/UaQuery.d.ts +11 -0
  213. package/dist/common/types/UaQuery.js +82 -0
  214. package/dist/common/types/UaQueryFilter.d.ts +27 -0
  215. package/dist/common/types/UaQueryFilter.js +74 -0
  216. package/dist/common/types/UaRequestPatameters.d.ts +11 -0
  217. package/dist/common/types/UaRequestPatameters.js +29 -0
  218. package/dist/common/types/UaServiceTypes.d.ts +18 -0
  219. package/dist/common/types/UaServiceTypes.js +2 -0
  220. package/dist/common/types/UaStatusCode.d.ts +24 -0
  221. package/dist/common/types/UaStatusCode.js +76 -0
  222. package/dist/common/types/UaTypes.d.ts +12 -0
  223. package/dist/common/types/UaTypes.js +2 -0
  224. package/dist/common/types/UaVariant.d.ts +89 -0
  225. package/dist/common/types/UaVariant.js +384 -0
  226. package/dist/common/types/index.d.ts +17 -0
  227. package/dist/common/types/index.js +33 -0
  228. package/dist/index.d.ts +2 -0
  229. package/dist/index.js +18 -0
  230. package/package.json +23 -0
@@ -0,0 +1,18 @@
1
+ import { UaLocalizedText, UaNodeId } from "../types";
2
+ export type UaNodeAttributes = {
3
+ nodeClass: number;
4
+ browseName: string;
5
+ displayName: UaLocalizedText;
6
+ writeMask: number;
7
+ description: UaLocalizedText | null;
8
+ };
9
+ export type UaObjectAttributes = {
10
+ eventNotifier: number;
11
+ };
12
+ export type UaVariableAttributes = {
13
+ dataType: UaNodeId;
14
+ valueRank: number;
15
+ accessLevel: number;
16
+ userAccessLevel: number;
17
+ historizing: boolean;
18
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import { NodeClass } from "opcua-webapi";
2
+ import { UaLocalizedText, UaNodeId, UaVariant } from "../types";
3
+ import { UaDefintionNode, UaVariable } from ".";
4
+ export declare class UaDataType extends UaDefintionNode {
5
+ private _valueType;
6
+ private _enumValues;
7
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText, isAbstract: boolean, writeMask?: number | null);
8
+ get nodeClass(): NodeClass;
9
+ get valueType(): number;
10
+ get enumValues(): Map<number, UaLocalizedText> | null;
11
+ setEnumVariable(node: UaVariable): void;
12
+ setEnumValues(value: UaVariant): void;
13
+ classify(): void;
14
+ toJson(): any;
15
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UaDataType = void 0;
4
+ const opcua_webapi_1 = require("opcua-webapi");
5
+ const types_1 = require("../types");
6
+ const _1 = require(".");
7
+ const structure_1 = require("../structure");
8
+ class UaDataType extends _1.UaDefintionNode {
9
+ constructor(nodeId, browseName, displayName, isAbstract, writeMask) {
10
+ super(nodeId, browseName, displayName, isAbstract, writeMask);
11
+ this._valueType = 0;
12
+ this._enumValues = null;
13
+ }
14
+ get nodeClass() {
15
+ return opcua_webapi_1.NodeClass.DataType;
16
+ }
17
+ get valueType() {
18
+ return this._valueType;
19
+ }
20
+ get enumValues() {
21
+ return this._enumValues;
22
+ }
23
+ setEnumVariable(node) {
24
+ if ("EnumStrings" == node.browseName ||
25
+ "EnumValues" == node.browseName) {
26
+ this.setEnumValues(node.value);
27
+ }
28
+ }
29
+ setEnumValues(value) {
30
+ if (types_1.UaVariantType.LocalizedText == value.type) {
31
+ let enumStrings = value.toLocalizedTexts();
32
+ if (null == enumStrings)
33
+ return;
34
+ this._enumValues = new Map;
35
+ let index = 0;
36
+ for (let item of enumStrings) {
37
+ this._enumValues.set(index, item);
38
+ index++;
39
+ }
40
+ }
41
+ else if (types_1.UaVariantType.ExtensionObject == value.type) {
42
+ let extensionObjects = value.toExtensionObjects();
43
+ if (null == extensionObjects)
44
+ return;
45
+ let enumValues = new Map;
46
+ for (let item of extensionObjects) {
47
+ let enumValue = structure_1.UaEnumValueType.fromExtensionObject(item);
48
+ if (!enumValue)
49
+ return;
50
+ enumValues.set(enumValue.value, enumValue.displayName);
51
+ }
52
+ this._enumValues = enumValues;
53
+ }
54
+ }
55
+ classify() {
56
+ let isBasicDataType = false;
57
+ if (0 == this._nodeId.nsIndex) {
58
+ if (_1.DataTypeIds.Boolean <= this._nodeId.numericId() &&
59
+ _1.DataTypeIds.Structure >= this._nodeId.numericId())
60
+ isBasicDataType = true;
61
+ if (_1.DataTypeIds.Enumeration == this._nodeId.numericId())
62
+ isBasicDataType = true;
63
+ }
64
+ if (isBasicDataType) {
65
+ this._valueType = this._nodeId.numericId();
66
+ }
67
+ else {
68
+ this._valueType = (this.parentType()) ? this.parentType()._valueType : 0;
69
+ }
70
+ }
71
+ toJson() {
72
+ let enumValues = [];
73
+ if (this._enumValues) {
74
+ for (let item of this._enumValues) {
75
+ enumValues.push({
76
+ value: item[0],
77
+ text: item[1].text
78
+ });
79
+ }
80
+ }
81
+ let ret = {
82
+ nodeId: this._nodeId.toString(),
83
+ nodeClass: opcua_webapi_1.NodeClass.DataType,
84
+ name: this._browseName,
85
+ displayName: this._displayName.text,
86
+ description: (this._description) ? this._description.text : undefined,
87
+ isAbstract: this._isAbstract,
88
+ enumValues: (enumValues.length == 0) ? enumValues : undefined
89
+ };
90
+ return ret;
91
+ }
92
+ }
93
+ exports.UaDataType = UaDataType;
@@ -0,0 +1,16 @@
1
+ import { NodeClass } from "opcua-webapi";
2
+ import { UaLocalizedText, UaNodeId } from "../types";
3
+ import { UaInstanceNode, UaVariable } from ".";
4
+ import { UaArgument } from "../structure";
5
+ export declare class UaMethod extends UaInstanceNode {
6
+ static InputArguments: string;
7
+ static OutputArguments: string;
8
+ private _inputArguments;
9
+ private _outputArguments;
10
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText);
11
+ get nodeClass(): NodeClass;
12
+ addMember(node: UaVariable): any;
13
+ get inputArguments(): Array<UaArgument> | null;
14
+ get outputArguments(): Array<UaArgument> | null;
15
+ toJson(): any;
16
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UaMethod = void 0;
4
+ const opcua_webapi_1 = require("opcua-webapi");
5
+ const _1 = require(".");
6
+ const structure_1 = require("../structure");
7
+ class UaMethod extends _1.UaInstanceNode {
8
+ constructor(nodeId, browseName, displayName) {
9
+ super(nodeId, browseName, displayName);
10
+ this._inputArguments = null;
11
+ this._outputArguments = null;
12
+ }
13
+ get nodeClass() {
14
+ return opcua_webapi_1.NodeClass.Method;
15
+ }
16
+ addMember(node) {
17
+ this._children.push(node);
18
+ let isInputArgument = null;
19
+ if (UaMethod.InputArguments == node.browseName) {
20
+ isInputArgument = true;
21
+ }
22
+ else if (UaMethod.OutputArguments == node.browseName) {
23
+ isInputArgument = false;
24
+ }
25
+ if (null == isInputArgument)
26
+ return;
27
+ let extensionObjects = node.value.toExtensionObjects();
28
+ if (null == extensionObjects)
29
+ return null;
30
+ let args = [];
31
+ for (let item2 of extensionObjects) {
32
+ let argument = structure_1.UaArgument.fromExtensionObject(item2);
33
+ if (null == argument)
34
+ return null;
35
+ args.push(argument);
36
+ }
37
+ if (isInputArgument) {
38
+ this._inputArguments = args;
39
+ }
40
+ else {
41
+ this._outputArguments = args;
42
+ }
43
+ }
44
+ get inputArguments() {
45
+ return this._inputArguments;
46
+ }
47
+ get outputArguments() {
48
+ return this._outputArguments;
49
+ }
50
+ toJson() {
51
+ let inputArgs = [];
52
+ let outputArgs = [];
53
+ if (this._inputArguments) {
54
+ for (let item of this._inputArguments) {
55
+ inputArgs.push(item.toJson());
56
+ }
57
+ }
58
+ if (this._outputArguments) {
59
+ for (let item of this._outputArguments) {
60
+ outputArgs.push(item.toJson());
61
+ }
62
+ }
63
+ let ret = {
64
+ nodeId: this._nodeId.toString(),
65
+ nodeClass: opcua_webapi_1.NodeClass.Method,
66
+ name: this._browseName,
67
+ displayName: this._displayName.text,
68
+ description: (this._description) ? this._description.text : undefined,
69
+ inputArguments: inputArgs,
70
+ outputArguments: outputArgs
71
+ };
72
+ return ret;
73
+ }
74
+ }
75
+ exports.UaMethod = UaMethod;
76
+ UaMethod.InputArguments = "InputArguments";
77
+ UaMethod.OutputArguments = "OutputArguments";
@@ -0,0 +1,38 @@
1
+ import { NodeClass } from "opcua-webapi";
2
+ import { UaLocalizedText, UaNodeId } from "../types";
3
+ export declare abstract class UaNode {
4
+ protected _nodeId: UaNodeId;
5
+ protected _browseName: string;
6
+ protected _displayName: UaLocalizedText;
7
+ protected _description: UaLocalizedText | undefined;
8
+ protected _writeMask: number;
9
+ protected _parent: UaNode | null;
10
+ protected _children: Array<UaNode>;
11
+ protected _refToParent: UaNodeId | undefined;
12
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText, writeMask?: number | null);
13
+ abstract get nodeClass(): NodeClass;
14
+ get nodeId(): UaNodeId;
15
+ get browseName(): string;
16
+ get displayName(): UaLocalizedText;
17
+ get writeMask(): number;
18
+ get description(): UaLocalizedText | null;
19
+ set description(description: UaLocalizedText);
20
+ get refToParent(): UaNodeId | null;
21
+ set refToParent(referenceTypeId: UaNodeId);
22
+ abstract toJson(): any;
23
+ }
24
+ export declare abstract class UaDefintionNode extends UaNode {
25
+ protected _isAbstract: boolean;
26
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText, isAbstract: boolean, writeMask?: number | null);
27
+ get isAbstract(): boolean;
28
+ get refToParent(): UaNodeId | null;
29
+ set refToParent(referenceTypeId: UaNodeId);
30
+ setParentType(parentType: UaDefintionNode): void;
31
+ isSubtypeOf(typeId: UaNodeId): boolean;
32
+ parentType(): UaDefintionNode | null;
33
+ childTypes(): Array<UaDefintionNode>;
34
+ }
35
+ export declare abstract class UaInstanceNode extends UaNode {
36
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText, writeMask?: number | null);
37
+ getMembers(nodeClass?: NodeClass): Array<UaInstanceNode>;
38
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UaInstanceNode = exports.UaDefintionNode = exports.UaNode = void 0;
4
+ class UaNode {
5
+ constructor(nodeId, browseName, displayName, writeMask) {
6
+ this._nodeId = nodeId;
7
+ this._browseName = browseName;
8
+ this._displayName = displayName;
9
+ this._writeMask = (writeMask) ? writeMask : 0;
10
+ this._parent = null;
11
+ this._children = [];
12
+ }
13
+ get nodeId() {
14
+ return this._nodeId;
15
+ }
16
+ get browseName() {
17
+ return this._browseName;
18
+ }
19
+ get displayName() {
20
+ return this._displayName;
21
+ }
22
+ get writeMask() {
23
+ return this._writeMask;
24
+ }
25
+ get description() {
26
+ return (this._description) ? this._description : null;
27
+ }
28
+ set description(description) {
29
+ this._description = description;
30
+ }
31
+ get refToParent() {
32
+ return (this._refToParent) ? this._refToParent : null;
33
+ }
34
+ set refToParent(referenceTypeId) {
35
+ this._refToParent = referenceTypeId;
36
+ }
37
+ }
38
+ exports.UaNode = UaNode;
39
+ class UaDefintionNode extends UaNode {
40
+ constructor(nodeId, browseName, displayName, isAbstract, writeMask) {
41
+ super(nodeId, browseName, displayName, writeMask);
42
+ this._isAbstract = isAbstract;
43
+ }
44
+ get isAbstract() {
45
+ return this._isAbstract;
46
+ }
47
+ get refToParent() {
48
+ return (this._refToParent) ? this._refToParent : null;
49
+ }
50
+ set refToParent(referenceTypeId) {
51
+ this._refToParent = referenceTypeId;
52
+ }
53
+ setParentType(parentType) {
54
+ if (parentType.nodeClass != this.nodeClass ||
55
+ null != this._parent)
56
+ return;
57
+ this._parent = parentType;
58
+ parentType._children.push(this);
59
+ }
60
+ isSubtypeOf(typeId) {
61
+ if (typeId.equal(this._nodeId))
62
+ return true;
63
+ if (null == this._parent)
64
+ return false;
65
+ return this._parent.isSubtypeOf(typeId);
66
+ }
67
+ parentType() {
68
+ return this._parent;
69
+ }
70
+ childTypes() {
71
+ let ret = [];
72
+ for (let item of this._children) {
73
+ if (item.nodeClass == this.nodeClass)
74
+ ret.push(item);
75
+ }
76
+ return ret;
77
+ }
78
+ }
79
+ exports.UaDefintionNode = UaDefintionNode;
80
+ class UaInstanceNode extends UaNode {
81
+ constructor(nodeId, browseName, displayName, writeMask) {
82
+ super(nodeId, browseName, displayName, writeMask);
83
+ }
84
+ getMembers(nodeClass) {
85
+ let ret = [];
86
+ for (let item of this._children) {
87
+ if (nodeClass && nodeClass != item.nodeClass)
88
+ continue;
89
+ ret.push(item);
90
+ }
91
+ return ret;
92
+ }
93
+ }
94
+ exports.UaInstanceNode = UaInstanceNode;
@@ -0,0 +1,16 @@
1
+ import { NodeClass } from "opcua-webapi";
2
+ import { UaLocalizedText, UaNodeId } from "../types";
3
+ import { UaInstanceNode, UaMethod, UaVariable } from ".";
4
+ export declare class UaObject extends UaInstanceNode {
5
+ private _typeDefinitionId;
6
+ private _eventNotifier;
7
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText, eventNotifier: number, typeDefinitionId: UaNodeId);
8
+ get nodeClass(): NodeClass;
9
+ get eventNotifier(): number;
10
+ get typeDefinitionId(): UaNodeId;
11
+ addMember(node: UaInstanceNode): void;
12
+ get objectMembers(): Array<UaObject>;
13
+ get variableMembers(): Array<UaVariable>;
14
+ get methodMembers(): Array<UaMethod>;
15
+ toJson(): any;
16
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UaObject = void 0;
4
+ const opcua_webapi_1 = require("opcua-webapi");
5
+ const _1 = require(".");
6
+ class UaObject extends _1.UaInstanceNode {
7
+ constructor(nodeId, browseName, displayName, eventNotifier, typeDefinitionId) {
8
+ super(nodeId, browseName, displayName);
9
+ this._eventNotifier = eventNotifier;
10
+ this._typeDefinitionId = typeDefinitionId;
11
+ }
12
+ get nodeClass() {
13
+ return opcua_webapi_1.NodeClass.Object;
14
+ }
15
+ get eventNotifier() {
16
+ return this._eventNotifier;
17
+ }
18
+ get typeDefinitionId() {
19
+ return this._typeDefinitionId;
20
+ }
21
+ addMember(node) {
22
+ this._children.push(node);
23
+ }
24
+ get objectMembers() {
25
+ let ret = [];
26
+ for (let item of this._children) {
27
+ if (opcua_webapi_1.NodeClass.Object != item.nodeClass)
28
+ continue;
29
+ ret.push(item);
30
+ }
31
+ return ret;
32
+ }
33
+ get variableMembers() {
34
+ let ret = [];
35
+ for (let item of this._children) {
36
+ if (opcua_webapi_1.NodeClass.Variable != item.nodeClass)
37
+ continue;
38
+ ret.push(item);
39
+ }
40
+ return ret;
41
+ }
42
+ get methodMembers() {
43
+ let ret = [];
44
+ for (let item of this._children) {
45
+ if (opcua_webapi_1.NodeClass.Method != item.nodeClass)
46
+ continue;
47
+ ret.push(item);
48
+ }
49
+ return ret;
50
+ }
51
+ toJson() {
52
+ let children = [];
53
+ for (let item of this._children) {
54
+ children.push(item.toJson());
55
+ }
56
+ let ret = {
57
+ nodeId: this._nodeId.toString(),
58
+ nodeClass: opcua_webapi_1.NodeClass.Object,
59
+ name: this._browseName,
60
+ displayName: this._displayName.text,
61
+ description: (this._description) ? this._description.text : undefined,
62
+ typeDefinition: this._typeDefinitionId.toString(),
63
+ eventNotifier: this._eventNotifier,
64
+ children: (children.length != 0) ? children : undefined
65
+ };
66
+ return ret;
67
+ }
68
+ }
69
+ exports.UaObject = UaObject;
@@ -0,0 +1,12 @@
1
+ import { NodeClass } from "opcua-webapi";
2
+ import { UaLocalizedText, UaNodeId } from "../types";
3
+ import { UaDefintionNode, UaObject, UaMethod, UaVariable, UaInstanceNode } from ".";
4
+ export declare class UaObjectType extends UaDefintionNode {
5
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText, isAbstract: boolean);
6
+ get nodeClass(): NodeClass;
7
+ addMember(node: UaInstanceNode): void;
8
+ get objectMembers(): Array<UaObject>;
9
+ get variableMembers(): Array<UaVariable>;
10
+ get methodMembers(): Array<UaMethod>;
11
+ toJson(): any;
12
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UaObjectType = void 0;
4
+ const opcua_webapi_1 = require("opcua-webapi");
5
+ const _1 = require(".");
6
+ class UaObjectType extends _1.UaDefintionNode {
7
+ constructor(nodeId, browseName, displayName, isAbstract) {
8
+ super(nodeId, browseName, displayName, isAbstract);
9
+ }
10
+ get nodeClass() {
11
+ return opcua_webapi_1.NodeClass.ObjectType;
12
+ }
13
+ addMember(node) {
14
+ this._children.push(node);
15
+ }
16
+ get objectMembers() {
17
+ let ret = [];
18
+ for (let item of this._children) {
19
+ if (opcua_webapi_1.NodeClass.Object != item.nodeClass)
20
+ continue;
21
+ ret.push(item);
22
+ }
23
+ return ret;
24
+ }
25
+ get variableMembers() {
26
+ let ret = [];
27
+ for (let item of this._children) {
28
+ if (opcua_webapi_1.NodeClass.Variable != item.nodeClass)
29
+ continue;
30
+ ret.push(item);
31
+ }
32
+ return ret;
33
+ }
34
+ get methodMembers() {
35
+ let ret = [];
36
+ for (let item of this._children) {
37
+ if (opcua_webapi_1.NodeClass.Method != item.nodeClass)
38
+ continue;
39
+ ret.push(item);
40
+ }
41
+ return ret;
42
+ }
43
+ toJson() {
44
+ let children = [];
45
+ for (let item of this._children) {
46
+ if (item.nodeClass == opcua_webapi_1.NodeClass.ObjectType)
47
+ continue;
48
+ children.push(item.toJson());
49
+ }
50
+ let ret = {
51
+ nodeId: this._nodeId.toString(),
52
+ nodeClass: opcua_webapi_1.NodeClass.ObjectType,
53
+ name: this._browseName,
54
+ displayName: this._displayName.text,
55
+ description: (this._description) ? this._description.text : undefined,
56
+ isAbstract: this._isAbstract,
57
+ children: (children.length != 0) ? children : undefined
58
+ };
59
+ return ret;
60
+ }
61
+ }
62
+ exports.UaObjectType = UaObjectType;
@@ -0,0 +1,12 @@
1
+ import { NodeClass } from "opcua-webapi";
2
+ import { UaLocalizedText, UaNodeId } from "../types";
3
+ import { UaDefintionNode } from ".";
4
+ export declare class UaReferenceType extends UaDefintionNode {
5
+ private _inverseName;
6
+ private _symmetric;
7
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText, isAbstract: boolean, inverseName: UaLocalizedText, symmetric: boolean);
8
+ get nodeClass(): NodeClass;
9
+ get inverseName(): UaLocalizedText;
10
+ get symmetric(): boolean;
11
+ toJson(): any;
12
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UaReferenceType = void 0;
4
+ const opcua_webapi_1 = require("opcua-webapi");
5
+ const _1 = require(".");
6
+ class UaReferenceType extends _1.UaDefintionNode {
7
+ constructor(nodeId, browseName, displayName, isAbstract, inverseName, symmetric) {
8
+ super(nodeId, browseName, displayName, isAbstract);
9
+ this._inverseName = inverseName;
10
+ this._symmetric = symmetric;
11
+ }
12
+ get nodeClass() {
13
+ return opcua_webapi_1.NodeClass.ReferenceType;
14
+ }
15
+ get inverseName() {
16
+ return this._inverseName;
17
+ }
18
+ get symmetric() {
19
+ return this._symmetric;
20
+ }
21
+ toJson() {
22
+ let ret = {
23
+ nodeId: this._nodeId.toString(),
24
+ nodeClass: opcua_webapi_1.NodeClass.ReferenceType,
25
+ name: this._browseName,
26
+ displayName: this._displayName.text,
27
+ description: (this._description) ? this._description.text : undefined,
28
+ isAbstract: this._isAbstract
29
+ };
30
+ return ret;
31
+ }
32
+ }
33
+ exports.UaReferenceType = UaReferenceType;
@@ -0,0 +1,25 @@
1
+ import { NodeClass } from "opcua-webapi";
2
+ import { UaLocalizedText, UaNodeId, UaVariant } from "../types";
3
+ import { UaInstanceNode } from ".";
4
+ export declare class UaVariable extends UaInstanceNode {
5
+ private _typeDefinitionId;
6
+ private _dataType;
7
+ private _valueRank;
8
+ private _accessLevel;
9
+ private _userAccessLevel;
10
+ private _historizing;
11
+ private _value;
12
+ constructor(nodeId: UaNodeId, browseName: string, displayName: UaLocalizedText, dataType: UaNodeId, valueRank: number, accessLevel: number, userAccessLevel: number, historizing: boolean, typeDefinitionId: UaNodeId);
13
+ get nodeClass(): NodeClass;
14
+ get dataType(): UaNodeId;
15
+ get valueRank(): number;
16
+ get accessLevel(): number;
17
+ get userAccessLevel(): number;
18
+ get historizing(): boolean;
19
+ get value(): UaVariant;
20
+ set value(val: UaVariant);
21
+ get typeDefinitionId(): UaNodeId;
22
+ addMember(node: UaVariable): void;
23
+ get variableMembers(): Array<UaVariable>;
24
+ toJson(): any;
25
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UaVariable = void 0;
4
+ const opcua_webapi_1 = require("opcua-webapi");
5
+ const types_1 = require("../types");
6
+ const _1 = require(".");
7
+ class UaVariable extends _1.UaInstanceNode {
8
+ constructor(nodeId, browseName, displayName, dataType, valueRank, accessLevel, userAccessLevel, historizing, typeDefinitionId) {
9
+ super(nodeId, browseName, displayName);
10
+ this._dataType = dataType;
11
+ this._valueRank = valueRank;
12
+ this._accessLevel = accessLevel;
13
+ this._userAccessLevel = userAccessLevel;
14
+ this._historizing = historizing;
15
+ this._value = types_1.UaVariant.null();
16
+ this._typeDefinitionId = typeDefinitionId;
17
+ }
18
+ get nodeClass() {
19
+ return opcua_webapi_1.NodeClass.Variable;
20
+ }
21
+ get dataType() {
22
+ return this._dataType;
23
+ }
24
+ get valueRank() {
25
+ return this._valueRank;
26
+ }
27
+ get accessLevel() {
28
+ return this._accessLevel;
29
+ }
30
+ get userAccessLevel() {
31
+ return this._userAccessLevel;
32
+ }
33
+ get historizing() {
34
+ return this._historizing;
35
+ }
36
+ get value() {
37
+ return this._value;
38
+ }
39
+ set value(val) {
40
+ this._value = val;
41
+ }
42
+ get typeDefinitionId() {
43
+ return this._typeDefinitionId;
44
+ }
45
+ addMember(node) {
46
+ this._children.push(node);
47
+ }
48
+ get variableMembers() {
49
+ let ret = [];
50
+ for (let item of this._children) {
51
+ ret.push(item);
52
+ }
53
+ return ret;
54
+ }
55
+ toJson() {
56
+ let children = [];
57
+ for (let item of this._children) {
58
+ if (item.nodeClass != opcua_webapi_1.NodeClass.Variable)
59
+ continue;
60
+ children.push(item.toJson());
61
+ }
62
+ let ret = {
63
+ nodeId: this._nodeId.toString(),
64
+ nodeClass: opcua_webapi_1.NodeClass.Variable,
65
+ name: this._browseName,
66
+ displayName: this._displayName.text,
67
+ typeDefinition: this._typeDefinitionId.toString(),
68
+ dataType: this._dataType.toString(),
69
+ valueRank: this._valueRank,
70
+ accessLevel: this._accessLevel,
71
+ children: (children.length != 0) ? children : undefined
72
+ };
73
+ return ret;
74
+ }
75
+ }
76
+ exports.UaVariable = UaVariable;