node-opcua-address-space 2.175.1 → 2.175.2
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.
- package/dist/source/loader/make_xml_extension_object_parser.js +39 -2
- package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
- package/dist/source/namespace_data_access.d.ts +7 -1
- package/dist/src/namespace_impl.js +97 -36
- package/dist/src/namespace_impl.js.map +1 -1
- package/dist/src/nodeid_manager.d.ts +16 -0
- package/dist/src/nodeid_manager.js +40 -3
- package/dist/src/nodeid_manager.js.map +1 -1
- package/dist/tsconfig_base.tsbuildinfo +1 -1
- package/package.json +16 -16
- package/source/loader/make_xml_extension_object_parser.ts +45 -3
- package/source/namespace_data_access.ts +9 -1
- package/src/namespace_impl.ts +115 -42
- package/src/nodeid_manager.ts +45 -4
|
@@ -130,11 +130,12 @@ class NodeIdManager {
|
|
|
130
130
|
fullParentName = buildUpName2(parentNodeId, suffix);
|
|
131
131
|
}
|
|
132
132
|
const fullName = compose(fullParentName, prepareName(options.browseName));
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
const cached = this._cacheSymbolicName[fullName];
|
|
134
|
+
if (cached && this._isCacheHitReusable(cached[0], options, parentInfo)) {
|
|
135
|
+
return (0, node_opcua_nodeid_1.makeNodeId)(cached[0], this.namespaceIndex);
|
|
135
136
|
}
|
|
136
137
|
const nodeId = this._constructNodeId(options);
|
|
137
|
-
if (nodeId.identifierType === node_opcua_nodeid_1.NodeIdType.NUMERIC) {
|
|
138
|
+
if (nodeId.identifierType === node_opcua_nodeid_1.NodeIdType.NUMERIC && !cached) {
|
|
138
139
|
this._cacheSymbolicName[fullName] = [nodeId.value, options.nodeClass || node_opcua_data_model_1.NodeClass.Unspecified];
|
|
139
140
|
this._cacheSymbolicNameRev.add(nodeId.value);
|
|
140
141
|
}
|
|
@@ -160,6 +161,42 @@ class NodeIdManager {
|
|
|
160
161
|
}
|
|
161
162
|
return nodeId;
|
|
162
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* A symbol-cache hit is only safe to reuse when it actually refers to
|
|
166
|
+
* the node we are about to construct. Because the cache key is built
|
|
167
|
+
* from a (possibly truncated, e.g. during a clone where parentNodeId
|
|
168
|
+
* isn't linked yet) parent-name chain, two unrelated nodes can end up
|
|
169
|
+
* sharing the same key. When that happens, reusing the cached nodeId
|
|
170
|
+
* would hand a brand-new node the identity of a completely different,
|
|
171
|
+
* already-registered one.
|
|
172
|
+
*
|
|
173
|
+
* We only trust the cache hit when either:
|
|
174
|
+
* - nothing occupies that nodeId yet (first-time reservation), or
|
|
175
|
+
* - the occupant is genuinely the same node (same browseName AND same
|
|
176
|
+
* parent) - in which case we deliberately return the same id so
|
|
177
|
+
* that the caller's duplicate-registration error still fires.
|
|
178
|
+
*/
|
|
179
|
+
_isCacheHitReusable(value, options, parentInfo) {
|
|
180
|
+
const candidate = (0, node_opcua_nodeid_1.makeNodeId)(value, this.namespaceIndex);
|
|
181
|
+
const occupant = this.addressSpace.findNode(candidate);
|
|
182
|
+
if (!occupant) {
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
// options.browseName is expected to already carry its real, resolved namespaceIndex by the
|
|
186
|
+
// time it reaches here: internalCreateNode() normalizes plain-string browseNames to
|
|
187
|
+
// `namespaceIndex: this.index` before construction, so `0` here means "explicitly namespace 0"
|
|
188
|
+
// (e.g. the standard "0:EURange" / "0:EngineeringUnits" properties), not "unspecified".
|
|
189
|
+
// Comparing literally keeps genuinely different namespaces (own-namespace vs explicit ns 0)
|
|
190
|
+
// from being treated as the same node.
|
|
191
|
+
const sameBrowseName = !!occupant.browseName &&
|
|
192
|
+
occupant.browseName.name === (options.browseName?.name ?? null) &&
|
|
193
|
+
(occupant.browseName.namespaceIndex ?? 0) === (options.browseName?.namespaceIndex ?? 0);
|
|
194
|
+
const expectedParentNodeId = parentInfo ? parentInfo[0] : null;
|
|
195
|
+
const sameParent = expectedParentNodeId
|
|
196
|
+
? !!occupant.parentNodeId && (0, node_opcua_nodeid_1.sameNodeId)(occupant.parentNodeId, expectedParentNodeId)
|
|
197
|
+
: !occupant.parentNodeId;
|
|
198
|
+
return sameBrowseName && sameParent;
|
|
199
|
+
}
|
|
163
200
|
_constructNodeId(options) {
|
|
164
201
|
const resolveNodeIdEx = (nodeId) => nodeId && typeof nodeId === "object" && nodeId instanceof base_node_impl_1.BaseNodeImpl
|
|
165
202
|
? nodeId.nodeId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeid_manager.js","sourceRoot":"","sources":["../../src/nodeid_manager.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,mCAAmC;;;AAGnC,yDAA2C;AAC3C,iEAAiG;AACjG,uDAAkE;AAClE,yDAA+G;AAC/G,qDAAkE;AAClE,qDAAwD;AAExD,MAAM,SAAS,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC5C,MAAM,WAAW,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAEnC,QAAA,gBAAgB,GAAG;IAC5B,mBAAmB,EAAE,GAAG;CAC3B,CAAC;AACF,SAAS,iBAAiB,CAAC,SAAoB;IAC3C,OAAO,OAAQ,iCAAiB,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;AAC7D,CAAC;AAED,MAAM,OAAO,GAAG,aAAa,CAAC;AAC9B,MAAM,OAAO,GAAG,uBAAuB,CAAC;AACxC,MAAM,WAAW,GAAG,IAAA,iCAAa,EAAC,aAAa,CAAC,CAAC;AAIjD,SAAS,iBAAiB,CAAC,YAAiC,EAAE,UAAyB;IACnF,MAAM,iBAAiB,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAA,iCAAa,EAAC,YAAY,CAAC,CAAoB,CAAC;IAChG,MAAM,iBAAiB,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAA,iCAAa,EAAC,aAAa,CAAC,CAAoB,CAAC;IAEjG,MAAM,cAAc,GAAG,CAAC,SAAsB,EAAW,EAAE;QACvD,IAAI,SAAS,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,CAAC,GAAG,IAAA,qCAAoB,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAErD,IAAA,0BAAM,EACF,UAAU,CAAC,MAAM,IAAI,CAAC,EACtB,0GAA0G,CAC7G,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,IAAA,8BAAU,EAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAiC,EAAE,OAA+B;IACzF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAClC,GAAW,CAAC,cAAc,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAChF,oBAAoB;QACpB,IAAI,CAAC,IAAA,iCAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACA,GAAW,CAAC,aAAa,GAAI,GAAW,CAAC,cAAc,CAAC,MAAM,CAAC;IACpE,CAAC;IACD,6CAA6C;IAC7C,OAAO,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,WAAW,CAAC,UAAiD;IAClE,MAAM,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"nodeid_manager.js","sourceRoot":"","sources":["../../src/nodeid_manager.ts"],"names":[],"mappings":"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"}
|