node-opcua-address-space 2.187.9 → 2.187.12
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.
|
@@ -811,7 +811,7 @@ function _clone_collection_new(
|
|
|
811
811
|
|
|
812
812
|
// also clone or instantiate interface members that may be required in the optionals
|
|
813
813
|
extraInfo.level++;
|
|
814
|
-
_cloneInterface(nodeToClone,
|
|
814
|
+
_cloneInterface(nodeToClone, clonedNode, node, copyAlsoModellingRules, optionalFilter, extraInfo, browseNameMap);
|
|
815
815
|
extraInfo.level--;
|
|
816
816
|
// === clone);
|
|
817
817
|
// extraInfo.registerClonedObject(clone, node);
|
|
@@ -898,8 +898,9 @@ function _extractInterfaces2(typeDefinitionNode: UAObjectType | UAVariableType,
|
|
|
898
898
|
|
|
899
899
|
function _cloneInterface(
|
|
900
900
|
nodeToClone: UAObject | UAVariable | UAMethod | UAObjectType | UAVariableType,
|
|
901
|
-
|
|
901
|
+
clonedNode: BaseNode,
|
|
902
902
|
node: UAObject | UAVariable | UAMethod,
|
|
903
|
+
copyAlsoModellingRules: boolean,
|
|
903
904
|
optionalFilter: CloneFilter,
|
|
904
905
|
extraInfo: CloneExtraInfo,
|
|
905
906
|
browseNameMap: Set<string>
|
|
@@ -936,7 +937,10 @@ function _cloneInterface(
|
|
|
936
937
|
const localFilter = optionalFilter.filterFor(node);
|
|
937
938
|
|
|
938
939
|
for (const iface of interfaces) {
|
|
939
|
-
|
|
940
|
+
// a member the clone already has (the type declares it itself) is not cloned a second time
|
|
941
|
+
const aggregates = iface
|
|
942
|
+
.findReferencesEx("Aggregates", BrowseDirection.Forward)
|
|
943
|
+
.filter((r) => !r.node || !clonedNode.getChildByName(r.node.browseName));
|
|
940
944
|
if (aggregates.length === 0) continue;
|
|
941
945
|
// c8 ignore next
|
|
942
946
|
doTrace &&
|
|
@@ -946,7 +950,7 @@ function _cloneInterface(
|
|
|
946
950
|
`\n${extraInfo?.pad()}`,
|
|
947
951
|
aggregates.map((r) => r.toString({ addressSpace })).join(`\n${extraInfo?.pad()}`)
|
|
948
952
|
);
|
|
949
|
-
_clone_collection_new(nodeToClone,
|
|
953
|
+
_clone_collection_new(nodeToClone, clonedNode, aggregates, copyAlsoModellingRules, localFilter, extraInfo, browseNameMap);
|
|
950
954
|
}
|
|
951
955
|
}
|
|
952
956
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-address-space",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.187.
|
|
4
|
+
"version": "2.187.12",
|
|
5
5
|
"description": "pure nodejs OPCUA SDK - module address-space",
|
|
6
6
|
"main": "./dist/api/index.js",
|
|
7
7
|
"types": "./dist/api/index.d.ts",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"internet of things"
|
|
85
85
|
],
|
|
86
86
|
"homepage": "http://node-opcua.github.io/",
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "9c009a2e5f27957885938510e424a8f95a7a633f",
|
|
88
88
|
"files": [
|
|
89
89
|
"dist",
|
|
90
90
|
"distHelpers",
|