node-opcua-address-space-base 2.169.0 → 2.170.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.
@@ -142,16 +142,13 @@ export interface IAddressSpace {
142
142
  /***
143
143
  * construct a simple javascript object with all the default properties of the event
144
144
  *
145
- * @return result.$eventDataSource the event type node
146
- * @return result.eventId the
147
- * ...
148
145
  *
149
146
  *
150
147
  * eventTypeId can be a UAObjectType deriving from EventType
151
148
  * or an instance of a ConditionType
152
149
  *
153
150
  */
154
- constructEventData(eventTypeId: UAEventType, data: any): IEventData;
151
+ constructEventData(eventTypeId: UAEventType, data: Record<string, unknown>): IEventData;
155
152
  /**
156
153
  * walk up the hierarchy of objects until a view is found
157
154
  * objects may belong to multiples views.
@@ -1,15 +1,15 @@
1
- import { UAObject } from "./ua_object";
2
- import { UAVariable } from "./ua_variable";
3
- import { UAMethod } from "./ua_method";
4
- import { UAObjectType } from "./ua_object_type";
5
- import { UAVariableType } from "./ua_variable_type";
6
- import { BaseNode } from "./base_node";
1
+ import type { BaseNode } from "./base_node";
2
+ import type { UAMethod } from "./ua_method";
3
+ import type { UAObject } from "./ua_object";
4
+ import type { UAObjectType } from "./ua_object_type";
5
+ import type { UAVariable } from "./ua_variable";
6
+ import type { UAVariableType } from "./ua_variable_type";
7
7
  /**
8
8
  * @private
9
9
  */
10
10
  export declare function fullPath(node: BaseNode): string;
11
11
  /** @private */
12
- export declare function fullPath2(node: BaseNode): string;
12
+ export declare function fullPath2(node: BaseNode | null | undefined): string;
13
13
  /** @private */
14
14
  export declare function exploreNode(node: BaseNode): void;
15
15
  interface CloneInfo {
@@ -7,12 +7,12 @@ exports.exploreNode = exploreNode;
7
7
  exports.reconstructNonHierarchicalReferences = reconstructNonHierarchicalReferences;
8
8
  exports.reconstructFunctionalGroupType = reconstructFunctionalGroupType;
9
9
  const node_opcua_assert_1 = require("node-opcua-assert");
10
- const node_opcua_debug_1 = require("node-opcua-debug");
10
+ const node_opcua_constants_1 = require("node-opcua-constants");
11
11
  const node_opcua_data_model_1 = require("node-opcua-data-model");
12
+ const node_opcua_debug_1 = require("node-opcua-debug");
12
13
  const node_opcua_nodeid_1 = require("node-opcua-nodeid");
13
- const node_opcua_constants_1 = require("node-opcua-constants");
14
- const warningLog = (0, node_opcua_debug_1.make_warningLog)("CLONE");
15
- const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
14
+ const warningLog = (0, node_opcua_debug_1.make_warningLog)("INSTANTIATE");
15
+ const errorLog = (0, node_opcua_debug_1.make_errorLog)("INSTANTIATE");
16
16
  const doTrace = (0, node_opcua_debug_1.checkDebugFlag)("INSTANTIATE");
17
17
  const traceLog = errorLog;
18
18
  /* c8 ignore start */
@@ -23,41 +23,45 @@ function fullPath(node) {
23
23
  const browseName = node.browseName.toString();
24
24
  const parent = node.findReferencesExAsObject("Aggregates", node_opcua_data_model_1.BrowseDirection.Inverse)[0];
25
25
  if (parent) {
26
- return fullPath(parent) + "/" + browseName;
26
+ return `${fullPath(parent)}/${browseName}`;
27
27
  }
28
28
  const containingFolder = node.findReferencesExAsObject("Organizes", node_opcua_data_model_1.BrowseDirection.Inverse)[0];
29
29
  if (containingFolder) {
30
- return fullPath(containingFolder) + "@" + browseName;
30
+ return `${fullPath(containingFolder)}@${browseName}`;
31
31
  }
32
32
  return browseName;
33
33
  }
34
34
  /** @private */
35
35
  function fullPath2(node) {
36
- return fullPath(node) + " (" + node.nodeId.toString() + ")";
36
+ if (!node)
37
+ return "(unknown)";
38
+ return `${fullPath(node)} (${node.nodeId.toString()})`;
37
39
  }
38
40
  /** @private */
39
41
  function exploreNode(node) {
40
42
  const f = (n) => {
41
- return `${n.browseName.toString()} (${n.nodeId.toString()})${n.modellingRule ? " - " + n.modellingRule : ""}`;
43
+ return `${n.browseName.toString()} (${n.nodeId.toString()})${n.modellingRule ? ` - ${n.modellingRule}` : ""}`;
42
44
  };
43
45
  const r = (r) => {
44
46
  const ref = node.addressSpace.findNode(r);
45
47
  if (!ref)
46
- return `${r.nodeId.toString()} (unknown)`;
47
- return ref?.browseName.toString() + " " + ref.nodeId.toString();
48
+ return `(unknown)`;
49
+ return `${ref?.browseName.toString()} ${ref?.nodeId.toString()}`;
48
50
  };
49
51
  const map = new Set();
50
52
  const _explore = (node, pad) => {
51
53
  const a = node.findReferencesEx("Aggregates", node_opcua_data_model_1.BrowseDirection.Forward);
52
54
  const b = node.findReferencesEx("Organizes", node_opcua_data_model_1.BrowseDirection.Forward);
53
55
  for (const ref of [...a, ...b]) {
56
+ if (!ref.node)
57
+ continue;
54
58
  const alreadyVisited = map.has(ref.nodeId.toString());
55
59
  traceLog(pad, " +-- ", r(ref.referenceType).padEnd(20), "-->", f(ref.node).padEnd(10), alreadyVisited ? " (already visited)" : "");
56
60
  if (alreadyVisited) {
57
61
  continue;
58
62
  }
59
63
  map.add(ref.nodeId.toString());
60
- _explore(ref.node, pad + " ");
64
+ _explore(ref.node, `${pad} `);
61
65
  }
62
66
  };
63
67
  traceLog("exploring ", f(node));
@@ -77,8 +81,8 @@ function exploreNode(node) {
77
81
  // |
78
82
  // +-------------------------------|- EnabledState <
79
83
  //
80
- // find also child object with the same browse name that are
81
- // overridden in the SuperType
84
+ // find also child object with the same browse name that is overridden in the SuperType
85
+ //
82
86
  // case 2:
83
87
  //
84
88
  // /-----------------------------\
@@ -101,7 +105,7 @@ function exploreNode(node) {
101
105
  // | |
102
106
  // | +--------------|- (EnabledState)
103
107
  //
104
- // find also child object with the same browse name that are
108
+ // find also child object with the same browse name that is overridden in the same child of the SuperType
105
109
  function _get_parent_type_and_path(originalObject) {
106
110
  if (originalObject.nodeClass === node_opcua_data_model_1.NodeClass.Method) {
107
111
  return { parentType: null, path: [] };
@@ -110,11 +114,25 @@ function _get_parent_type_and_path(originalObject) {
110
114
  const parents = originalObject.findReferencesEx("HasChild", node_opcua_data_model_1.BrowseDirection.Inverse);
111
115
  // c8 ignore next
112
116
  if (parents.length > 1) {
113
- warningLog(" object ", originalObject.browseName.toString(), " has more than one parent !");
117
+ // it could be a tricky buggy situation like that we have seen with SIOME
118
+ //
119
+ // AnalogUnitTyoe
120
+ // |-- HasProperty --> EngineeringUnits (i=17052)
121
+ // MyObjectType
122
+ // |-- HasComponent --> ActualSpeed
123
+ // |-- HasComponent --> EngineeringUnits (i=17052) <== BUGGY !!!
124
+ const parentTypes = parents.filter((p) => {
125
+ const n = addressSpace.findNode(p.nodeId);
126
+ return n && (n.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType || n.nodeClass === node_opcua_data_model_1.NodeClass.VariableType);
127
+ });
128
+ if (parentTypes.length === 1) {
129
+ return { parentType: addressSpace.findNode(parentTypes[0].nodeId), path: [originalObject.browseName] };
130
+ }
131
+ warningLog(" object ", originalObject.browseName.toString(), originalObject.nodeId.toString(), " has more than one parent !");
114
132
  warningLog(originalObject.toString());
115
133
  warningLog(" parents : ");
116
134
  for (const parent of parents) {
117
- warningLog(" ", parent.toString(), addressSpace.findNode(parent.nodeId).browseName.toString());
135
+ warningLog(" ", parent.toString(), addressSpace.findNode(parent.nodeId)?.browseName.toString());
118
136
  }
119
137
  return { parentType: null, path: [] };
120
138
  }
@@ -122,7 +140,7 @@ function _get_parent_type_and_path(originalObject) {
122
140
  if (parents.length === 0) {
123
141
  return { parentType: null, path: [] };
124
142
  }
125
- const theParent = addressSpace.findNode(parents[0].nodeId);
143
+ const theParent = addressSpace.findNode(parents[0]?.nodeId);
126
144
  if (theParent && (theParent.nodeClass === node_opcua_data_model_1.NodeClass.VariableType || theParent.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType)) {
127
145
  return { parentType: theParent, path: [originalObject.browseName] };
128
146
  }
@@ -180,7 +198,7 @@ class CloneHelper {
180
198
  }
181
199
  popContext() {
182
200
  (0, node_opcua_assert_1.assert)(this._contextStack.length > 0);
183
- this._context = this._contextStack.pop();
201
+ this._context = this._contextStack.pop() || null;
184
202
  }
185
203
  registerClonedObject({ clonedNode, originalNode }) {
186
204
  if (!this._context) {
@@ -231,7 +249,7 @@ class CloneHelper {
231
249
  // c8 ignore next
232
250
  doTrace &&
233
251
  traceLog("typeInstance (3) = originalParent", fullPath2(originalParent), "originalNode=", fullPath2(originalNode), "clonedParent", fullPath2(clonedParent));
234
- const info = this._context.get(originalNode.nodeId.toString());
252
+ const info = this._context?.get(originalNode.nodeId.toString());
235
253
  if (info) {
236
254
  return info.cloned;
237
255
  }
@@ -256,12 +274,12 @@ function _remove_unwanted_ref(references) {
256
274
  */
257
275
  function findNonHierarchicalReferences(originalObject) {
258
276
  // todo: MEMOIZE this method
259
- const addressSpace = originalObject.addressSpace;
277
+ const _addressSpace = originalObject.addressSpace;
260
278
  // we need to explore the non hierarchical references backwards
261
279
  let references = originalObject.findReferencesEx("NonHierarchicalReferences", node_opcua_data_model_1.BrowseDirection.Inverse);
262
280
  references = [].concat(references, originalObject.findReferencesEx("HasEventSource", node_opcua_data_model_1.BrowseDirection.Inverse));
263
281
  const { parentType, path } = _get_parent_type_and_path(originalObject);
264
- if (parentType && parentType.subtypeOfObj) {
282
+ if (parentType?.subtypeOfObj) {
265
283
  // parent is a ObjectType or VariableType and is not a root type
266
284
  (0, node_opcua_assert_1.assert)(parentType.nodeClass === node_opcua_data_model_1.NodeClass.VariableType || parentType.nodeClass === node_opcua_data_model_1.NodeClass.ObjectType);
267
285
  // let investigate the same child base child
@@ -306,7 +324,7 @@ function reconstructNonHierarchicalReferences(extraInfo) {
306
324
  if (!info)
307
325
  continue;
308
326
  // if the object pointed by this reference is also cloned ...
309
- const originalDest = info.original;
327
+ const _originalDest = info.original;
310
328
  const cloneDest = info.cloned;
311
329
  // c8 ignore next
312
330
  doTrace &&
@@ -352,7 +370,7 @@ function reconstructFunctionalGroupType(extraInfo) {
352
370
  continue;
353
371
  if (!folder.typeDefinitionObj)
354
372
  continue;
355
- if (folder.typeDefinitionObj.browseName.name.toString() !== "FunctionalGroupType") {
373
+ if (folder.typeDefinitionObj.browseName.name?.toString() !== "FunctionalGroupType") {
356
374
  continue;
357
375
  }
358
376
  // now create the same reference with the instantiated function group
@@ -1 +1 @@
1
- {"version":3,"file":"clone_helper.js","sourceRoot":"","sources":["../source/clone_helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clone_helper.js","sourceRoot":"","sources":["../source/clone_helper.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,13 @@
1
- import { NodeId } from "node-opcua-nodeid";
2
- import { BrowsePath, BrowsePathResult } from "node-opcua-types";
3
- import { Variant, VariantLike } from "node-opcua-variant";
4
- import { BaseNode } from "./base_node";
1
+ import type { NodeId } from "node-opcua-nodeid";
2
+ import type { BrowsePath, BrowsePathResult } from "node-opcua-types";
3
+ import type { Variant, VariantLike } from "node-opcua-variant";
4
+ import type { BaseNode } from "./base_node";
5
5
  export interface IEventData {
6
- /**
7
- * the event type node
8
- */
9
- $eventDataSource?: BaseNode;
10
6
  /**
11
7
  *
12
8
  */
13
9
  eventId: NodeId;
10
+ getEventDataSource(): BaseNode;
14
11
  _createValue(fullBrowsePath: string, node: BaseNode, variant: VariantLike): void;
15
12
  _readValue(nodeId: NodeId): Variant | null;
16
13
  _browse(browsePath: BrowsePath): BrowsePathResult | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-address-space-base",
3
- "version": "2.169.0",
3
+ "version": "2.170.1",
4
4
  "description": "pure nodejs OPCUA SDK - module address-space-base",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -21,17 +21,17 @@
21
21
  "node-opcua-basic-types": "2.169.0",
22
22
  "node-opcua-constants": "2.157.0",
23
23
  "node-opcua-crypto": "5.3.5",
24
- "node-opcua-data-model": "2.169.0",
25
- "node-opcua-data-value": "2.169.0",
24
+ "node-opcua-data-model": "2.170.0",
25
+ "node-opcua-data-value": "2.170.0",
26
26
  "node-opcua-date-time": "2.169.0",
27
27
  "node-opcua-debug": "2.168.0",
28
28
  "node-opcua-extension-object": "2.169.0",
29
29
  "node-opcua-nodeid": "2.169.0",
30
30
  "node-opcua-numeric-range": "2.169.0",
31
- "node-opcua-schemas": "2.169.0",
31
+ "node-opcua-schemas": "2.170.0",
32
32
  "node-opcua-status-code": "2.169.0",
33
- "node-opcua-types": "2.169.0",
34
- "node-opcua-variant": "2.169.0"
33
+ "node-opcua-types": "2.170.0",
34
+ "node-opcua-variant": "2.170.0"
35
35
  },
36
36
  "author": "Etienne Rossignon",
37
37
  "license": "MIT",
@@ -48,7 +48,7 @@
48
48
  "internet of things"
49
49
  ],
50
50
  "homepage": "http://node-opcua.github.io/",
51
- "gitHead": "82d570d3e95bea689cbbe30096279885c5282245",
51
+ "gitHead": "40629feaff284ba70596149e58b3cc2a7a0e8f68",
52
52
  "files": [
53
53
  "dist",
54
54
  "source"
@@ -176,16 +176,13 @@ export interface IAddressSpace {
176
176
  /***
177
177
  * construct a simple javascript object with all the default properties of the event
178
178
  *
179
- * @return result.$eventDataSource the event type node
180
- * @return result.eventId the
181
- * ...
182
179
  *
183
180
  *
184
181
  * eventTypeId can be a UAObjectType deriving from EventType
185
182
  * or an instance of a ConditionType
186
183
  *
187
184
  */
188
- constructEventData(eventTypeId: UAEventType, data: any): IEventData;
185
+ constructEventData(eventTypeId: UAEventType, data: Record<string, unknown>): IEventData;
189
186
 
190
187
  /**
191
188
  * walk up the hierarchy of objects until a view is found
@@ -1,20 +1,19 @@
1
1
  import { assert } from "node-opcua-assert";
2
- import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
3
- import { BrowseDirection, NodeClass, QualifiedName } from "node-opcua-data-model";
4
- import { makeNodeId, sameNodeId } from "node-opcua-nodeid";
5
2
  import { ReferenceTypeIds } from "node-opcua-constants";
6
- import { UAObject } from "./ua_object";
7
- import { UAVariable } from "./ua_variable";
8
- import { UAMethod } from "./ua_method";
9
- import { UAObjectType } from "./ua_object_type";
10
- import { UAVariableType } from "./ua_variable_type";
11
- import { BaseNode } from "./base_node";
12
- import { UAReference } from "./ua_reference";
13
- import { IAddressSpace } from "./address_space";
14
-
15
- const warningLog = make_warningLog("CLONE");
16
-
17
- const errorLog = make_errorLog(__filename);
3
+ import { BrowseDirection, NodeClass, type QualifiedName } from "node-opcua-data-model";
4
+ import { checkDebugFlag, make_errorLog, make_warningLog } from "node-opcua-debug";
5
+ import { makeNodeId, type NodeIdLike, sameNodeId } from "node-opcua-nodeid";
6
+ import type { IAddressSpace } from "./address_space";
7
+ import type { BaseNode } from "./base_node";
8
+ import type { UAMethod } from "./ua_method";
9
+ import type { UAObject } from "./ua_object";
10
+ import type { UAObjectType } from "./ua_object_type";
11
+ import type { UAReference } from "./ua_reference";
12
+ import type { UAVariable } from "./ua_variable";
13
+ import type { UAVariableType } from "./ua_variable_type";
14
+
15
+ const warningLog = make_warningLog("INSTANTIATE");
16
+ const errorLog = make_errorLog("INSTANTIATE");
18
17
  const doTrace = checkDebugFlag("INSTANTIATE");
19
18
  const traceLog = errorLog;
20
19
 
@@ -29,27 +28,28 @@ export function fullPath(node: BaseNode): string {
29
28
 
30
29
  const parent = node.findReferencesExAsObject("Aggregates", BrowseDirection.Inverse)[0];
31
30
  if (parent) {
32
- return fullPath(parent) + "/" + browseName;
31
+ return `${fullPath(parent)}/${browseName}`;
33
32
  }
34
33
  const containingFolder = node.findReferencesExAsObject("Organizes", BrowseDirection.Inverse)[0];
35
34
  if (containingFolder) {
36
- return fullPath(containingFolder) + "@" + browseName;
35
+ return `${fullPath(containingFolder)}@${browseName}`;
37
36
  }
38
37
  return browseName;
39
38
  }
40
39
  /** @private */
41
- export function fullPath2(node: BaseNode): string {
42
- return fullPath(node) + " (" + node.nodeId.toString() + ")";
40
+ export function fullPath2(node: BaseNode | null | undefined): string {
41
+ if (!node) return "(unknown)";
42
+ return `${fullPath(node)} (${node.nodeId.toString()})`;
43
43
  }
44
44
  /** @private */
45
45
  export function exploreNode(node: BaseNode) {
46
46
  const f = (n: BaseNode) => {
47
- return `${n.browseName.toString()} (${n.nodeId.toString()})${n.modellingRule ? " - " + n.modellingRule : ""}`;
47
+ return `${n.browseName.toString()} (${n.nodeId.toString()})${n.modellingRule ? ` - ${n.modellingRule}` : ""}`;
48
48
  };
49
- const r = (r: any) => {
49
+ const r = (r: NodeIdLike) => {
50
50
  const ref = node.addressSpace.findNode(r);
51
- if (!ref) return `${r.nodeId.toString()} (unknown)`;
52
- return ref?.browseName.toString() + " " + ref!.nodeId.toString();
51
+ if (!ref) return `(unknown)`;
52
+ return `${ref?.browseName.toString()} ${ref?.nodeId.toString()}`;
53
53
  };
54
54
  const map = new Set();
55
55
  const _explore = (node: BaseNode, pad: string) => {
@@ -57,20 +57,21 @@ export function exploreNode(node: BaseNode) {
57
57
  const b = node.findReferencesEx("Organizes", BrowseDirection.Forward);
58
58
 
59
59
  for (const ref of [...a, ...b]) {
60
+ if (!ref.node) continue;
60
61
  const alreadyVisited = map.has(ref.nodeId.toString());
61
62
  traceLog(
62
63
  pad,
63
64
  " +-- ",
64
65
  r(ref.referenceType).padEnd(20),
65
66
  "-->",
66
- f(ref.node!).padEnd(10),
67
+ f(ref.node).padEnd(10),
67
68
  alreadyVisited ? " (already visited)" : ""
68
69
  );
69
70
  if (alreadyVisited) {
70
71
  continue;
71
72
  }
72
73
  map.add(ref.nodeId.toString());
73
- _explore(ref.node!, pad + " ");
74
+ _explore(ref.node, `${pad} `);
74
75
  }
75
76
  };
76
77
  traceLog("exploring ", f(node));
@@ -90,9 +91,8 @@ export function exploreNode(node: BaseNode) {
90
91
  // |
91
92
  // +-------------------------------|- EnabledState <
92
93
  //
93
- // find also child object with the same browse name that are
94
- // overridden in the SuperType
95
-
94
+ // find also child object with the same browse name that is overridden in the SuperType
95
+ //
96
96
  // case 2:
97
97
  //
98
98
  // /-----------------------------\
@@ -115,7 +115,7 @@ export function exploreNode(node: BaseNode) {
115
115
  // | |
116
116
  // | +--------------|- (EnabledState)
117
117
  //
118
- // find also child object with the same browse name that are
118
+ // find also child object with the same browse name that is overridden in the same child of the SuperType
119
119
 
120
120
  function _get_parent_type_and_path(originalObject: BaseNode): {
121
121
  parentType: null | UAVariableType | UAObjectType;
@@ -124,17 +124,33 @@ function _get_parent_type_and_path(originalObject: BaseNode): {
124
124
  if (originalObject.nodeClass === NodeClass.Method) {
125
125
  return { parentType: null, path: [] };
126
126
  }
127
-
128
127
  const addressSpace = originalObject.addressSpace;
129
-
130
128
  const parents = originalObject.findReferencesEx("HasChild", BrowseDirection.Inverse);
131
129
  // c8 ignore next
132
130
  if (parents.length > 1) {
133
- warningLog(" object ", originalObject.browseName.toString(), " has more than one parent !");
131
+
132
+ // it could be a tricky buggy situation like that we have seen with SIOME
133
+ //
134
+ // AnalogUnitTyoe
135
+ // |-- HasProperty --> EngineeringUnits (i=17052)
136
+ // MyObjectType
137
+ // |-- HasComponent --> ActualSpeed
138
+ // |-- HasComponent --> EngineeringUnits (i=17052) <== BUGGY !!!
139
+
140
+ const parentTypes = parents.filter((p) => {
141
+ const n = addressSpace.findNode(p.nodeId);
142
+ return n && (n.nodeClass === NodeClass.ObjectType || n.nodeClass === NodeClass.VariableType);
143
+ });
144
+
145
+ if (parentTypes.length === 1) {
146
+ return { parentType: addressSpace.findNode(parentTypes[0].nodeId) as UAObjectType | UAVariableType, path: [originalObject.browseName] };
147
+ }
148
+
149
+ warningLog(" object ", originalObject.browseName.toString(), originalObject.nodeId.toString(), " has more than one parent !");
134
150
  warningLog(originalObject.toString());
135
151
  warningLog(" parents : ");
136
152
  for (const parent of parents) {
137
- warningLog(" ", parent.toString(), addressSpace.findNode(parent.nodeId)!.browseName.toString());
153
+ warningLog(" ", parent.toString(), addressSpace.findNode(parent.nodeId)?.browseName.toString());
138
154
  }
139
155
  return { parentType: null, path: [] };
140
156
  }
@@ -143,12 +159,12 @@ function _get_parent_type_and_path(originalObject: BaseNode): {
143
159
  if (parents.length === 0) {
144
160
  return { parentType: null, path: [] };
145
161
  }
146
- const theParent = addressSpace.findNode(parents[0]!.nodeId)!;
162
+ const theParent = addressSpace.findNode(parents[0]?.nodeId) as BaseNode;
147
163
  if (theParent && (theParent.nodeClass === NodeClass.VariableType || theParent.nodeClass === NodeClass.ObjectType)) {
148
164
  return { parentType: theParent as UAVariableType | UAObjectType, path: [originalObject.browseName] };
149
165
  }
150
166
  // walk up
151
- const { parentType, path } = _get_parent_type_and_path(theParent!);
167
+ const { parentType, path } = _get_parent_type_and_path(theParent);
152
168
  return { parentType, path: [...path, originalObject.browseName] };
153
169
  }
154
170
  /* c8 ignore stop */
@@ -220,7 +236,7 @@ export class CloneHelper {
220
236
  }
221
237
  public popContext() {
222
238
  assert(this._contextStack.length > 0);
223
- this._context = this._contextStack.pop()!;
239
+ this._context = this._contextStack.pop() || null;
224
240
  }
225
241
  public registerClonedObject<
226
242
  TO extends UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
@@ -294,7 +310,7 @@ export class CloneHelper {
294
310
  fullPath2(clonedParent)
295
311
  );
296
312
 
297
- const info = this._context!.get(originalNode.nodeId.toString());
313
+ const info = this._context?.get(originalNode.nodeId.toString());
298
314
  if (info) {
299
315
  return info.cloned;
300
316
  }
@@ -324,7 +340,7 @@ function _remove_unwanted_ref(references: UAReference[]): UAReference[] {
324
340
  */
325
341
  function findNonHierarchicalReferences(originalObject: BaseNode): UAReference[] {
326
342
  // todo: MEMOIZE this method
327
- const addressSpace: IAddressSpace = originalObject.addressSpace;
343
+ const _addressSpace: IAddressSpace = originalObject.addressSpace;
328
344
 
329
345
  // we need to explore the non hierarchical references backwards
330
346
  let references = originalObject.findReferencesEx("NonHierarchicalReferences", BrowseDirection.Inverse);
@@ -336,7 +352,7 @@ function findNonHierarchicalReferences(originalObject: BaseNode): UAReference[]
336
352
 
337
353
  const { parentType, path } = _get_parent_type_and_path(originalObject);
338
354
 
339
- if (parentType && parentType.subtypeOfObj) {
355
+ if (parentType?.subtypeOfObj) {
340
356
  // parent is a ObjectType or VariableType and is not a root type
341
357
  assert(parentType.nodeClass === NodeClass.VariableType || parentType.nodeClass === NodeClass.ObjectType);
342
358
 
@@ -392,14 +408,14 @@ export function reconstructNonHierarchicalReferences(extraInfo: CloneHelper): vo
392
408
 
393
409
  // if the object pointed by this reference is also cloned ...
394
410
 
395
- const originalDest = info.original;
411
+ const _originalDest = info.original;
396
412
  const cloneDest = info.cloned;
397
413
 
398
414
  // c8 ignore next
399
415
  doTrace &&
400
416
  traceLog(
401
417
  " adding reference ",
402
- fullPath2(addressSpace.findNode(ref.referenceType)!),
418
+ fullPath2(addressSpace.findNode(ref.referenceType)),
403
419
  " from cloned ",
404
420
  fullPath2(cloned),
405
421
  " to cloned ",
@@ -450,7 +466,7 @@ export function reconstructFunctionalGroupType(extraInfo: CloneHelper) {
450
466
 
451
467
  if (!folder.typeDefinitionObj) continue;
452
468
 
453
- if (folder.typeDefinitionObj.browseName.name!.toString() !== "FunctionalGroupType") {
469
+ if (folder.typeDefinitionObj.browseName.name?.toString() !== "FunctionalGroupType") {
454
470
  continue;
455
471
  }
456
472
 
@@ -1,18 +1,18 @@
1
- import { NodeId } from "node-opcua-nodeid";
2
- import { BrowsePath, BrowsePathResult } from "node-opcua-types";
3
- import { Variant, VariantLike } from "node-opcua-variant";
4
- import { BaseNode } from "./base_node";
1
+ import type { NodeId } from "node-opcua-nodeid";
2
+ import type { BrowsePath, BrowsePathResult } from "node-opcua-types";
3
+ import type { Variant, VariantLike } from "node-opcua-variant";
4
+ import type { BaseNode } from "./base_node";
5
5
 
6
6
  export interface IEventData {
7
- /**
8
- * the event type node
9
- */
10
- $eventDataSource?: BaseNode;
11
7
  /**
12
8
  *
13
9
  */
14
10
  eventId: NodeId;
11
+
12
+ getEventDataSource(): BaseNode;
13
+
15
14
  _createValue(fullBrowsePath: string, node: BaseNode, variant: VariantLike): void;
16
15
  _readValue(nodeId: NodeId): Variant | null;
17
16
  _browse(browsePath: BrowsePath): BrowsePathResult | null;
17
+
18
18
  }
@@ -144,6 +144,7 @@ export type PseudoVariant =
144
144
  | PseudoVariantExtensionObjectArray
145
145
  | PseudoVariantVariant
146
146
  | PseudoVariantVariantArray;
147
+
147
148
  export interface RaiseEventData {
148
149
  $eventDataSource?: UAEventType;
149
150