node-opcua-address-space 2.156.0 → 2.157.0

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 (80) hide show
  1. package/dist/source/address_space_ts.js +1 -0
  2. package/dist/source/address_space_ts.js.map +1 -1
  3. package/dist/source/continuation_points/continuation_point_manager.js +1 -0
  4. package/dist/source/continuation_points/continuation_point_manager.js.map +1 -1
  5. package/dist/source/index.d.ts +1 -0
  6. package/dist/source/index.js +1 -0
  7. package/dist/source/index.js.map +1 -1
  8. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +1 -0
  9. package/dist/source/loader/load_nodeset2.js +2 -0
  10. package/dist/source/loader/load_nodeset2.js.map +1 -1
  11. package/dist/source/pseudo_session.js +6 -3
  12. package/dist/source/pseudo_session.js.map +1 -1
  13. package/dist/source/session_context.js +7 -2
  14. package/dist/source/session_context.js.map +1 -1
  15. package/dist/src/_mandatory_child_or_requested_optional_filter.js +4 -1
  16. package/dist/src/_mandatory_child_or_requested_optional_filter.js.map +1 -1
  17. package/dist/src/address_space.d.ts +1 -1
  18. package/dist/src/address_space.js +75 -29
  19. package/dist/src/address_space.js.map +1 -1
  20. package/dist/src/alarms_and_conditions/condition_info_impl.js +4 -4
  21. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -1
  22. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +217 -208
  23. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -1
  24. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +1 -1
  25. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  26. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +1 -4
  27. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  28. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +1 -1
  29. package/dist/src/alarms_and_conditions/ua_condition_impl.js +9 -11
  30. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  31. package/dist/src/base_node_impl.js +8 -2
  32. package/dist/src/base_node_impl.js.map +1 -1
  33. package/dist/src/base_node_private.js +4 -4
  34. package/dist/src/base_node_private.js.map +1 -1
  35. package/dist/src/event_data.js +3 -0
  36. package/dist/src/event_data.js.map +1 -1
  37. package/dist/src/historical_access/address_space_historical_data_node.js +5 -0
  38. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -1
  39. package/dist/src/idx_iterator.js +2 -1
  40. package/dist/src/idx_iterator.js.map +1 -1
  41. package/dist/src/index_current.d.ts +1 -0
  42. package/dist/src/index_current.js +1 -0
  43. package/dist/src/index_current.js.map +1 -1
  44. package/dist/src/namespace_impl.js +20 -6
  45. package/dist/src/namespace_impl.js.map +1 -1
  46. package/dist/src/nodeid_manager.js +5 -2
  47. package/dist/src/nodeid_manager.js.map +1 -1
  48. package/dist/src/reference_impl.js +7 -0
  49. package/dist/src/reference_impl.js.map +1 -1
  50. package/dist/src/state_machine/ua_two_state_variable.js +2 -0
  51. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -1
  52. package/dist/src/ua_data_type_impl.js +12 -5
  53. package/dist/src/ua_data_type_impl.js.map +1 -1
  54. package/dist/src/ua_method_impl.js +5 -1
  55. package/dist/src/ua_method_impl.js.map +1 -1
  56. package/dist/src/ua_object_impl.js +3 -1
  57. package/dist/src/ua_object_impl.js.map +1 -1
  58. package/dist/src/ua_object_type_impl.js +5 -4
  59. package/dist/src/ua_object_type_impl.js.map +1 -1
  60. package/dist/src/ua_reference_type_impl.js +14 -11
  61. package/dist/src/ua_reference_type_impl.js.map +1 -1
  62. package/dist/src/ua_variable_impl.js +25 -2
  63. package/dist/src/ua_variable_impl.js.map +1 -1
  64. package/dist/src/ua_variable_type_impl.js +11 -4
  65. package/dist/src/ua_variable_type_impl.js.map +1 -1
  66. package/dist/src/ua_view_impl.js +3 -1
  67. package/dist/src/ua_view_impl.js.map +1 -1
  68. package/dist/tsconfig_base.tsbuildinfo +1 -0
  69. package/dist/tsconfig_common.tsbuildinfo +1 -1
  70. package/distNodeJS/generate_address_space.d.ts +1 -1
  71. package/package.json +44 -43
  72. package/source/index.ts +2 -0
  73. package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +2 -0
  74. package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +0 -1
  75. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +2 -0
  76. package/source_nodejs/generate_address_space.ts +1 -1
  77. package/src/address_space.ts +62 -22
  78. package/src/alarms_and_conditions/ua_condition_impl.ts +4 -3
  79. package/src/index_current.ts +1 -0
  80. package/src/ua_variable_impl.ts +1 -1
@@ -1,4 +1,4 @@
1
1
  import { IAddressSpace } from "node-opcua-address-space-base";
2
- import { NodeSetLoaderOptions } from "../source/interfaces/nodeset_loader_options";
2
+ import { NodeSetLoaderOptions } from "..";
3
3
  export declare function readNodeSet2XmlFile(xmlFile: string): Promise<string>;
4
4
  export declare function generateAddressSpace(addressSpace: IAddressSpace, xmlFiles: string | string[], options?: NodeSetLoaderOptions): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-address-space",
3
- "version": "2.156.0",
3
+ "version": "2.157.0",
4
4
  "description": "pure nodejs OPCUA SDK - module address-space",
5
5
  "main": "./dist/src/index_current.js",
6
6
  "types": "./dist/source/index.d.ts",
@@ -13,57 +13,58 @@
13
13
  "lint": "eslint source test src source_nodejs test_helpers",
14
14
  "format": "prettier --write source test src source_nodejs test_helpers",
15
15
  "clean": "npx rimraf -g node_modules dist *.tsbuildinfo",
16
- "c": "mocha --version"
16
+ "c": "mocha --version",
17
+ "fix:tsconfig": "node ../../code_gen/extract-modules.js tsconfig_base.json"
17
18
  },
18
19
  "dependencies": {
19
- "@types/lodash": "4.17.16",
20
- "@types/semver": "^7.7.0",
20
+ "@types/lodash": "4.17.20",
21
+ "@types/semver": "7.7.1",
21
22
  "chalk": "4.1.2",
22
23
  "dequeue": "^1.0.5",
23
24
  "lodash": "4.17.21",
24
- "node-opcua-address-space-base": "2.155.0",
25
- "node-opcua-assert": "2.139.0",
26
- "node-opcua-basic-types": "2.154.0",
27
- "node-opcua-binary-stream": "2.153.0",
28
- "node-opcua-client-dynamic-extension-object": "2.156.0",
29
- "node-opcua-constants": "2.139.0",
25
+ "node-opcua-address-space-base": "2.157.0",
26
+ "node-opcua-assert": "2.157.0",
27
+ "node-opcua-basic-types": "2.157.0",
28
+ "node-opcua-binary-stream": "2.157.0",
29
+ "node-opcua-client-dynamic-extension-object": "2.157.0",
30
+ "node-opcua-constants": "2.157.0",
30
31
  "node-opcua-crypto": "4.16.0",
31
- "node-opcua-data-access": "2.155.0",
32
- "node-opcua-data-model": "2.155.0",
33
- "node-opcua-data-value": "2.155.0",
34
- "node-opcua-date-time": "2.153.0",
35
- "node-opcua-debug": "2.153.0",
36
- "node-opcua-enum": "2.153.0",
37
- "node-opcua-extension-object": "2.155.0",
38
- "node-opcua-factory": "2.155.0",
39
- "node-opcua-nodeid": "2.153.0",
40
- "node-opcua-nodeset-ua": "2.155.0",
41
- "node-opcua-numeric-range": "2.155.0",
42
- "node-opcua-object-registry": "2.153.0",
43
- "node-opcua-pseudo-session": "2.156.0",
44
- "node-opcua-schemas": "2.155.0",
45
- "node-opcua-service-browse": "2.155.0",
46
- "node-opcua-service-call": "2.155.0",
47
- "node-opcua-service-history": "2.155.0",
48
- "node-opcua-service-translate-browse-path": "2.155.0",
49
- "node-opcua-service-write": "2.155.0",
50
- "node-opcua-status-code": "2.153.0",
51
- "node-opcua-types": "2.155.0",
52
- "node-opcua-utils": "2.153.0",
53
- "node-opcua-variant": "2.155.0",
54
- "node-opcua-xml2json": "2.155.0",
55
- "semver": "^7.7.1",
32
+ "node-opcua-data-access": "2.157.0",
33
+ "node-opcua-data-model": "2.157.0",
34
+ "node-opcua-data-value": "2.157.0",
35
+ "node-opcua-date-time": "2.157.0",
36
+ "node-opcua-debug": "2.157.0",
37
+ "node-opcua-enum": "2.157.0",
38
+ "node-opcua-extension-object": "2.157.0",
39
+ "node-opcua-factory": "2.157.0",
40
+ "node-opcua-nodeid": "2.157.0",
41
+ "node-opcua-nodeset-ua": "2.157.0",
42
+ "node-opcua-numeric-range": "2.157.0",
43
+ "node-opcua-object-registry": "2.157.0",
44
+ "node-opcua-pseudo-session": "2.157.0",
45
+ "node-opcua-service-browse": "2.157.0",
46
+ "node-opcua-service-call": "2.157.0",
47
+ "node-opcua-service-history": "2.157.0",
48
+ "node-opcua-service-translate-browse-path": "2.157.0",
49
+ "node-opcua-service-write": "2.157.0",
50
+ "node-opcua-status-code": "2.157.0",
51
+ "node-opcua-types": "2.157.0",
52
+ "node-opcua-utils": "2.157.0",
53
+ "node-opcua-variant": "2.157.0",
54
+ "node-opcua-xml2json": "2.157.0",
55
+ "semver": "^7.7.2",
56
56
  "thenify-ex": "4.4.0",
57
57
  "xml-writer": "^1.7.0"
58
58
  },
59
59
  "devDependencies": {
60
- "node-opcua-benchmarker": "2.153.0",
61
- "node-opcua-leak-detector": "2.154.0",
62
- "node-opcua-nodesets": "2.155.0",
63
- "node-opcua-packet-analyzer": "2.155.0",
64
- "node-opcua-service-filter": "2.155.0",
65
- "node-opcua-test-fixtures": "2.155.0",
66
- "source-map-support": "^0.5.21"
60
+ "humanize": "0.0.9",
61
+ "node-opcua-benchmarker": "2.157.0",
62
+ "node-opcua-leak-detector": "2.157.0",
63
+ "node-opcua-nodesets": "2.157.0",
64
+ "node-opcua-packet-analyzer": "2.157.0",
65
+ "node-opcua-schemas": "2.157.0",
66
+ "node-opcua-service-filter": "2.157.0",
67
+ "node-opcua-test-fixtures": "2.157.0"
67
68
  },
68
69
  "author": "Etienne Rossignon",
69
70
  "license": "MIT",
@@ -80,7 +81,7 @@
80
81
  "internet of things"
81
82
  ],
82
83
  "homepage": "http://node-opcua.github.io/",
83
- "gitHead": "53bc91f8992b50b9ddb938e279f78ac1026ec13f",
84
+ "gitHead": "e0a948ac5379ae8d9cc8200a1b4a31515a35be37",
84
85
  "files": [
85
86
  "dist",
86
87
  "distHelpers",
package/source/index.ts CHANGED
@@ -37,6 +37,8 @@ export * from "./interfaces/alarms_and_conditions/ua_limit_alarm_ex";
37
37
  export * from "./interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex";
38
38
  export * from "./interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex";
39
39
 
40
+ export * from "./interfaces/nodeset_loader_options";
41
+
40
42
  export { promoteToMultiStateDiscrete } from "../src/data_access/ua_multistate_discrete_impl";
41
43
  export { promoteToMultiStateValueDiscrete } from "../src/data_access/ua_multistate_value_discrete_impl";
42
44
  export { promoteToTwoStateDiscrete } from "../src/data_access/ua_two_state_discrete_impl";
@@ -7,6 +7,8 @@ import { UAConditionEx, UAConditionHelper } from "./ua_condition_ex";
7
7
 
8
8
  export interface UAAcknowledgeableConditionHelper {
9
9
  autoConfirmBranch(branch: ConditionSnapshot, comment: LocalizedTextLike): void;
10
+
11
+
10
12
  acknowledgeAndAutoConfirmBranch(branch: ConditionSnapshot, comment: string | LocalizedTextLike | LocalizedText): void;
11
13
  }
12
14
 
@@ -19,7 +19,6 @@ export interface UAAlarmConditionHelper extends UAAcknowledgeableConditionHelper
19
19
  getInputNodeValue(): any | null;
20
20
  updateState(): void;
21
21
  getCurrentConditionInfo(): ConditionInfo;
22
-
23
22
  installInputNodeMonitoring(inputNode: BaseNode | NodeId): void;
24
23
  }
25
24
 
@@ -51,6 +51,8 @@ export interface UAConditionHelper extends UABaseEventHelper {
51
51
  raiseNewCondition(conditionInfo: ConditionInfoOptions): void;
52
52
  raiseNewBranchState(branch: ConditionSnapshot): void;
53
53
  currentBranch(): ConditionSnapshot;
54
+ findBranchForEventId(eventId: Buffer| null): ConditionSnapshot | null;
55
+
54
56
  }
55
57
 
56
58
  export interface UAConditionEx extends UAObject, UACondition_Base, UAConditionHelper {
@@ -4,7 +4,7 @@ import { checkDebugFlag, make_debugLog, make_errorLog } from "node-opcua-debug";
4
4
  import { IAddressSpace } from "node-opcua-address-space-base";
5
5
 
6
6
  import { generateAddressSpaceRaw } from "..";
7
- import { NodeSetLoaderOptions } from "../source/interfaces/nodeset_loader_options";
7
+ import { NodeSetLoaderOptions } from "..";
8
8
 
9
9
  const doDebug = checkDebugFlag(__filename);
10
10
  const debugLog = make_debugLog(__filename);
@@ -77,6 +77,7 @@ import { ReferenceImpl } from "./reference_impl";
77
77
  import { UAVariableImpl } from "./ua_variable_impl";
78
78
  import { UAReferenceTypeImpl } from "./ua_reference_type_impl";
79
79
  import { BaseNodeImpl } from "./base_node_impl";
80
+ import { resolve } from "path";
80
81
 
81
82
  const doDebug = false;
82
83
  const errorLog = make_errorLog(__filename);
@@ -88,10 +89,17 @@ const Dequeue = require("dequeue");
88
89
 
89
90
  const regexNumberColumnString = /^([0-9]+):(.*)/;
90
91
  const enumerationTypeNodeId = coerceNodeId(DataTypeIds.Enumeration);
91
-
92
+ /**
93
+ * Extracts the namespace and browse name as a string from the given input.
94
+ *
95
+ * @param addressSpace The address space instance.
96
+ * @param browseNameOrNodeId A NodeIdLike, QualifiedName, or string representing the browse name or node id.
97
+ * @param namespaceIndex Optional namespace index.
98
+ * @returns A tuple containing the NamespacePrivate and the browse name as a string.
99
+ */
92
100
  function _extract_namespace_and_browse_name_as_string(
93
101
  addressSpace: AddressSpace,
94
- browseName: NodeIdLike | QualifiedName,
102
+ browseNameOrNodeId: NodeIdLike | QualifiedName,
95
103
  namespaceIndex?: number
96
104
  ): [NamespacePrivate, string] {
97
105
  assert(!namespaceIndex || namespaceIndex >= 0);
@@ -99,26 +107,37 @@ function _extract_namespace_and_browse_name_as_string(
99
107
  let result;
100
108
 
101
109
  if (namespaceIndex !== undefined && namespaceIndex > 0) {
102
- assert(typeof browseName === "string", "expecting a string when namespaceIndex is specified");
103
- result = [addressSpace.getNamespace(namespaceIndex), browseName];
104
- } else if (typeof browseName === "string") {
105
- // split
106
- if (browseName.indexOf(":") >= 0) {
107
- const a = browseName.split(":");
110
+ assert(typeof browseNameOrNodeId === "string", "expecting a string when namespaceIndex is specified");
111
+ result = [addressSpace.getNamespace(namespaceIndex), browseNameOrNodeId];
112
+ } else if (typeof browseNameOrNodeId === "string") {
113
+ // we may have a string like "ns=1;i=1234" or "ns=1:MyBrowseName"
114
+ if (isNodeIdString(browseNameOrNodeId)) {
115
+ return _extract_namespace_and_browse_name_as_string(addressSpace, addressSpace.resolveNodeId(browseNameOrNodeId), namespaceIndex);
116
+ }
117
+ // we must have a BrowseName string
118
+ if (browseNameOrNodeId.indexOf(":") >= 0) {
119
+ const a = browseNameOrNodeId.split(":");
108
120
  namespaceIndex = a.length === 2 ? parseInt(a[0], 10) : namespaceIndex;
109
- browseName = a.length === 2 ? a[1] : browseName;
110
- }
111
- result = [addressSpace.getNamespace(namespaceIndex || 0), browseName];
112
- } else if (browseName instanceof QualifiedName) {
113
- namespaceIndex = browseName.namespaceIndex;
114
- result = [addressSpace.getNamespace(namespaceIndex), browseName.name];
115
- } else if (typeof browseName === "number") {
116
- result = [addressSpace.getDefaultNamespace(), DataType[browseName]];
121
+ browseNameOrNodeId = a.length === 2 ? a[1] : browseNameOrNodeId;
122
+ }
123
+ result = [addressSpace.getNamespace(namespaceIndex || 0), browseNameOrNodeId];
124
+ } else if (browseNameOrNodeId instanceof QualifiedName) {
125
+ namespaceIndex = browseNameOrNodeId.namespaceIndex;
126
+ result = [addressSpace.getNamespace(namespaceIndex), browseNameOrNodeId.name];
127
+ } else if (typeof browseNameOrNodeId === "number") {
128
+ result = [addressSpace.getDefaultNamespace(), DataType[browseNameOrNodeId]];
129
+ } else if (browseNameOrNodeId instanceof NodeId) {
130
+ // we have a nodeId
131
+ const nodeId = browseNameOrNodeId as NodeId;
132
+ namespaceIndex = nodeId.namespace;
133
+ const node = addressSpace.findNode(nodeId);
134
+ const browseName = node ? node.browseName.toString() : "UnknownNode";
135
+ result = [addressSpace.getNamespace(namespaceIndex), browseName];
117
136
  }
118
137
 
119
138
  /* istanbul ignore next */
120
139
  if (!result || !result[0]) {
121
- throw new Error(` Cannot find namespace associated with ${browseName} ${namespaceIndex}`);
140
+ throw new Error(` Cannot find namespace associated with ${browseNameOrNodeId} ${namespaceIndex}`);
122
141
  }
123
142
  return result as [NamespacePrivate, string];
124
143
  }
@@ -331,7 +350,7 @@ export class AddressSpace implements AddressSpacePrivate {
331
350
  }
332
351
  }
333
352
  }
334
- const namespaceArray: string[] = this.getNamespaceArray().map((a)=>a.namespaceUri);
353
+ const namespaceArray: string[] = this.getNamespaceArray().map((a) => a.namespaceUri);
335
354
 
336
355
  return resolveNodeId(nodeId, { namespaceArray });
337
356
  }
@@ -429,7 +448,7 @@ export class AddressSpace implements AddressSpacePrivate {
429
448
  }
430
449
  if (typeof dataType === "number") {
431
450
  if (DataType[dataType] !== undefined) {
432
- dataType = DataType[dataType];
451
+ return this.findDataType(makeNodeId(dataType, 0)) as UADataType;
433
452
  } else {
434
453
  return this.findDataType(resolveNodeId(dataType));
435
454
  }
@@ -1376,11 +1395,14 @@ export class AddressSpace implements AddressSpacePrivate {
1376
1395
  return returnValue;
1377
1396
  }
1378
1397
 
1379
- public _coerce_DataType(dataType: NodeId | string | BaseNode): NodeId {
1398
+ public _coerce_DataType(dataType: number | NodeId | string | BaseNode): NodeId {
1380
1399
  if (dataType instanceof NodeId) {
1381
1400
  // xx assert(self.findDataType(dataType));
1382
1401
  return dataType;
1383
1402
  }
1403
+ if (dataType === 0) {
1404
+ return NodeId.nullNodeId
1405
+ }
1384
1406
  return this._coerce_Type(dataType, DataTypeIds, "DataTypeIds", AddressSpace.prototype.findDataType);
1385
1407
  }
1386
1408
 
@@ -1459,13 +1481,31 @@ export class AddressSpace implements AddressSpacePrivate {
1459
1481
  return dataTypeNode.isSubtypeOf(enumerationNode);
1460
1482
  }
1461
1483
 
1462
- private _coerce_Type(dataType: BaseNode | string | NodeId, typeMap: any, typeMapName: string, finderMethod: any): NodeId {
1484
+ private _coerce_Type(dataType: BaseNode | string | NodeId | number, typeMap: any, typeMapName: string, finderMethod: any): NodeId {
1485
+ if (typeof dataType === "number") {
1486
+ return this._coerce_Type(coerceNodeId(dataType), typeMap, typeMapName, finderMethod);
1487
+ }
1463
1488
  if (dataType instanceof BaseNodeImpl) {
1464
1489
  dataType = dataType.nodeId;
1465
1490
  }
1466
1491
  assert(typeMap !== null && typeof typeMap === "object");
1467
1492
  let nodeId: NodeId | null;
1468
1493
  if (typeof dataType === "string") {
1494
+ if (isNodeIdString(dataType)) {
1495
+ const nodeId = this.resolveNodeId(dataType);
1496
+ if (nodeId.isEmpty()) {
1497
+ // this is a valid dataType NodeId, but it has no definition in the address space
1498
+ return NodeId.nullNodeId;
1499
+ }
1500
+ const node = this.findNode(nodeId);
1501
+ if (node) {
1502
+ // if dataType is a nodeId string, we can use it directly
1503
+ return node.nodeId;
1504
+ } else {
1505
+ warningLog("Expecting valid nodeId of a DataType : ", nodeId.toString());
1506
+ return nodeId;
1507
+ }
1508
+ }
1469
1509
  const namespace0 = this.getDefaultNamespace();
1470
1510
  // resolve dataType
1471
1511
  nodeId = namespace0.resolveAlias(dataType);
@@ -1539,7 +1579,7 @@ function _increase_version_number(node: BaseNode | null) {
1539
1579
  let rawValue = uaNodeVersion.readValue().value.value || ""
1540
1580
  let previousValue = parseInt(rawValue || "0", 10);
1541
1581
  if (Number.isNaN(previousValue)) {
1542
- warningLog("NodeVersion was ", rawValue );
1582
+ warningLog("NodeVersion was ", rawValue);
1543
1583
  previousValue = 0;
1544
1584
  }
1545
1585
  uaNodeVersion.setValueFromSource({
@@ -173,7 +173,7 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
173
173
  const comment = inputArguments[1].value;
174
174
  assert(comment instanceof LocalizedText);
175
175
 
176
- const branch = conditionNode._findBranchForEventId(eventId);
176
+ const branch = conditionNode.findBranchForEventId(eventId);
177
177
  if (!branch) {
178
178
  callback(null, {
179
179
  statusCode: StatusCodes.BadEventIdUnknown
@@ -607,11 +607,12 @@ export class UAConditionImpl extends UABaseEventImpl implements UAConditionEx {
607
607
  // xx }
608
608
  }
609
609
 
610
- protected _findBranchForEventId(eventId: Buffer): ConditionSnapshot | null {
610
+ public findBranchForEventId(eventId: Buffer| null): ConditionSnapshot | null {
611
611
  if (sameBuffer(this.eventId!.readValue().value.value, eventId)) {
612
612
  return this.currentBranch();
613
613
  }
614
- const e = [...this._branches.values()].filter((branch: ConditionSnapshot) => sameBuffer(branch.getEventId(), eventId));
614
+ const e = [...this._branches.values()]
615
+ .filter((branch: ConditionSnapshot) => sameBuffer(branch.getEventId(), eventId));
615
616
  if (e.length === 1) {
616
617
  return e[0];
617
618
  }
@@ -12,6 +12,7 @@ export * from "../source/helpers/call_helpers";
12
12
  export * from "../source/helpers/ensure_secure_access";
13
13
  export * from "../source/helpers/resolve_opaque_on_address_space";
14
14
  export * from "../source/interfaces/alarms_and_conditions/condition_info_i";
15
+ export * from "../source/interfaces/nodeset_loader_options"
15
16
  export * from "../src/nodeset_tools/construct_namespace_dependency";
16
17
 
17
18
 
@@ -2323,7 +2323,7 @@ function changeUAVariableDataType(uaVariable: UAVariableImpl, newDataType: NodeI
2323
2323
  uaVariable.dataType = newDataTypeNode.nodeId;
2324
2324
  (uaVariable as any)._basicDataType = null;
2325
2325
  (uaVariable as any).$dataValue.value.dataType = newDataType;
2326
- (uaVariable as any).$dataValue.value.value = value;
2326
+ (uaVariable as any).$dataValue.value = value;
2327
2327
  // also change the value to ensure that we have a default value with the correct dataType
2328
2328
  uaVariable._internal_set_value(value);
2329
2329
  }